*Update creature melee damage calculation.

--HG--
branch : trunk
This commit is contained in:
megamage
2009-06-17 13:34:49 -05:00
parent d4a6a3d09d
commit d805e89091
2 changed files with 8 additions and 8 deletions
+6 -6
View File
@@ -1393,12 +1393,12 @@ void Creature::SelectLevel(const CreatureInfo *cinfo)
// damage
float damagemod = _GetDamageMod(rank);
SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, cinfo->mindmg * damagemod);
SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, cinfo->maxdmg * damagemod);
SetBaseWeaponDamage(OFF_ATTACK, MINDAMAGE, cinfo->mindmg * damagemod);
SetBaseWeaponDamage(OFF_ATTACK, MAXDAMAGE, cinfo->maxdmg * damagemod);
SetBaseWeaponDamage(RANGED_ATTACK, MINDAMAGE, cinfo->minrangedmg * damagemod);
SetBaseWeaponDamage(RANGED_ATTACK, MAXDAMAGE, cinfo->maxrangedmg * damagemod);
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);
// this value is not accurate, but should be close to the real value
SetModifierValue(UNIT_MOD_ATTACK_POWER, BASE_VALUE, level * 5);
+2 -2
View File
@@ -880,8 +880,8 @@ void Creature::UpdateDamagePhysical(WeaponAttackType attType)
float weapon_maxdamage = GetWeaponDamageRange(attType, MAXDAMAGE);
float base_value = GetModifierValue(unitMod, BASE_VALUE)
+ (weapon_mindamage + weapon_maxdamage) / 6
* GetTotalAttackPowerValue(attType) / (getLevel() * 5);
+ (weapon_mindamage + weapon_maxdamage)
* GetTotalAttackPowerValue(attType) / (getLevel() * 30);
//float base_value = GetModifierValue(unitMod, BASE_VALUE) + GetTotalAttackPowerValue(attType);
float base_pct = GetModifierValue(unitMod, BASE_PCT);
float total_value = GetModifierValue(unitMod, TOTAL_VALUE);