From a778f757836f7173eff4674fca94ce081f62d8e8 Mon Sep 17 00:00:00 2001 From: Lopfest Date: Thu, 22 Aug 2019 13:45:11 +0200 Subject: Core/SAI: Restore SMART_ACTION_SET_DATA accidentally deleted in cherry-picks (#23731) --- src/server/game/AI/SmartScripts/SmartScript.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src') diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index f0fee07e8ba..f058c59d434 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -1363,6 +1363,23 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u delete targets; break; } + case SMART_ACTION_SET_DATA: + { + ObjectList* targets = GetTargets(e, unit); + if (!targets) + break; + + for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr) + { + if (IsCreature(*itr)) + (*itr)->ToCreature()->AI()->SetData(e.action.setData.field, e.action.setData.data); + else if (IsGameObject(*itr)) + (*itr)->ToGameObject()->AI()->SetData(e.action.setData.field, e.action.setData.data); + } + + delete targets; + break; + } case SMART_ACTION_MOVE_OFFSET: { if (ObjectList* targets = GetTargets(e, unit)) -- cgit v1.2.3