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:
Kudlaty
2009-11-13 16:26:01 +01:00
parent 18576dab74
commit f04da1b620
3 changed files with 27 additions and 3 deletions

View File

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

View File

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

View File

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