TrinityCore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
npc_blastmaster_emi_shortfuse::npc_blastmaster_emi_shortfuseAI Struct Reference

Public Member Functions

 npc_blastmaster_emi_shortfuseAI (Creature *creature)
 
void Reset () override
 
void sGossipSelect (Player *player, uint32, uint32 gossipListId) override
 
void NextStep (uint32 uiTimerStep, bool bNextStep=true, uint8 uiPhaseStep=0)
 
void CaveDestruction (bool isRight)
 
void SetInFace (bool isRight)
 
void RestoreAll ()
 
void AggroAllPlayers (Creature *temp)
 
void WaypointReached (uint32 waypointId) override
 
void SetData (uint32 uiI, uint32 uiValue) override
 
void Summon (uint8 uiCase)
 
void UpdateEscortAI (uint32 uiDiff) override
 
void JustSummoned (Creature *summon) override
 
- Public Member Functions inherited from npc_escortAI
 npc_escortAI (Creature *creature)
 
 ~npc_escortAI ()
 
void AttackStart (Unit *who) override
 
void MoveInLineOfSight (Unit *who) override
 
void JustDied (Unit *) override
 
void JustRespawned () override
 
void ReturnToLastPoint ()
 
void EnterEvadeMode (EvadeReason=EVADE_REASON_OTHER) override
 
void UpdateAI (uint32 diff) override
 
void MovementInform (uint32, uint32) override
 
void AddWaypoint (uint32 id, float x, float y, float z, uint32 waitTime=0)
 
bool SetNextWaypoint (uint32 pointId, float x, float y, float z, float orientation)
 
bool SetNextWaypoint (uint32 pointId, bool setPosition=true, bool resetWaypointsOnFail=true)
 
bool GetWaypointPosition (uint32 pointId, float &x, float &y, float &z)
 
virtual void WaypointStart (uint32)
 
void Start (bool isActiveAttacker=true, bool run=false, ObjectGuid playerGUID=ObjectGuid::Empty, Quest const *quest=NULL, bool instantRespawn=false, bool canLoopPath=false, bool resetWaypoints=true)
 
void SetRun (bool on=true)
 
void SetEscortPaused (bool on)
 
bool HasEscortState (uint32 escortState)
 
virtual bool IsEscorted () const override
 
void SetMaxPlayerDistance (float newMax)
 
float GetMaxPlayerDistance () const
 
void SetDespawnAtEnd (bool despawn)
 
void SetDespawnAtFar (bool despawn)
 
bool GetAttack () const
 
void SetCanAttack (bool attack)
 
ObjectGuid GetEventStarterGUID () const
 
- Public Member Functions inherited from ScriptedAI
 ScriptedAI (Creature *creature)
 
virtual ~ScriptedAI ()
 
void AttackStartNoMove (Unit *target)
 
void DamageTaken (Unit *, uint32 &) override
 
void KilledUnit (Unit *) override
 
void SummonedCreatureDespawn (Creature *) override
 
void SpellHit (Unit *, SpellInfo const *) override
 
void SpellHitTarget (Unit *, SpellInfo const *) override
 
void OnPossess (bool)
 
void EnterCombat (Unit *) override
 
void DoStartMovement (Unit *target, float distance=0.0f, float angle=0.0f)
 
void DoStartNoMovement (Unit *target)
 
void DoStopAttack ()
 
void DoCastSpell (Unit *target, SpellInfo const *spellInfo, bool triggered=false)
 
void DoPlaySoundToSet (WorldObject *source, uint32 soundId)
 
void DoResetThreat ()
 
float DoGetThreat (Unit *unit)
 
void DoModifyThreatPercent (Unit *unit, int32 pct)
 
void DoTeleportTo (float x, float y, float z, uint32 time=0)
 
void DoTeleportTo (float const pos[4])
 
void DoTeleportPlayer (Unit *unit, float x, float y, float z, float o)
 
void DoTeleportAll (float x, float y, float z, float o)
 
UnitDoSelectLowestHpFriendly (float range, uint32 minHPDiff=1)
 
std::list< Creature * > DoFindFriendlyCC (float range)
 
std::list< Creature * > DoFindFriendlyMissingBuff (float range, uint32 spellId)
 
PlayerGetPlayerAtMinimumRange (float minRange)
 
CreatureDoSpawnCreature (uint32 entry, float offsetX, float offsetY, float offsetZ, float angle, uint32 type, uint32 despawntime)
 
bool HealthBelowPct (uint32 pct) const
 
bool HealthAbovePct (uint32 pct) const
 
SpellInfo constSelectSpell (Unit *target, uint32 school, uint32 mechanic, SelectTargetType targets, float rangeMin, float rangeMax, SelectEffect effect)
 
void SetEquipmentSlots (bool loadDefault, int32 mainHand=EQUIP_NO_CHANGE, int32 offHand=EQUIP_NO_CHANGE, int32 ranged=EQUIP_NO_CHANGE)
 
void SetCombatMovement (bool allowMovement)
 
bool IsCombatMovementAllowed () const
 
bool IsHeroic () const
 
Difficulty GetDifficulty () const
 
bool Is25ManRaid () const
 
template<class T >
const T & DUNGEON_MODE (const T &normal5, const T &heroic10) const
 
template<class T >
const T & RAID_MODE (const T &normal10, const T &normal25) const
 
template<class T >
const T & RAID_MODE (const T &normal10, const T &normal25, const T &heroic10, const T &heroic25) const
 
- Public Member Functions inherited from CreatureAI
void Talk (uint8 id, WorldObject const *whisperTarget=nullptr)
 
 CreatureAI (Creature *creature)
 
virtual ~CreatureAI ()
 
void MoveInLineOfSight_Safe (Unit *who)
 == Reactions At ================================= More...
 
void TriggerAlert (Unit const *who) const
 
virtual bool CanRespawn ()
 
virtual void IsSummonedBy (Unit *)
 
virtual void SummonedCreatureDies (Creature *, Unit *)
 
virtual void AttackedBy (Unit *)
 
void OnCharmed (bool apply) override
 
virtual void JustReachedHome ()
 
void DoZoneInCombat (Creature *creature=NULL, float maxRangeToNearestTarget=50.0f)
 
virtual void ReceiveEmote (Player *, uint32)
 
virtual void OwnerAttackedBy (Unit *)
 
virtual void OwnerAttacked (Unit *)
 
virtual void CorpseRemoved (uint32 &)
 == Triggered Actions Requested ================== More...
 
virtual void PassengerBoarded (Unit *, int8, bool)
 == Fields ======================================= More...
 
virtual void OnSpellClick (Unit *, bool &)
 
virtual bool CanSeeAlways (WorldObject const *)
 
int32 VisualizeBoundary (uint32 duration, Unit *owner=nullptr, bool fill=false) const
 
virtual bool CheckInRoom ()
 
CreatureBoundary constGetBoundary () const
 
- Public Member Functions inherited from UnitAI
 UnitAI (Unit *unit)
 
virtual ~UnitAI ()
 
virtual bool CanAIAttack (Unit const *) const
 
virtual void InitializeAI ()
 
virtual void DoAction (int32)
 
virtual uint32 GetData (uint32) const
 
virtual void SetGUID (ObjectGuid, int32=0)
 
virtual ObjectGuid GetGUID (int32=0) const
 
UnitSelectTarget (SelectAggroTarget targetType, uint32 position=0, float dist=0.0f, bool playerOnly=false, int32 aura=0)
 
template<class PREDICATE >
UnitSelectTarget (SelectAggroTarget targetType, uint32 position, PREDICATE const &predicate)
 
void SelectTargetList (std::list< Unit * > &targetList, uint32 num, SelectAggroTarget targetType, float dist=0.0f, bool playerOnly=false, int32 aura=0)
 
template<class PREDICATE >
void SelectTargetList (std::list< Unit * > &targetList, PREDICATE const &predicate, uint32 maxTargets, SelectAggroTarget targetType)
 
virtual void DamageDealt (Unit *, uint32 &, DamageEffectType)
 
virtual void HealReceived (Unit *, uint32 &)
 
virtual void HealDone (Unit *, uint32 &)
 
virtual void SpellInterrupted (uint32, uint32)
 
void AttackStartCaster (Unit *victim, float dist)
 
void DoCast (uint32 spellId)
 
void DoCast (Unit *victim, uint32 spellId, bool triggered=false)
 
void DoCastVictim (uint32 spellId, bool triggered=false)
 
void DoCastAOE (uint32 spellId, bool triggered=false)
 
void DoMeleeAttackIfReady ()
 
bool DoSpellAttackIfReady (uint32 spellId)
 
virtual void sGossipHello (Player *)
 
virtual void sGossipSelectCode (Player *, uint32, uint32, char const *)
 
virtual void sQuestAccept (Player *, Quest const *)
 
virtual void sQuestSelect (Player *, Quest const *)
 
virtual void sQuestReward (Player *, Quest const *, uint32)
 
virtual bool sOnDummyEffect (Unit *, uint32, SpellEffIndex)
 
virtual void sOnGameEvent (bool, uint16)
 

Public Attributes

InstanceScriptinstance
 
uint8 uiPhase
 
uint32 uiTimer
 
GuidList SummonList
 
GuidList GoSummonList
 
- Public Attributes inherited from ScriptedAI
bool IsFleeing
 

Additional Inherited Members

- Public Types inherited from CreatureAI
enum  EvadeReason { EVADE_REASON_NO_HOSTILES, EVADE_REASON_BOUNDARY, EVADE_REASON_SEQUENCE_BREAK, EVADE_REASON_OTHER }
 
- Static Public Member Functions inherited from UnitAI
static void FillAISpellInfo ()
 
- Static Public Attributes inherited from UnitAI
static AISpellInfoTypeAISpellInfo
 
- Protected Member Functions inherited from npc_escortAI
PlayerGetPlayerForEscort ()
 
- Protected Member Functions inherited from CreatureAI
bool UpdateVictim ()
 
bool UpdateVictimWithGaze ()
 
void SetGazeOn (Unit *target)
 
CreatureDoSummon (uint32 entry, Position const &pos, uint32 despawnTime=30000, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN)
 
CreatureDoSummon (uint32 entry, WorldObject *obj, float radius=5.0f, uint32 despawnTime=30000, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN)
 
CreatureDoSummonFlyer (uint32 entry, WorldObject *obj, float flightZ, float radius=5.0f, uint32 despawnTime=30000, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN)
 
bool CheckBoundary (Position const *who=nullptr) const
 
void SetBoundary (CreatureBoundary const *boundary)
 
bool _EnterEvadeMode (EvadeReason why=EVADE_REASON_OTHER)
 
- Protected Attributes inherited from CreatureAI
Creature *const me
 
CreatureBoundary const_boundary
 
- Protected Attributes inherited from UnitAI
Unit *const me
 

Constructor & Destructor Documentation

npc_blastmaster_emi_shortfuse::npc_blastmaster_emi_shortfuseAI::npc_blastmaster_emi_shortfuseAI ( Creature creature)
inline
94  : npc_escortAI(creature)
95  {
96  instance = creature->GetInstanceScript();
97  creature->RestoreFaction();
98  Reset();
99  }
npc_escortAI(Creature *creature)
Definition: ScriptedEscortAI.cpp:37
InstanceScript * GetInstanceScript()
Definition: Object.cpp:1540
void RestoreFaction()
Definition: Unit.cpp:14277
InstanceScript * instance
Definition: gnomeregan.cpp:101
void Reset() override
Definition: gnomeregan.cpp:109

+ Here is the call graph for this function:

Member Function Documentation

void npc_blastmaster_emi_shortfuse::npc_blastmaster_emi_shortfuseAI::AggroAllPlayers ( Creature temp)
inline
204  {
205  Map::PlayerList const &PlList = me->GetMap()->GetPlayers();
206  for (Map::PlayerList::const_iterator i = PlList.begin(); i != PlList.end(); ++i)
207  {
208  if (Player* player = i->GetSource())
209  {
210  if (player->IsGameMaster())
211  continue;
212 
213  if (player->IsAlive())
214  {
215  temp->SetInCombatWith(player);
216  player->SetInCombatWith(temp);
217  temp->AddThreat(player, 0.0f);
218  }
219  }
220  }
221  }
void AddThreat(Unit *victim, float fThreat, SpellSchoolMask schoolMask=SPELL_SCHOOL_MASK_NORMAL, SpellInfo const *threatSpell=NULL)
Definition: Unit.cpp:10691
Map * GetMap() const
Definition: Object.h:543
iterator begin()
Definition: MapRefManager.h:37
Creature *const me
Definition: CreatureAI.h:71
Definition: LinkedList.h:141
PlayerList const & GetPlayers() const
Definition: Map.h:433
Definition: MapRefManager.h:26
iterator end()
Definition: MapRefManager.h:38
void SetInCombatWith(Unit *enemy)
Definition: Unit.cpp:9840

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void npc_blastmaster_emi_shortfuse::npc_blastmaster_emi_shortfuseAI::CaveDestruction ( bool  isRight)
inline
146  {
147  if (GoSummonList.empty())
148  return;
149 
150  for (GuidList::const_iterator itr = GoSummonList.begin(); itr != GoSummonList.end(); ++itr)
151  {
152  if (GameObject* go = ObjectAccessor::GetGameObject(*me, *itr))
153  {
154  if (Creature* trigger = go->SummonTrigger(go->GetPositionX(), go->GetPositionY(), go->GetPositionZ(), 0, 1))
155  {
156  //visual effects are not working!
157  trigger->CastSpell(trigger, 11542, true);
158  trigger->CastSpell(trigger, 35470, true);
159  }
160  go->RemoveFromWorld();
161  //go->CastSpell(me, 12158); makes all die?!
162  }
163  }
164 
167  }
static ObjectGuid const Empty
Definition: ObjectGuid.h:196
Definition: Creature.h:467
Creature *const me
Definition: CreatureAI.h:71
virtual ObjectGuid GetGuidData(uint32 type) const override
Definition: InstanceScript.cpp:93
Definition: gnomeregan.h:46
Definition: GameObject.h:880
void HandleGameObject(ObjectGuid guid, bool open, GameObject *go=nullptr)
Definition: InstanceScript.cpp:397
Creature * SummonTrigger(float x, float y, float z, float ang, uint32 dur, CreatureAI *(*GetAI)(Creature *)=NULL)
Definition: Object.cpp:2404
TC_GAME_API GameObject * GetGameObject(WorldObject const &u, ObjectGuid const &guid)
Definition: ObjectAccessor.cpp:143
InstanceScript * instance
Definition: gnomeregan.cpp:101
Definition: gnomeregan.h:45
GuidList GoSummonList
Definition: gnomeregan.cpp:107

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void npc_blastmaster_emi_shortfuse::npc_blastmaster_emi_shortfuseAI::JustSummoned ( Creature summon)
inlineoverridevirtual

Reimplemented from ScriptedAI.

492  {
493  SummonList.push_back(summon->GetGUID());
494  AggroAllPlayers(summon);
495  }
void AggroAllPlayers(Creature *temp)
Definition: gnomeregan.cpp:203
ObjectGuid const & GetGUID() const
Definition: Object.h:105
Definition: ScriptedCreature.h:41

+ Here is the call graph for this function:

void npc_blastmaster_emi_shortfuse::npc_blastmaster_emi_shortfuseAI::NextStep ( uint32  uiTimerStep,
bool  bNextStep = true,
uint8  uiPhaseStep = 0 
)
inline
137  {
138  uiTimer = uiTimerStep;
139  if (bNextStep)
140  ++uiPhase;
141  else
142  uiPhase = uiPhaseStep;
143  }

+ Here is the caller graph for this function:

void npc_blastmaster_emi_shortfuse::npc_blastmaster_emi_shortfuseAI::Reset ( )
inlineoverridevirtual

Reimplemented from ScriptedAI.

110  {
112  {
113  uiTimer = 0;
114  uiPhase = 0;
115 
116  RestoreAll();
117 
118  SummonList.clear();
119  GoSummonList.clear();
120  }
121  }
Definition: ScriptedEscortAI.h:47
Definition: ScriptedCreature.h:41
bool HasEscortState(uint32 escortState)
Definition: ScriptedEscortAI.h:96
GuidList GoSummonList
Definition: gnomeregan.cpp:107

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void npc_blastmaster_emi_shortfuse::npc_blastmaster_emi_shortfuseAI::RestoreAll ( )
inline
176  {
179 
182 
183  if (!GoSummonList.empty())
184  for (GuidList::const_iterator itr = GoSummonList.begin(); itr != GoSummonList.end(); ++itr)
185  {
186  if (GameObject* go = ObjectAccessor::GetGameObject(*me, *itr))
187  go->RemoveFromWorld();
188  }
189 
190  if (!SummonList.empty())
191  for (GuidList::const_iterator itr = SummonList.begin(); itr != SummonList.end(); ++itr)
192  {
193  if (Creature* summon = ObjectAccessor::GetCreature(*me, *itr))
194  {
195  if (summon->IsAlive())
196  summon->DisappearAndDie();
197  else
198  summon->RemoveCorpse();
199  }
200  }
201  }
static ObjectGuid const Empty
Definition: ObjectGuid.h:196
iterator begin()
Definition: ScriptedCreature.h:57
Definition: Creature.h:467
Creature *const me
Definition: CreatureAI.h:71
virtual ObjectGuid GetGuidData(uint32 type) const override
Definition: InstanceScript.cpp:93
Definition: gnomeregan.h:46
Definition: GameObject.h:880
void HandleGameObject(ObjectGuid guid, bool open, GameObject *go=nullptr)
Definition: InstanceScript.cpp:397
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
Definition: ObjectAccessor.cpp:174
TC_GAME_API GameObject * GetGameObject(WorldObject const &u, ObjectGuid const &guid)
Definition: ObjectAccessor.cpp:143
InstanceScript * instance
Definition: gnomeregan.cpp:101
Definition: ScriptedCreature.h:41
Definition: gnomeregan.h:45
bool empty() const
Definition: ScriptedCreature.h:82
GuidList GoSummonList
Definition: gnomeregan.cpp:107
iterator end()
Definition: ScriptedCreature.h:67

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void npc_blastmaster_emi_shortfuse::npc_blastmaster_emi_shortfuseAI::SetData ( uint32  uiI,
uint32  uiValue 
)
inlineoverridevirtual

Reimplemented from UnitAI.

268  {
269  switch (uiI)
270  {
271  case 1:
272  SetEscortPaused(true);
274  NextStep(2000, true);
275  break;
276  case 2:
277  switch (uiValue)
278  {
279  case 1:
281  break;
282  case 2:
284  NextStep(5000, false, 22);
285  break;
286  }
287  break;
288  }
289  }
Definition: inflate.h:49
void NextStep(uint32 uiTimerStep, bool bNextStep=true, uint8 uiPhaseStep=0)
Definition: gnomeregan.cpp:136
Definition: InstanceScript.h:59
Definition: gnomeregan.cpp:34
virtual void SetData(uint32, uint32)
Definition: ZoneScript.h:52
Definition: gnomeregan.h:40
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
Definition: CreatureAI.cpp:42
void SetEscortPaused(bool on)
Definition: ScriptedEscortAI.cpp:507
InstanceScript * instance
Definition: gnomeregan.cpp:101

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void npc_blastmaster_emi_shortfuse::npc_blastmaster_emi_shortfuseAI::SetInFace ( bool  isRight)
inline
170  {
172  me->SetFacingToObject(go);
173  }
Creature *const me
Definition: CreatureAI.h:71
void SetFacingToObject(WorldObject const *object)
Definition: Unit.cpp:15787
virtual ObjectGuid GetGuidData(uint32 type) const override
Definition: InstanceScript.cpp:93
Definition: gnomeregan.h:46
Definition: GameObject.h:880
TC_GAME_API GameObject * GetGameObject(WorldObject const &u, ObjectGuid const &guid)
Definition: ObjectAccessor.cpp:143
InstanceScript * instance
Definition: gnomeregan.cpp:101
Definition: gnomeregan.h:45

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void npc_blastmaster_emi_shortfuse::npc_blastmaster_emi_shortfuseAI::sGossipSelect ( Player player,
uint32  ,
uint32  gossipListId 
)
inlineoverridevirtual

Reimplemented from UnitAI.

124  {
125  if (gossipListId == 0)
126  {
127  Start(true, false, player->GetGUID());
128 
129  me->setFaction(player->getFaction());
130  SetData(1, 0);
131 
132  player->PlayerTalkClass->SendCloseGossip();
133  }
134  }
void Start(bool isActiveAttacker=true, bool run=false, ObjectGuid playerGUID=ObjectGuid::Empty, Quest const *quest=NULL, bool instantRespawn=false, bool canLoopPath=false, bool resetWaypoints=true)
Definition: ScriptedEscortAI.cpp:438
void setFaction(uint32 faction)
Definition: Unit.h:1467
Creature *const me
Definition: CreatureAI.h:71
void SetData(uint32 uiI, uint32 uiValue) override
Definition: gnomeregan.cpp:267

+ Here is the call graph for this function:

void npc_blastmaster_emi_shortfuse::npc_blastmaster_emi_shortfuseAI::Summon ( uint8  uiCase)
inline
292  {
293  switch (uiCase)
294  {
295  case 1:
306  break;
307  case 2:
308  if (GameObject* go = me->SummonGameObject(183410, -533.140f, -105.322f, -156.016f, 0, 0, 0, 0, 0, 1))
309  {
310  GoSummonList.push_back(go->GetGUID());
311  go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); //We can't use it!
312  }
313  Summon(3);
314  break;
315  case 3:
321  break;
322  case 4:
323  if (GameObject* go = me->SummonGameObject(183410, -542.199f, -96.854f, -155.790f, 0, 0, 0, 0, 0, 1))
324  {
325  GoSummonList.push_back(go->GetGUID());
327  }
328  break;
329  case 5:
335  break;
336  case 6:
337  if (GameObject* go = me->SummonGameObject(183410, -507.820f, -103.333f, -151.353f, 0, 0, 0, 0, 0, 1))
338  {
339  GoSummonList.push_back(go->GetGUID());
340  go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); //We can't use it!
341  Summon(5);
342  }
343  break;
344  case 7:
345  if (GameObject* go = me->SummonGameObject(183410, -511.829f, -86.249f, -151.431f, 0, 0, 0, 0, 0, 1))
346  {
347  GoSummonList.push_back(go->GetGUID());
348  go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); //We can't use it!
349  }
350  break;
351  case 8:
353  grubbis->AI()->Talk(SAY_GRUBBIS);
355  break;
356  case 9:
357  me->SummonGameObject(GO_RED_ROCKET, SpawnPosition[17].GetPositionX(), SpawnPosition[17].GetPositionY(), SpawnPosition[17].GetPositionZ(), SpawnPosition[17].GetOrientation(), 0, 0, 0, 0, 7200);
358  me->SummonGameObject(GO_RED_ROCKET, SpawnPosition[18].GetPositionX(), SpawnPosition[18].GetPositionY(), SpawnPosition[18].GetPositionZ(), SpawnPosition[18].GetOrientation(), 0, 0, 0, 0, 7200);
359  me->SummonGameObject(GO_RED_ROCKET, SpawnPosition[19].GetPositionX(), SpawnPosition[19].GetPositionY(), SpawnPosition[19].GetPositionZ(), SpawnPosition[19].GetOrientation(), 0, 0, 0, 0, 7200);
360  break;
361  }
362  }
Definition: gnomeregan.h:35
GameObject * SummonGameObject(uint32 entry, float x, float y, float z, float ang, float rotation0, float rotation1, float rotation2, float rotation3, uint32 respawnTime)
Definition: Object.cpp:2372
Definition: gnomeregan.h:34
Definition: gnomeregan.cpp:55
Definition: gnomeregan.cpp:41
Definition: SharedDefines.h:2125
Definition: gnomeregan.h:27
Definition: Creature.h:467
Definition: gnomeregan.h:33
Creature *const me
Definition: CreatureAI.h:71
Definition: GameObject.h:880
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
Definition: CreatureAI.cpp:42
Definition: UpdateFields.h:319
void Summon(uint8 uiCase)
Definition: gnomeregan.cpp:291
Definition: Object.h:59
const Position SpawnPosition[]
Definition: gnomeregan.cpp:58
GuidList GoSummonList
Definition: gnomeregan.cpp:107
TempSummon * SummonCreature(uint32 id, Position const &pos, TempSummonType spwtype=TEMPSUMMON_MANUAL_DESPAWN, uint32 despwtime=0, uint32 vehId=0) const
Definition: Object.cpp:2346

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void npc_blastmaster_emi_shortfuse::npc_blastmaster_emi_shortfuseAI::UpdateEscortAI ( uint32  uiDiff)
inlineoverridevirtual

Reimplemented from npc_escortAI.

365  {
366  if (uiPhase)
367  {
368  if (uiTimer <= uiDiff)
369  {
370  switch (uiPhase)
371  {
372  case 1:
374  NextStep(2000, true);
375  break;
376  case 2:
377  SetEscortPaused(false);
378  NextStep(0, false, 0);
379  break;
380  case 3:
382  SetEscortPaused(false);
383  NextStep(0, false, 0);
384  break;
385  case 4:
387  NextStep(3000, true);
388  break;
389  case 5:
391  NextStep(3000, true);
392  break;
393  case 6:
394  SetInFace(true);
396  Summon(1);
399  NextStep(3000, true);
400  break;
401  case 7:
403  SetEscortPaused(false);
404  NextStep(0, false, 0);
405  break;
406  case 8:
408  NextStep(25000, true);
409  break;
410  case 9:
411  Summon(2);
412  NextStep(0, false);
413  break;
414  case 10:
415  Summon(4);
417  NextStep(0, false);
418  break;
419  case 11:
421  NextStep(5000, true);
422  break;
423  case 12:
425  NextStep(5000, true);
426  break;
427  case 13:
429  CaveDestruction(true);
430  NextStep(8000, true);
431  break;
432  case 14:
434  NextStep(8500, true);
435  break;
436  case 15:
438  NextStep(2000, true);
439  break;
440  case 16:
442  SetInFace(false);
445  NextStep(2000, true);
446  break;
447  case 17:
448  SetEscortPaused(false);
450  Summon(5);
451  NextStep(0, false);
452  break;
453  case 18:
454  Summon(6);
455  NextStep(0, false);
456  break;
457  case 19:
458  SetInFace(false);
459  Summon(7);
461  NextStep(0, false);
462  break;
463  case 20:
465  NextStep(2000, true);
466  break;
467  case 21:
468  Summon(8);
469  NextStep(0, false);
470  break;
471  case 22:
472  CaveDestruction(false);
474  NextStep(3000, true);
475  break;
476  case 23:
477  Summon(9);
479  NextStep(0, false);
480  break;
481  }
482  } else uiTimer -= uiDiff;
483  }
484 
485  if (!UpdateVictim())
486  return;
487 
489  }
Definition: gnomeregan.cpp:37
static ObjectGuid const Empty
Definition: ObjectGuid.h:196
bool UpdateVictim()
Definition: CreatureAI.cpp:233
Definition: gnomeregan.cpp:39
Definition: gnomeregan.cpp:49
Definition: gnomeregan.cpp:53
Definition: gnomeregan.cpp:40
Definition: gnomeregan.cpp:38
void SetInFace(bool isRight)
Definition: gnomeregan.cpp:169
Definition: gnomeregan.cpp:44
Creature *const me
Definition: CreatureAI.h:71
void NextStep(uint32 uiTimerStep, bool bNextStep=true, uint8 uiPhaseStep=0)
Definition: gnomeregan.cpp:136
virtual ObjectGuid GetGuidData(uint32 type) const override
Definition: InstanceScript.cpp:93
Definition: gnomeregan.cpp:52
Definition: gnomeregan.h:46
Definition: gnomeregan.cpp:46
Definition: gnomeregan.cpp:35
Definition: GameObject.h:880
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
Definition: CreatureAI.cpp:42
void CaveDestruction(bool isRight)
Definition: gnomeregan.cpp:145
Definition: gnomeregan.cpp:48
void HandleGameObject(ObjectGuid guid, bool open, GameObject *go=nullptr)
Definition: InstanceScript.cpp:397
void Summon(uint8 uiCase)
Definition: gnomeregan.cpp:291
Definition: gnomeregan.cpp:45
Definition: gnomeregan.cpp:42
void SetEscortPaused(bool on)
Definition: ScriptedEscortAI.cpp:507
TC_GAME_API GameObject * GetGameObject(WorldObject const &u, ObjectGuid const &guid)
Definition: ObjectAccessor.cpp:143
void DoMeleeAttackIfReady()
Definition: UnitAI.cpp:49
Definition: gnomeregan.cpp:36
void HandleEmoteCommand(uint32 anim_id)
Definition: Unit.cpp:1444
InstanceScript * instance
Definition: gnomeregan.cpp:101
Definition: gnomeregan.h:45
Definition: gnomeregan.cpp:47
Definition: gnomeregan.cpp:50
Definition: gnomeregan.cpp:43
Definition: SharedDefines.h:2462

+ Here is the call graph for this function:

void npc_blastmaster_emi_shortfuse::npc_blastmaster_emi_shortfuseAI::WaypointReached ( uint32  waypointId)
inlineoverridevirtual

Implements npc_escortAI.

224  {
225  //just in case
226  if (GetPlayerForEscort())
227  if (me->getFaction() != GetPlayerForEscort()->getFaction())
228  me->setFaction(GetPlayerForEscort()->getFaction());
229 
230  switch (waypointId)
231  {
232  case 3:
233  SetEscortPaused(true);
234  NextStep(2000, false, 3);
235  break;
236  case 7:
237  SetEscortPaused(true);
238  NextStep(2000, false, 4);
239  break;
240  case 9:
241  NextStep(1000, false, 8);
242  break;
243  case 10:
244  NextStep(25000, false, 10);
245  break;
246  case 11:
247  SetEscortPaused(true);
248  SetInFace(true);
249  NextStep(1000, false, 11);
250  break;
251  case 12:
252  NextStep(25000, false, 18);
253  break;
254  case 13:
255  Summon(6);
256  NextStep(25000, false, 19);
257  break;
258  case 14:
259  SetInFace(false);
261  SetEscortPaused(true);
262  NextStep(5000, false, 20);
263  break;
264  }
265  }
uint32 getFaction() const
Definition: Unit.h:1466
Player * GetPlayerForEscort()
Definition: ScriptedEscortAI.h:109
void SetInFace(bool isRight)
Definition: gnomeregan.cpp:169
void setFaction(uint32 faction)
Definition: Unit.h:1467
Creature *const me
Definition: CreatureAI.h:71
void NextStep(uint32 uiTimerStep, bool bNextStep=true, uint8 uiPhaseStep=0)
Definition: gnomeregan.cpp:136
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
Definition: CreatureAI.cpp:42
void Summon(uint8 uiCase)
Definition: gnomeregan.cpp:291
Definition: gnomeregan.cpp:51
void SetEscortPaused(bool on)
Definition: ScriptedEscortAI.cpp:507

+ Here is the call graph for this function:

Member Data Documentation

GuidList npc_blastmaster_emi_shortfuse::npc_blastmaster_emi_shortfuseAI::GoSummonList
InstanceScript* npc_blastmaster_emi_shortfuse::npc_blastmaster_emi_shortfuseAI::instance
GuidList npc_blastmaster_emi_shortfuse::npc_blastmaster_emi_shortfuseAI::SummonList
uint8 npc_blastmaster_emi_shortfuse::npc_blastmaster_emi_shortfuseAI::uiPhase
uint32 npc_blastmaster_emi_shortfuse::npc_blastmaster_emi_shortfuseAI::uiTimer

The documentation for this struct was generated from the following file: