diff options
author | Subv <s.v.h21@hotmail.com> | 2012-09-26 10:50:44 -0500 |
---|---|---|
committer | Subv <s.v.h21@hotmail.com> | 2012-09-26 10:50:44 -0500 |
commit | df12eba82044200541b80a65ce9a41d7699f78a3 (patch) | |
tree | d93a555c7084d3194e3900483758adcde99cb9f0 | |
parent | 424ac73766da612cbae8c55d47f1cd5a667f18d5 (diff) |
Core/Entities: Use the Ranged Attack Power multiplier from the DBC to calculate ranged attack power bonus from agility
-rw-r--r-- | src/server/game/DataStores/DBCStructure.h | 6 | ||||
-rwxr-xr-x | src/server/game/DataStores/DBCfmt.h | 2 | ||||
-rwxr-xr-x | src/server/game/Entities/Unit/StatSystem.cpp | 14 |
3 files changed, 5 insertions, 17 deletions
diff --git a/src/server/game/DataStores/DBCStructure.h b/src/server/game/DataStores/DBCStructure.h index ded0ff65a94..d210347cc2a 100644 --- a/src/server/game/DataStores/DBCStructure.h +++ b/src/server/game/DataStores/DBCStructure.h @@ -706,9 +706,9 @@ struct ChrClassesEntry //uint32 flags2; // 8 m_flags (0x08 HasRelicSlot) uint32 CinematicSequence; // 9 m_cinematicSequenceID uint32 expansion; // 10 m_required_expansion - uint32 APPerStrenth; // 11 - uint32 APPerAgility; // 12 - //uint32 // 13 + uint32 APPerStrenth; // 11 Attack Power bonus per point of strength + uint32 APPerAgility; // 12 Attack Power bonus per point of agility + uint32 RAPPerAgility; // 13 Ranged Attack Power bonus per point of agility }; struct ChrRacesEntry diff --git a/src/server/game/DataStores/DBCfmt.h b/src/server/game/DataStores/DBCfmt.h index 8dfc40d9b4e..41c4bc58a1d 100755 --- a/src/server/game/DataStores/DBCfmt.h +++ b/src/server/game/DataStores/DBCfmt.h @@ -39,7 +39,7 @@ const char CharStartOutfitEntryfmt[]="diiiiiiiiiiiiiiiiiiiiiiiiixxxxxxxxxxxxxxxx const char CharTitlesEntryfmt[]="nxsxix"; const char ChatChannelsEntryfmt[]="nixsx"; -const char ChrClassesEntryfmt[]="nixsxxxixiiiix"; +const char ChrClassesEntryfmt[]="nixsxxxixiiiii"; const char ChrRacesEntryfmt[]="nxixiixixxxxixsxxxxxixxx"; const char ChrClassesXPowerTypesfmt[]="nii"; diff --git a/src/server/game/Entities/Unit/StatSystem.cpp b/src/server/game/Entities/Unit/StatSystem.cpp index c0f7f5c8939..b6ce94cd39b 100755 --- a/src/server/game/Entities/Unit/StatSystem.cpp +++ b/src/server/game/Entities/Unit/StatSystem.cpp @@ -274,19 +274,7 @@ void Player::UpdateAttackPowerAndDamage(bool ranged) if (ranged) { index = UNIT_FIELD_RANGED_ATTACK_POWER; - - switch (getClass()) - { - case CLASS_HUNTER: - val2 = level * 2.0f + GetStat(STAT_AGILITY) * 2.0f - 20.0f; - break; - case CLASS_ROGUE: - val2 = level + GetStat(STAT_AGILITY) - 10.0f; - break; - case CLASS_WARRIOR: - val2 = level + GetStat(STAT_AGILITY) - 10.0f; - break; - } + val2 = (level + std::max(GetStat(STAT_AGILITY) - 10.0f, 0.0f)) * entry->RAPPerAgility; } else { |