294 zul->SetScriptStringId(
"SerpentBossEvent");
339 std::vector<WorldObject*> spawnedCreatures;
std::chrono::seconds Seconds
Seconds shorthand typedef.
@ TEMPSUMMON_MANUAL_DESPAWN
#define RegisterGameObjectAI(ai_name)
#define RegisterAreaTriggerAI(ai_name)
#define RegisterSpellScript(spell_script)
#define RegisterConversationAI(ai_name)
@ SPELL_EFFECT_SCRIPT_EFFECT
@ AURA_EFFECT_HANDLE_REAL
@ AURA_REMOVE_BY_ENEMY_SPELL
@ SPELL_AURA_SCHOOL_ABSORB
#define SpellEffectFn(F, I, N)
#define AuraEffectRemoveFn(F, I, N, M)
AuraApplication const * GetTargetApplication() const
HookList< EffectApplyHandler > AfterEffectRemove
HookList< EffectApplyHandler > AfterEffectApply
ObjectGuid const & GetGUID() const
Conversation *const conversation
Milliseconds GetLineEndTime(LocaleConstant locale, int32 lineId) const
void AddActor(int32 actorId, uint32 actorIdx, ObjectGuid const &actorGuid)
static Conversation * CreateConversation(uint32 conversationEntry, Unit *creator, Position const &pos, ObjectGuid privateObjectOwner, SpellInfo const *spellInfo=nullptr, bool autoStart=true)
Creature * GetActorCreature(uint32 actorIdx) const
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
bool HasStringId(std::string_view id) const
void SetDisplayId(uint32 displayId, bool setNative=false) override
void DelayEvents(Milliseconds delay)
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
void UseDoorOrButton(uint32 time_to_restore=0, bool alternative=false, Unit *user=nullptr)
bool SpawnGroupSpawn(uint32 groupId, bool ignoreRespawn=false, bool force=false, std::vector< WorldObject * > *spawnedObjects=nullptr)
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
Unit * GetHitUnit() const
HookList< EffectHandler > OnEffectHitTarget
TaskScheduler & Schedule(duration_t time, task_handler_t task)
TaskScheduler & Update()
Update the scheduler to the current time.
SpellCastResult DoCastVictim(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCast(uint32 spellId)
bool HealthBelowPctDamaged(float pct, uint32 damage) const
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)
InstanceScript * GetInstanceScript() const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
TempSummon * SummonCreature(uint32 entry, Position const &pos, TempSummonType despawnType=TEMPSUMMON_MANUAL_DESPAWN, Milliseconds despawnTime=0s, uint32 vehId=0, uint32 spellId=0, ObjectGuid privateObjectOwner=ObjectGuid::Empty)
void OnCreate(Unit *) override
@ EVENT_ZUL_INTRO_DESPAWN
@ EVENT_ZUL_OPEN_INTRO_DOOR
conversation_kings_rest_intro(Conversation *conversation)
KingsRestIntroConversationData
void OnUpdate(uint32 diff) override
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
void OnApply(AuraEffect const *, AuraEffectHandleModes)
bool Validate(SpellInfo const *) override
void HandleHit(SpellEffIndex)
constexpr Position ShadowOfZulIntroSpawnPosition
@ SPELL_SHADOW_BOLT_VOLLEY
@ SAY_ZUL_PRE_BOSS_EVENT_SPAWN
@ SPELL_SUPPRESSION_SLAM_DAMAGE
@ SPELL_SUPPRESSION_SLAM_SELECTOR
@ SPELL_ZUL_SUMMON_VISUAL_CHANNEL
@ SPELL_RELEASED_INHIBITORS
@ CONV_ZUL_KINGS_REST_INTRO
@ SPELL_ZUL_SUMMON_VISUAL
@ SPELL_ZUL_TRASH_EVENT_STATE
@ SAY_ANIMATED_GUARDIAN_ENGAGE
@ SPELL_VISUAL_ZUL_OPEN_GOB
@ SPELL_ZUL_DESPAWN_COSMETIC_TRASH
@ SPELL_GUST_SLASH_DAMAGE
@ SPELL_MINION_OF_ZUL_FIXATE
ShadowBorneWitchDoctorEvent
@ EVENT_SHADOW_BOLT_VOLLEY
constexpr Position ShadowOfZulSerpentBossEventSpawnPosition
@ SPAWN_GROUP_PRE_FIRST_BOSS
#define RegisterKingsRestCreatureAI(ai_name)
@ DATA_KINGS_REST_INTRO_DOOR
@ DATA_KINGS_REST_LIQUID_POOL
constexpr void GetPosition(float &x, float &y) const
at_kings_rest_gust_slash(AreaTrigger *areatrigger)
void OnUnitEnter(Unit *unit) override
at_kings_rest_trigger_intro_event_with_zul(AreaTrigger *areatrigger)
void OnUnitEnter(Unit *unit) override
void UpdateAI(uint32 diff) override
go_kings_rest_serpentine_seal(GameObject *go)
bool OnGossipHello(Player *) override
int32 _suppressionSlamCasts
void UpdateAI(uint32 diff) override
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
void JustEngagedWith(Unit *) override
npc_kings_rest_animated_guardian(Creature *creature)
void JustEngagedWith(Unit *) override
npc_kings_rest_minion_of_zul(Creature *creature)
void JustAppeared() override
npc_kings_rest_shadow_borne_champion(Creature *creature)
void JustEngagedWith(Unit *) override
void UpdateAI(uint32 diff) override
npc_kings_rest_shadow_borne_warrior(Creature *creature)
void UpdateAI(uint32 diff) override
void JustEngagedWith(Unit *) override
void UpdateAI(uint32 diff) override
void JustEngagedWith(Unit *) override
npc_kings_rest_shadow_borne_witch_doctor(Creature *creature)
npc_kings_rest_shadow_of_zul(Creature *creature)
void TriggerSerpentBossEvent()
void UpdateAI(uint32 diff) override
void JustAppeared() override
npc_kings_rest_temple_basic(Creature *creature)
void JustAppeared() override