diff options
author | Machiavelli <none@none> | 2009-06-22 23:12:53 +0200 |
---|---|---|
committer | Machiavelli <none@none> | 2009-06-22 23:12:53 +0200 |
commit | 605b5670e3ae8a41629fc1830a1a9fb31262d498 (patch) | |
tree | 069270f7ef07fab5e4bb92912d702e6222ca20cb /src | |
parent | 2c7799bfef898273d3ed624934a32306b085432d (diff) |
* Update creature damage calculation.
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/game/Creature.cpp | 28 | ||||
-rw-r--r-- | src/game/ObjectMgr.cpp | 2 |
2 files changed, 13 insertions, 17 deletions
diff --git a/src/game/Creature.cpp b/src/game/Creature.cpp index d69c083417a..50fa95337f6 100644 --- a/src/game/Creature.cpp +++ b/src/game/Creature.cpp @@ -1390,22 +1390,18 @@ void Creature::SelectLevel(const CreatureInfo *cinfo) SetModifierValue(UNIT_MOD_HEALTH, BASE_VALUE, health); SetModifierValue(UNIT_MOD_MANA, BASE_VALUE, mana); - // damage - //uint32 attackpower = cinfo->attackpower * level / 60; - //uint32 rangedattackpower = cinfo->rangedattackpower * level / 60; - //damagemod *= 0.75f; - SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, cinfo->mindmg); - SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, cinfo->maxdmg); - SetBaseWeaponDamage(OFF_ATTACK, MINDAMAGE, cinfo->mindmg); - SetBaseWeaponDamage(OFF_ATTACK, MAXDAMAGE, cinfo->maxdmg); - SetBaseWeaponDamage(RANGED_ATTACK, MINDAMAGE, cinfo->minrangedmg); - SetBaseWeaponDamage(RANGED_ATTACK, MAXDAMAGE, cinfo->maxrangedmg); - - // this value is not accurate, but should be close to the real value - //SetModifierValue(UNIT_MOD_ATTACK_POWER, BASE_VALUE, level * 5); - //SetModifierValue(UNIT_MOD_ATTACK_POWER_RANGED, BASE_VALUE, level * 5); - SetModifierValue(UNIT_MOD_ATTACK_POWER, BASE_VALUE, cinfo->attackpower); - SetModifierValue(UNIT_MOD_ATTACK_POWER_RANGED, BASE_VALUE, cinfo->rangedattackpower); + + //damage + float damagemod = _GetDamageMod(rank); + + SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, cinfo->mindmg * damagemod); + SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, cinfo->maxdmg * damagemod); + + SetFloatValue(UNIT_FIELD_MINRANGEDDAMAGE,cinfo->minrangedmg * damagemod); + SetFloatValue(UNIT_FIELD_MAXRANGEDDAMAGE,cinfo->maxrangedmg * damagemod); + + SetModifierValue(UNIT_MOD_ATTACK_POWER, BASE_VALUE, cinfo->attackpower * damagemod); + } float Creature::_GetHealthMod(int32 Rank) diff --git a/src/game/ObjectMgr.cpp b/src/game/ObjectMgr.cpp index 3594130db6a..cbf445ebc6b 100644 --- a/src/game/ObjectMgr.cpp +++ b/src/game/ObjectMgr.cpp @@ -786,7 +786,7 @@ void ObjectMgr::LoadCreatureTemplates() const_cast<CreatureInfo*>(cInfo)->scale = 1.0f; } - const_cast<CreatureInfo*>(cInfo)->dmg_multiplier *= Creature::_GetDamageMod(cInfo->rank); + //const_cast<CreatureInfo*>(cInfo)->dmg_multiplier *= Creature::_GetDamageMod(cInfo->rank); } } |