aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/AI/SmartScripts/SmartScript.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp
index a272cb79f51..164ace2eb44 100644
--- a/src/server/game/AI/SmartScripts/SmartScript.cpp
+++ b/src/server/game/AI/SmartScripts/SmartScript.cpp
@@ -1046,8 +1046,18 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
}
case SMART_ACTION_SET_INGAME_PHASE_MASK:
{
- if (WorldObject* baseObj = GetBaseObject())
- baseObj->SetPhaseMask(e.action.ingamePhaseMask.mask, true);
+ ObjectList* targets = GetTargets(e, unit);
+
+ if (!targets)
+ break;
+
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ {
+ if (!IsUnit(*itr))
+ continue;
+
+ (*itr)->ToUnit()->SetPhaseMask(e.action.ingamePhaseMask.mask, true);
+ }
break;
}