aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/Creature.cpp28
-rw-r--r--src/game/Creature.h4
-rw-r--r--src/game/ObjectMgr.cpp2
-rw-r--r--src/game/StatSystem.cpp8
4 files changed, 21 insertions, 21 deletions
diff --git a/src/game/Creature.cpp b/src/game/Creature.cpp
index 07fa83f0144..d69c083417a 100644
--- a/src/game/Creature.cpp
+++ b/src/game/Creature.cpp
@@ -1391,23 +1391,21 @@ void Creature::SelectLevel(const CreatureInfo *cinfo)
SetModifierValue(UNIT_MOD_MANA, BASE_VALUE, mana);
// damage
- float damagemod = _GetDamageMod(rank);
-
- uint32 attackpower = cinfo->attackpower * level / 60;
- uint32 rangedattackpower = cinfo->rangedattackpower * level / 60;
- damagemod *= 0.75f;
- SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg + attackpower/2) * damagemod);
- SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg + attackpower) * damagemod);
- SetBaseWeaponDamage(OFF_ATTACK, MINDAMAGE, (cinfo->mindmg + attackpower/2) * damagemod);
- SetBaseWeaponDamage(OFF_ATTACK, MAXDAMAGE, (cinfo->maxdmg + attackpower) * damagemod);
- SetBaseWeaponDamage(RANGED_ATTACK, MINDAMAGE, (cinfo->minrangedmg + rangedattackpower/2) * damagemod);
- SetBaseWeaponDamage(RANGED_ATTACK, MAXDAMAGE, (cinfo->maxrangedmg + rangedattackpower) * damagemod);
+ //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 * damagemod);
- //SetModifierValue(UNIT_MOD_ATTACK_POWER_RANGED, BASE_VALUE, cinfo->rangedattackpower * damagemod);
+ //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);
}
float Creature::_GetHealthMod(int32 Rank)
diff --git a/src/game/Creature.h b/src/game/Creature.h
index b3433c2f1f4..f29982436d5 100644
--- a/src/game/Creature.h
+++ b/src/game/Creature.h
@@ -736,7 +736,8 @@ class TRINITY_DLL_SPEC Creature : public Unit
uint32 m_PlayerDamageReq;
void SetOriginalEntry(uint32 entry) { m_originalEntry = entry; }
-
+
+ static float _GetDamageMod(int32 Rank);
protected:
bool CreateFromProto(uint32 guidlow,uint32 Entry,uint32 team, const CreatureData *data = NULL);
bool InitEntry(uint32 entry, uint32 team=ALLIANCE, const CreatureData* data=NULL);
@@ -747,7 +748,6 @@ class TRINITY_DLL_SPEC Creature : public Unit
void _RealtimeSetCreatureInfo();
static float _GetHealthMod(int32 Rank);
- static float _GetDamageMod(int32 Rank);
uint32 m_lootMoney;
uint64 m_lootRecipient;
diff --git a/src/game/ObjectMgr.cpp b/src/game/ObjectMgr.cpp
index cbcb7b95e10..e11bd2b6638 100644
--- a/src/game/ObjectMgr.cpp
+++ b/src/game/ObjectMgr.cpp
@@ -785,6 +785,8 @@ void ObjectMgr::LoadCreatureTemplates()
else
const_cast<CreatureInfo*>(cInfo)->scale = 1.0f;
}
+
+ const_cast<CreatureInfo*>(cInfo)->dmg_multiplier *= Creature::_GetDamageMod(cInfo->rank);
}
}
diff --git a/src/game/StatSystem.cpp b/src/game/StatSystem.cpp
index 1d6ad79fda8..bb7b1273ac0 100644
--- a/src/game/StatSystem.cpp
+++ b/src/game/StatSystem.cpp
@@ -881,10 +881,10 @@ void Creature::UpdateDamagePhysical(WeaponAttackType attType)
float weapon_mindamage = GetWeaponDamageRange(attType, MINDAMAGE);
float weapon_maxdamage = GetWeaponDamageRange(attType, MAXDAMAGE);
- float base_value = GetModifierValue(unitMod, BASE_VALUE)
- + (weapon_mindamage + weapon_maxdamage)
- * GetTotalAttackPowerValue(attType) / (getLevel() * 30);
- //float base_value = GetModifierValue(unitMod, BASE_VALUE) + GetTotalAttackPowerValue(attType);
+ //float base_value = GetModifierValue(unitMod, BASE_VALUE)
+ // + (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);
float total_pct = GetModifierValue(unitMod, TOTAL_PCT);