175 return (
phase >= 3) ? 1 : 0;
216 if (Brundir->IsAlive())
220 if (Molgeim->IsAlive())
280 return GetUlduarAI<boss_steelbreakerAI>(creature);
323 return (
phase >= 3) ? 1 : 0;
364 if (Brundir->IsAlive())
368 if (Steelbreaker->IsAlive())
405 if (Steelbreaker->IsAlive())
406 target = Steelbreaker;
410 if (Brundir->IsAlive())
448 return GetUlduarAI<boss_runemaster_molgeimAI>(creature);
484 return (
phase >= 3) ? 1 : 0;
543 if (Molgeim->IsAlive())
547 if (Steelbreaker->IsAlive())
630 float x = float(
irand(-25, 25));
631 float y = float(
irand(-25, 25));
666 return GetUlduarAI<boss_stormcaller_brundirAI>(creature);
749 summ->DespawnOrUnsummon(1ms);
int32 irand(int32 min, int32 max)
uint32 urand(uint32 min, uint32 max)
@ AURA_EFFECT_HANDLE_REAL
@ SPELL_AURA_SCHOOL_ABSORB
@ SPELL_AURA_PERIODIC_DUMMY
#define SpellEffectFn(F, I, N)
#define AuraEffectPeriodicFn(F, I, N)
#define AuraEffectRemoveFn(F, I, N, M)
@ SPELL_ELECTRICAL_CHARGE
@ SPELL_SUMMON_RUNE_OF_POWER
@ SPELL_RUNE_OF_SUMMONING_SUMMON
@ SPELL_SHIELD_OF_RUNES_BUFF
@ SPELL_LIGHTNING_TENDRILS_VISUAL
@ SPELL_STATIC_DISRUPTION
@ SPELL_OVERWHELMING_POWER
@ SPELL_LIGHTNING_TENDRILS
@ SPELL_RUNE_OF_SUMMONING
@ EVENT_RUNE_OF_SUMMONING
@ EVENT_LIGHTNING_TENDRILS
@ EVENT_STATIC_DISRUPTION
@ EVENT_OVERWHELMING_POWER
void AddSC_boss_assembly_of_iron()
@ SAY_STEELBREAKER_ENCOUNTER_DEFEATED
@ SAY_BRUNDIR_ENCOUNTER_DEFEATED
@ SAY_MOLGEIM_ENCOUNTER_DEFEATED
@ SAY_STEELBREAKER_BERSERK
void PreventDefaultAction()
AuraApplication const * GetTargetApplication() const
HookList< EffectApplyHandler > AfterEffectRemove
HookList< EffectPeriodicHandler > OnEffectPeriodic
HookList< EffectApplyHandler > OnEffectRemove
InstanceScript *const instance
void JustEngagedWith(Unit *who) override
void SetLootRecipient(Unit *unit, bool withGroup=true)
void DelayEvents(Milliseconds delay)
void RescheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
void CancelEvent(EventId eventId)
void SetPhase(PhaseIndex phase)
void ScheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
virtual ObjectGuid GetGuidData(uint32 type) const override
EncounterState GetBossState(uint32 id) const
void MovePoint(uint32 id, Position const &pos, bool generatePath=true, Optional< float > finalOrient={})
static ObjectGuid const Empty
HookList< EffectHandler > OnEffectHitTarget
ObjectGuid GetSummonerGUID() const
void DoMeleeAttackIfReady()
virtual uint32 GetData(uint32) const
SpellCastResult DoCastVictim(uint32 spellId, CastSpellExtraArgs const &args={})
Unit * SelectTarget(SelectTargetMethod targetType, uint32 offset=0, float dist=0.0f, bool playerOnly=false, bool withTank=true, int32 aura=0)
SpellCastResult DoCastAOE(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCast(uint32 spellId)
bool IsWithinMeleeRange(Unit const *obj) const
MotionMaster * GetMotionMaster()
bool SetHover(bool enable, bool updateAnimTier=true)
Aura * AddAura(uint32 spellId, Unit *target)
TempSummon * ToTempSummon()
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint8 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
bool HasUnitState(const uint32 f) const
void ApplySpellImmune(uint32 spellId, uint32 op, uint32 type, bool apply)
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
achievement_assembly_i_choose_you()
bool OnCheck(Player *, Unit *target) override
boss_runemaster_molgeim()
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
boss_stormcaller_brundir()
PrepareSpellScript(spell_assembly_meltdown_SpellScript)
void HandleInstaKill(SpellEffIndex)
spell_assembly_meltdown()
SpellScript * GetSpellScript() const override
bool Validate(SpellInfo const *) override
PrepareAuraScript(spell_assembly_rune_of_summoning_AuraScript)
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
void HandlePeriodic(AuraEffect const *aurEff)
spell_assembly_rune_of_summoning()
AuraScript * GetAuraScript() const override
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
PrepareAuraScript(spell_shield_of_runes_AuraScript)
AuraScript * GetAuraScript() const override
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
float GetExactDist2d(const float x, const float y) const
float GetPositionZ() const
void GetPosition(float &x, float &y) const
T const & RAID_MODE(T const &normal10, T const &normal25) const
void ResetThreatList(Unit *who=nullptr)
void DoStartMovement(Unit *target, float distance=0.0f, float angle=0.0f)
uint32 GetData(uint32 type) const override
void KilledUnit(Unit *who) override
void DoAction(int32 action) override
boss_runemaster_molgeimAI(Creature *creature)
void UpdateAI(uint32 diff) override
void JustDied(Unit *) override
void JustEngagedWith(Unit *who) override
void JustDied(Unit *) override
void JustEngagedWith(Unit *who) override
void DoAction(int32 action) override
void KilledUnit(Unit *who) override
uint32 GetData(uint32 type) const override
boss_steelbreakerAI(Creature *creature)
void UpdateAI(uint32 diff) override
void UpdateAI(uint32 diff) override
void DoAction(int32 action) override
void JustDied(Unit *) override
void JustEngagedWith(Unit *who) override
boss_stormcaller_brundirAI(Creature *creature)
void KilledUnit(Unit *who) override
uint32 GetData(uint32 type) const override