204 std::vector<Creature*> _worldTriggerList;
207 if (_worldTriggerList.empty())
212 _worldTriggerList.resize(21);
214 for (
uint8 i = 0; i < 21; i++)
216 Creature* wTrigger = _worldTriggerList[i];
236 std::vector<Creature*> _worldTriggerList;
239 if (_worldTriggerList.empty())
242 for (
Creature* trigger : _worldTriggerList)
243 trigger->m_Events.KillAllEvents(
true);
592 reliquary->AI()->JustSummoned(
me);
688 reliquary->AI()->EnterEvadeMode(why);
719 if (!damageInfo || !damageInfo->
GetDamage())
729 effect->ChangeAmount(effect->GetAmount() - 5);
745 aurEff1->ChangeAmount(aurEff1->GetAmount() + 5);
std::chrono::seconds Seconds
Seconds shorthand typedef.
std::chrono::minutes Minutes
Minutes shorthand typedef.
#define RegisterSpellScript(spell_script)
@ AURA_EFFECT_HANDLE_REAL
@ SPELL_AURA_PERIODIC_DAMAGE
@ SPELL_AURA_MOD_HEALING_PCT
@ SPELL_AURA_DAMAGE_IMMUNITY
@ SPELL_AURA_PERIODIC_TRIGGER_SPELL
#define AuraEffectProcFn(F, I, N)
#define AuraEffectUpdatePeriodicFn(F, I, N)
#define AuraEffectApplyFn(F, I, N, M)
#define AuraEffectRemoveFn(F, I, N, M)
@ UNIT_STAND_STATE_SUBMERGED
#define RegisterBlackTempleCreatureAI(ai_name)
@ DATA_ESSENCE_OF_SUFFERING
@ DATA_RELIQUARY_COMBAT_TRIGGER
@ DATA_RELIQUARY_OF_SOULS
@ NPC_RELIQUARY_WORLD_TRIGGER
@ ACTION_ESSENCE_OF_DESIRE_DEAD
@ RELIQUARY_DESPAWN_WAYPOINT
@ ACTION_ESSENCE_OF_SUFFERING_DEAD
void AddSC_boss_reliquary_of_souls()
@ SPELL_ENSLAVED_SOUL_PASSIVE
@ SPELL_SUMMON_ESSENCE_OF_DESIRE
@ SPELL_SUMMON_ESSENCE_OF_SUFFERING
@ SPELL_AURA_OF_DESIRE_DAMAGE
@ SPELL_SUMMON_ESSENCE_OF_ANGER
@ SPELL_AURA_OF_SUFFERING
@ PHASE_ESSENCE_OF_SUFFERING
@ PHASE_ESSENCE_OF_DESIRE
Position const DespawnPoint
@ EVENT_START_CHECK_TANKER
uint32 GetTickNumber() const
void SetAmount(int32 amount)
void PreventDefaultAction()
HookList< EffectApplyHandler > AfterEffectRemove
HookList< EffectApplyHandler > AfterEffectApply
HookList< EffectUpdatePeriodicHandler > OnEffectUpdatePeriodic
AuraEffect * GetEffect(uint8 effIndex) const
HookList< EffectProcHandler > OnEffectProc
AuraEffect * GetEffect(uint32 index) const
InstanceScript *const instance
void _DespawnAtEvade(Seconds delayToRespawn=30s, Creature *who=nullptr)
virtual void EnterEvadeMode(EvadeReason why=EvadeReason::Other)
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
bool IsInBoundary(Position const *who=nullptr) const
void SetBoundary(CreatureBoundary const *boundary, bool negativeBoundaries=false)
void SetCombatPulseDelay(uint32 delay)
bool IsEngaged() const override
void SetReactState(ReactStates st)
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
EnslavedSoulEvent(Creature *owner)
bool Execute(uint64, uint32) override
void Repeat(Milliseconds time)
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
bool IsInPhase(uint8 phase) const
void SetPhase(uint8 phase)
void AddEventAtOffset(BasicEvent *event, Milliseconds offset)
virtual bool SetBossState(uint32 id, EncounterState state)
Creature * GetCreature(uint32 type)
CreatureBoundary const * GetBossBoundary(uint32 id) const
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 GetGUID(Object const *o)
static Player * ToPlayer(Object *o)
bool IsGameMaster() const
DamageInfo * GetDamageInfo() const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
HookList< CastHandler > AfterCast
void Summon(Creature const *summon)
void DoAction(int32 info, Predicate &&predicate, uint16 max=0)
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={})
virtual bool CanAIAttack(Unit const *) const
SpellCastResult DoCastVictim(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCastAOE(uint32 spellId, CastSpellExtraArgs const &args={})
void SetStandState(UnitStandStateType state, uint32 animKitID=0)
void InterruptNonMeleeSpells(bool withDelayed, uint32 spellid=0, bool withInstant=true)
MotionMaster * GetMotionMaster()
bool HasUnitState(const uint32 f) const
void KillSelf(bool durabilityLoss=true, bool skipSettingDeathState=false)
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void GetCreatureListWithEntryInGrid(Container &creatureContainer, uint32 entry, float maxSearchRange=250.0f) const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
void setActive(bool isActiveObject)
void HandleEffectPeriodicUpdate(AuraEffect *aurEff)
void OnProcSpell(AuraEffect *aurEff, ProcEventInfo &eventInfo)
bool Validate(SpellInfo const *) override
void UpdateAmount(AuraEffect *)
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
bool Validate(SpellInfo const *) override
void OnApply(AuraEffect const *, AuraEffectHandleModes)
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
void RandomShuffle(Iterator begin, Iterator end)
Reorder the elements of the iterator range randomly.
void SetCombatMovement(bool allowMovement)
void DoPlaySoundToSet(WorldObject *source, uint32 soundId)
void UpdateAI(uint32 diff) override
boss_essence_of_anger(Creature *creature)
void JustEngagedWith(Unit *) override
void JustDied(Unit *) override
boss_essence_of_desire(Creature *creature)
void MovementInform(uint32 motionType, uint32 pointId) override
void KilledUnit(Unit *victim) override
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
void JustEngagedWith(Unit *) override
void UpdateAI(uint32 diff) override
void UpdateAI(uint32 diff) override
void JustEngagedWith(Unit *) override
boss_essence_of_suffering(Creature *creature)
void KilledUnit(Unit *victim) override
void MovementInform(uint32 motionType, uint32 pointId) override
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
boss_reliquary_of_souls(Creature *creature)
void UpdateAI(uint32 diff) override
void JustDied(Unit *) override
void JustSummoned(Creature *summon) override
void EnterEvadeMode(EvadeReason) override
void DoAction(int32 actionId) override
InstanceScript * _instance
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
npc_enslaved_soul(Creature *creature)
void DoAction(int32 actionId) override
void UpdateAI(uint32 diff) override
void DoAction(int32 actionId) override
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
InstanceScript * _instance
bool CanAIAttack(Unit const *who) const override
void UpdateAI(uint32) override
void MoveInLineOfSight(Unit *who) override
npc_reliquary_combat_trigger(Creature *creature)
void EnterEvadeMode(EvadeReason why) override