174 return (
phase >= 3) ? 1 : 0;
215 if (Brundir->IsAlive())
219 if (Molgeim->IsAlive())
277 return GetUlduarAI<boss_steelbreakerAI>(creature);
320 return (
phase >= 3) ? 1 : 0;
361 if (Brundir->IsAlive())
365 if (Steelbreaker->IsAlive())
402 if (Steelbreaker->IsAlive())
403 target = Steelbreaker;
407 if (Brundir->IsAlive())
443 return GetUlduarAI<boss_runemaster_molgeimAI>(creature);
479 return (
phase >= 3) ? 1 : 0;
538 if (Molgeim->IsAlive())
542 if (Steelbreaker->IsAlive())
625 float x = float(
irand(-25, 25));
626 float y = float(
irand(-25, 25));
659 return GetUlduarAI<boss_stormcaller_brundirAI>(creature);
731 .SetTriggeringAura(aurEff)
738 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
@ TRIGGERED_FULL_MASK
Used when doing CastSpell with triggered == true.
#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 Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
void SetTappedBy(Unit const *unit, bool withGroup=true)
void DelayEvents(Milliseconds delay)
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
void CancelEvent(uint32 eventId)
void SetPhase(uint8 phase)
void RescheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
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={}, Optional< float > speed={}, MovementWalkRunSpeedSelectionMode speedSelectionMode=MovementWalkRunSpeedSelectionMode::Default, Optional< float > closeEnoughDistance={})
static ObjectGuid const Empty
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
HookList< EffectHandler > OnEffectHitTarget
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)
void ApplySpellImmune(uint32 spellId, SpellImmunity op, uint32 type, bool apply)
bool IsWithinMeleeRange(Unit const *obj) const
MotionMaster * GetMotionMaster()
bool SetHover(bool enable, bool updateAnimTier=true)
Aura * AddAura(uint32 spellId, Unit *target)
bool HasUnitState(const uint32 f) const
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
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()
void HandleInstaKill(SpellEffIndex)
spell_assembly_meltdown()
SpellScript * GetSpellScript() const override
bool Validate(SpellInfo const *) override
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
void HandlePeriodic(AuraEffect const *aurEff)
spell_assembly_rune_of_summoning()
AuraScript * GetAuraScript() const override
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
AuraScript * GetAuraScript() const override
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
float GetExactDist2d(const float x, const float y) const
constexpr void GetPosition(float &x, float &y) const
constexpr float GetPositionZ() 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