From 8397da15e52009279bfe456dda4d95bf2ef28300 Mon Sep 17 00:00:00 2001 From: megamage Date: Thu, 18 Jun 2009 20:43:48 -0500 Subject: *Change creature damage calculation. --HG-- branch : trunk --- src/game/Creature.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'src/game/Creature.cpp') 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); -- cgit v1.2.3