diff options
author | Gacko <gacko28@gmx.de> | 2013-01-01 21:43:17 +0100 |
---|---|---|
committer | Gacko <gacko28@gmx.de> | 2013-01-01 21:43:17 +0100 |
commit | 01b705c84422902201a9ae51b1fb457f9f53d601 (patch) | |
tree | 10e1321e6fe23e4f94adbb0d08c8920c216519c9 /src | |
parent | 87368cab45b82e0931045e2f5de9009d7075b58c (diff) |
Core/Player: Fix armor calculation - 2nd try
Base armor value from WDB data includes the ArmorDamageModifier. Items of
same item level, required level, armor type and equiptment slot should
have (nearly) the same armor values.
See following links for further proofs:
http://pastebin.com/fqNJLYj4
http://www.wowhead.com/item=50466#comments:id=889035:reply=444786
The shown item should have a base armor value of 177 as similar items and
a bonus armor value of 560 which equals 737 - like in DB atm.
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 4 | ||||
-rw-r--r-- | src/server/game/Handlers/ItemHandler.cpp | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 66e37a2e10f..a762cf18ffe 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -7957,8 +7957,12 @@ void Player::_ApplyItemBonuses(ItemTemplate const* proto, uint8 slot, bool apply // If set ScalingStatValue armor get it or use item armor uint32 armor = proto->Armor; if (ssv) + { if (uint32 ssvarmor = ssv->getArmorMod(proto->ScalingStatValue)) armor = ssvarmor; + } + else if (armor && proto->ArmorDamageModifier) + armor -= uint32(proto->ArmorDamageModifier); if (armor) { diff --git a/src/server/game/Handlers/ItemHandler.cpp b/src/server/game/Handlers/ItemHandler.cpp index 712b1f5f25a..77d44dffd1b 100644 --- a/src/server/game/Handlers/ItemHandler.cpp +++ b/src/server/game/Handlers/ItemHandler.cpp @@ -348,7 +348,7 @@ void WorldSession::HandleItemQuerySingleOpcode(WorldPacket& recvData) } // resistances (7) - data << (pProto->Armor ? pProto->Armor + uint32(pProto->ArmorDamageModifier) : 0); + data << pProto->Armor; data << pProto->HolyRes; data << pProto->FireRes; data << pProto->NatureRes; |