Character.dat
Per-class damage, defense, recovery, skill formula constants, and PvP multipliers
Per-class combat tuning. Damage rates against contexts (duel, events, PvP, PvM), class-vs-class damage modifiers, skill-specific damage formulas, HP/MP/BP/SD recovery rates, and the constants that feed every hit/defense calculation.
File Location
GameServer/Data/GameServerInfo - Character.datAll keys live under [GameServerInfo]. Changes require a GameServer restart.
Class Codes
Every per-class key uses one of these two-letter prefixes.
DW
Dark Wizard
DK
Dark Knight
FE
Fairy Elf
MG
Magic Gladiator
DL
Dark Lord
SU
Summoner
RF
Rage Fighter
Damage Rates by Context
Percent of base damage applied in each game mode. 100 = no change, 50 = half damage, 0 = zero damage dealt.
DuelDamageRate
60
Damage scaling inside the duel arena
GensDamageRate
60
Damage scaling between Gens factions in PvP
CustomArenaDamageRate
50
Damage scaling in the Custom Arena plugin map
ChaosCastleDamageRate
50
Damage scaling in Chaos Castle
IllusionTempleDamageRate
50
Damage scaling in Illusion Temple
CastleSiegeDamageRate1
40
Damage on defenders during CS
CastleSiegeDamageRate2
0
Damage on attackers during CS
CastleSiegeDamageRate3
5
Damage on castle-neutral targets
GeneralDamageRatePvP
100
Baseline PvP damage anywhere without a special rate
GeneralDamageRatePvM
100
Baseline PvM damage
ReflectDamageRatePvP
100
Reflect damage in PvP
ReflectDamageRatePvM
1000
Reflect damage in PvM (%). PvM reflect uses the monster's full hit (before your defense/absorb), takes your reflect % of it, then applies this rate. 1000 = x10. Regular (percent) reflect only. Missing line = 0 = reflect does no damage to monsters
FullReflectDamageRatePvM
100
Full damage reflect proc in PvM (%). Separate from ReflectDamageRatePvM. Also uses the monster's full hit before your defense. 100 = monster takes its own raw hit back
Character Max Rates
Hard caps on a player's total rate from all sources (items, options, buffs, master tree, sets). Players only, monsters are not capped. 0 or missing line = no cap.
MaxReflectRate
65
Max total damage reflect %. Full damage reflect proc is not capped
MaxDamageReductionRate
70
Max total damage cut % from all damage reduction sources (item/option reduction, buff reduction, shield Defense skill). Wing and pet absorb apply after and are not counted
MaxCriticalDamageRate
90
Max critical damage chance % (before target's resist)
MaxExcellentDamageRate
90
Max excellent damage chance % (before target's resist)
MaxDoubleDamageRate
20
Max double damage chance % (before target's resist)
MaxTripleDamageRate
15
Max triple damage chance %
The C panel shows the capped value.
Class Damage Rates
Per-class multipliers for PvP and PvM. All default to 100.
<CLASS>DamageRatePvP
This class's damage output in any PvP context
<CLASS>DamageRatePvM
This class's damage output against monsters
Seven classes × two contexts = 14 keys, all default 100.
Elemental damage rates (inert in this build)
Class-vs-Class Damage Rates
Square matrix of multipliers. <A>DamageRateTo<B> = damage from class A when hitting class B. All default to 100 (no change).
Monster Damage to Players
How hard monsters hit players. The PvM keys above only scale damage players deal to monsters; these scale the other direction. Player summons are not affected.
MonsterDamageRateToDW ... MonsterDamageRateToRF
100
% of monster damage taken by that class. 80 = that class takes 20% less from monsters
PlayerDefenseRateVsMonster
50
% of a player's defense used when a monster hits them. Vanilla hardcoded 50
PlayerDefenseRateVsPlayer
50
% of a player's defense used when another player hits them. Vanilla hardcoded 50
A per-map rate stacks on top: MonsterDamageRate in MapManager.xml. Monster affix blasts and other preset monster hits are scaled too.
Raising PlayerDefenseRateVsMonster makes defense stronger against every monster at once; the per-class rates are better for balancing one class.
Element Weakness and Strength
Monsters can be weak or strong against one element. A player skill whose element (the Type column in Skill.txt) matches deals more or less damage to that monster. Normal attacks have no element.
ElementWeakBonus
20
+% damage when the skill's element is the monster's weakness
ElementStrongPenalty
20
-% damage when the skill's element is the monster's strength
Set the elements per monster with Weak / Strong in Monster.xml (Weak="Fire"), or per map with ElementWeak / ElementStrong in MapManager.xml for monsters that have none of their own. Players see them as badges beside the monster's HP bar: weakness on the left (green rim, up arrow), strength on the right (red rim, down arrow), with a hover tooltip.
Damage Stuck Rate
Chance of a "stuck" animation triggering on hit for each class. 0 disables. Value is a percentage.
DWDamageStuckRate
0
DKDamageStuckRate
0
FEDamageStuckRate
0
MGDamageStuckRate
0
DLDamageStuckRate
0
SUDamageStuckRate
0
RFDamageStuckRate
0
Mount Stuck Rate
Flinch chance while riding a mount. Historically mounted characters never flinched; these keys make it configurable per mount. 0 keeps the classic no-flinch behavior.
UniriaDamageStuckRate
0
DinorantDamageStuckRate
0
DarkHorseDamageStuckRate
0
FenrirDamageStuckRate
0
Custom plugin mounts are configured separately: set StuckRate="N" on the <Mount> entry in Data\Plugins\Items\CustomPets.xml (default 0).
Damage Multiplier Constants
Per-class passive damage boost formula constants. Not commonly edited.
DKDamageMultiplierConstA
10
Dark Knight Energy divisor (rate = 200 + Energy/A)
DLDamageMultiplierConstA
20
Dark Lord Energy divisor (rate = 200 + Energy/A)
RFDamageMultiplierConstA
8
Rage Fighter Dexterity divisor used in attack-stance rate
RFDamageMultiplierConstB
10
Rage Fighter Vitality divisor used in defense-stance rate
RFDamageMultiplierConstC
10
Rage Fighter Energy divisor used in both attack and defense rates
DKDamageMultiplierMaxRate
500
DK multiplier cap
DLDamageMultiplierMaxRate
500
DL multiplier cap
RFDamageMultiplierMaxRate
500
RF multiplier cap (applied to each of the three RF stances)
Dark Spirit Settings
Tunes the Dark Lord's Dark Spirit pet.
Guardian Items (Dec Damage)
Constants for items that reduce incoming damage while equipped.
DinorantDecDamageConstB
5
Dinorant damage-reduction constant
DarkHorseDecDamageConstA
30
Dark Horse damage-reduction linear term
DarkHorseDecDamageConstB
2
Dark Horse damage-reduction scaling term
Skill Damage Formulas
Constants feeding specific-skill damage calculations. Leave at defaults unless rebalancing a skill specifically.
Pool Recovery Rates
Percent of max pool recovered per recovery tick.
HP (<CLASS>HPRecoveryRate)
0 for every class
Disabled by default; raise to grant passive HP regen
MP (<CLASS>MPRecoveryRate)
4 for every class
BP (<CLASS>BPRecoveryRate)
3 for every class except DK (5)
BP = stamina for combos and Rage Fighter
SD (<CLASS>SDRecoveryRate)
4 for every class
SD = Shield Defense
Seven classes × four pools = 28 keys, all following the same <CLASS><POOL>RecoveryRate pattern. Four further keys, below, layer on top of them.
No-damage recuperation bonus
Added in v1.0.7. A flat extra percentage applied on top of the recovery rate above, granted only when the pool has not been spent or hit for more than 5 seconds - the classic "regenerate while standing still" behaviour.
HPNoDamageRecoveryBonus
5
Life
SDNoDamageRecoveryBonus
5
Shield Defense
MPNoDamageRecoveryBonus
3
Mana
BPNoDamageRecoveryBonus
3
Stamina
Set a key to 0 to remove the idle bonus for that pool entirely. These are server-wide, not per-class. The defaults match the vanilla WebZen values.
Base Damage Constants
Min/max physical and magic damage formula constants. Drive the baseline hit range before items and skills.
Attack Success Rate
Hit chance formula constants (separate for PvE and PvP).
Attack Speed Constants
Physical and magic attack speed formula constants.
DWPhysiSpeedConstA
20
DW physical attack speed
DWMagicSpeedConstA
10
DW magic attack speed
DKPhysiSpeedConstA
15
DKMagicSpeedConstA
20
FEPhysiSpeedConstA
50
FEMagicSpeedConstA
50
MGPhysiSpeedConstA
15
MGMagicSpeedConstA
20
DLPhysiSpeedConstA
10
DLMagicSpeedConstA
10
SUPhysiSpeedConstA
20
SUMagicSpeedConstA
20
RFPhysiSpeedConstA
10
RFMagicSpeedConstA
10
Defense Success Rate
Dodge/block chance formula constants.
Defense Constants
Per-class defense formula constants. Raises the baseline defense scaling for that class.
DWDefenseConstA
4
DKDefenseConstA
3
FEDefenseConstA
10
MGDefenseConstA
4
DLDefenseConstA
7
SUDefenseConstA
3
RFDefenseConstA
8
Reflect Settings
ReflectDamageCheckOwnerLive moved to Data/Plugins/World/Downgrade.xml, as <Combat ReflectDamageCheckOwnerLive="..." /> - see Downgrade. The leftover key in the shipped Character.dat template is ignored.
Cross-File Dependencies
All class-code prefixes (DW/DK/FE/MG/DL/SU/RF)
Common.dat Create Character Settings and per-class LevelUpPoint, and DefaultClassInfo.txt base stats and per-level curves
ReflectDamageRatePvP / ReflectDamageRatePvM
Reflect Damage skill constants in Skill.dat
CastleSiegeDamageRate1/2/3
Castle Siege section in Event.dat; inert unless Common.dat EnableCastleSiege = 1
CustomArenaDamageRate
ChaosCastleDamageRate, IllusionTempleDamageRate
Matching event sections in Event.dat
Per-class damage and recovery rates
Skill.txt and SkillDamage.txt feed per-skill damage formulas
Common Issues
Every player hits for zero in the arena -
DuelDamageRate = 0by accidentOne class feels overpowered in PvP - check the
<CLASS>DamageRatePvPand<CLASS>DamageRateTo<OTHER>rows, not the formula constantsHP never regenerates for any class -
<CLASS>HPRecoveryRatedefaults to0on purpose. Raise per class to enable passive regenCastle Siege damage feels wrong only during CS -
CastleSiegeDamageRate1/2/3interact with the role you occupy (defender, attacker, neutral)Reflect never fires after the owner dies -
ReflectDamageCheckOwnerLivedefaults to1; set it to0in Downgrade.xml, not in this file, to let reflect still apply when the owner dies in the same tick
Last updated