aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormegamage <none@none>2009-06-18 20:43:48 -0500
committermegamage <none@none>2009-06-18 20:43:48 -0500
commit8397da15e52009279bfe456dda4d95bf2ef28300 (patch)
tree88839762bc01434105758bc2b41b0d74307f92e6 /src
parent9008c0a838e84f79d961e11d450550466ebc3743 (diff)
*Change creature damage calculation.
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/game/Creature.cpp14
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);