189 std::vector<Creature*> spawns;
212 if (spawn->IsAlive())
213 spawn->DespawnOrUnsummon();
337 if (
Unit* summoner = summon->GetSummonerUnit())
381 if (
Unit* summoner = summon->GetSummonerUnit())
399 creature->DespawnOrUnsummon();
488 const_cast<AuraEffect*
>(aurEff)->ResetTicks();
502 for (
uint8 i = 0; i < 3; ++i)
507 const_cast<AuraEffect*
>(aurEff)->ResetTicks();
525 for (
uint8 i = 0; i < 3; ++i)
530 const_cast<AuraEffect*
>(aurEff)->ResetTicks();
552 const_cast<AuraEffect*
>(aurEff)->ResetTicks();
593 if (medivh->IsAlive())
First const & RAND(First const &first, Second const &second, Rest const &... rest)
#define RegisterSpellScript(spell_script)
void GetCreatureListWithEntryInGrid(Container &container, WorldObject *source, uint32 entry, float maxSearchRange)
@ SPELL_EFFECT_SCRIPT_EFFECT
@ SPELL_AURA_PERIODIC_TRIGGER_SPELL
#define SpellEffectFn(F, I, N)
#define AuraEffectPeriodicFn(F, I, N)
@ UNIT_NPC_FLAG_QUESTGIVER
uint32 GetTickNumber() const
HookList< EffectPeriodicHandler > OnEffectPeriodic
WorldObject * GetOwner() const
void SetImmuneToPC(bool apply) override
void ScheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
EncounterState GetBossState(uint32 id) const
bool SpawnGroupSpawn(uint32 groupId, bool ignoreRespawn=false, bool force=false, std::vector< WorldObject * > *spawnedObjects=nullptr)
void SetFlag(uint16 index, uint32 newFlag)
HookList< EffectHandler > OnEffectHit
Unit * GetHitUnit() const
HookList< EffectHandler > OnEffectHitTarget
SpellCastResult DoCastSelf(uint32 spellId, CastSpellExtraArgs const &args={})
void RemoveNpcFlag(NPCFlags flags)
void SetEmoteState(Emote emote)
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint8 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void SetFacingTo(float ori, bool force=true, uint32 movementId=EVENT_FACE)
InstanceScript * GetInstanceScript() const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
GameObject * SummonGameObject(uint32 entry, Position const &pos, QuaternionData const &rot, Seconds respawnTime, GOSummonType summonType=GO_SUMMON_TIMED_OR_CORPSE_DESPAWN)
virtual uint32 GetData(uint32) const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
bool OnTrigger(Player *player, AreaTriggerEntry const *) override
bool Validate(SpellInfo const *) override
PrepareSpellScript(spell_black_morass_banish_dragon_helper)
void HandleScript(SpellEffIndex)
void HandleScript(SpellEffIndex)
PrepareSpellScript(spell_black_morass_close_time_rift_effect)
void HandleScript(SpellEffIndex)
PrepareSpellScript(spell_black_morass_close_time_rift_trigger)
bool Validate(SpellInfo const *) override
PrepareAuraScript(spell_black_morass_corrupt_medivh_aeonus)
void OnPeriodic(AuraEffect const *)
void OnPeriodic(AuraEffect const *aurEff)
PrepareAuraScript(spell_black_morass_corrupt_medivh)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
PrepareSpellScript(spell_black_morass_time_rift_channel_trigger)
PrepareAuraScript(spell_black_morass_time_rift_periodic)
InstanceScript * _instance
bool Validate(SpellInfo const *) override
void OnPeriodic(AuraEffect const *aurEff)
ScriptedAI(Creature *creature)
void JustAppeared() override
void JustDied(Unit *) override
void DoAction(int32 action) override
void UpdateAI(uint32 diff) override
void JustAppeared() override
@ SPAWN_GROUP_ENFORCERS_4
@ SPAWN_GROUP_ENFORCERS_1
@ SPAWN_GROUP_ENFORCERS_3
@ SPAWN_GROUP_ENFORCERS_2
void AddSC_the_black_morass()
@ SPELL_SUMMON_INFINITE_CHRONO_LORD
@ SPELL_TIME_RIFT_3_READY
@ SPELL_TIME_RIFT_1_READY
@ SPELL_SUMMON_RIFT_KEEPER
@ SPELL_SUMMON_INFINITE_CHRONOMANCER
@ SPELL_TIME_RIFT_4_READY
@ SPELL_SUMMON_RIFT_LORD_2
@ SPELL_TIME_RIFT_CHANNEL
@ SPELL_SUMMON_TIME_RIFT_PERIODIC_5
@ SPELL_SUMMON_INFINITE_EXECUTIONER
@ SPELL_TIME_RIFT_PERIODIC
@ SPELL_DRAGON_HELPER_EFFECT
@ SPELL_SUMMON_RIFT_KEEPER_2
@ SPELL_SUMMON_INFINITE_ASSASSIN
@ SPELL_SUMMON_TIME_RIFT_PERIODIC_75
@ SPELL_SUMMON_TIME_RIFT_PERIODIC_90
@ SPELL_SUMMON_INFINITE_VANQUISHER
@ SPELL_SUMMON_INFINITE_TIMEREAVER
@ SPELL_SUMMON_INFINITE_ASSASSIN_2
@ SPELL_TIME_RIFT_2_READY
@ SPELL_SUMMON_INFINITE_EXECUTIONER_2
@ SPELL_CLOSE_TIME_RIFT_EFFECT
@ SPELL_SUMMON_INFINITE_WHELP
@ SPELL_SUMMON_TIME_RIFT_PERIODIC_30
@ SPELL_SUMMON_INFINITE_CHRONOMANCER_2
@ SPELL_SUMMON_INFINITE_VANQUISHER_2
@ SPELL_SUMMON_TIME_RIFT_PERIODIC_120
@ SPELL_TIME_RIFT_READY_PRIMER
@ SPELL_SUMMON_TIME_RIFT_PERIODIC_45
@ SPELL_SUMMON_CHRONO_LORD_DEJA
@ NPC_INFINITE_EXECUTIONER
@ NPC_INFINITE_VANQUISHER_ALT
@ NPC_INFINITE_VANQUISHER
@ NPC_INFINITE_TIMEREAVER
@ NPC_INFINITE_CRONOMANCER
@ NPC_INFINITE_CHRONO_LORD
@ NPC_INFINITE_ASSASIN_ALT
@ NPC_INFINITE_CRONOMANCER_ALT
@ NPC_INFINITE_EXECUTIONER_ALT
#define RegisterBlackMorassCreatureAI(ai_name)