356 if (data->spawnGroupData && data->spawnGroupData->groupId ==
SPAWN_GROUP_MOJO)
374 mojo->GetMotionMaster()->MovePoint(
POINT_COLOSSUS, colossus->GetHomePosition());
#define RegisterSpellScript(spell_script)
@ SPELL_EFFECT_CHARGE_DEST
#define SpellEffectFn(F, I, N)
@ ACTION_UNFREEZE_COLOSSUS
void AddSC_boss_drakkari_colossus()
@ SPELL_ELEMENTAL_SPAWN_EFFECT
DrakkariColossusSpawnGroups
@ COLOSSUS_PHASE_FIRST_ELEMENTAL_SUMMON
@ COLOSSUS_PHASE_SECOND_ELEMENTAL_SUMMON
InstanceScript *const instance
void _JustEngagedWith(Unit *who)
void JustSummoned(Creature *summon) override
void _DespawnAtEvade(Seconds delayToRespawn=30s, Creature *who=nullptr)
void DoZoneInCombat(Creature *creature=nullptr)
void SetImmuneToPC(bool apply) override
bool HasReactState(ReactStates state) const
void DoNotReacquireSpellFocusTarget()
bool IsEngaged() const override
void SetReactState(ReactStates st)
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
ObjectGuid::LowType GetSpawnId() const
ReactStates GetReactState() const
bool IsImmuneToPC() const
void LowerPlayerDamageReq(uint32 unDamage)
bool HasEventScheduled(EventId eventId) const
PhaseMask GetPhaseMask() const
bool IsInPhase(PhaseIndex phase) const
void RescheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
void SetPhase(PhaseIndex phase)
void ScheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
Creature * GetCreature(uint32 type)
bool SpawnGroupSpawn(uint32 groupId, bool ignoreRespawn=false, bool force=false, std::vector< WorldObject * > *spawnedObjects=nullptr)
Creature * GetCreatureBySpawnId(ObjectGuid::LowType spawnId) const
static Creature * ToCreature(Object *o)
HookList< EffectHandler > OnEffectLaunch
TaskContext & Repeat(std::chrono::duration< _Rep, _Period > const &duration)
TaskScheduler & CancelAll()
TaskScheduler & Schedule(std::chrono::duration< _Rep, _Period > const &time, task_handler_t const &task)
TaskScheduler & Update(success_t const &callback=EmptyCallback)
void DoMeleeAttackIfReady()
SpellCastResult DoCastSelf(uint32 spellId, CastSpellExtraArgs const &args={})
virtual void InitializeAI()
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 RemoveAura(AuraApplicationMap::iterator &i, AuraRemoveMode mode=AURA_REMOVE_BY_DEFAULT)
MotionMaster * GetMotionMaster()
uint32 GetMaxHealth() const
Aura * AddAura(uint32 spellId, Unit *target)
void SetHealth(uint32 val)
bool HasUnitState(const uint32 f) const
bool HealthBelowPctDamaged(int32 pct, uint32 damage) const
static void Kill(Unit *attacker, Unit *victim, bool durabilityLoss=true)
InstanceScript * GetInstanceScript() const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
void HandleVisual(SpellEffIndex)
PrepareSpellScript(spell_drakkari_colossus_surge)
bool Validate(SpellInfo const *) override
#define RegisterGundrakCreatureAI(ai_name)
void AttackStart(Unit *) override
void SetAggressiveStateAfter(Milliseconds timer, Creature *who=nullptr, bool startCombat=true, Creature *summoner=nullptr, StartCombatArgs const &combatArgs={ })
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
boss_drakkari_colossus(Creature *creature)
uint32 GetData(uint32 data) const override
void JustSummoned(Creature *summon) override
void EnterEvadeMode(EvadeReason) override
void DoAction(int32 action) override
void JustEngagedWith(Unit *who) override
void UpdateAI(uint32 diff) override
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
void MovementInform(uint32 type, uint32 id) override
InstanceScript * instance
void JustEngagedWith(Unit *) override
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 InitializeAI() override
void JustEngagedWith(Unit *) override
npc_living_mojo(Creature *creature)
void MovementInform(uint32 type, uint32 id) override
InstanceScript * _instance
void UpdateAI(uint32 diff) override