Formulas
113 formulas, read from the client's Formula class. Green terms are the attacker's own ability totals, red ones are the target's, and gold ones are other final stats. max(a, b) and min(a, b) mean the larger and smaller of the two.
Final stats
23Attack
Final_Attack = max(1, (BaseAttack + Attack_Plus - Attack_Minus) * max(.6, 1 + (AttackPer_Plus - AttackPer_Minus) / 100))
Defense
Final_Defense = max(1, (BaseDefense + Defense_Plus - Defense_Minus) * max(.6, 1 + (DefensePer_Plus - DefensePer_Minus) / 100))
HP
Final_HP = max(1, (BaseHP + HP_Plus - HP_Minus) * max(.6, 1 + (HPPer_Plus - HPPer_Minus) / 100))
AttackSpeed
Final_AttackSpeed = 60 + max(1, BaseAttackSpeed * (1 + (AttackSpeedPer_Plus - AttackSpeedPer_Minus) / 100))
MoveSpeed
Final_MoveSpeed = 300 + max(1, BaseMoveSpeed * (1 + (MoveSpeedPer_Plus - MoveSpeedPer_Minus) / 100))
CriticalRate
Final_CriticalRate = max(0, BaseCriticalRate + CriticalRate_Plus - CriticalRate_Minus)
CriticalDamage
Final_CriticalDamage = max(100, 150 + BaseCriticalDamage + CriticalDamage_Plus - CriticalDamage_Minus)
HitRate
Final_HitRate = max(.1, BaseHitRate + HitRate_Plus - HitRate_Minus)
Evasion
Final_Evasion = max(0, BaseEvasion + Evasion_Plus - Evasion_Minus)
AttackDistance
Final_AttackDistance = max(1, BaseAttackDistance * (1 + (AttackDistancePer_Plus - AttackDistancePer_Minus) / 100) + AttackDistance_Plus - AttackDistance_Minus)
ShockRate
Final_ShockRate = max(0, BaseShockRate + ShockRate_Plus - ShockRate_Minus)
ShockDamage
Final_ShockDamage = max(100, ShockDamage_Plus - ShockDamage_Minus)
BurnRate
Final_BurnRate = max(0, BaseBurnRate + BurnRate_Plus - BurnRate_Minus)
BurnDamage
Final_BurnDamage = max(100, BurnDamage_Plus - BurnDamage_Minus)
PoisonRate
Final_PoisonRate = max(0, BasePoisonRate + PoisonRate_Plus - PoisonRate_Minus)
PoisonDamage
Final_PoisonDamage = max(100, PoisonDamage_Plus - PoisonDamage_Minus)
StunRate
Final_StunRate = max(0, BaseStunRate + StunRate_Plus - StunRate_Minus)
StunTime
Final_StunTime = max(.1, BaseStunTime * (1 + (StunTimePer_Plus - StunTimePer_Minus) / 100))
Heal Amount
Final_Heal_Amount = max(1, Heal_Amount_Plus - Heal_Amount_Minus)
SkillCoolTime
Final_SkillCoolTime = max(.1, SkillCoolTime * (1 - min(50, SkillCoolTimePer_Minus - SkillCoolTimePer_Plus) / 100))
BlockRate
Final_BlockRate = max(0, BlockRate_Plus - BlockRate_Minus)
RecoveryTime
Final_RecoveryTime = 2 + max(0, (8 - RecoveryTime_Minus) / ((100 + RecoveryTimePer_Minus) / 100))
RecoveryAmount
Final_RecoveryAmount = max(0, (BaseRecoveryAmount + RecoveryAmount_Plus) * (1 + RecoveryAmountPer_Plus / 100))
Damage
4PvE Damage
Final_PvE_Damage = max(1, (Final_Attack + PvE_Attack_Plus) * (1 + PvE_AttackPer_Plus / 100) / ((target.Final_Defense + target.PvE_Defense_Plus) * (1 + target.PvE_DefensePer_Plus / 100) / 2) * ((Final_Attack + PvE_Attack_Plus) * (1 + PvE_AttackPer_Plus / 100) / (45 + (Final_Attack + PvE_Attack_Plus) * (1 + PvE_AttackPer_Plus / 100) / 10000)) * (DamageRate / 100) * (1 + max(0, DamagePer_Plus + PvE_DamagePer_Plus + (isBoss ? BossDamagePer_Plus : 0) - target.DamagePer_Minus - target.PvE_DamagePer_Minus) / 100) * (1 + max(0, EndDamagePer_Plus - target.EndDamagePer_Minus) / 100))
PvP Damage
Final_PvP_Damage = max(1, ((Final_Attack + PvP_Attack_Plus) * (1 + PvP_AttackPer_Plus / 100) + 3000) / ((target.Final_Defense + target.PvP_Defense_Plus) * (1 + target.PvP_DefensePer_Plus / 100) / 2) * (((Final_Attack + PvP_Attack_Plus) * (1 + PvP_AttackPer_Plus / 100) + 3000) / (45 + (Final_Attack + PvP_Attack_Plus) * (1 + PvP_AttackPer_Plus / 100) / 10000)) * (DamageRate / 100) * (1 + max(0, DamagePer_Plus + PvP_DamagePer_Plus - target.DamagePer_Minus - target.PvP_DamagePer_Minus) / 100) * (1 + max(0, EndDamagePer_Plus - target.EndDamagePer_Minus) / 100))
PvE CriticalDamage
Final_PvE_CriticalDamage = max(1, (Final_Attack + PvE_Attack_Plus) * (1 + PvE_AttackPer_Plus / 100) / ((target.Final_Defense + target.PvE_Defense_Plus) * (1 + target.PvE_DefensePer_Plus / 100) / 2) * ((Final_Attack + PvE_Attack_Plus) * (1 + PvE_AttackPer_Plus / 100) / (45 + (Final_Attack + PvE_Attack_Plus) * (1 + PvE_AttackPer_Plus / 100) / 10000)) * (DamageRate / 100) * (1 + max(0, DamagePer_Plus + PvE_DamagePer_Plus + (isBoss ? BossDamagePer_Plus : 0) - target.DamagePer_Minus - target.PvE_DamagePer_Minus) / 100) * max(1, (1 + (Final_CriticalDamage - target.CriticalDamage_Resist) / 100) * (1 + max(0, EndDamagePer_Plus - target.EndDamagePer_Minus) / 100)))
PvP CriticalDamage
Final_PvP_CriticalDamage = max(1, ((Final_Attack + PvP_Attack_Plus) * (1 + PvP_AttackPer_Plus / 100) + 3000) / ((target.Final_Defense + target.PvP_Defense_Plus) * (1 + target.PvP_DefensePer_Plus / 100) / 2) * (((Final_Attack + PvP_Attack_Plus) * (1 + PvP_AttackPer_Plus / 100) + 3000) / (45 + (Final_Attack + PvP_Attack_Plus) * (1 + PvP_AttackPer_Plus / 100) / 10000)) * (DamageRate / 100) * (1 + max(0, DamagePer_Plus + PvP_DamagePer_Plus - target.DamagePer_Minus - target.PvP_DamagePer_Minus) / 100) * max(1, (1 + (Final_CriticalDamage - target.CriticalDamage_Resist) / 100) * (1 + max(0, EndDamagePer_Plus - target.EndDamagePer_Minus) / 100)))
Applied effects and debuffs
33DebuffShock
Final_DebuffShock = max(0, DebuffShock_Plus - DebuffShock_Minus)
DebuffPoison
Final_DebuffPoison = max(0, DebuffPoison_Plus - DebuffPoison_Minus)
DebuffBurn
Final_DebuffBurn = max(0, DebuffBurn_Plus - DebuffBurn_Minus)
Apply PvE ShockDamage
Final_Apply_PvE_ShockDamage = max(1, Final_PvE_Damage * (1 + max(0, Final_ShockDamage - target.ShockDamage_Resist - target.AttributeDamage_Resist) / 100))
Apply PvP ShockDamage
Final_Apply_PvP_ShockDamage = max(1, Final_PvP_Damage * (1 + max(0, Final_ShockDamage - target.ShockDamage_Resist - target.AttributeDamage_Resist) / 100))
Apply PvE BurnDamage
Final_Apply_PvE_BurnDamage = max(1, Final_PvE_Damage * (1 + max(0, Final_BurnDamage - target.BurnDamage_Resist - target.AttributeDamage_Resist) / 100))
Apply PvP BurnDamage
Final_Apply_PvP_BurnDamage = max(1, Final_PvP_Damage * (1 + max(0, Final_BurnDamage - target.BurnDamage_Resist - target.AttributeDamage_Resist) / 100))
Apply PvE PoisonDamage
Final_Apply_PvE_PoisonDamage = max(1, Final_PvE_Damage * (1 + max(0, Final_PoisonDamage - target.PoisonDamage_Resist - target.AttributeDamage_Resist) / 100))
Apply PvP PoisonDamage
Final_Apply_PvP_PoisonDamage = max(1, Final_PvP_Damage * (1 + max(0, Final_PoisonDamage - target.PoisonDamage_Resist - target.AttributeDamage_Resist) / 100))
Apply PvE BombDamage
Final_Apply_PvE_BombDamage = max(0, Final_PvE_Damage * (BombDamage / 100))
Apply PvP BombDamage
Final_Apply_PvP_BombDamage = max(0, Final_PvP_Damage * (BombDamage / 100))
Apply DebuffShock
Final_Apply_DebuffShock = max(0, Final_DebuffShock / (Final_DebuffShock + 1.5 * target.DebuffShock_Resist) * max(50, Final_DebuffShock / 2.5))
DebuffShock AttackSpeed
Final_DebuffShock_AttackSpeed = max(1, Final_AttackSpeed * (1 - Final_Apply_DebuffShock / 100))
DebuffShock MoveSpeed
Final_DebuffShock_MoveSpeed = max(1, Final_MoveSpeed * (1 - Final_Apply_DebuffShock / 100))
DebuffShock Time
Final_DebuffShock_Time = 2DebuffPoison PvP DotDamage
Final_DebuffPoison_PvP_DotDamage = max(1, Final_PvP_Damage * (Final_DebuffPoison / (Final_DebuffPoison + 1.5 * target.DebuffPoison_Resist) * 2))
DebuffPoison PvE DotDamage
Final_DebuffPoison_PvE_DotDamage = max(1, Final_PvE_Damage * (Final_DebuffPoison / (Final_DebuffPoison + 1.5 * target.DebuffPoison_Resist) * 2))
DebuffPoison Time
Final_DebuffPoison_Time = 4DebuffPoison Dot Time
Final_DebuffPoison_Dot_Time = 1Apply DebuffBurn
Final_Apply_DebuffBurn = max(0, Final_DebuffBurn / (Final_DebuffBurn + 1.5 * target.DebuffBurn_Resist) * max(50, Final_DebuffBurn / 3))
DebuffBurn Defense
Final_DebuffBurn_Defense = max(1, Final_Defense * (1 - Final_Apply_DebuffBurn / 100))
DebuffBurn Time
Final_DebuffBurn_Time = 2Apply CriticalRate
Final_Apply_CriticalRate = max(0, Final_CriticalRate / (Final_CriticalRate + 5 * target.CriticalRate_Resist + 100) * 100)
Apply HitRate
Final_Apply_HitRate = max(0, Final_HitRate / (Final_HitRate / 5 + target.Final_Evasion) * 100)
Apply AttackSpeed
Final_Apply_AttackSpeed = 1 / (Final_AttackSpeed / 100)
Apply Heal
Final_Apply_Heal = max(0, Final_HP * ((BaseHeal + Final_Heal_Amount) / 100))
Apply Barrier HP
Final_Apply_Barrier_HP = max(1, Final_HP * (BaseBarrierHP / 100))
Apply StunRate
Final_Apply_StunRate = max(0, Final_StunRate - target.Stun_Resist)
Apply StunTime
Final_Apply_StunTime = max(0, Final_StunTime * (1 - target.StunTime_Resist / 100))
Apply ShockRate
Final_Apply_ShockRate = max(0, Final_ShockRate / (Final_ShockRate + 5 * target.ShockRate_Resist + 5 * target.AttributeRate_Resist + 100) * 100)
Apply BurnRate
Final_Apply_BurnRate = max(0, Final_BurnRate / (Final_BurnRate + 5 * target.BurnRate_Resist + 5 * target.AttributeRate_Resist + 100) * 100)
Apply PoisonRate
Final_Apply_PoisonRate = max(0, Final_PoisonRate / (Final_PoisonRate + 5 * target.PoisonRate_Resist + 5 * target.AttributeRate_Resist + 100) * 100)
Apply BlockRate
Final_Apply_BlockRate = max(0, Final_BlockRate / (Final_BlockRate + 2 * target.Block_Ignor) * 50)
Farming, selling and slots
21Inventory Slot
Final_Inventory_Slot = 39 + Inventory_Plus
Storage Page
Final_Storage_Page = 1 + Storage_Plus
Skill Slot
Final_Skill_Slot = 3 + SkillSlot_Plus
Mob Gold Gain
Final_Mob_Gold_Gain = (ClearGoldReward + MobGoldGain_Plus * SummonBossDetail) * (1 + (MobGoldGainPer_Plus + AllGoldGainPer_Plus) / 100)
Boss Gold Gain
Final_Boss_Gold_Gain = (BossKillGold + BossGoldGain_Plus) * (1 + (BossGoldGainPer_Plus + AllGoldGainPer_Plus) / 100)
Offline Gold Gain
Final_Offline_Gold_Gain = (ClearGoldReward + OfflineGoldGain_Plus) * (1 + OfflineGoldGainPer_Plus / 100)
Gold Storage
Final_Gold_Storage = 200000000 + GoldStorage_Plus
Exp Gain
Final_Exp_Gain = (ClearExpReward + MobExpGain_Plus * SummonBossDetail) * (1 + (MobExpGainPer_Plus + AllExpGainPer_Plus) / 100)
Boss Exp Gain
Final_Boss_Exp_Gain = (BossKillExp + BossExpGain_Plus) * (1 + (BossExpGainPer_Plus + AllExpGainPer_Plus) / 100)
Offline Exp Gain
Final_Offline_Exp_Gain = (ClearExpReward + OfflineExpGain_Plus) * (1 + OfflineExpGainPer_Plus / 100)
Mob Drop CoolTime
Final_Mob_Drop_CoolTime = max(5, (DropCoolTime - DropCoolTime_Minus) * (1 - DropCoolTimePer_Minus / 100))
Drop Rate
Final_Drop_Rate = (DropRate / 10000 + DropRate_Plus) * (1 + (DropRatePer_Plus + AllDropRatePer_Plus) / 100)
Boss Drop Rate
Final_Boss_Drop_Rate = (BossDropRate / 10000 + BossDropRate_Plus) * (1 + (BossDropRatePer_Plus + AllDropRatePer_Plus) / 100)
Mob Kill Cnt
Final_Mob_Kill_Cnt = max(50, SummonBossDetail - MobKillCnt_Minus)
Gear Sell Cnt
Final_Gear_Sell_Cnt = (Gear_SellGetItemCnt + Gear_SellCnt_Plus) * (1 + Gear_SellCntPer_Plus / 100)
Accessory Sell Cnt
Final_Accessory_Sell_Cnt = (Accessory_SellGetItemCnt + Accessory_SellCnt_Plus) * (1 + Accessory_SellCntPer_Plus / 100)
Jewel Sell Cnt
Final_Jewel_Sell_Cnt = (Jewel_SellGetItemCnt + Jewel_SellCnt_Plus) * (1 + Jewel_SellCntPer_Plus / 100)
Wing Sell Cnt
Final_Wing_Sell_Cnt = (Wing_SellGetItemCnt + Wing_SellCnt_Plus) * (1 + Wing_SellCntPer_Plus / 100)
Rune Sell Cnt
Final_Rune_Sell_Cnt = (Rune_SellGetItemCnt + Rune_SellCnt_Plus) * (1 + Rune_SellCntPer_Plus / 100)
Pet Sell Cnt
Final_Pet_Sell_Cnt = (Pet_SellGetItemCnt + Pet_SellCnt_Plus) * (1 + Pet_SellCntPer_Plus / 100)
Equip Limit Level
Final_Equip_Limit_Level = max(1, LimitLevel - LimitLevel_Minus)
Combat power
32CP
Final_CP = Final_Attack_CP + Final_Defense_CP + Final_HP_CP + Final_AttackSpeed_CP + Final_MoveSpeed_CP + Final_Damage_Plus_CP + Final_BossDamagePer_Plus_CP + Final_HitRate_CP + Final_Evasion_CP + Final_Critical_CP + Final_Stun_CP + Final_Shock_CP + Final_Burn_CP + Final_Poison_CP + Final_Critical_Resist_CP + Final_Shock_Resist_CP + Final_Burn_Resist_CP + Final_Poison_Resist_CP + Final_DamagePer_Minus_CP + Final_BlockRate_CP + Final_BlockIgnor_CP + Final_Recovery_CP + Final_DebuffShock_CP + Final_DebuffBurn_CP + Final_DebuffPoison_CP + Final_SkillCoolTimePer_CP + Final_DebuffShockResist_CP + Final_DebuffBurnResist_CP + Final_DebuffPoisonResist_CP + Final_EndDamagePer_Plus_CP + Final_EndDamagePer_Minus_CP
Attack CP
Final_Attack_CP = max(0, (BaseAttack + Attack_Plus - Attack_Minus + .8 * PvP_Attack_Plus + .8 * PvE_Attack_Plus) * (1 + (AttackPer_Plus - AttackPer_Minus + .8 * PvP_AttackPer_Plus + .8 * PvE_AttackPer_Plus) / 100) * 2)
Defense CP
Final_Defense_CP = max(0, (BaseDefense + Defense_Plus - Defense_Minus + .8 * PvE_Defense_Plus + .8 * PvP_Defense_Plus) * (1 + (DefensePer_Plus - DefensePer_Minus + .8 * PvE_DefensePer_Plus + .8 * PvP_DefensePer_Plus) / 100) * 1)
HP CP
Final_HP_CP = max(0, .2 * Final_HP)
AttackSpeed CP
Final_AttackSpeed_CP = max(0, Final_Attack_CP * ((Final_AttackSpeed - 100) / 100) * 1.5)
MoveSpeed CP
Final_MoveSpeed_CP = max(0, Final_Attack_CP * ((Final_MoveSpeed - 600) / 100) * 1.5)
Damage Plus CP
Final_Damage_Plus_CP = Final_Attack_CP * (DamagePer_Plus / 100) * 1 + Final_Attack_CP * (PvP_DamagePer_Plus / 100) * .8 + Final_Attack_CP * (PvE_DamagePer_Plus / 100) * .8
BossDamagePer Plus CP
Final_BossDamagePer_Plus_CP = max(0, Final_Attack_CP * BossDamagePer_Plus / 100 * .8)
DamagePer Minus CP
Final_DamagePer_Minus_CP = (Final_Defense_CP + Final_HP_CP) * (DamagePer_Minus / 100) * 1 + (Final_Defense_CP + Final_HP_CP) * (PvP_DamagePer_Minus / 100) * .8 + (Final_Defense_CP + Final_HP_CP) * (PvE_DamagePer_Minus / 100) * .8
EndDamagePer Plus CP
Final_EndDamagePer_Plus_CP = Final_Attack_CP * (EndDamagePer_Plus / 100) * 2
EndDamagePer Minus CP
Final_EndDamagePer_Minus_CP = (Final_Defense_CP + Final_HP_CP) * (EndDamagePer_Minus / 100) * 2
HitRate CP
Final_HitRate_CP = max(0, Final_Attack_CP * ((Final_HitRate - 100) / 100) * .4)
Evasion CP
Final_Evasion_CP = max(0, (Final_Defense_CP + Final_HP_CP) * ((Final_Evasion - 90) / 100) * .4)
Critical CP
Final_Critical_CP = max(0, Final_Attack_CP * (Final_CriticalRate / 100) * .8 + Final_Attack_CP * (Final_CriticalDamage / 100) * .4)
Critical Resist CP
Final_Critical_Resist_CP = max(0, (Final_Defense_CP + Final_HP_CP) * (CriticalRate_Resist / 100) * .8 + (Final_Defense_CP + Final_HP_CP) * (CriticalDamage_Resist / 100) * .4)
Stun CP
Final_Stun_CP = max(0, Final_Attack_CP * (StunRate_Plus / 100) * 1)
Shock CP
Final_Shock_CP = max(0, Final_Attack_CP * (Final_ShockRate / 100) * .8 + Final_Attack_CP * (Final_ShockDamage / 100) * .4)
Burn CP
Final_Burn_CP = max(0, Final_Attack_CP * (Final_BurnRate / 100) * .8 + Final_Attack_CP * (Final_BurnDamage / 100) * .4)
Poison CP
Final_Poison_CP = max(0, Final_Attack_CP * (Final_PoisonRate / 100) * .8 + Final_Attack_CP * (Final_PoisonDamage / 100) * .4)
Shock Resist CP
Final_Shock_Resist_CP = max(0, (Final_Defense_CP + Final_HP_CP) * (ShockRate_Resist / 100) * .8 + (Final_Defense_CP + Final_HP_CP) * (ShockDamage_Resist / 100) * .4)
Burn Resist CP
Final_Burn_Resist_CP = max(0, (Final_Defense_CP + Final_HP_CP) * (BurnRate_Resist / 100) * .8 + (Final_Defense_CP + Final_HP_CP) * (BurnDamage_Resist / 100) * .4)
Poison Resist CP
Final_Poison_Resist_CP = max(0, (Final_Defense_CP + Final_HP_CP) * (PoisonRate_Resist / 100) * .8 + (Final_Defense_CP + Final_HP_CP) * (PoisonDamage_Resist / 100) * .4)
DebuffShock CP
Final_DebuffShock_CP = max(0, Final_Attack_CP * (Final_DebuffShock / 100) * .8)
DebuffBurn CP
Final_DebuffBurn_CP = max(0, Final_Attack_CP * (Final_DebuffBurn / 100) * .8)
DebuffPoison CP
Final_DebuffPoison_CP = max(0, Final_Attack_CP * (Final_DebuffPoison / 100) * .8)
DebuffShockResist CP
Final_DebuffShockResist_CP = max(0, (Final_Defense_CP + Final_HP_CP) * (DebuffShock_Resist / 100) * .8)
DebuffBurnResist CP
Final_DebuffBurnResist_CP = max(0, (Final_Defense_CP + Final_HP_CP) * (DebuffBurn_Resist / 100) * .8)
DebuffPoisonResist CP
Final_DebuffPoisonResist_CP = max(0, (Final_Defense_CP + Final_HP_CP) * (DebuffPoison_Resist / 100) * .8)
BlockRate CP
Final_BlockRate_CP = max(0, (Final_Defense_CP + Final_HP_CP) * (Final_BlockRate / 100) * .5)
BlockIgnor CP
Final_BlockIgnor_CP = max(0, Final_Attack_CP) * (Block_Ignor / 100 * .5)
Recovery CP
Final_Recovery_CP = max(0, 100 * RecoveryAmount_Plus * (1 + RecoveryAmountPer_Plus / 100) / Final_RecoveryTime)
SkillCoolTimePer CP
Final_SkillCoolTimePer_CP = Final_Attack_CP * (SkillCoolTimePer_Minus / 100) * 3