From d87b0fff2fedfefe30c25171a0fe187084ef02ba Mon Sep 17 00:00:00 2001 From: Discover- Date: Wed, 7 Aug 2013 02:41:58 +0200 Subject: Core/SmartAI: Allow SMART_ACTION_SET_ACTIVE to take a parameter for on/off (true/false). Required for upcoming EAI to SAI conversion (https://github.com/Discover-/EventAI-to-SmartAI) --- src/server/game/AI/SmartScripts/SmartScript.cpp | 6 +++--- src/server/game/AI/SmartScripts/SmartScriptMgr.h | 7 ++++++- 2 files changed, 9 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index 86c246ff387..933b7b29892 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -1133,13 +1133,13 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u case SMART_ACTION_SET_VISIBILITY: { if (me) - me->SetVisible(e.action.visibility.state ? true : false); + me->SetVisible(e.action.visibility.state); break; } case SMART_ACTION_SET_ACTIVE: { - if (GetBaseObject()) - GetBaseObject()->setActive(true); + if (WorldObject* baseObj = GetBaseObject()) + baseObj->setActive(e.action.active.state); break; } case SMART_ACTION_ATTACK_START: diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.h b/src/server/game/AI/SmartScripts/SmartScriptMgr.h index 2fcee55ed14..d1ae47c2afd 100644 --- a/src/server/game/AI/SmartScripts/SmartScriptMgr.h +++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.h @@ -429,7 +429,7 @@ enum SMART_ACTION SMART_ACTION_SET_DATA = 45, // Field, Data (only creature @todo) SMART_ACTION_MOVE_FORWARD = 46, // distance SMART_ACTION_SET_VISIBILITY = 47, // on/off - SMART_ACTION_SET_ACTIVE = 48, // No Params + SMART_ACTION_SET_ACTIVE = 48, // on/off SMART_ACTION_ATTACK_START = 49, // SMART_ACTION_SUMMON_GO = 50, // GameObjectID, DespawnTime in ms, SMART_ACTION_KILL_UNIT = 51, // @@ -726,6 +726,11 @@ struct SmartAction uint32 despawnTime; } summonGO; + struct + { + uint32 state; + } active; + struct { uint32 id; -- cgit v1.2.3