52#define SPELL_MORTAL_STRIKES DUNGEON_MODE<uint32>(SPELL_MORTAL_STRIKES_NORMAL, SPELL_MORTAL_STRIKES_HEROIC)
379 std::list<Creature*> mojosList;
381 if (!mojosList.empty())
383 for (std::list<Creature*>::const_iterator itr = mojosList.begin(); itr != mojosList.end(); ++itr)
419 float distance = homePosition.
GetExactDist(&colossus->GetHomePosition());
421 if (distance < 12.0f)
void AddSC_boss_drakkari_colossus()
@ SPELL_ELEMENTAL_SPAWN_EFFECT
@ SPELL_MORTAL_STRIKES_NORMAL
@ SPELL_MORTAL_STRIKES_HEROIC
@ ACTION_SUMMON_ELEMENTAL
@ ACTION_UNFREEZE_COLOSSUS
#define SPELL_MORTAL_STRIKES
@ COLOSSUS_PHASE_FIRST_ELEMENTAL_SUMMON
@ COLOSSUS_PHASE_SECOND_ELEMENTAL_SUMMON
@ ACTION_RETURN_TO_COLOSSUS
void JustEngagedWith(Unit *who) override
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
void SetImmuneToPC(bool apply) override
void GetHomePosition(float &x, float &y, float &z, float &ori) const
void SetReactState(ReactStates st)
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
ReactStates GetReactState() const
bool IsImmuneToPC() const
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
Creature * GetCreature(uint32 type)
MovementGeneratorType GetCurrentMovementGeneratorType() const
static Creature * ToCreature(Object *o)
TaskContext & Repeat(std::chrono::duration< Rep, Period > duration)
TaskScheduler & CancelAll()
TaskScheduler & Schedule(std::chrono::duration< Rep, Period > time, task_handler_t task)
TaskScheduler & Update(success_t const &callback=nullptr)
SpellCastResult DoCastSelf(uint32 spellId, CastSpellExtraArgs const &args={})
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 DoCast(uint32 spellId)
void SetHealth(uint64 val)
void RemoveAura(AuraApplicationMap::iterator &i, AuraRemoveMode mode=AURA_REMOVE_BY_DEFAULT)
MotionMaster * GetMotionMaster()
Aura * AddAura(uint32 spellId, Unit *target)
uint64 GetMaxHealth() const
bool HasUnitState(const uint32 f) const
static void Kill(Unit *attacker, Unit *victim, bool durabilityLoss=true, bool skipSettingDeathState=false)
InstanceScript * GetInstanceScript() const
void GetCreatureListWithEntryInGrid(Container &creatureContainer, uint32 entry, float maxSearchRange=250.0f) const
#define RegisterGundrakCreatureAI(ai_name)
float GetExactDist(float x, float y, float z) const
void AttackStart(Unit *) override
== Triggered Actions Requested ==================
bool HealthBelowPct(uint32 pct) const
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
void JustDied(Unit *) override
boss_drakkari_colossus(Creature *creature)
uint32 GetData(uint32 data) const override
void SetData(uint32 type, uint32 data) override
void JustSummoned(Creature *summon) override
void DoAction(int32 action) override
void JustEngagedWith(Unit *who) override
void UpdateAI(uint32 diff) override
void DoAction(int32 action) override
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
InstanceScript * instance
boss_drakkari_elemental(Creature *creature)
void SpellHitTarget(WorldObject *target, SpellInfo const *spellInfo) override
void UpdateAI(uint32 diff) override
void JustDied(Unit *killer) override
void EnterEvadeMode(EvadeReason) override
void JustEngagedWith(Unit *) override
npc_living_mojo(Creature *creature)
void AttackStart(Unit *attacker) override
== Triggered Actions Requested ==================
void MovementInform(uint32 type, uint32 id) override
void MoveMojos(Creature *boss)
InstanceScript * instance
void UpdateAI(uint32 diff) override