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

Public Member Functions

 dummy_dragonAI (Creature *creature)
 
void Initialize ()
 
void Reset () override
 
void EnterCombat (Unit *) override
 
void SetData (uint32 type, uint32 value) override
 
void MovementInform (uint32 type, uint32 pointId) override
 
void OpenPortal ()
 
void KilledUnit (Unit *who) override
 
void JustDied (Unit *) override
 
void UpdateAI (uint32 diff) override
 
void ExecuteEvent (uint32 eventId)
 
- Public Member Functions inherited from ScriptedAI
 ScriptedAI (Creature *creature)
 
virtual ~ScriptedAI ()
 
void AttackStartNoMove (Unit *target)
 
void DamageTaken (Unit *, uint32 &) override
 
void JustSummoned (Creature *) override
 
void SummonedCreatureDespawn (Creature *) override
 
void SpellHit (Unit *, SpellInfo const *) override
 
void SpellHitTarget (Unit *, SpellInfo const *) override
 
void OnPossess (bool)
 
void AttackStart (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 EnterEvadeMode (EvadeReason why=EVADE_REASON_OTHER)
 
virtual void IsSummonedBy (Unit *)
 
virtual void SummonedCreatureDies (Creature *, Unit *)
 
virtual void AttackedBy (Unit *)
 
virtual bool IsEscorted () const
 
virtual void JustRespawned ()
 
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 sGossipSelect (Player *, uint32, uint32)
 
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)
 

Protected Attributes

InstanceScriptinstance
 
EventMap events
 
uint32 waypointId
 
int32 portalRespawnTime
 
bool _canMoveFree
 
bool _canLoot
 
- Protected Attributes inherited from CreatureAI
Creature *const me
 
CreatureBoundary const_boundary
 
- Protected Attributes inherited from UnitAI
Unit *const me
 

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 ()
 
- Public Attributes inherited from ScriptedAI
bool IsFleeing
 
- Static Public Attributes inherited from UnitAI
static AISpellInfoTypeAISpellInfo
 
- 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)
 
virtual void MoveInLineOfSight (Unit *)
 
bool _EnterEvadeMode (EvadeReason why=EVADE_REASON_OTHER)
 

Constructor & Destructor Documentation

dummy_dragonAI::dummy_dragonAI ( Creature creature)
inline
162  : ScriptedAI(creature)
163  {
164  Initialize();
165  instance = creature->GetInstanceScript();
166  }
ScriptedAI(Creature *creature)
Definition: ScriptedCreature.cpp:100
void Initialize()
Definition: obsidian_sanctum.cpp:168
InstanceScript * GetInstanceScript()
Definition: Object.cpp:1540
InstanceScript * instance
Definition: obsidian_sanctum.cpp:401

+ Here is the call graph for this function:

Member Function Documentation

void dummy_dragonAI::EnterCombat ( Unit )
inlineoverridevirtual

Reimplemented from ScriptedAI.

Reimplemented in npc_vesperon::npc_vesperonAI, npc_shadron::npc_shadronAI, and npc_tenebron::npc_tenebronAI.

186  {
187  Talk(SAY_AGGRO);
188  DoZoneInCombat();
189 
192  }
void DoZoneInCombat(Creature *creature=NULL, float maxRangeToNearestTarget=50.0f)
Definition: CreatureAI.cpp:47
Definition: obsidian_sanctum.cpp:147
EventMap events
Definition: obsidian_sanctum.cpp:402
Definition: obsidian_sanctum.cpp:146
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
Definition: CreatureAI.cpp:42
void ScheduleEvent(uint32 eventId, Milliseconds const &time, uint32 group=0, uint8 phase=0)
Definition: EventMap.h:123
Definition: obsidian_sanctum.cpp:132

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void dummy_dragonAI::ExecuteEvent ( uint32  eventId)
inline
382  {
383  switch (eventId)
384  {
386  if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 0.0f, true))
387  DoCast(target, SPELL_SHADOW_FISSURE);
388  events.ScheduleEvent(eventId, urand(15000, 20000));
389  break;
390  case EVENT_SHADOW_BREATH:
391  Talk(SAY_BREATH);
393  events.ScheduleEvent(eventId, urand(20000, 25000));
394  break;
395  default:
396  break;
397  }
398  }
Definition: obsidian_sanctum.cpp:32
Definition: obsidian_sanctum.cpp:147
EventMap events
Definition: obsidian_sanctum.cpp:402
Definition: UnitAI.h:35
uint32 urand(uint32 min, uint32 max)
Definition: Random.cpp:45
Unit * SelectTarget(SelectAggroTarget targetType, uint32 position=0, float dist=0.0f, bool playerOnly=false, int32 aura=0)
Definition: UnitAI.cpp:91
Definition: obsidian_sanctum.cpp:33
Definition: obsidian_sanctum.cpp:146
void DoCast(uint32 spellId)
Definition: UnitAI.cpp:101
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
Definition: CreatureAI.cpp:42
void ScheduleEvent(uint32 eventId, Milliseconds const &time, uint32 group=0, uint8 phase=0)
Definition: EventMap.h:123
Definition: obsidian_sanctum.cpp:135
void DoCastVictim(uint32 spellId, bool triggered=false)
Definition: UnitAI.cpp:159
Definition: Unit.h:1305

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void dummy_dragonAI::Initialize ( void  )
inline
169  {
170  waypointId = 0;
171  portalRespawnTime = 30000;
172  _canMoveFree = false;
173  _canLoot = true;
174  }
bool _canMoveFree
Definition: obsidian_sanctum.cpp:405
uint32 waypointId
Definition: obsidian_sanctum.cpp:403
bool _canLoot
Definition: obsidian_sanctum.cpp:406
int32 portalRespawnTime
Definition: obsidian_sanctum.cpp:404

+ Here is the caller graph for this function:

void dummy_dragonAI::JustDied ( Unit )
inlineoverridevirtual

Reimplemented from ScriptedAI.

323  {
324  if (!_canLoot)
326 
327  uint32 spellId = 0;
328 
329  switch (me->GetEntry())
330  {
331  case NPC_TENEBRON:
332  spellId = SPELL_POWER_OF_TENEBRON;
335  break;
336  case NPC_SHADRON:
337  spellId = SPELL_POWER_OF_SHADRON;
340  if (Creature* acolyte = me->FindNearestCreature(NPC_ACOLYTE_OF_SHADRON, 100.0f))
341  acolyte->KillSelf();
342  break;
343  case NPC_VESPERON:
344  spellId = SPELL_POWER_OF_VESPERON;
347  if (Creature* acolyte = me->FindNearestCreature(NPC_ACOLYTE_OF_VESPERON, 100.0f))
348  acolyte->KillSelf();
349  break;
350  }
351 
352  Talk(SAY_DEATH);
353  me->RemoveAurasDueToSpell(spellId);
354 
356 
357  // not if solo mini-boss fight
359  return;
360 
361  // Twilight Revenge to main boss
363  if (sartharion->IsAlive())
364  {
365  sartharion->RemoveAurasDueToSpell(spellId);
366  DoCast(sartharion, SPELL_TWILIGHT_REVENGE, true);
367  }
368  }
Definition: obsidian_sanctum.h:39
TC_GAME_API Unit * GetUnit(WorldObject const &, ObjectGuid const &guid)
Definition: ObjectAccessor.cpp:163
Definition: obsidian_sanctum.cpp:52
Definition: inflate.h:49
Definition: obsidian_sanctum.h:31
arena_t NULL
Definition: jemalloc_internal.h:624
Definition: obsidian_sanctum.cpp:44
Definition: Creature.h:467
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
Definition: Object.cpp:2443
Definition: obsidian_sanctum.h:29
Definition: obsidian_sanctum.cpp:38
void SetLootRecipient(Unit *unit)
Definition: Creature.cpp:993
bool _canLoot
Definition: obsidian_sanctum.cpp:406
Creature *const me
Definition: CreatureAI.h:71
virtual ObjectGuid GetGuidData(uint32 type) const override
Definition: InstanceScript.cpp:93
Definition: obsidian_sanctum.h:30
Definition: InstanceScript.h:59
uint32_t uint32
Definition: Define.h:150
void DoCast(uint32 spellId)
Definition: UnitAI.cpp:101
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
Definition: CreatureAI.cpp:42
Definition: obsidian_sanctum.h:28
virtual bool SetBossState(uint32 id, EncounterState state)
Definition: InstanceScript.cpp:273
Definition: obsidian_sanctum.cpp:134
Definition: obsidian_sanctum.cpp:45
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
Definition: Unit.cpp:3586
Definition: obsidian_sanctum.h:40
Definition: obsidian_sanctum.cpp:37
InstanceScript * instance
Definition: obsidian_sanctum.cpp:401
Definition: obsidian_sanctum.cpp:56
uint32 GetEntry() const
Definition: Object.h:107
EncounterState GetBossState(uint32 id) const
Definition: InstanceScript.h:227
Definition: Unit.h:1305
Definition: obsidian_sanctum.h:41
void DoRemoveAurasDueToSpellOnPlayers(uint32 spell)
Definition: InstanceScript.cpp:540

+ Here is the call graph for this function:

void dummy_dragonAI::KilledUnit ( Unit who)
inlineoverridevirtual

Reimplemented from ScriptedAI.

317  {
318  if (who->GetTypeId() == TYPEID_PLAYER)
319  Talk(SAY_SLAY);
320  }
TypeID GetTypeId() const
Definition: Object.h:113
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
Definition: CreatureAI.cpp:42
Definition: ObjectGuid.h:33
Definition: obsidian_sanctum.cpp:133

+ Here is the call graph for this function:

void dummy_dragonAI::MovementInform ( uint32  type,
uint32  pointId 
)
inlineoverridevirtual

Reimplemented from CreatureAI.

201  {
202  if (!instance || type != POINT_MOTION_TYPE)
203  return;
204 
205  // debug_log("dummy_dragonAI: %s reached point %u", me->GetName(), uiPointId);
206 
207  // if healers messed up the raid and we was already initialized
209  {
210  EnterEvadeMode();
211  return;
212  }
213 
214  // this is end, if we reach this, don't do much
215  if (pointId == POINT_ID_LAND)
216  {
217  me->GetMotionMaster()->Clear();
219  if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 0, true))
220  {
221  me->AddThreat(target, 1.0f);
222  me->Attack(target, true);
223  me->GetMotionMaster()->MoveChase(target);
224  }
225 
226  _canMoveFree = false;
227  return;
228  }
229 
230  // increase
231  waypointId = pointId + 1;
232 
233  // if we have reached a point bigger or equal to count, it mean we must reset to point 0
234  if (waypointId >= MAX_WAYPOINT)
235  {
236  if (!_canMoveFree)
237  _canMoveFree = true;
238 
239  waypointId = 0;
240  }
241 
243  }
void AddThreat(Unit *victim, float fThreat, SpellSchoolMask schoolMask=SPELL_SCHOOL_MASK_NORMAL, SpellInfo const *threatSpell=NULL)
Definition: Unit.cpp:10691
bool Attack(Unit *victim, bool meleeAttack)
Definition: Unit.cpp:7222
bool _canMoveFree
Definition: obsidian_sanctum.cpp:405
void Clear(bool reset=true)
Definition: MotionMaster.h:138
void MoveChase(Unit *target, float dist=0.0f, float angle=0.0f)
Definition: MotionMaster.cpp:241
#define MAX_WAYPOINT
Definition: obsidian_sanctum.cpp:93
uint32 waypointId
Definition: obsidian_sanctum.cpp:403
virtual void EnterEvadeMode(EvadeReason why=EVADE_REASON_OTHER)
Definition: CreatureAI.cpp:168
Definition: obsidian_sanctum.cpp:145
MotionMaster * GetMotionMaster()
Definition: Unit.h:2101
Creature *const me
Definition: CreatureAI.h:71
EventMap events
Definition: obsidian_sanctum.cpp:402
Definition: UnitAI.h:35
Definition: InstanceScript.h:59
Unit * SelectTarget(SelectAggroTarget targetType, uint32 position=0, float dist=0.0f, bool playerOnly=false, int32 aura=0)
Definition: UnitAI.cpp:91
Definition: obsidian_sanctum.h:28
void ScheduleEvent(uint32 eventId, Milliseconds const &time, uint32 group=0, uint8 phase=0)
Definition: EventMap.h:123
void SetInCombatWithZone()
Definition: Creature.cpp:2299
Definition: obsidian_sanctum.cpp:85
InstanceScript * instance
Definition: obsidian_sanctum.cpp:401
EncounterState GetBossState(uint32 id) const
Definition: InstanceScript.h:227
Definition: Unit.h:1305
Definition: MotionMaster.h:46

+ Here is the call graph for this function:

void dummy_dragonAI::OpenPortal ( )
inline
247  {
248  // there are 4 portal spawn locations, each are expected to be spawned with negative spawntimesecs in database
249 
250  // using a grid search here seem to be more efficient than caching all four guids
251  // in instance script and calculate range to each.
253 
254  switch (me->GetEntry())
255  {
256  case NPC_TENEBRON:
257  {
259  {
260  for (uint32 i = 0; i < 6; ++i)
262  }
263  else
264  {
265  for (uint32 i = 0; i < 6; ++i)
267  }
268  break;
269  }
270  case NPC_SHADRON:
271  {
274  else
276 
277  break;
278  }
279  case NPC_VESPERON:
280  {
282  {
284  {
286  acolyte->InterruptNonMeleeSpells(true);
287  me->CastSpell(me, 32747, false);
288  }
289  }
290  else
291  {
293  {
295  acolyte->InterruptNonMeleeSpells(true);
296  me->CastSpell(me, 32747, false);
297  }
298  }
299 
300  break;
301  }
302  }
303 
306 
307  // By using SetRespawnTime() we will actually "spawn" the object with our defined time.
308  // Once time is up, portal will disappear again.
309  if (portal && !portal->isSpawned())
311 
312  // Unclear what are expected to happen if one drake has a portal open already
313  // Refresh respawnTime so time again are set to 30secs?
314  }
Definition: obsidian_sanctum.h:46
Definition: obsidian_sanctum.h:39
GameObject * FindNearestGameObject(uint32 entry, float range) const
Definition: Object.cpp:2452
TwilightEggs
Definition: obsidian_sanctum.cpp:784
Position const AcolyteofVesperon2
Definition: obsidian_sanctum.cpp:108
Definition: obsidian_sanctum.cpp:62
Definition: obsidian_sanctum.cpp:44
Position const AcolyteofVesperon
Definition: obsidian_sanctum.cpp:107
Definition: Creature.h:467
void SetRespawnTime(int32 respawn)
Definition: GameObject.h:945
Creature *const me
Definition: CreatureAI.h:71
Definition: InstanceScript.h:59
Definition: obsidian_sanctum.cpp:63
uint32_t uint32
Definition: Define.h:150
Position const AcolyteofShadron2
Definition: obsidian_sanctum.cpp:106
Definition: GameObject.h:880
Definition: obsidian_sanctum.cpp:139
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
Definition: CreatureAI.cpp:42
Definition: obsidian_sanctum.h:28
Position const TwilightEggsSarth[]
Definition: obsidian_sanctum.cpp:120
Definition: obsidian_sanctum.cpp:138
bool isSpawned() const
Definition: GameObject.h:951
Position const AcolyteofShadron
Definition: obsidian_sanctum.cpp:105
Definition: obsidian_sanctum.h:40
void InterruptNonMeleeSpells(bool withDelayed, uint32 spellid=0, bool withInstant=true)
Definition: Unit.cpp:2916
Definition: obsidian_sanctum.cpp:37
int32 portalRespawnTime
Definition: obsidian_sanctum.cpp:404
Definition: Object.h:59
InstanceScript * instance
Definition: obsidian_sanctum.cpp:401
uint32 GetEntry() const
Definition: Object.h:107
EncounterState GetBossState(uint32 id) const
Definition: InstanceScript.h:227
void CastSpell(SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=NULL, AuraEffect const *triggeredByAura=NULL, ObjectGuid originalCaster=ObjectGuid::Empty)
Definition: Unit.cpp:869
Definition: obsidian_sanctum.h:41
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 dummy_dragonAI::Reset ( )
inlineoverridevirtual

Reimplemented from ScriptedAI.

Reimplemented in npc_vesperon::npc_vesperonAI, npc_shadron::npc_shadronAI, and npc_tenebron::npc_tenebronAI.

177  {
180 
181  events.Reset();
182  Initialize();
183  }
Definition: Unit.h:674
void Initialize()
Definition: obsidian_sanctum.cpp:168
void Reset()
Definition: EventMap.cpp:20
Creature *const me
Definition: CreatureAI.h:71
EventMap events
Definition: obsidian_sanctum.cpp:402
void RemoveFlag(uint16 index, uint32 oldFlag)
Definition: Object.cpp:1214
Definition: UpdateFields.h:109
bool HasFlag(uint16 index, uint32 flag) const
Definition: Object.cpp:1239

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void dummy_dragonAI::SetData ( uint32  type,
uint32  value 
)
inlineoverridevirtual

Reimplemented from UnitAI.

195  {
196  if (type == DATA_CAN_LOOT)
197  _canLoot = value != 0;
198  }
Definition: obsidian_sanctum.cpp:90
bool _canLoot
Definition: obsidian_sanctum.cpp:406
const FieldDescriptor value
Definition: descriptor.h:1522
void dummy_dragonAI::UpdateAI ( uint32  diff)
inlineoverridevirtual

Reimplemented from ScriptedAI.

Reimplemented in npc_vesperon::npc_vesperonAI, npc_shadron::npc_shadronAI, and npc_tenebron::npc_tenebronAI.

371  {
372  events.Update(diff);
373 
375  {
378  }
379  }
bool _canMoveFree
Definition: obsidian_sanctum.cpp:405
#define MAX_WAYPOINT
Definition: obsidian_sanctum.cpp:93
uint32 waypointId
Definition: obsidian_sanctum.cpp:403
Definition: obsidian_sanctum.cpp:145
MotionMaster * GetMotionMaster()
Definition: Unit.h:2101
Creature *const me
Definition: CreatureAI.h:71
void MovePoint(uint32 id, Position const &pos, bool generatePath=true)
Definition: MotionMaster.h:172
EventMap events
Definition: obsidian_sanctum.cpp:402
void Update(uint32 time)
Definition: EventMap.h:54
uint32 ExecuteEvent()
Definition: EventMap.cpp:46
Position const dragonCommon[MAX_WAYPOINT]
Definition: obsidian_sanctum.cpp:95

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

bool dummy_dragonAI::_canLoot
protected
bool dummy_dragonAI::_canMoveFree
protected
EventMap dummy_dragonAI::events
protected
InstanceScript* dummy_dragonAI::instance
protected
int32 dummy_dragonAI::portalRespawnTime
protected
uint32 dummy_dragonAI::waypointId
protected

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