26#include "G3DPosition.hpp"
120 std::list<Creature*> bigEarlList;
123 for (
Creature* bigEarl : bigEarlList)
301 alex->AI()->Talk(text);
347 trent->SetAIAnimKitId(0);
353 dmitri->SetAIAnimKitId(0);
359 jess->SetAIAnimKitId(0);
365 daniel->SetAIAnimKitId(0);
371 matthew->SetAIAnimKitId(0);
377 alex->SetAIAnimKitId(0);
386 for (
ObjectGuid const& workerGUID : allWorkers)
393 for (
ObjectGuid const workerGUID : allWorkers)
442 alex->DespawnOrUnsummon();
444 matthew->DespawnOrUnsummon();
446 trent->DespawnOrUnsummon();
448 dmitri->DespawnOrUnsummon();
450 jess->DespawnOrUnsummon();
452 daniel->DespawnOrUnsummon();
454 oslow->DespawnOrUnsummon();
631 if (spawnAura !=
nullptr)
675 target->DespawnOrUnsummon();
678 std::list<TempSummon*> minionList;
719 { 0, -9221.39f, -2198.45f, 66.34846f },
720 { 1, -9221.39f, -2198.45f, 66.34846f },
721 { 2, -9226.39f, -2196.45f, 66.34846f },
722 { 3, -9231.64f, -2196.45f, 65.34846f },
723 { 4, -9231.39f, -2205.45f, 66.34846f },
724 { 5, -9231.64f, -2210.45f, 66.34846f },
725 { 6, -9244.14f, -2211.20f, 66.34846f },
726 { 7, -9255.31f, -2211.62f, 63.93340f }
std::chrono::seconds Seconds
Seconds shorthand typedef.
uint32 urand(uint32 min, uint32 max)
bool roll_chance(T chance)
#define RegisterCreatureAI(ai_name)
#define RegisterSpellScript(spell_script)
@ EMOTE_ONESHOT_BATTLE_ROAR
@ SPELL_EFFECT_SCRIPT_EFFECT
@ SPELL_FAILED_BAD_IMPLICIT_TARGETS
@ SPELL_FAILED_OUT_OF_RANGE
#define SpellCheckCastFn(F)
#define SpellEffectFn(F, I, N)
ObjectGuid const & GetGUID() const
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
void SetReactState(ReactStates st)
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
void Repeat(Milliseconds time)
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
void MovePoint(uint32 id, Position const &pos, bool generatePath=true, Optional< float > finalOrient={}, Optional< float > speed={}, MovementWalkRunSpeedSelectionMode speedSelectionMode=MovementWalkRunSpeedSelectionMode::Default, Optional< float > closeEnoughDistance={}, Optional< MovementFadeObject > fadeObject={}, Scripting::v2::ActionResultSetter< MovementStopReason > &&scriptResult={})
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={})
HookList< CheckCastHandler > OnCheckCast
Creature * GetHitCreature() const
Unit * GetHitUnit() const
HookList< EffectHandler > OnEffectHitTarget
SpellInfo const * GetSpellInfo() const
TaskContext & Repeat(TaskScheduler::duration_t duration)
TaskScheduler & Schedule(duration_t time, task_handler_t task)
TaskScheduler & Update()
Update the scheduler to the current time.
MotionMaster * GetMotionMaster()
void SetFacingToObject(WorldObject const *object, bool force=true)
Aura * GetAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
bool HealthBelowPctDamaged(float pct, uint32 damage) const
void GetAllMinionsByEntry(std::list< TempSummon * > &Minions, uint32 entry)
bool HasAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
void HandleEmoteCommand(Emote emoteId, Player *target=nullptr, Trinity::IteratorPair< int32 const * > spellVisualKitIds={}, int32 sequenceVariation=0)
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={ })
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
void HandleScriptEffect(SpellEffIndex) const
void HandleScriptEffect(SpellEffIndex) const
SpellCastResult CheckCast()
TC_GAME_API Player * GetPlayer(Map const *, ObjectGuid const &guid)
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
void RandomResize(C &container, std::size_t requestedSize)
constexpr float GetOrientation() const
void AttackStart(Unit *) override
== Triggered Actions Requested ==================
void DamageTaken(Unit *who, uint32 &damage, DamageEffectType, SpellInfo const *) override
npc_big_earlAI(Creature *creature)
void DamageTaken(Unit *who, uint32 &damage, DamageEffectType, SpellInfo const *) override
void UpdateAI(uint32 diff) override
npc_dumpy_and_keeshanAI(Creature *creature)
void UpdateAI(uint32 diff) override
npc_redridge_citizenAI(Creature *creature)
void UpdateAI(uint32 diff) override
void SpellHit(WorldObject *, SpellInfo const *spell) override
void DoAction(int32 const param) override
npc_redridge_huge_boulder(Creature *creature)
void MovementInform(uint32 movementType, uint32 pointId) override
void WaypointPathEnded(uint32, uint32 pathId) override
void UpdateAI(uint32 diff) override
npc_redridge_subdued_canyon_ettin(Creature *creature)
void SpellHit(WorldObject *caster, SpellInfo const *spell) override
void OnDespawn() override
void AddSC_redridge_mountains()
constexpr Position DanielRepositionPos
@ NPC_BRIDGE_WORKER_MATTHEW
@ NPC_BRIDGE_WORKER_TRENT
@ NPC_BRIDGE_WORKER_DMITRI
@ NPC_BRIDGE_WORKER_DANIEL
@ NPC_SUBDUED_CANYON_ETTIN
constexpr Position AlexRepositionPos
constexpr Position EttinNearBoulderPosition
constexpr Position TrentRepositionPos
@ TALK_MATTHEW_IM_PUSHING
WaypointPath const TownhallPath
@ EVENT_BRIDGE_WORKERS_COWER
@ EVENT_MATTHEW_PUSH_RESPONSE
constexpr Position JessRepositionPos
constexpr Position DmitriRepositionPos
@ SPELL_EJECT_PASSENGER_1
@ SPELL_CANYON_ETTIN_SPAWN_SPELL
@ SPELL_LIFT_BOULDER_RIDE
@ SPELL_LIFT_HUGE_BOULDER
@ SPELL_DESPAWN_KILL_CREDIT
@ SPELL_APPLY_QUEST_INVIS_ZONE_3
@ SPELL_APPLY_QUEST_INVIS_ZONE_4
@ SPELL_CANYON_ETTIN_DESPAWN
@ SPELL_APPLY_QUEST_INVIS_ZONE_19
constexpr Position MatthewRepositionPos