aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/GameObject
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Entities/GameObject')
-rwxr-xr-xsrc/server/game/Entities/GameObject/GameObject.cpp20
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;
}