diff options
Diffstat (limited to 'src/server/game/Entities/GameObject')
| -rwxr-xr-x | src/server/game/Entities/GameObject/GameObject.cpp | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index c8426edf6ab..952634a8c67 100755 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -911,19 +911,15 @@ void GameObject::TriggeringLinkedGameObject(uint32 trapEntry, Unit* target) if (!trapSpell) // checked at load already return; + /*** FIXME: this maybe not correct ***/ float range; SpellRangeEntry const * srentry = sSpellRangeStore.LookupEntry(trapSpell->rangeIndex); //get owner to check hostility of GameObject - if (GetSpellMaxRangeForHostile(srentry) == GetSpellMaxRangeForHostile(srentry)) - range = GetSpellMaxRangeForHostile(srentry); + if (Unit *owner = GetOwner()) + range = (float)owner->GetSpellMaxRangeForTarget(target, srentry); else - { - if (Unit *owner = GetOwner()) - range = (float)owner->GetSpellMaxRangeForTarget(target, srentry); - else - //if no owner assume that object is hostile to target - range = GetSpellMaxRangeForHostile(srentry); - } + //if no owner assume that object is hostile to target + range = GetSpellMaxRangeForHostile(srentry); // search nearest linked GO GameObject* trapGO = NULL; @@ -1509,15 +1505,15 @@ void GameObject::Use(Unit* user) { case 179785: // Silverwing Flag // check if it's correct bg - if (bg->GetTypeID(true) == BATTLEGROUND_WS) + if (bg->IsRandom() ? bg->GetTypeID(true) : bg->GetTypeID(false) == BATTLEGROUND_WS) bg->EventPlayerClickedOnFlag(player, this); break; case 179786: // Warsong Flag - if (bg->GetTypeID(true) == BATTLEGROUND_WS) + if (bg->IsRandom() ? bg->GetTypeID(true) : bg->GetTypeID(false) == BATTLEGROUND_WS) bg->EventPlayerClickedOnFlag(player, this); break; case 184142: // Netherstorm Flag - if (bg->GetTypeID(true) == BATTLEGROUND_EY) + if (bg->IsRandom() ? bg->GetTypeID(true) : bg->GetTypeID(false) == BATTLEGROUND_EY) bg->EventPlayerClickedOnFlag(player, this); break; } |
