aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiscover- <amort11@hotmail.com>2013-08-07 02:41:58 +0200
committerDiscover- <amort11@hotmail.com>2013-08-07 02:41:58 +0200
commitd87b0fff2fedfefe30c25171a0fe187084ef02ba (patch)
tree454f544328d9a3cb84338560810157fe79e7d67c
parent5164caa9ffb436ce5a3cbd9c344311eca5d95175 (diff)
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)
-rw-r--r--src/server/game/AI/SmartScripts/SmartScript.cpp6
-rw-r--r--src/server/game/AI/SmartScripts/SmartScriptMgr.h7
2 files changed, 9 insertions, 4 deletions
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, //
@@ -727,6 +727,11 @@ struct SmartAction
} summonGO;
struct
+ {
+ uint32 state;
+ } active;
+
+ struct
{
uint32 id;
} taxi;