Renewal to Pre-Renewal Migration Guide
Purpose: Documentation for importing Renewal items and mobs into Pre-Renewal server with proper balancing.
Table of Contents
- Overview
- Key Differences RE vs Pre-RE
- Item Migration
- Mob Migration
- Bonus Conversion Table
- Balancing Guidelines
- Implementation Checklist
- Testing Protocol
Overview
Migration Goals
| Goal |
Description |
| Expand Content |
Add new items/mobs from Renewal |
| Maintain Balance |
Adjust values for Pre-RE mechanics |
| Avoid Crashes |
Skip incompatible bonuses |
| Player Experience |
Items should work as expected |
Risk Assessment
| Risk Level |
Category |
Action |
| HIGH |
Renewal-only bonuses |
Convert or skip |
| MEDIUM |
Stat differences |
Adjust values |
| LOW |
Visual/cosmetic |
Import directly |
Key Differences
| Mechanic |
Pre-Renewal |
Renewal |
| ATK Calculation |
STR-based, Min~Max |
Weapon ATK + Equip ATK |
| MATK Calculation |
INT-based |
Weapon MATK + Equip MATK |
| DEF Formula |
Flat reduction |
% reduction |
| Cast Time |
Single cast time |
Variable + Fixed |
| ASPD Formula |
AGI + DEX based |
Different coefficients |
| Critical |
+40% damage |
+40% damage (same) |
| Flee |
AGI + LUK based |
Different formula |
Player Stats Comparison (Level 99)
| Stat |
Pre-RE Typical |
Renewal Typical |
| HP |
10,000 - 30,000 |
30,000 - 150,000 |
| SP |
500 - 2,000 |
1,000 - 5,000 |
| ATK |
300 - 800 |
500 - 2,000+ |
| DEF |
50 - 150 |
100 - 500 |
Monster Stats Comparison
| Stat |
Pre-RE |
Renewal |
Ratio |
| HP |
Base |
~1.5-3x higher |
0.5-0.7x |
| ATK |
Min~Max |
Base ATK |
Different |
| DEF |
Flat |
Higher values |
0.6-0.8x |
| EXP |
Base |
Often higher |
Adjust |
Item Migration
Bonus Compatibility Matrix
Fully Compatible (No Changes Needed)
bStr, bAgi, bVit, bInt, bDex, bLuk
bAllStats
bMaxHP, bMaxSP, bMaxHPrate, bMaxSPrate
bHPrecovRate, bSPrecovRate
bBaseAtk, bAtk, bAtk2
bMatk
bDef, bDef2, bMdef, bMdef2
bHit, bFlee, bFlee2
bCritical, bAspd, bAspdRate
bAddRace, bAddEle, bAddSize, bAddClass
bSubRace, bSubEle, bSubSize, bSubClass
bMagicAddRace, bMagicAddEle, bMagicAddSize
bLongAtkRate, bShortAtkRate, bCritAtkRate
bIgnoreDefRace, bIgnoreDefEle
bIgnoreMdefRace, bIgnoreMdefEle
bAddEff, bAddEffWhenHit, bResEff
bNoKnockback, bNoGemstone
bUnbreakableWeapon, bUnbreakableArmor
bHealPower, bHealPower2
bAddItemHealRate, bAddItemGroupHealRate
bSkillAtk, bSkillHeal
bDelayrate
bCastrate (maps to total cast)
bUseSPrate
bSPDrainValue, bHPDrainValue
bAutoSpell, bAutoSpellWhenHit
Requires Conversion
| RE Bonus |
Issue |
Conversion |
bAtkRate |
RE formula only |
→ bBaseAtk or bAddClass |
bWeaponMatkRate |
RE formula only |
→ bMatk |
bFixedCastrate |
No fixed cast |
→ Skip or bCastrate |
bFixedCast |
No fixed cast |
→ Skip |
bSkillFixedCast |
No fixed cast |
→ Skip |
bVariableCastrate |
Same as bCastrate |
→ bCastrate |
Skip Completely
bFixedCastrate - Fixed cast tidak exist
bFixedCast - Fixed cast tidak exist
bSkillFixedCast - Fixed cast tidak exist
bAddFixedCast - Fixed cast tidak exist
Item Import Workflow
┌─────────────────────────────────────────────────────────────┐
│ ITEM IMPORT PROCESS │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1. SELECT ITEM │
│ └── Check if item already exists in Pre-RE DB │
│ │
│ 2. SCAN BONUSES │
│ ├── List all bonuses in item script │
│ ├── Flag incompatible bonuses │
│ └── Flag bonuses needing conversion │
│ │
│ 3. CONVERT BONUSES │
│ ├── bAtkRate,X → bBaseAtk,Y or bAddClass,Class_All,Z │
│ ├── bWeaponMatkRate,X → bMatk,Y │
│ ├── bVariableCastrate,X → bCastrate,X │
│ └── bFixedCast* → SKIP │
│ │
│ 4. BALANCE VALUES │
│ ├── Reduce % bonuses by 50-70% │
│ ├── Cap maximum values │
│ └── Consider item tier/rarity │
│ │
│ 5. TEST ITEM │
│ ├── Equip and check stats │
│ ├── Test in combat │
│ └── Compare with similar Pre-RE items │
│ │
│ 6. DOCUMENT CHANGES │
│ └── Log original vs converted values │
│ │
└─────────────────────────────────────────────────────────────┘
Mob Migration
Stat Conversion Guidelines
HP Conversion
| RE Mob Type |
Conversion Factor |
Example |
| Normal mob |
×0.5 - 0.7 |
10,000 → 5,000-7,000 |
| Mini-boss |
×0.6 - 0.8 |
100,000 → 60,000-80,000 |
| MVP |
×0.5 - 0.7 |
1,000,000 → 500,000-700,000 |
| Instance MVP |
×0.4 - 0.6 |
Custom balance |
ATK Conversion
Renewal uses Attack (base) and Attack2 (magic base).
Pre-RE uses Attack (min) and Attack2 (max).
# Renewal Format
Attack: 500 # Base physical
Attack2: 200 # Base magical
# Pre-RE Conversion
Attack: 400 # Minimum ATK (base × 0.8)
Attack2: 600 # Maximum ATK (base × 1.2)
Conversion Formula:
Pre-RE Min ATK = RE Attack × 0.7 - 0.8
Pre-RE Max ATK = RE Attack × 1.1 - 1.3
DEF/MDEF Conversion
| RE Value |
Pre-RE Value |
Notes |
| 0-50 |
Same |
Low DEF mobs |
| 50-100 |
×0.8 |
Medium DEF |
| 100-200 |
×0.6 |
High DEF |
| 200+ |
×0.5 + cap 150 |
Very high DEF |
EXP Conversion
| Factor |
Adjustment |
| Base EXP |
×0.7 - 0.9 |
| Job EXP |
×0.7 - 0.9 |
| MVP EXP |
×0.5 - 0.7 |
Renewal-Only Mob Fields
These fields exist in RE but not Pre-RE:
| Field |
Action |
Resistance |
Remove (RE only) |
MagicResistance |
Remove (RE only) |
Mob Skills Compatibility
Check Before Import
┌─────────────────────────────────────────────────────────────┐
│ MOB SKILL COMPATIBILITY │
├─────────────────────────────────────────────────────────────┤
│ │
│ SAFE TO IMPORT: │
│ ├── 1st/2nd class skills │
│ ├── Basic monster skills (NPC_*) │
│ └── Pre-RE era boss skills │
│ │
│ NEEDS VERIFICATION: │
│ ├── 3rd class skills (may not exist) │
│ ├── 4th class skills (definitely not exist) │
│ └── Episode 13+ skills │
│ │
│ LIKELY INCOMPATIBLE: │
│ ├── Renewal-specific mechanics │
│ ├── Fixed cast skills │
│ └── 4th job skills │
│ │
└─────────────────────────────────────────────────────────────┘
Mob Import Workflow
┌─────────────────────────────────────────────────────────────┐
│ MOB IMPORT PROCESS │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1. SELECT MOB │
│ ├── Check if mob ID conflicts with existing │
│ └── Verify sprite exists in client │
│ │
│ 2. CONVERT STATS │
│ ├── HP: Apply conversion factor │
│ ├── ATK: Convert base → min/max │
│ ├── DEF/MDEF: Apply reduction │
│ ├── Remove: Resistance, MagicResistance │
│ └── EXP: Adjust for Pre-RE rates │
│ │
│ 3. CHECK SKILLS │
│ ├── List all mob skills from mob_skill_db │
│ ├── Verify each skill exists in Pre-RE │
│ └── Remove or replace incompatible skills │
│ │
│ 4. CHECK DROPS │
│ ├── Verify all drop items exist │
│ ├── Adjust drop rates if needed │
│ └── Replace RE-only items with alternatives │
│ │
│ 5. TEST MOB │
│ ├── Spawn and check stats display │
│ ├── Test combat (damage given/received) │
│ ├── Test skill usage │
│ └── Verify drops │
│ │
│ 6. BALANCE CHECK │
│ ├── Compare with similar level Pre-RE mobs │
│ ├── Test with typical Pre-RE geared player │
│ └── Adjust if too easy/hard │
│ │
└─────────────────────────────────────────────────────────────┘
Bonus Conversion Table
bAtkRate Conversion
| RE Value |
Pre-RE Option A |
Pre-RE Option B |
| 1-5% |
bBaseAtk,5-15 |
bAddClass,Class_All,1-2 |
| 5-10% |
bBaseAtk,15-30 |
bAddClass,Class_All,2-4 |
| 10-15% |
bBaseAtk,30-50 |
bAddClass,Class_All,4-6 |
| 15-25% |
bBaseAtk,50-80 |
bAddClass,Class_All,6-10 |
| 25-50% |
bBaseAtk,80-120 |
bAddClass,Class_All,10-15 |
Recommendation: Use bAddClass,Class_All,X for % damage increase.
bMatkRate (Works in Pre-RE)
Already compatible - no conversion needed.
Cast Time Conversion
| RE Bonus |
Pre-RE Equivalent |
bVariableCastrate,-10 |
bCastrate,-10 |
bFixedCastrate,-50 |
SKIP |
bFixedCast,-500 |
SKIP |
bCastrate,-10 |
bCastrate,-10 (same) |
Comprehensive Conversion Examples
Example 1: Weapon with bAtkRate
# RENEWAL ORIGINAL
- Id: 12345
AegisName: Sample_Sword
Script: |
bonus bAtkRate,15;
bonus bCritical,10;
bonus bAspdRate,5;
# PRE-RE CONVERTED
- Id: 12345
AegisName: Sample_Sword
Script: |
bonus bAddClass,Class_All,6; # 15% → 6% (reduced)
bonus bCritical,10; # unchanged
bonus bAspdRate,5; # unchanged
Example 2: Armor with Cast Reduction
# RENEWAL ORIGINAL
- Id: 23456
AegisName: Sample_Armor
Script: |
bonus bMdef,5;
bonus bVariableCastrate,-10;
bonus bFixedCastrate,-20;
# PRE-RE CONVERTED
- Id: 23456
AegisName: Sample_Armor
Script: |
bonus bMdef,5; # unchanged
bonus bCastrate,-10; # Variable → total cast
# bFixedCastrate SKIPPED (not applicable)
Example 3: Accessory with Multiple Bonuses
# RENEWAL ORIGINAL
- Id: 34567
AegisName: Sample_Ring
Script: |
bonus bAtkRate,10;
bonus bMatkRate,10;
bonus bMaxHPrate,5;
bonus bDelayrate,-5;
# PRE-RE CONVERTED
- Id: 34567
AegisName: Sample_Ring
Script: |
bonus bAddClass,Class_All,4; # bAtkRate 10% → 4%
bonus bMatkRate,10; # unchanged (works in Pre-RE)
bonus bMaxHPrate,5; # unchanged
bonus bDelayrate,-5; # unchanged
Balancing Guidelines
Item Tier System
| Tier |
bAtkRate Equivalent |
bAddClass Max |
Drop Source |
| Common |
1-2% |
1-2% |
Normal mobs |
| Uncommon |
3-5% |
2-4% |
Mini-boss |
| Rare |
5-8% |
4-6% |
MVP |
| Epic |
8-12% |
6-10% |
Hard MVP/Instance |
| Legendary |
12-15% |
10-15% |
Special event/quest |
Maximum Caps (Recommended)
| Bonus Type |
Soft Cap |
Hard Cap |
| bAddClass,Class_All |
10% |
15% |
| bAtkRate (if implemented) |
10% |
15% |
| bMatkRate |
15% |
20% |
| bCastrate |
-30% |
-50% |
| bAspdRate |
15% |
20% |
| bCritAtkRate |
20% |
30% |
| bLongAtkRate |
15% |
25% |
| bShortAtkRate |
15% |
25% |
Class Balance Considerations
| Class |
Sensitivity |
Watch For |
| Champion |
HIGH |
Asura damage scaling |
| Sniper |
HIGH |
DS/Auto-attack builds |
| High Wizard |
MEDIUM |
MATK scaling |
| Lord Knight |
MEDIUM |
Spiral/BB damage |
| Paladin |
LOW |
Tanky, less affected |
| High Priest |
LOW |
Support class |
PvP vs PvM Balance
| Content |
Priority |
Notes |
| PvM (Leveling) |
Allow stronger items |
Quality of life |
| PvM (MVP) |
Moderate balance |
Competition |
| PvP (Duel) |
Strict balance |
Fairness |
| WoE |
Very strict |
Server health |
Implementation Checklist
Phase 1: Preparation
- [ ] Backup current database files
- [ ] Create import folder structure
- [ ] Document target items/mobs list
- [ ] Verify client has required sprites/effects
Phase 2: Item Migration
- [ ] Scan all target items for incompatible bonuses
- [ ] Create conversion mapping document
- [ ] Convert item scripts
- [ ] Add items to
db/import/item_db.yml
- [ ] Test each item individually
Phase 3: Mob Migration
- [ ] Scan all target mobs for stats
- [ ] Apply stat conversion formulas
- [ ] Check mob skills compatibility
- [ ] Verify drop items exist
- [ ] Add mobs to
db/import/mob_db.yml
- [ ] Add mob skills to
db/import/mob_skill_db.yml
- [ ] Test each mob individually
Phase 4: Balance Testing
- [ ] Test items on multiple classes
- [ ] Test mobs with typical Pre-RE gear
- [ ] Compare with existing Pre-RE content
- [ ] Gather feedback from test players
- [ ] Adjust values as needed
Phase 5: Documentation
- [ ] Update player-facing documentation
- [ ] Document all converted items/mobs
- [ ] Create changelog
- [ ] Prepare announcement
Testing Protocol
Item Testing Checklist
For each imported item:
[ ] Item equips without error
[ ] Stats display correctly in equipment window
[ ] Bonuses apply correctly (check with @battlestats)
[ ] Works with existing set bonuses (if any)
[ ] No console errors/warnings
[ ] Compare damage before/after equip
[ ] Test with relevant skills
Mob Testing Checklist
For each imported mob:
[ ] Mob spawns without error
[ ] Stats match expected values (@mobinfo)
[ ] Takes appropriate damage from players
[ ] Deals appropriate damage to players
[ ] Uses skills correctly
[ ] Drops items correctly
[ ] EXP reward is appropriate
[ ] No console errors/warnings
Balance Test Scenarios
Scenario 1: Fresh Level 99 Character
- Basic gears (+4 to +7)
- No cards
- Should be able to kill mob in reasonable time
Scenario 2: Mid-Geared Character
- Good gears (+7 to +9)
- Some cards
- Should kill efficiently
Scenario 3: End-Game Character
- Best gears (+10)
- Full cards
- Should not trivialize content
Appendix
Quick Reference: Safe Bonuses
bStr bAgi bVit bInt bDex bLuk bAllStats
bMaxHP bMaxSP bMaxHPrate bMaxSPrate
bBaseAtk bAtk bMatk bMatkRate
bDef bMdef bHit bFlee bCritical
bAspd bAspdRate bCastrate bDelayrate
bAddRace bAddEle bAddSize bAddClass
bSubRace bSubEle bSubSize
bLongAtkRate bShortAtkRate bCritAtkRate
bHealPower bHealPower2
bAddEff bResEff
bAutoSpell bAutoSpellWhenHit
bSkillAtk bSkillHeal
bNoGemstone bNoKnockback
bUnbreakableWeapon bUnbreakableArmor
Quick Reference: Convert/Skip
CONVERT:
bAtkRate → bAddClass,Class_All,X (reduced)
bWeaponMatkRate → bMatk,X
bVariableCastrate → bCastrate
SKIP:
bFixedCastrate
bFixedCast
bSkillFixedCast
bAddFixedCast
Useful Commands for Testing
@item <id> - Get item
@mobinfo <id> - Check mob stats
@battlestats - View current stats
@monster <name> - Spawn mob
@reloaditemdb - Reload items
@reloadmobdb - Reload mobs
Changelog
| Date |
Version |
Changes |
| 2024-XX-XX |
1.0 |
Initial documentation |
Note: This is a living document. Update as you discover new compatibility issues or better conversion methods.