mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-19 08:55:32 +01:00
Apply #239
EventAI: New Actions: *ACTION_T_MOVE_RANDOM_POINT: _param1, determines the range that can be the random point. *ACTION_T_SET_STAND_STATE: _param1, determines the stand state using the enum UnitStandStateType. *ACTION_T_SET_PHASE_MASK: _param1, determines the phase mask. *ACTION_T_SET_VISIBILITY: _param1, determines the visibility state using the enum UnitVisibility. patch by manuel --HG-- branch : trunk
This commit is contained in:
@@ -755,6 +755,22 @@ void CreatureEventAI::ProcessAction(CreatureEventAI_Action const& action, uint32
|
||||
break;
|
||||
|
||||
// TRINITY ONLY
|
||||
case ACTION_T_MOVE_RANDOM_POINT: //dosen't work in combat
|
||||
{
|
||||
float x,y,z;
|
||||
me->GetClosePoint(x, y, z, me->GetObjectSize() / 3, action.raw.param1);
|
||||
me->GetMotionMaster()->MovePoint(0,x,y,z);
|
||||
break;
|
||||
}
|
||||
case ACTION_T_SET_STAND_STATE:
|
||||
me->SetStandState(UnitStandStateType(action.raw.param1));
|
||||
break;
|
||||
case ACTION_T_SET_PHASE_MASK:
|
||||
me->SetPhaseMask(action.raw.param1, true);
|
||||
break;
|
||||
case ACTION_T_SET_VISIBILITY:
|
||||
me->SetVisibility(UnitVisibility(action.raw.param1));
|
||||
break;
|
||||
case ACTION_T_SET_ACTIVE:
|
||||
me->setActive(action.raw.param1 ? true : false);
|
||||
break;
|
||||
|
||||
@@ -105,15 +105,19 @@ enum EventAI_ActionType
|
||||
ACTION_T_ZONE_COMBAT_PULSE = 38, // No Params
|
||||
ACTION_T_CALL_FOR_HELP = 39, // Radius
|
||||
ACTION_T_SET_SHEATH = 40, // Sheath (0-passive,1-melee,2-ranged)
|
||||
ACTION_T_FORCE_DESPAWN = 41, // No Params
|
||||
ACTION_T_SET_INVINCIBILITY_HP_LEVEL = 42, // MinHpValue, format(0-flat,1-percent from max health)
|
||||
|
||||
ACTION_T_SET_PHASE_MASK = 97,
|
||||
ACTION_T_SET_STAND_STATE = 98,
|
||||
ACTION_T_MOVE_RANDOM_POINT = 99,
|
||||
ACTION_T_SET_VISIBILITY = 100,
|
||||
ACTION_T_SET_ACTIVE = 101, //Apply
|
||||
ACTION_T_SET_AGGRESSIVE = 102, //Apply
|
||||
ACTION_T_ATTACK_START_PULSE = 103, //Distance
|
||||
ACTION_T_SUMMON_GO = 104, //GameObjectID, DespawnTime in ms
|
||||
|
||||
ACTION_T_FORCE_DESPAWN = 41, // No Params
|
||||
ACTION_T_END = 105,
|
||||
ACTION_T_SET_INVINCIBILITY_HP_LEVEL = 42, // MinHpValue, format(0-flat,1-percent from max health)
|
||||
ACTION_T_END = 105,
|
||||
};
|
||||
|
||||
enum Target
|
||||
|
||||
@@ -689,6 +689,10 @@ void CreatureEventAIMgr::LoadCreatureEventAI_Scripts()
|
||||
sLog.outErrorDb("CreatureEventAI: Event %u Action %u currently unused ACTION type. Did you forget to update database?", i, j+1);
|
||||
break;
|
||||
|
||||
case ACTION_T_MOVE_RANDOM_POINT:
|
||||
case ACTION_T_SET_STAND_STATE:
|
||||
case ACTION_T_SET_PHASE_MASK:
|
||||
case ACTION_T_SET_VISIBILITY:
|
||||
case ACTION_T_SET_ACTIVE:
|
||||
case ACTION_T_SET_AGGRESSIVE:
|
||||
case ACTION_T_ATTACK_START_PULSE:
|
||||
|
||||
Reference in New Issue
Block a user