diff options
author | Supabad <none@none> | 2010-10-19 13:15:47 +0200 |
---|---|---|
committer | Supabad <none@none> | 2010-10-19 13:15:47 +0200 |
commit | b7b65eacf2724a0548f7c9ed34ccef8e649d118c (patch) | |
tree | 6378b7c45210f3f89033d0062a2f99e48a558232 | |
parent | 43220cc1f6c40781cc16f3fc01def7d472a13885 (diff) |
Core/Spells: Destructable Buildings
- Fix issue where damage can be done to GameObjects with hp 0
- add check for Gameobjects with faction 0
--HG--
branch : trunk
-rwxr-xr-x | src/server/game/Spells/SpellEffects.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 0f34ea7a553..a36f639c1c9 100755 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -6760,11 +6760,15 @@ void Spell::EffectWMODamage(SpellEffIndex /*effIndex*/) if (!caster) return; + // Do not allow damage if hp is 0 + if (gameObjTarget->GetGOValue()->building.health == 0) + return; + FactionTemplateEntry const *casterft, *goft; casterft = caster->getFactionTemplateEntry(); goft = sFactionTemplateStore.LookupEntry(gameObjTarget->GetUInt32Value(GAMEOBJECT_FACTION)); - // Do not allow to damage GO's of friendly factions (ie: Wintergrasp Walls) - if (casterft && goft && !casterft->IsFriendlyTo(*goft)) + // Do not allow to damage GO's of friendly factions (ie: Wintergrasp Walls/Ulduar Storm Beacons) + if ((casterft && goft && !casterft->IsFriendlyTo(*goft)) || !goft) { gameObjTarget->TakenDamage(uint32(damage), caster); WorldPacket data(SMSG_DESTRUCTIBLE_BUILDING_DAMAGE, 8+8+8+4+4); |