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)

This commit is contained in:
Discover-
2013-08-07 02:41:58 +02:00
parent 5164caa9ff
commit d87b0fff2f
2 changed files with 9 additions and 4 deletions

View File

@@ -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:

View File

@@ -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;