91#define CONSTRUCT_SPAWN_POINTS 20
95 {630.366f, 216.772f, 360.891f, 3.001970f},
96 {630.594f, 231.846f, 360.891f, 3.124140f},
97 {630.435f, 337.246f, 360.886f, 3.211410f},
98 {630.493f, 313.349f, 360.886f, 3.054330f},
99 {630.444f, 321.406f, 360.886f, 3.124140f},
100 {630.366f, 247.307f, 360.888f, 3.211410f},
101 {630.698f, 305.311f, 360.886f, 3.001970f},
102 {630.500f, 224.559f, 360.891f, 3.054330f},
103 {630.668f, 239.840f, 360.890f, 3.159050f},
104 {630.384f, 329.585f, 360.886f, 3.159050f},
105 {543.220f, 313.451f, 360.886f, 0.104720f},
106 {543.356f, 329.408f, 360.886f, 6.248280f},
107 {543.076f, 247.458f, 360.888f, 6.213370f},
108 {543.117f, 232.082f, 360.891f, 0.069813f},
109 {543.161f, 305.956f, 360.886f, 0.157080f},
110 {543.277f, 321.482f, 360.886f, 0.052360f},
111 {543.316f, 337.468f, 360.886f, 6.195920f},
112 {543.280f, 239.674f, 360.890f, 6.265730f},
113 {543.265f, 217.147f, 360.891f, 0.174533f},
114 {543.256f, 224.831f, 360.891f, 0.122173f},
140 _vehicle->RemoveAllPassengers();
240 slagPotTarget->EnterVehicle(
me, 0);
249 slagPotTarget->EnterVehicle(
me, 1);
257 slagPotTarget->ExitVehicle();
258 slagPotTarget =
nullptr;
297 return GetUlduarAI<boss_ignis_AI>(creature);
344 if (aur->GetStackAmount() >= 10)
368 return GetUlduarAI<npc_iron_constructAI>(creature);
442 return GetUlduarAI<npc_scorch_groundAI>(creature);
494 if (
UnitAI* ai = target ? target->
GetAI() :
nullptr)
@ TEMPSUMMON_TIMED_DESPAWN
@ TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT
uint32 urand(uint32 min, uint32 max)
@ AURA_EFFECT_HANDLE_REAL
@ SPELL_AURA_PERIODIC_DUMMY
#define AuraEffectPeriodicFn(F, I, N)
#define AuraEffectRemoveFn(F, I, N, M)
@ UNIT_FLAG_NON_ATTACKABLE
Position const ConstructSpawnPosition[CONSTRUCT_SPAWN_POINTS]
@ SPELL_ACTIVATE_CONSTRUCT
#define CONSTRUCT_SPAWN_POINTS
@ ACHIEVEMENT_IGNIS_START_EVENT
HookList< EffectApplyHandler > AfterEffectRemove
HookList< EffectPeriodicHandler > OnEffectPeriodic
InstanceScript *const instance
void JustEngagedWith(Unit *who) override
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
void AttackStart(Unit *victim) override
== Triggered Actions Requested ==================
Creature * DoSummon(uint32 entry, Position const &pos, Milliseconds despawnTime=30s, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN)
void SetImmuneToPC(bool apply) override
void SetReactState(ReactStates st)
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
void SetDisplayId(uint32 displayId, bool setNative=false) override
void DelayEvents(Milliseconds delay)
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
void CancelEvent(uint32 eventId)
Creature * GetCreature(uint32 type)
void TriggerGameEvent(uint32 gameEventId, WorldObject *source=nullptr, WorldObject *target=nullptr) override
static ObjectGuid GetGUID(Object const *o)
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
void Summon(Creature const *summon)
Unit * SelectTarget(SelectTargetMethod targetType, uint32 offset=0, float dist=0.0f, bool playerOnly=false, bool withTank=true, int32 aura=0)
SpellCastResult DoCast(uint32 spellId)
void RemoveAura(AuraApplicationMap::iterator &i, AuraRemoveMode mode=AURA_REMOVE_BY_DEFAULT)
void SetControlled(bool apply, UnitState state)
void SetFaction(uint32 faction) override
Aura * AddAura(uint32 spellId, Unit *target)
void SetUninteractible(bool apply)
Aura * GetAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
void RemoveAuraFromStack(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT, uint16 num=1)
bool HasUnitState(const uint32 f) const
bool HasAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
void SetUnitFlag(UnitFlags flags)
Vehicle * GetVehicleKit() const
void RemoveUnitFlag(UnitFlags flags)
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
TempSummon * SummonCreature(uint32 entry, Position const &pos, TempSummonType despawnType=TEMPSUMMON_MANUAL_DESPAWN, Milliseconds despawnTime=0s, uint32 vehId=0, uint32 spellId=0, ObjectGuid privateObjectOwner=ObjectGuid::Empty)
bool OnCheck(Player *, Unit *target) override
achievement_ignis_shattered()
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
void HandleEffectPeriodic(AuraEffect const *)
bool Validate(SpellInfo const *) override
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
AuraScript * GetAuraScript() const override
TC_GAME_API Unit * GetUnit(WorldObject const &, ObjectGuid const &guid)
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
T const & RAID_MODE(T const &normal10, T const &normal25) const
void KilledUnit(Unit *who) override
void JustEngagedWith(Unit *who) override
void JustDied(Unit *) override
time_t _firstConstructKill
void UpdateAI(uint32 diff) override
void JustSummoned(Creature *summon) override
uint32 GetData(uint32 type) const override
boss_ignis_AI(Creature *creature)
void DoAction(int32 action) override
void UpdateAI(uint32) override
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
InstanceScript * _instance
npc_iron_constructAI(Creature *creature)
npc_scorch_groundAI(Creature *creature)
void UpdateAI(uint32 uiDiff) override
ObjectGuid _constructGUID
void MoveInLineOfSight(Unit *who) override