174 hitCreature->DespawnOrUnsummon();
212 static constexpr Position CircleCenterPos = { -422.13f, -258.28f, 233.8286f, 0.0f };
219 static constexpr Position RectTopRight = { -452.514f, -244.098f };
220 static constexpr Position RectBottomLeft = { -529.758f, -277.167f };
252 if (!player->IsGameMaster())
291 task.
Repeat(100ms, 300ms);
std::chrono::milliseconds Milliseconds
Milliseconds shorthand typedef.
float frand(float min, float max)
bool roll_chance(T chance)
#define RegisterAreaTriggerAI(ai_name)
#define RegisterSpellScript(spell_script)
#define RegisterConversationAI(ai_name)
@ SPELL_AURA_PERIODIC_DUMMY
@ TRIGGERED_FULL_MASK
Used when doing CastSpell with triggered == true.
@ TRIGGERED_IGNORE_CAST_IN_PROGRESS
Will not check if a current cast is in progress.
#define SpellEffectFn(F, I, N)
#define AuraEffectPeriodicFn(F, I, N)
#define SpellDestinationTargetSelectFn(F, I, N)
uint32 GetTickNumber() const
HookList< EffectPeriodicHandler > OnEffectPeriodic
Conversation *const conversation
Milliseconds const * GetLineStartTime(LocaleConstant locale, int32 lineId) const
Creature * GetActorCreature(uint32 actorIdx) const
void SetFloating(bool floating)
void Repeat(Milliseconds time)
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
Team GetTeamInInstance() const
Creature * GetCreature(uint32 type)
void MovePath(uint32 pathId, bool repeatable, Optional< Milliseconds > duration={}, Optional< float > speed={}, MovementWalkRunSpeedSelectionMode speedSelectionMode=MovementWalkRunSpeedSelectionMode::Default, Optional< std::pair< Milliseconds, Milliseconds > > waitTimeRangeAtPathEnd={}, Optional< float > wanderDistanceAtPathEnds={}, Optional< bool > followPathBackwardsFromEndToStart={}, Optional< bool > exactSplinePath={}, bool generatePath=true, Optional< MovementFadeObject > fadeObject={}, Scripting::v2::ActionResultSetter< MovementStopReason > &&scriptResult={})
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
Creature * GetHitCreature() const
HookList< DestinationTargetSelectHandler > OnDestinationTargetSelect
Unit * GetHitUnit() const
HookList< EffectHandler > OnEffectHitTarget
TaskContext & Repeat(TaskScheduler::duration_t duration)
TaskScheduler & Schedule(duration_t time, task_handler_t task)
TaskScheduler & Update()
Update the scheduler to the current time.
SpellCastResult DoCast(uint32 spellId)
MotionMaster * GetMotionMaster()
void SetUninteractible(bool apply)
bool HasUnitState(const uint32 f) const
bool HasAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
Position GetRandomPoint(Position const &srcPos, float distance, float minDistance=0.0f) const
InstanceScript * GetInstanceScript() const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
void UpdateGroundPositionZ(float x, float y, float &z) const
virtual uint32 GetData(uint32) const
virtual void SetData(uint32, uint32)
void OnUpdate(uint32 diff) override
conversation_waycrest_manor_waycrests_defeated(Conversation *conversation)
void HandleHitTarget(SpellEffIndex)
bool Validate(SpellInfo const *) override
void HandleHitTarget(SpellEffIndex)
bool Validate(SpellInfo const *) override
void SetDest(SpellDestination &dest)
void HandleHitTarget(SpellEffIndex)
bool Validate(SpellInfo const *) override
bool Validate(SpellInfo const *) override
void HandlePeriodic(AuraEffect const *aurEff)
Position GetRandomPositionInCircle()
Position GetRandomPositionInRectangle()
constexpr float GetPositionX() const
constexpr float GetPositionY() const
constexpr void GetPosition(float &x, float &y) const
constexpr float GetPositionZ() const
void RelocateOffset(Position const &offset)
at_waycrest_manor_organ_missiles(AreaTrigger *areatrigger)
void OnUpdate(uint32 diff) override
void OnCreate(Spell const *) override
void OnUnitEnter(Unit *unit) override
at_waycrest_manor_wildfire(AreaTrigger *areatrigger)
void OnUnitExit(Unit *unit, AreaTriggerExitReason) override
void UpdateAI(uint32 diff) override
void JustReachedHome() override
npc_matron_bryndle(Creature *creature)
void JustAppeared() override
void JustEngagedWith(Unit *) override
@ CONVERSATION_LINE_LUCILLE_WAYCREST
@ CONVERSATION_LINE_GORAK_TUL_HORDE
@ CONVO_ACTOR_IDX_GORAK_TUL
@ SPELL_SPLINTER_SPIKE_MISSILE
@ SPELL_COSMETIC_MISSILE_TRANSFORM
@ SPELL_WAYCRESTS_DEFEATED_HORDE
@ SPELL_WAYCRESTS_DEFEATED_ALLIANCE
@ SPELL_DEATH_REALM_PHASE
@ SPELL_GOLIATH_DRAIN_FLAVOR
@ SPELL_SPLINTER_SPIKE_SELECTOR
@ SPELL_DRAIN_GOLIATH_ESSENCE
@ SPELL_WILDFIRE_DAMAGE_NPC
@ SPELL_DRAIN_GOLIATH_ESSENCE_AREA
@ SPELL_GOLIATH_DRAIN_FLAVOR_PERIODIC
@ EVENT_GORAK_TUL_TRANSFORM
void AddSC_waycrest_manor()
#define RegisterWaycrestManorCreatureAI(ai_name)
@ DATA_SOULBOUND_GOLIATH_INTRO
@ ACTION_SOULBOUND_GOLIATH_INTRO