diff options
author | megamage <none@none> | 2009-06-18 20:43:48 -0500 |
---|---|---|
committer | megamage <none@none> | 2009-06-18 20:43:48 -0500 |
commit | 8397da15e52009279bfe456dda4d95bf2ef28300 (patch) | |
tree | 88839762bc01434105758bc2b41b0d74307f92e6 /src | |
parent | 9008c0a838e84f79d961e11d450550466ebc3743 (diff) |
*Change creature damage calculation.
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/game/Creature.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/game/Creature.cpp b/src/game/Creature.cpp index a099bdec797..f19fe2cdac3 100644 --- a/src/game/Creature.cpp +++ b/src/game/Creature.cpp @@ -1393,12 +1393,14 @@ void Creature::SelectLevel(const CreatureInfo *cinfo) // damage float damagemod = _GetDamageMod(rank); - SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg + cinfo->attackpower) * damagemod); - SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg + cinfo->attackpower) * damagemod); - SetBaseWeaponDamage(OFF_ATTACK, MINDAMAGE, (cinfo->mindmg + cinfo->attackpower) * damagemod); - SetBaseWeaponDamage(OFF_ATTACK, MAXDAMAGE, (cinfo->maxdmg + cinfo->attackpower) * damagemod); - SetBaseWeaponDamage(RANGED_ATTACK, MINDAMAGE, (cinfo->minrangedmg + cinfo->rangedattackpower) * damagemod); - SetBaseWeaponDamage(RANGED_ATTACK, MAXDAMAGE, (cinfo->maxrangedmg + cinfo->rangedattackpower) * damagemod); + uint32 attackpower = cinfo->attackpower * level / 60; + uint32 rangedattackpower = cinfo->rangedattackpower * level / 60; + SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg + attackpower) * damagemod); + SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg + attackpower) * damagemod); + SetBaseWeaponDamage(OFF_ATTACK, MINDAMAGE, (cinfo->mindmg + attackpower) * damagemod); + SetBaseWeaponDamage(OFF_ATTACK, MAXDAMAGE, (cinfo->maxdmg + attackpower) * damagemod); + SetBaseWeaponDamage(RANGED_ATTACK, MINDAMAGE, (cinfo->minrangedmg + rangedattackpower) * damagemod); + SetBaseWeaponDamage(RANGED_ATTACK, MAXDAMAGE, (cinfo->maxrangedmg + rangedattackpower) * damagemod); // this value is not accurate, but should be close to the real value SetModifierValue(UNIT_MOD_ATTACK_POWER, BASE_VALUE, level * 5); |