50template<
class privateAI,
class publicAI>
54 return new privateAI(creature);
55 return new publicAI(creature);
58#define RegisterPrivatePublicCreatureAIPair(scriptName, privateAI, publicAI) new FactoryCreatureScript<CreatureAI, &GetPrivatePublicPairAISelector<privateAI, publicAI>>(scriptName);
129 if (!garrickLowerDeck || !garrickUpperDeck)
151 if (!grimaxeLowerDeck || !grimaxeUpperDeck)
440 conversation->
Start();
446 std::list<Creature*> sparPoints;
450 if (sparPoints.empty())
453 return sparPoints.front();
538 {
"q58208_garrick", { 35.5643f, -1.19837f, 12.1479f, 3.3272014f } },
539 {
"q58208_richter", { -1.84858f, -8.38776f, 5.10018f, 1.5184366f } },
540 {
"q58208_keela", { -15.3642f, 6.5793f, 5.5026f, 3.1415925f } },
541 {
"q58208_bjorn", { 12.8406f, -8.49553f, 4.98031f, 4.8520155f } },
542 {
"q58208_austin", { -4.48607f, 9.89729f, 5.07851f, 1.5184366f } },
543 {
"q58208_cole", { -13.3396f, 0.702157f, 5.57996f, 0.087266445f } },
547 {
"q59928_grimaxe", { 25.5237f, 0.283005f, 26.5455f, 3.3526998f } },
548 {
"q59928_throg", { -10.8399f, 11.9039f, 8.88028f, 6.2308254f } },
549 {
"q59928_mithdran", { -24.4763f, -4.48273f, 9.13471f, 0.62831855f } },
550 {
"q59928_lana", { -5.1971f, -15.0268f, 8.992f, 4.712389f } },
551 {
"q59928_bo", { -22.1559f, 5.58041f, 9.09176f, 6.143559f } },
552 {
"q59928_jinhake", { -31.9464f, 7.5772f, 10.6408f, 6.0737457f } },
598 petSpawnPos = { -1.4492f, 8.06887f, 5.10348f, 2.6005409f };
603 petSpawnPos = { -22.8374f, -3.08287f, 9.12613f, 3.857178f };
640 if (!transport || !creature)
1020 if (triggerName ==
"Begin Knockdown Aura")
1054template<u
int32 StaticCaptainNPCId>
1217 if (!cole || !richter)
1223 if (!colePersonal || !richterPersonal || !mePersonal)
1228 personalAI->SetFirstMateGUID(colePersonal->
GetGUID());
1229 personalAI->SetQuartermasterGUID(richterPersonal->
GetGUID());
1255 if (!throg || !jinhake)
1261 if (!throgPersonal || !jinhakePersonal || !mePersonal)
1266 personalAI->SetFirstMateGUID(throgPersonal->
GetGUID());
1267 personalAI->SetQuartermasterGUID(jinhakePersonal->
GetGUID());
1326template<u
int32 PathId, u
int32 WaitTime>
1411template<u
int32 ConversationId>
1425 player->UpdateVisibilityForPlayer();
1469 static const Position BoCloneSpawnPosition = { -448.731f, -2606.03f, 0.602435f, 6.17441f };
1491 static constexpr Position MithranCloneSpawnPosition = { -428.576f, -2593.93f, 0.152832f, 4.849576f };
1513 static constexpr Position LanaCloneSpawnPosition = { -420.656f, -2600.28f, 0.556646f, 4.046853f };
1550 for (
LootItem const& lootItem : loot->items)
1575template<u
int32 PathId>
1626template<u
int32 PathId, u
int32 WaitTime>
1779 conversation->
Start();
1825 conversation->
Start();
1871 conversation->Start();
1918 conversation->Start();
1951 player->
CastSpell(player, summonSpellId);
1985 "bjorn_stouthands_beach",
1986 "austin_huxworth_beach");
2002 "lana_jordan_beach");
2051template<u
int32 QuestId, u
int32 ConversationId>
2114 "alaria_standing_abandoned_camp");
2128 "wonza_standing_abandoned_camp");
2466 std::list<Creature*> sparpoints;
2470 for (
Creature* creature : sparpoints)
2517 conversation->
Start();
3478 conversation->
Start();
3558 conversation->
Start();
3590 player->UpdateVisibilityForPlayer();
3635 player->
CastSpell(player, summonSpellId);
3762 conversation->
Start();
3975 conversation->
Start();
3984 garrick->DespawnOrUnsummon(3s);
4039 conversation->
Start();
4123 conversation->
Start();
4132 grimaxe->DespawnOrUnsummon(2s);
4254 player->
CastSpell(player, spellValidated);
4301 if (!huxsworth || !garrick)
4306 if (!huxsworthPersonal || !garrickPersonal)
4310 huxworthAI->SetGarrickGUID(garrickPersonal->
GetGUID());
4329 if (!dawntracker || !grimaxe)
4334 if (!dawntrackerPersonal || !grimaxePersonal)
4338 dawntrackerAI->SetGrimaxeGUID(grimaxePersonal->
GetGUID());
4560 for (
LootItem const& lootItem : loot->items)
4629 for (
LootItem const& lootItem : loot->items)
4708 for (
LootItem const& lootItem : loot->items)
4761 std::vector<WorldObject*> objs;
4894 conversation->
Start();
4954 copter->DespawnOrUnsummon(2s);
5121 { 50.920593f, -2477.466f, 79.444374f, 0.8753076f },
5122 { 60.51328f, -2476.4822f, 81.034775f, 0.9128374f },
5123 { 53.08128f, -2476.5154f, 79.822624f, 0.9394135f },
5124 { 53.281864f, -2480.052f, 79.18003f, 0.78539818f },
5125 { 53.936935f, -2475.588f, 80.24179f, 0.91009599f }
5290 if (!goblin || !copter)
5295 if (!goblinPersonal || !copterPersonal)
5302 personalAI->SetCopterGUID(copterPersonal->
GetGUID());
5383 conversation->
Start();
5455 conversation->
Start();
5491 conversation->
Start();
5679 if (!player || !creature)
5736 conversation->
Start();
5773 conversation->
Start();
5815 if (!player || !creature)
5857 if (!player || !creature)
6034 if (triggerName ==
"Trampling Time")
6040 else if (triggerName ==
"Big Kill Credit")
6047 else if (triggerName ==
"Conversation")
6051 else if (triggerName ==
"Knockback")
6055 else if (triggerName ==
"Hint")
6150 conversation->
Start();
6206 conversation->
Start();
6220 switch (spellInfo->
Id)
6297 conversation->
Start();
6308 henry->DespawnOrUnsummon();
6328 conversation->
Start();
6488 for (
LootItem const& lootItem : loot->items)
6631 if (triggerName ==
"Big Kill Credit")
6642 else if (triggerName ==
"Conversation")
6646 else if (triggerName ==
"Teleport")
6692 conversation->
Start();
6705 switch (spellInfo->
Id)
6734 shuja->DespawnOrUnsummon();
6757 conversation->
Start();
6768 shuja->DespawnOrUnsummon();
6823 if (!questEnderCompanion)
6837 questGiver->DespawnOrUnsummon();
6840 companion->DespawnOrUnsummon();
7008template<u
int32 PitPathId>
std::chrono::seconds Seconds
Seconds shorthand typedef.
std::chrono::milliseconds Milliseconds
Milliseconds shorthand typedef.
@ GRID_MAP_TYPE_MASK_CONVERSATION
@ TEMPSUMMON_MANUAL_DESPAWN
@ TEMPSUMMON_TIMED_DESPAWN
@ QUEST_OBJECTIVE_CRITERIA_TREE
@ QUEST_STATUS_INCOMPLETE
bool roll_chance_f(float chance)
#define RegisterCreatureAI(ai_name)
#define RegisterSpellAndAuraScriptPair(script_1, script_2)
#define RegisterAreaTriggerAI(ai_name)
#define RegisterSpellScript(spell_script)
#define RegisterSpellScriptWithArgs(spell_script, script_name,...)
void GetCreatureListWithEntryInGrid(Container &container, WorldObject *source, uint32 entry, float maxSearchRange)
@ TARGET_DEST_NEARBY_ENTRY_OR_DB
@ EMOTE_ONESHOT_CUSTOM_SPELL_01
@ SPELL_EFFECT_SCRIPT_EFFECT
@ SPELL_EFFECT_CREATE_PRIVATE_CONVERSATION
@ SPELL_EFFECT_SEND_EVENT
@ SPELL_FAILED_BAD_TARGETS
@ AURA_EFFECT_HANDLE_REAL
@ SPELL_AURA_CONTROL_VEHICLE
@ SPELL_AURA_PERIODIC_DUMMY
@ TRIGGERED_IGNORE_CASTER_MOUNTED_OR_ON_VEHICLE
Will ignore mounted/on vehicle restrictions.
#define SpellObjectTargetSelectFn(F, I, N)
#define SpellCheckCastFn(F)
#define SpellEffectFn(F, I, N)
#define AuraEffectApplyFn(F, I, N, M)
#define AuraCheckProcFn(F)
#define AuraEffectRemoveFn(F, I, N, M)
@ UNIT_NPC_FLAG_QUESTGIVER
@ UNIT_NPC_FLAG_SPELLCLICK
@ UNIT_FLAG_UNINTERACTIBLE
@ UNIT_FLAG_PLAYER_CONTROLLED
T CalculatePct(T base, U pct)
void RemoveFromWorld() override
HookList< EffectApplyHandler > AfterEffectRemove
HookList< EffectApplyHandler > AfterEffectApply
HookList< CheckProcHandler > DoCheckProc
HookList< EffectApplyHandler > OnEffectRemove
int32 GetMaxDuration() const
int32 GetDuration() const
BaseQuestWarmingUp(const char *name)
void OnQuestStatusChange(Player *player, Quest const *, QuestStatus, QuestStatus newStatus)
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)
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
void SetImmuneToPC(bool apply) override
void SetObjectScale(float scale) override
std::unordered_map< ObjectGuid, std::unique_ptr< Loot > > m_personalLoot
void SetReactState(ReactStates st)
void ResetPlayerDamageReq()
void SetScriptStringId(std::string id)
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
void CancelEvent(uint32 eventId)
Milliseconds GetTimeUntilEvent(uint32 eventId) const
void RescheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
void MoveJump(Position const &pos, float speedXY, float speedZ, uint32 id=EVENT_JUMP, bool hasOrientation=false, JumpArrivalCastArgs const *arrivalCast=nullptr, Movement::SpellEffectExtraData const *spellEffectExtraData=nullptr)
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={}, bool generatePath=true)
void MovePoint(uint32 id, Position const &pos, bool generatePath=true, Optional< float > finalOrient={}, Optional< float > speed={}, MovementWalkRunSpeedSelectionMode speedSelectionMode=MovementWalkRunSpeedSelectionMode::Default, Optional< float > closeEnoughDistance={})
void MoveFollow(Unit *target, float dist, ChaseAngle angle, Optional< Milliseconds > duration={}, MovementSlot slot=MOTION_SLOT_ACTIVE)
void Remove(MovementGenerator *movement, MovementSlot slot=MOTION_SLOT_ACTIVE)
static ObjectGuid const Empty
static Creature * ToCreature(Object *o)
static ObjectGuid GetGUID(Object const *o)
static Player * ToPlayer(Object *o)
static void AddPhase(WorldObject *object, uint32 phaseId, bool updateVisibility)
static void InheritPhaseShift(WorldObject *target, WorldObject const *source)
static void ResetPhaseShift(WorldObject *object)
void KilledMonsterCredit(uint32 entry, ObjectGuid guid=ObjectGuid::Empty)
void UpdateQuestObjectiveProgress(QuestObjectiveType objectiveType, int32 objectId, int64 addCount, ObjectGuid victimGuid=ObjectGuid::Empty, std::vector< QuestObjective const * > *updatedObjectives=nullptr, std::function< bool(QuestObjective const *)> const *objectiveFilter=nullptr)
int32 GetQuestObjectiveData(uint32 questId, uint32 objectiveId) const
void UpdateVisibilityForPlayer()
QuestStatus GetQuestStatus(uint32 quest_id) const
bool HasSpell(uint32 spell) const override
void UpdateObjectVisibility(bool forced=true) override
SpellInfo const * GetSpellInfo() const
uint32 GetQuestId() const
void ResetCharges(uint32 chargeCategoryId)
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
HookList< CheckCastHandler > OnCheckCast
HookList< EffectHandler > OnEffectHit
void PreventHitDefaultEffect(SpellEffIndex effIndex)
Unit * GetHitUnit() const
HookList< EffectHandler > OnEffectHitTarget
HookList< ObjectTargetSelectHandler > OnObjectTargetSelect
HookList< EffectHandler > OnEffectLaunchTarget
Unit * GetExplTargetUnit() const
SpellInfo const * GetSpellInfo() const
TaskScheduler & Schedule(std::chrono::duration< Rep, Period > time, task_handler_t task)
TaskScheduler & Update(success_t const &callback=nullptr)
Unit * GetSummonerUnit() const
virtual void CalculatePassengerPosition(float &x, float &y, float &z, float *o=nullptr) const =0
This method transforms supplied transport offsets into global coordinates.
virtual int32 GetMapIdForSpawning() const =0
SpellCastResult DoCastSelf(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCastVictim(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCastAOE(uint32 spellId, CastSpellExtraArgs const &args={})
void CastStop(uint32 except_spellid=0)
float GetHealthPct() const
void CombatStop(bool includingCast=false, bool mutualPvP=true, bool(*unitFilter)(Unit const *otherUnit)=nullptr)
void SetHealth(uint64 val)
void RemoveAura(AuraApplicationMap::iterator &i, AuraRemoveMode mode=AURA_REMOVE_BY_DEFAULT)
void SetStandState(UnitStandStateType state, uint32 animKitID=0)
void SetControlled(bool apply, UnitState state)
Player * GetDemonCreatorPlayer() const
ObjectGuid GetOwnerGUID() const override
void SetSpeed(UnitMoveType mtype, float newValue)
Unit * GetVehicleBase() const
MotionMaster * GetMotionMaster()
void SetMovedUnit(Unit *target)
void SetFacingToObject(WorldObject const *object, bool force=true)
void RemoveNpcFlag(NPCFlags flags)
TempSummon * ToTempSummon()
bool SetDisableGravity(bool disable, bool updateAnimTier=true)
void SetUninteractible(bool apply)
void SetSheath(SheathState sheathed)
void SetEmoteState(Emote emote)
Aura * GetAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
TransportBase * GetDirectTransport() const
Returns the transport this unit is on directly (if on vehicle and transport, return vehicle)
bool SetWalk(bool enable)
void NearTeleportTo(Position const &pos, bool casting=false)
void SetFacingTo(float const ori, bool force=true)
bool HasAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
SpellHistory * GetSpellHistory()
void HandleEmoteCommand(Emote emoteId, Player *target=nullptr, Trinity::IteratorPair< int32 const * > spellVisualKitIds={}, int32 sequenceVariation=0)
bool HealthBelowPctDamaged(int32 pct, uint32 damage) const
void SetUnitFlag(UnitFlags flags)
void ChangeSeat(int8 seatId, bool next=true)
void RemoveUnitFlag(UnitFlags flags)
void SetAIAnimKitId(uint16 animKitId)
Unit * GetDemonCreator() const
TempSummon * SummonPersonalClone(Position const &pos, TempSummonType despawnType=TEMPSUMMON_MANUAL_DESPAWN, Milliseconds despawnTime=0s, uint32 vehId=0, uint32 spellId=0, Player *privateObjectOwner=nullptr)
void PlayDirectSound(uint32 soundId, Player const *target=nullptr, uint32 broadcastTextId=0) const
Creature * FindNearestCreatureWithOptions(float range, FindCreatureOptions const &options) const
ObjectGuid GetPrivateObjectOwner() 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)
TransportBase * GetTransport() const
bool IsPrivateObject() const
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
Position GetFirstCollisionPosition(float dist, float angle)
bool IsWithinDist(WorldObject const *obj, float dist2compare, bool is3D=true, bool incOwnRadius=true, bool incTargetRadius=true) const
Player * GetAffectingPlayer() const
player_exiles_reach_ship_crash()
void OnMovieComplete(Player *player, uint32 movieId) override
static constexpr float CLONE_Z_OFFSET
static constexpr float CLONE_ORIENTATION
void OnQuestStatusChange(Player *player, Quest const *quest, QuestStatus oldStatus, QuestStatus newStatus) override
void OnQuestStatusChange(Player *player, Quest const *quest, QuestStatus oldStatus, QuestStatus newStatus) override
void SpawnActors(Player *player, TeamId team, Position petSpawnPos)
void OnQuestStatusChange(Player *player, Quest const *quest, QuestStatus, QuestStatus newStatus) override
void SpawnPet(Player *player, Position const &position)
void SpawnActor(Player *player, Creature *creature, Position const &position)
void OnQuestStatusChange(Player *player, Quest const *, QuestStatus, QuestStatus newStatus) override
quest_briarpatch_alliance()
void OnQuestStatusChange(Player *player, Quest const *, QuestStatus, QuestStatus newStatus) override
void HandleQuestStatusChange(Player *player, QuestStatus newStatus, uint32 questDown, uint32 questForbidden, uint32 spellValidated)
quest_briarpatch(char const *script)
void OnQuestStatusChange(Player *player, Quest const *, QuestStatus, QuestStatus newStatus) override
quest_choppy_booster_mk5()
void OnQuestStatusChange(Player *player, Quest const *, QuestStatus, QuestStatus newStatus) override
quest_cooking_meat_alliance()
quest_cooking_meat_horde()
void OnQuestStatusChange(Player *player, Quest const *, QuestStatus, QuestStatus newStatus) override
void HandleQuestStatusChange(Player *player, QuestStatus newStatus, uint32 completeConversationId, std::string_view injuredStringId)
quest_cooking_meat(char const *script)
void OnQuestStatusChange(Player *player, Quest const *, QuestStatus, QuestStatus newStatus) override
quest_enhanced_combat_tactics()
quest_finding_the_lost_expedition_alliance()
void OnQuestStatusChange(Player *player, Quest const *, QuestStatus, QuestStatus newStatus) override
void OnQuestStatusChange(Player *player, Quest const *, QuestStatus, QuestStatus newStatus) override
quest_finding_the_lost_expedition_horde()
void HandleQuestStatusChange(Player *player, QuestStatus newStatus, uint32 summonSpellId, std::string_view survivor1StringId, std::string_view survivor2StringId, std::string_view survivor3StringId)
quest_finding_the_lost_expedition(char const *script)
quest_northbound_alliance()
void OnQuestStatusChange(Player *player, Quest const *, QuestStatus, QuestStatus newStatus) override
void OnQuestStatusChange(Player *player, Quest const *, QuestStatus, QuestStatus newStatus) override
void HandleQuestStatusChange(Player *player, QuestStatus newStatus, uint32 summonSpellId)
quest_northbound(char const *script)
void OnQuestStatusChange(Player *player, Quest const *, QuestStatus, QuestStatus newStatus) override
quest_resizing_the_situation_alliance()
void OnQuestStatusChange(Player *player, Quest const *, QuestStatus, QuestStatus newStatus) override
quest_resizing_the_situation_horde()
void HandleQuestStatusChange(Player *player, QuestStatus newStatus, uint32 SummonSpell)
quest_resizing_the_situation(char const *script)
quest_ride_of_the_scientifically_enhanced_boar()
void OnQuestStatusChange(Player *player, Quest const *, QuestStatus, QuestStatus newStatus) override
quest_scout_chopper(char const *script)
void HandleQuestStatusChange(Player *player, QuestStatus newStatus, std::string_view goblinString, std::string_view copterString)
quest_scout_o_matic_5000()
void OnQuestStatusChange(Player *player, Quest const *, QuestStatus, QuestStatus newStatus) override
void OnQuestStatusChange(Player *player, Quest const *, QuestStatus, QuestStatus newStatus) override
quest_stand_your_ground()
void OnQuestStatusChange(Player *player, Quest const *, QuestStatus, QuestStatus newStatus) override
quest_taming_the_wilds_alliance()
void OnQuestStatusChange(Player *player, Quest const *, QuestStatus, QuestStatus newStatus) override
quest_taming_the_wilds_horde()
quest_taming_the_wilds(char const *script)
void HandleQuestStatusChange(Player *player, QuestStatus newStatus, std::string_view creatureString, uint32 questObjective1, uint32 questObjective2)
void OnQuestStatusChange(Player *player, Quest const *, QuestStatus, QuestStatus newStatus) override
quest_westward_bound_alliance()
void OnQuestStatusChange(Player *player, Quest const *, QuestStatus, QuestStatus newStatus) override
void OnQuestStatusChange(Player *player, Quest const *, QuestStatus, QuestStatus newStatus) override
quest_westward_bound_horde()
quest_westward_bound(char const *script)
void HandleQuestStatusChange(Player *player, QuestStatus newStatus, std::string_view creatureStringOne, std::string_view creatureStringTwo, uint32 questEnderEntry, uint32 questEnderCompanionEntry, Position questGiverPos, Position companionPos)
scene_alliance_and_horde_crash()
void OnSceneComplete(Player *player, uint32, SceneTemplate const *) override
void OnSceneTriggerEvent(Player *player, uint32, SceneTemplate const *, std::string const &triggerName) override
void StartConvo(Player *player)
void OnSceneCancel(Player *player, uint32, SceneTemplate const *) override
void OnSceneComplete(Player *player, uint32, SceneTemplate const *) override
scene_alliance_and_horde_ship()
scene_darkmaul_plains_skeleton_army_alliance()
void OnSceneTriggerEvent(Player *player, uint32, SceneTemplate const *, std::string const &triggerName) override
void OnSceneComplete(Player *player, uint32, SceneTemplate const *) override
void OnSceneTriggerEvent(Player *player, uint32, SceneTemplate const *, std::string const &triggerName) override
scene_darkmaul_plains_skeleton_army_horde()
bool Validate(SpellInfo const *) override
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
void HandleEffect(SpellEffIndex)
void HandleLaunch(SpellEffIndex effIndex)
void HandleEffect(SpellEffIndex effIndex)
void HandleLaunch(SpellEffIndex effIndex)
void HandleEffect(SpellEffIndex effIndex)
bool Validate(SpellInfo const *) override
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
void RemoveEffect(AuraEffect const *, AuraEffectHandleModes)
void ApplyEffect(AuraEffect const *, AuraEffectHandleModes)
bool Validate(SpellInfo const *) override
void OnApply(AuraEffect const *, AuraEffectHandleModes)
bool Validate(SpellInfo const *) override
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
bool Validate(SpellInfo const *) override
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
SpellCastResult CheckCast()
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
SpellCastResult CheckCast()
void HandleLaunch(SpellEffIndex effIndex)
void HandleEffect(SpellEffIndex effIndex)
void HandleLaunch(SpellEffIndex effIndex)
void HandleEffect(SpellEffIndex effIndex)
bool Validate(SpellInfo const *) override
void OnAuraRemoveHandler(AuraEffect const *, AuraEffectHandleModes)
void HandleLaunch(SpellEffIndex effIndex)
void HandleEffect(SpellEffIndex effIndex)
void SelectTarget(WorldObject *&target)
void SelectTarget(WorldObject *&target)
void SelectTarget(WorldObject *&target)
void SelectTarget(WorldObject *&target)
void SelectTarget(WorldObject *&target)
void SelectTarget(WorldObject *&target)
bool CheckProc(ProcEventInfo &eventInfo)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
void HandleScript(SpellEffIndex)
void HandleScript(SpellEffIndex)
TC_GAME_API Player * GetPlayer(Map const *, ObjectGuid const &guid)
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
auto MapGetValuePtr(M &map, typename M::key_type const &key)
void RandomResize(C &container, std::size_t requestedSize)
std::string_view StringId
static void VisitGridObjects(WorldObject const *obj, T &visitor, float radius, bool dont_load=true)
constexpr void SetOrientation(float orientation)
constexpr float GetPositionX() const
constexpr float GetPositionY() const
constexpr void GetPosition(float &x, float &y) const
constexpr float GetPositionZ() const
void SetEquipmentSlots(bool loadDefault, int32 mainHand=EQUIP_NO_CHANGE, int32 offHand=EQUIP_NO_CHANGE, int32 ranged=EQUIP_NO_CHANGE)
areatrigger_find_the_lost_expedition_follower(AreaTrigger *areatrigger)
void OnUnitEnter(Unit *unit) override
void OnUnitEnter(Unit *unit) override
areatrigger_find_the_lost_expedition(AreaTrigger *areatrigger)
at_aggro_radius_check_enhanced_combat_tactics(AreaTrigger *areatrigger)
void OnUnitEnter(Unit *unit) override
void OnUnitEnter(Unit *unit) override
at_briarpatch_to_plains(AreaTrigger *areatrigger)
void StartConversation(Player *player, uint32 conversationId)
void OnUnitEnter(Unit *unit) override
at_northbound_linger(AreaTrigger *areatrigger)
npc_alliance_survivors_beach_laying(Creature *creature)
void SpellHit(WorldObject *caster, SpellInfo const *spellInfo) override
void JustAppeared() override
npc_bjorn_stouthands_q55965_private(Creature *creature)
void InitializeAI() override
void UpdateAI(uint32 diff) override
void WaypointPathEnded(uint32, uint32) override
npc_bo_beach_laying(Creature *creature)
void SpellHit(WorldObject *caster, SpellInfo const *spellInfo) override
npc_briarpatch_prisoner(Creature *creature)
void UpdateAI(uint32 diff) override
void DoAction(int32 param) override
void JustAppeared() override
npc_captain_abandoned_camp_exiles_reach(Creature *creature)
void OnQuestAccept(Player *player, Quest const *quest) override
npc_captain_garrick_beach(Creature *creature)
void OnQuestAccept(Player *player, Quest const *quest) override
npc_captain_garrick_q55879(Creature *creature)
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
void JustAppeared() override
void UpdateAI(uint32 diff) override
void SpellHit(WorldObject *, SpellInfo const *spellInfo) override
void IsSummonedBy(WorldObject *summonerWO) override
npc_captain_warlord_beach_arrive_private(Creature *creature)
void SetFirstMateGUID(ObjectGuid coleGUID)
void SetQuartermasterGUID(ObjectGuid richterGUID)
ObjectGuid _firstMateGUID
void InitializeAI() override
ObjectGuid _quartermasterGUID
void UpdateAI(uint32 diff) override
void MovementInform(uint32 uiType, uint32 uiId) override
void IsSummonedBy(WorldObject *summonerWO) override
npc_captain_warlord_first_aid_private(Creature *creature)
void UpdateAI(uint32 diff) override
void SpellHit(WorldObject *caster, SpellInfo const *spellInfo) override
npc_choppy_booster_scout(Creature *creature)
void WaypointPathEnded(uint32, uint32 pathId) override
void IsSummonedBy(WorldObject *summoner) override
void PassengerBoarded(Unit *passenger, int8, bool apply) override
== Fields =======================================
npc_companion_q55965_q59948_private(Creature *creature)
void UpdateAI(uint32 diff) override
void WaypointPathEnded(uint32, uint32) override
void JustAppeared() override
npc_cork_fizzlepop_q59941(Creature *creature)
void JustAppeared() override
void UpdateAI(uint32 diff) override
void MovementInform(uint32 uiType, uint32 uiId) override
void SpellHit(WorldObject *, SpellInfo const *spellInfo) override
void UpdateAI(uint32 diff) override
void WaypointPathEnded(uint32, uint32 pathId) override
void JustAppeared() override
npc_crew_ship_private(Creature *creature)
void JustAppeared() override
void SetGrimaxeGUID(ObjectGuid grimaxeGUID)
void InitializeAI() override
void UpdateAI(uint32 diff) override
npc_dawntracker_briarpatch_quest_private(Creature *creature)
npc_dawntracker_hunter_quest_private(Creature *creature)
void UpdateAI(uint32 diff) override
void JustAppeared() override
void InitializeAI() override
void UpdateAI(uint32 diff) override
void JustAppeared() override
npc_first_mate_brace_for_impact_private(Creature *creature)
void WaypointPathEnded(uint32, uint32 pathId) override
void OnQuestAccept(Player *player, Quest const *quest) override
npc_first_mate_stand_your_ground(Creature *creature)
npc_garrick_summoned_beach(Creature *creature)
void MovementInform(uint32 uiType, uint32 uiId) override
void UpdateAI(uint32 diff) override
void SpellHit(WorldObject *, SpellInfo const *spellInfo) override
void IsSummonedBy(WorldObject *) override
void UpdateAI(uint32 diff) override
void JustDied(Unit *) override
void JustAppeared() override
npc_geolord_grekog(Creature *creature)
void JustEngagedWith(Unit *who) override
void PassengerBoarded(Unit *passenger, int8, bool apply) override
== Fields =======================================
void UpdateAI(uint32 diff) override
void JustAppeared() override
void SpellHit(WorldObject *, SpellInfo const *spellInfo) override
npc_giant_boar_vehicle_q55879(Creature *creature)
void JustAppeared() override
uint32 _conversationActorId
void SetCopterGUID(ObjectGuid copterGUID)
void UpdateAI(uint32 diff) override
npc_gnome_goblin_plains_make_copter_private(Creature *creature)
void UpdateAI(uint32 diff) override
void SpellHit(WorldObject *, SpellInfo const *spellInfo) override
npc_grimaxe_summoned_beach(Creature *creature)
void MovementInform(uint32 uiType, uint32 uiId) override
void IsSummonedBy(WorldObject *) override
npc_horde_crew_plains_private(Creature *creature)
void WaypointPathEnded(uint32, uint32) override
void WaypointPathEnded(uint32, uint32) override
npc_horde_survivors_beach_q59930_private(Creature *creature)
void InitializeAI() override
void UpdateAI(uint32 diff) override
void JustAppeared() override
void JustAppeared() override
void InitializeAI() override
void SetGarrickGUID(ObjectGuid garrickGUID)
void UpdateAI(uint32 diff) override
npc_huxsworth_briarpatch_quest_private(Creature *creature)
npc_huxsworth_hunter_quest_private(Creature *creature)
void JustAppeared() override
void InitializeAI() override
void UpdateAI(uint32 diff) override
npc_lana_jordan_beach_laying(Creature *creature)
void SpellHit(WorldObject *caster, SpellInfo const *spellInfo) override
void InitializeAI() override
void UpdateAI(uint32 diff) override
void JustAppeared() override
void WaypointPathEnded(uint32, uint32) override
npc_lana_jordan_q59948_private(Creature *creature)
void IsSummonedBy(WorldObject *) override
npc_leader_northbound(Creature *creature)
void SpellHit(WorldObject *, SpellInfo const *spellInfo) override
void MovementInform(uint32 uiType, uint32 uiId) override
void JustAppeared() override
void UpdateAI(uint32 diff) override
void JustAppeared() override
void MovementInform(uint32 uiType, uint32 uiId) override
void SpellHit(WorldObject *, SpellInfo const *spellInfo) override
void UpdateAI(uint32 diff) override
npc_lindie_springstock_q56034(Creature *creature)
void SpellHit(WorldObject *caster, SpellInfo const *spellInfo) override
npc_mithran_dawntracker_beach_laying(Creature *creature)
void JustEngagedWith(Unit *who) override
npc_murloc_spearhunter_watershaper_higher_ground(Creature *creature)
void JustDied(Unit *) override
npc_murloc_spearhunter_watershaper(Creature *creature)
void JustEngagedWith(Unit *who) override
void JustDied(Unit *killer) override
npc_ogre_overseer(Creature *creature)
void UpdateAI(uint32 diff) override
npc_pet_ship_private(Creature *creature)
void WaypointPathEnded(uint32, uint32) override
void UpdateAI(uint32 diff) override
void JustAppeared() override
void JustAppeared() override
void InitializeAI() override
npc_prisoner_q55879_private(Creature *creature)
void JustDied(Unit *killer) override
void UpdateAI(uint32 diff) override
void JustEngagedWith(Unit *who) override
npc_quilboar_geomancer(Creature *creature)
void UpdateAI(uint32 diff) override
npc_quilboar_warrior(Creature *creature)
void JustEngagedWith(Unit *who) override
void JustDied(Unit *killer) override
void UpdateAI(uint32 diff) override
void JustAppeared() override
npc_re_sized_boar_q56034(Creature *creature)
void MovementInform(uint32 uiType, uint32 uiId) override
void WaypointPathEnded(uint32, uint32 pathId) override
void IsSummonedBy(WorldObject *summoner) override
void PassengerBoarded(Unit *passenger, int8, bool apply) override
== Fields =======================================
void SpellHit(WorldObject *caster, SpellInfo const *spellInfo) override
void UpdateAI(uint32 diff) override
npc_scoutomatic_5000(Creature *creature)
void UpdateAI(uint32 diff) override
void JustAppeared() override
npc_ship_captain_brace_for_impact_private(Creature *creature)
void WaypointPathEnded(uint32, uint32 pathId) override
void UpdateAI(uint32 diff) override
npc_ship_captain_warming_up_private(Creature *creature)
void WaypointPathEnded(uint32, uint32 pathId) override
void JustAppeared() override
uint32 _pathToSparringPartner
void InitializeAI() override
void MovementInform(uint32 uiType, uint32 uiId) override
void DamageDealt(Unit *target, uint32 &damage, DamageEffectType) override
void StartConversationWithPlayer(uint32 conversationId)
void JustAppeared() override
void UpdateAI(uint32 diff) override
virtual void OnReadyPointReached()
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
void EnterEvadeMode(EvadeReason) override
void IsSummonedBy(WorldObject *summonerWO) override
virtual void HandleClassEvent(uint32)
uint32 _summonSpellAuraID
npc_sparring_partner_combat_training(Creature *creature)
void WaypointPathEnded(uint32, uint32 pathId) override
npc_sparring_partner_enhanced_combat_training_druid(Creature *creature)
void SpellHit(WorldObject *caster, SpellInfo const *spellInfo) override
void OnReadyPointReached() override
void HandleClassEvent(uint32 eventId) override
bool _moonfireInPandemicWindow
void SpellHit(WorldObject *caster, SpellInfo const *spellInfo) override
void OnReadyPointReached() override
void HandleClassEvent(uint32 eventId) override
npc_sparring_partner_enhanced_combat_training_mage(Creature *creature)
npc_sparring_partner_enhanced_combat_training_monk(Creature *creature)
void OnReadyPointReached() override
void SpellHit(WorldObject *caster, SpellInfo const *spellInfo) override
npc_sparring_partner_enhanced_combat_training_paladin(Creature *creature)
void OnReadyPointReached() override
void SpellHit(WorldObject *caster, SpellInfo const *spellInfo) override
void HandleClassEvent(uint32 eventId) override
void SpellHit(WorldObject *caster, SpellInfo const *spellInfo) override
bool _shadowWordPainInPandemicWindow
void OnReadyPointReached() override
void HandleClassEvent(uint32 eventId) override
npc_sparring_partner_enhanced_combat_training_priest(Creature *creature)
void JustEngagedWith(Unit *) override
void OnReadyPointReached() override
void SpellHit(WorldObject *caster, SpellInfo const *spellInfo) override
npc_sparring_partner_enhanced_combat_training_rogue(Creature *creature)
void HandleClassEvent(uint32 eventId) override
uint8 _comboPointsCounter
uint8 _primalStrikeCounter
npc_sparring_partner_enhanced_combat_training_shaman(Creature *creature)
void HandleClassEvent(uint32 eventId) override
void SpellHit(WorldObject *caster, SpellInfo const *spellInfo) override
void OnReadyPointReached() override
npc_sparring_partner_enhanced_combat_training_warlock(Creature *creature)
void HandleClassEvent(uint32 eventId) override
bool _corruptionInPandemicWindow
void OnReadyPointReached() override
void SpellHit(WorldObject *caster, SpellInfo const *spellInfo) override
void OnReadyPointReached() override
void ResetWarrior(Player *player)
void SpellHit(WorldObject *caster, SpellInfo const *spellInfo) override
npc_sparring_partner_enhanced_combat_training_warrior(Creature *creature)
Creature * GetRandomSparPoint()
void UpdateAI(uint32 diff) override
void JustEngagedWith(Unit *) override
npc_sparring_partner_exiles_reach(Creature *creature)
void JustAppeared() override
void EnterEvadeMode(EvadeReason) override
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
void MovementInform(uint32 uiType, uint32 uiId) override
void WaypointPathEnded(uint32, uint32 pathId) override
void DamageDealt(Unit *target, uint32 &damage, DamageEffectType) override
void StartPrivateConversation(uint32 conversationId)
void JustAppeared() override
void UpdateAI(uint32 diff) override
npc_survivors_beach_leave_private(Creature *creature)
npc_survivors_healed_by_leader_beach_private(Creature *creature)
void SpellHit(WorldObject *caster, SpellInfo const *spellInfo) override
void UpdateAI(uint32 diff) override
void InitializeAI() override
void UpdateAI(uint32 diff) override
npc_torgok_q55879(Creature *creature)
void JustDied(Unit *killer) override
void JustEngagedWith(Unit *who) override
void OnQuestAccept(Player *player, Quest const *quest) override
npc_warlord_grimaxe_beach(Creature *creature)
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
void OnDespawn() override
void JustAppeared() override
void SpellHit(WorldObject *, SpellInfo const *spellInfo) override
void UpdateAI(uint32 diff) override
npc_warlord_grimaxe_q59942(Creature *creature)
static std::vector< ActorData > const ActorDataMap[2]
WarlordGrimaxeAbandonedCampData
@ QUEST_COOKING_MEAT_HORDE
@ CONVERSATION_QUEST_COOKING_MEAT_COMPLETE_HORDE
@ CONVERSATION_QUEST_COOKING_MEAT_ACCEPT_HORDE
static constexpr Position DawntrackerBriarpatchDespawnPosition
EnhancedCombatTacticsData
@ SPELL_SUMMON_CAPTAIN_GARRICK_COMBAT
@ SPELL_SUMMON_WARLORD_GRIMAXE_COMBAT
CreatureAI * BjornRuinsSelector(Creature *creature)
CreatureAI * AustinBeachStandingAISelector(Creature *creature)
CreatureAI * BjornBeachStandingAISelector(Creature *creature)
CreatureAI * BoBeachStandingAISelector(Creature *creature)
static constexpr Position CopterCloneSpawnPosition
ExilesReachAllianceSurvivorsBeachData
@ NPC_BJORN_STOUTHANDS_LAYING
@ PATH_AUSTIN_HUXWORTH_STANDING
@ CONVERSATION_KEE_LA_BEACH
@ NPC_AUSTIN_HUXWORTH_STANDING
@ CONVERSATION_STOUTHANDS_BEACH
@ NPC_AUSTIN_HUXWORTH_LAYING
@ NPC_BJORN_STOUTHANDS_STANDING
@ PATH_BJORN_STOUTHANDS_STANDING
@ CONVERSATION_HUXWORTH_BEACH
@ SPELL_RE_DEATHER_SUMMON_GRIMAXE
@ OBJECTIVE_RE_DEATHER_CADAVERS_KILLED
@ CONVERSATION_ACCEPT_RE_DEATHER_QUEST
@ NPC_SHUJA_GRIMAXE_PRISONER
@ RE_DEATHER_CADAVERS_KILLED_MAX
@ SPELL_RE_DEATHER_TEMP_OBJECTIVE_CHECK
@ SPELL_REUNION_DNT_HORDE
@ CONVERSATION_RE_DEATHER_EXPLODE
@ SPELL_RE_DEATHER_ROUGH_LANDING_DNT
static constexpr Position GarrickQuillboarBriarpatchPosition
@ QUEST_NORTHBOND_ALLIANCE
@ ACTOR_ID_1_NORTHBOUND_ACCEPT_HORDE
@ ACTOR_ID_0_NORTHBOUND_ACCEPT_HORDE
@ SPELL_SUMMON_ADMIRAL_GARRICK_GUARDIAN_NORTHBOUND
@ ACTOR_ID_0_NORTHBOUND_AREATRIGGER_ALLIANCE
@ CONVERSATION_QUEST_NORTHBOUND_ACCEPT_HORDE
@ ACTOR_ID_0_NORTHBOUND_ACCEPT_ALLIANCE
@ ACTOR_ID_1_NORTHBOUND_AREATRIGGER_HORDE
@ SPELL_LINGER_NORTHBOUND_HORDE
@ ACTOR_ID_1_NORTHBOUND_ACCEPT_ALLIANCE
@ CONVERSATION_QUEST_NORTHBOUND_ACCEPT_ALLIANCE
@ SPELL_LINGER_NORTHBOUND_ALLIANCE
@ SPELL_SUMMON_WARLORD_GRIMAXE_GUARDIAN_NORTHBOUND
KnockedDownExilesReachData
@ SPELL_KNOCKED_DOWN_STUN2
@ CONVERSATION_ACTOR_HUXSWORTH_BRIARPATCH
@ CONVERSATION_BRIARPATCH_ALLIANCE
@ EVENT_HUXSWORTH_GARRICK_CONVERSATION
@ EVENT_HUXSWORTH_GARRICK_RUN_BRIARPATCH
@ CONVERSATION_ACTOR_GARRICK_BRIARPATCH
BraceForImpactFirstMateData
@ PATH_THROG_BRACE_FOR_IMPACT
@ PATH_COLE_BRACE_FOR_IMPACT
@ CONVERSATION_BRIARPATCH_HORDE
@ CONVERSATION_ACTOR_GRIMAXE_BRIARPATCH
@ EVENT_DAWNTRACKER_GRIMAXE_RUN_BRIARPATCH
@ CONVERSATION_ACTOR_DAWNTRACKER_BRIARPATCH
@ EVENT_DAWNTRACKER_GRIMAXE_CONVERSATION
@ EVENT_RESIZING_FOLLOW_PLAYER
@ EVENT_RESIZING_RUN_HOME
@ CONVERSATION_RESIZING_REPORT_BACK
@ ACTOR_CORK_RESIZING_QUEST
@ SPELL_PING_LINDIE_Q56034_Q59941
@ SPELL_SUMMON_CORK_FIZZLEPOP_GUARDIAN_Q59941
@ CONVERSATION_RESIZING_QUEST_ACCEPT
@ SPELL_SUMMON_LINDIE_SPRINGSTOCK_GUARDIAN_Q56034
@ SPELL_LINDIE_DESUMMON_Q56034
@ ACTOR_LINDIE_RESIZING_QUEST
static constexpr Position GarrickAbandonedCampPosition
@ NPC_WARLORD_BREKA_GRIMAXE_BEACH
@ NPC_CAPTAIN_GARRICK_BEACH
@ CONVERSATION_WARLORD_GRIMAXE_SPAWN_Q59942
@ CONVERSATION_WARLORD_GRIMAXE_QUEST_COMPLETE_Q59942
@ ACTOR_SHUJA_GRIMAXE_PRISONER
@ ACTOR_SHUJA_GRIMAXE_FREED
@ ACTOR_WARLORD_GRIMAXE_Q59942
@ QUEST_OBJECTIVE_BEAST_TAMED_ALLIANCE
@ QUEST_OBJECTIVE_TRAINED_HORDE
@ QUEST_OBJECTIVE_BEAST_TAMED_HORDE
@ QUEST_TAMING_THE_WILDS_HORDE
@ QUEST_TAMING_THE_WILDS_ALLIANCE
@ QUEST_OBJECTIVE_TRAINED_ALLIANCE
@ QUEST_TRACKER_TAMING_THE_WILDS_COMPLETE
CreatureAI * HealedByLeaderAllianceAISelector(Creature *creature)
static constexpr Position PrisonerBriarpatchDespawnPosition
static constexpr Position GrimaxeQuillboarBriarpatchPosition
CaptainGarrickAbandonedCampData
@ QUEST_COOKING_MEAT_ALLIANCE
@ CONVERSATION_QUEST_COOKING_MEAT_COMPLETE_ALLIANCE
@ CONVERSATION_QUEST_COOKING_MEAT_ACCEPT_ALLIANCE
static constexpr Position BjornWestwardBoundRuinsPos
Position MoveToPrisonerPosition
CreatureAI * SparringPartnerEnhancedCombatTrainingSelector(Creature *creature)
@ EVENT_LANA_SAY_AT_RUINS
CreatureAI * CorkFizzlepopSelector(Creature *creature)
ExilesReachOgreOverseerData
@ EVENT_OVERSEER_BACKHAND
@ EVENT_OVERSEER_EARTHSHATTER
@ QUEST_BRIARPATCH_OVERSEER_CLOAK_DROPPED
static constexpr Position EnhancedTrainingWalkPosition
CreatureAI * LanaRuinsSelector(Creature *creature)
ExilesReachShipCrashBeachData
@ SPELL_CRASHED_LANDED_ALLIANCE
@ SPELL_CRASHED_LANDED_HORDE
@ EVENT_PET_SHIP_RUN_TO_POSITION
CreatureAI * WarlordGrimaxeBeachAISelector(Creature *creature)
void AddSC_zone_exiles_reach()
LostExpeditionFollowerData
@ ACTOR_ID_HORDE_SURVIVOR
@ SPELL_SUMMON_ADMIRAL_GARRICK_GUARDIAN
@ CONVERSATION_LINE_ESCORT_SURVIVOR_CAMP
@ CONVERSATION_LINE_ESCORT_ALLIANCE_SURVIVOR
@ ACTOR_ID_ALLIANCE_SURVIVOR
@ CONVERSATION_LINE_ESCORT_HORDE_SURVIVOR
@ EVENT_INITIAL_SPAWN_CHECK
@ SPELL_SUMMON_WARLORD_GRIMAXE_GUARDIAN
@ SPELL_VALIDATED_QUEST_ACCEPT_BRIARPATCH_HORDE
@ QUEST_FORBIDDEN_QUILBOAR_NECROMANY_ALLIANCE
@ QUEST_DOWN_WITH_THE_QUILBOAR_ALLIANCE
@ QUEST_DOWN_WITH_THE_QUILBOAR_HORDE
@ SPELL_VALIDATED_QUEST_ACCEPT_BRIARPATCH_ALLIANCE
@ QUEST_FORBIDDEN_QUILBOAR_NECROMANY_HORDE
@ NPC_ALLIANCE_SPARING_PARTNER
@ PATH_ALLIANCE_SPARING_PARTNER
@ NPC_SPAR_POINT_ADVERTISMENT
@ EVENT_MOVE_TO_A_POSITION
@ SPELL_COMBAT_TRAINING_COMPLETE
@ POSITION_SPARPOINT_ADVERTISMENT
@ NPC_HORDE_SPARING_PARTNER
@ EVENT_PREFIGHT_CONVERSATION
@ PATH_HORDE_SPARING_PARTNER
@ SPELL_UPDATE_PHASE_SHIFT
@ POSITION_SPARPOINT_READY
static constexpr Position PrisonerPosition
CreatureAI * DawntrackerBriarpatchSelector(Creature *creature)
@ ITEM_LINKED_MAIL_HAUBERK
@ QUEST_BRIARPATCH_CHEST_DROPPED
@ ITEM_STITCHED_CLOTH_TUNIC
@ ITEM_STITCHED_LEATHER_TUNIC
static constexpr Position HordeCrewPersonalSpawnLocation[]
static constexpr Position MiniChopperJumpPosition
@ CONVERSATION_ACTOR_GEOLORD
@ CONVERSATION_GEOLORD_AGGRO
@ NPC_INVIS_BUNNY_GEOLORD
@ CONVERSATION_ACTOR_CORK
@ CONVERSATION_ACTOR_LINDIE
@ SPELL_NECROTIC_RITUAL_DNT
Position GiantBoarPosition
@ SPELL_LEARNING_TAME_BEAST
@ CONVERSATION_HORDE_ACTOR
@ CONVERSATION_HORDE_TRAINER
@ SAY_PET_TRAINING_ALLIANCE
@ SAY_FIND_A_BEAST_ALLIANCE
@ SPELL_TUTORIAL_HEALTH_DNT
@ SPELL_TAME_BEAST_EFFECT
@ EVENT_ME_TURN_TO_PLAYER
static std::unordered_map< Races, std::string_view > const ActorPetData
CreatureAI * CaptainGarrickBeachAISelector(Creature *creature)
@ CONVERSATION_ACTOR_COPTER
@ NPC_LINDIE_SPRINGSTOCK_PLAINS
@ CONVERSATION_ACTOR_GOBLIN_HORDE
@ CONVERSATION_ACTOR_GOBLIN_ALLIANCE
@ QUEST_THE_CHOPPY_BOOSTER_MK5
@ CONVERSATION_RESIZE_COPTER_HORDE
@ CONVERSATION_RESIZE_COPTER_ALLIANCE
@ QUEST_THE_SCOUT_O_MATIC_5000
@ PATH_JIN_HAKE_BRACE_FOR_IMPACT
@ PATH_BO_BRACE_FOR_IMPACT
@ PATH_RICHTER_BRACE_FOR_IMPACT
@ PATH_KEE_LA_BRACE_FOR_IMPACT
@ NPC_MITHDRAN_DAWNTRACKER
@ PATH_LANA_BRACE_FOR_IMPACT
@ NPC_QUARTERMASTER_RICHTER
@ PATH_AUSTIN_BRACE_FOR_IMPACT
@ NPC_PROVISONER_JIN_HAKE
@ PATH_MITHDRAN_BRACE_FOR_IMPACT
@ PATH_BJORN_BRACE_FOR_IMPACT
@ SPELL_RIDING_GIANT_BOAR_321670
@ SPELL_RIDING_GIANT_BOAR_305068
static constexpr Position GrimaxeBriarpatchDespawnPosition
FirstMateStandYourGroundData
@ QUEST_STAND_YOUR_GROUND_ALLIANCE
@ QUEST_STAND_YOUR_GROUND_HORDE
static constexpr Position WonsaWestwardBoundRuinsPos
CreatureAI * PrisonerQ55879Selector(Creature *creature)
CreatureAI * ChoppyBoosterSelector(Creature *creature)
static constexpr Position GarrickBriarpatchDespawnPosition
CreatureAI * AlariaRuinsSelector(Creature *creature)
@ QUEST_OBJECTIVE_RE_SIZING_THE_SITUATION_HORDE
@ NPC_LINDIE_SPRINGSTOCK_GUARDIAN
@ QUEST_RE_SIZING_THE_SITUATION_HORDE
@ NPC_CORK_FIZZLEPOP_GUARDIAN
@ SPELL_RESIZER_HIT_TWO_Q56034_Q59941
@ SPELL_RESIZER_HIT_ONE_Q56034_Q59941
@ QUEST_RE_SIZING_THE_SITUATION_ALLIANCE
@ SPELL_RESIZER_HIT_THREE_Q56034
@ QUEST_OBJECTIVE_RE_SIZING_THE_SITUATION_ALLIANCE
@ SPELL_RE_SIZER_OVERCHARGED_Q56034
CreatureAI * CaptainGarrickAISelector(Creature *creature)
ExilesReachHordeSurvivorsBeachData
@ EVENT_SURVIVORS_HORDE_STAND_AND_TALK
@ NPC_LANA_JORDAN_STANDING
@ PATH_LANA_JORDAN_LEAVE_BEACH
@ QUEST_FINDING_THE_LOST_EXPEDITION_HORDE
@ TALK_HORDE_BEACH_THANK_PLAYER
@ PATH_MITHDRAN_LEAVE_BEACH
@ PATH_LANA_JORDAN_TO_GRIMAXE
@ QUEST_FINDING_THE_LOST_EXPEDITION_ALLIANCE
@ EVENT_SURVIVORS_LEAVE_BEACH
@ PATH_MITHDRAN_TO_GRIMAXE
@ EVENT_SURVIVORS_HORDE_MOVE_TO_GRIMAXE
@ PATH_PRISONER_TO_GROUND
static constexpr Position GrimaxeAbandonedCampPosition
@ SPELL_RITUAL_SCENE_HRUN_BEAM_DNT
@ SPELL_SUMMON_DARKMAUL_PLAINS_QUESTGIVERS_SUMMON
@ SPELL_RITUAL_SCENE_HARPY_BEAM_DNT
@ SPELL_RITUAL_SCENE_OGRE_CITADEL_DNT
@ SPELL_SUMMON_DARKMAUL_PLAINS_QUESTGIVERS_AURA
@ SPELL_RITUAL_SCENE_MAIN_BEAM_DNT
@ SPELL_PING_GARRICK_TORGOK
@ NPC_HENRY_GARRICK_PRISONER
@ SPELL_REUNION_DNT_ALLIANCE
CreatureAI * HuxsworthBriarpatchSelector(Creature *creature)
static constexpr Position ReDeatherAbandonTeleportPos
#define RegisterPrivatePublicCreatureAIPair(scriptName, privateAI, publicAI)
CreatureAI * LindieSpringstockSelector(Creature *creature)
ExilesReachCaptainsBeachData
@ EVENT_EMERGENCY_FIRST_AID_SCRIPT_MOVE_SECOND_SURVIVOR
@ QUEST_EMERGENCY_FIRST_AID_ALLIANCE
@ CONVERSATION_QUEST_MURLOC_MANIA_ALLIANCE
@ EVENT_EMERGENCY_FIRST_AID_SCRIPT_SHEATH
@ QUEST_EMERGENCY_FIRST_AID_HORDE
@ EVENT_EMERGENCY_FIRST_AID_SCRIPT_BANDAGE
@ QUEST_MURLOC_MANIA_HORDE
@ CONVERSATION_QUEST_MURLOC_MANIA_HORDE
@ EVENT_EMERGENCY_FIRST_AID_SCRIPT_MOVE_HOME_BEACH
@ QUEST_MURLOC_MANIA_ALLIANCE
static constexpr Position BriarpatchPrisonerJumpToPosition
static constexpr Position EnhancedTrainingRunPosition
Position ResizingGuardianPosition
@ SPELL_ALLIANCE_SHIP_CRASH
@ MOVIE_ALLIANCE_SHIP_CRASH
CreatureAI * HealedByLeaderHordeAISelector(Creature *creature)
@ NPC_BJORN_STOUTHANDS_PIT_ONE
EnhancedCombatTrainerData
@ SPELL_AGGRO_RADIUS_CHECK_DNT_SHAMAN
@ QUEST_OBJECTIVE_HORDE_BLACKOUT_KICK
@ SPELL_CHARGE_KNOCKBACK_WARRIOR
@ CONVERSATION_LIGHTNINGBOLT_RANGE_SHAMAN
@ CONVERSATION_THREE_COMBO_EVISCERATE_ROGUE
@ SPELL_AGGRO_RADIUS_CHECK_DNT_DRUID
@ CONVERSATION_PREFIGHT_WALK_ENHANCED
@ CONVERSATION_SHADOW_WORD_PAIN_TOO_SOON_PRIEST
@ CONVERSATION_HOLY_POWER_THREE_PALADIN
@ CONVERSATION_CHARGE_KICKBACK
@ CONVERSATION_CRUSADER_STRIKE_ONE_PALADIN
@ EVENT_COMBAT_TRAINING_RESET_MAGE
@ CONVERSATION_MOONFIRE_CAST_PRE_COMBAT_DRUID
@ CONVERSATION_CRUSADER_STRIKE_THREE_PALADIN
@ NPC_ALLIANCE_SPARRING_PARTNER_ENHANCED
@ EVENT_COMBAT_TRAINING_END
@ CONVERSATION_CORRUPTION_CAST_PRE_COMBAT_WARLOCK
@ SPELL_CHARGE_KNOCKBACK_DRUID
@ CONVERSATION_CORRUPTION_CAST_TOO_SOON_WARLOCK
@ SPELL_AGGRO_RADIUS_CHECK_DNT_WARRIOR_MAGE
@ EVENT_COMBAT_CHECK_PLAYER
@ CONVERSATION_MOONFIRE_CAST_TOO_SOON_DRUID
@ CONVERSATION_SMITE_PRE_COMBAT_PRIEST
@ CONVERSATION_HOLY_POWER_TWO_PALADIN
@ CONVERSATION_HOLY_POWER_ONE_PALADIN
@ EVENT_COMBAT_TRAINING_AGGRO_CHECK_MAGE
@ CONVERSATION_USE_SPELLS_AT_RANGE
@ QUEST_ENHANCED_COMBAT_TACTICS_ALLIANCE_MONK
@ NPC_ALLIANCE_SPARRING_PARTNER_ENHANCED2
@ CONVERSATION_FROSTBOLT_CLOSE_MAGE
@ CONVERSATION_READY_COMBAT
@ QUEST_ENHANCED_COMBAT_TACTICS_HORDE_MONK
@ CONVERSATION_PRIMAL_STRIKE_QUEST_CREDIT_SHAMAN
@ CONVERSATION_CHARGE_ONE_RES_ENHANCED
@ SPELL_DRINK_HEALING_POTION
@ EVENT_COMBAT_TRAINING_SINISTER_CHECK_ROGUE
@ CONVERSATION_MOONFIRE_QUEST_CREDIT_DRUID
@ CONVERSATION_CORRUPTION_QUEST_CREDIT_WARLOCK
@ CONVERSATION_READY_COMBAT_WARRIOR
@ CONVERSATION_SINISTER_STRIKE_THREE_ROGUE
@ EVENT_COMBAT_TRAINING_WALK_AND_TALK
@ CONVERSATION_FAILED_EVISCERATE_ROGUE
@ ACTOR_ID_ALLIANCE_ENHANCED_TRAINING
@ EVENT_COMBAT_TRAINING_RESET_SHAMAN
@ SPELL_SHIELD_OF_THE_RIGHTEOUS
@ CONVERSATION_SHIELD_SLAM_TWO_PALADIN
@ ACTOR_ID_HORDE_ENHANCED_TRAINING
@ CONVERSATION_SHADOW_WORD_PAIN_PRE_COMBAT_PRIEST
@ CONVERSATION_MOONFIRE_WEARING_OFF_DRUID
@ QUEST_OBJECTIVE_HORDE_TIGER_PALM
@ QUEST_ENHANCED_COMBAT_TACTICS_ALLIANCE
@ CONVERSATION_CRUSADER_STRIKE_TWO_PALADIN
@ SPELL_AGGRO_RADIUS_CHECK_DNT_WARLOCK
@ CONVERSATION_FIRE_BLAST_QUEST_CREDIT_MAGE
@ QUEST_OBJECTIVE_ALLIANCE_ABILITIES_PROVEN
@ CONVERSATION_FIRE_BLAST_MAGE_NO_CREDIT
@ POINT_TRAINING_POINT_ENHANCED_TRAINING
@ QUEST_ENHANCED_COMBAT_TACTICS_HORDE
@ CONVERSATION_FOUR_COMBO_EVISCERATE_ROGUE
@ CONVERSATION_SHADOW_BOLT_PRE_COMBAT_WARLOCK
@ CONVERSATION_CHARGE_FINAL_ENHANCED
@ CONVERSATION_FOUR_COMBO_POINTS_ROGUE
@ CONVERSATION_SHADOW_WORD_PAIN_FADING_PRIEST
@ CONVERSATION_SHIELD_SLAM_ONE_PALADIN
@ CONVERSATION_SINISTER_STRIKE_TWO_ROGUE
@ PATH_COMBAT_TRAINER_HOME
@ CONVERSATION_SLAM_ENHANCED
@ CONVERSATION_CORRUPTION_IS_FADING_WARLOCK
@ CONVERSATION_PRIMAL_STRIKE_FIRST_SHAMAN
@ EVENT_COMBAT_TRAINING_FACE_PLAYER
@ QUEST_OBJECTIVE_HORDE_ABILITIES_PROVEN
@ CONVERSATION_CHARGE_ZERO_RES_ENHANCED
@ CONVERSATION_LIGHTNINGBOLT_FIRST_SHAMAN
@ CHARGE_CATEGORY_CHARGE_SPELL
@ CONVERSATION_FROSTBOLT_MAGE
@ CONVERSATION_THREE_COMBO_POINTS_ROGUE
@ CONVERSATION_SHADOW_WORD_PAIN_QUEST_CREDIT_PRIEST
@ EVENT_COMBAT_TRAINING_AGGRO_CHECK_SHAMAN
@ QUEST_OBJECTIVE_ALLIANCE_BLACKOUT_KICK
@ SPELL_AGGRO_RADIUS_CHECK_DNT_PRIEST
@ CONVERSATION_FIVE_COMBO_POINTS_ROGUE
@ EVENT_COMBAT_TRAINING_SPELL_FADING
@ CONVERSATION_SINISTER_STRIKE_ONE_ROGUE
@ QUEST_OBJECTIVE_ALLIANCE_TIGER_PALM
@ POINT_WALK_POINT_ENHANCED_TRAINING
@ POINT_RUN_POINT_ENHANCED_TRAINING
@ CONVERSATION_WRATH_PRE_COMBAT_DRUID
@ SPELL_AGGRO_RADIUS_CHECK_DNT_WARRIOR
@ CONVERSATION_REGULAR_ATTACKS_ROGUE
@ PATH_GARRICK_TO_UPPER_DECK
@ NPC_WARLORD_BREKA_GRIMAXE3
@ NPC_WARLORD_BREKA_GRIMAXE2
@ EVENT_SHIP_CAPTAIN1_SCRIPT1
@ EVENT_SHIP_CAPTAIN1_SCRIPT2
@ EVENT_SHIP_CAPTAIN1_SCRIPT3
@ PATH_GRIMAXE_TO_UPPER_DECK
CreatureAI * MithdranBeachStandingAISelector(Creature *creature)
@ EVENT_RETURN_FROM_OGRE_RUINS
@ CONVERSATION_RIDE_FROM_OGRE_RUINS_HORDE
@ SPELL_SCENE_OGRE_RUINS_HORDE
@ EVENT_TRIGGER_CREW_MOVE
@ CONVERSATION_RIDE_TO_OGRE_RUINS_HORDE
@ SPELL_SCOUT_O_MATIC_PING_DNT
@ SPELL_SCENE_OGRE_RUINS_ALLIANCE
@ CONVERSATION_RIDE_FROM_OGRE_RUINS_ALLIANCE
@ EVENT_START_SCOUT_OGRE_RUINS
@ CONVERSATION_RIDE_TO_OGRE_RUINS_ALLIANCE
CreatureAI * GetPrivatePublicPairAISelector(Creature *creature)
static constexpr Position LanaWestwardBoundRuinsPos
@ QUEST_BRACE_FOR_IMPACT_ALLIANCE
@ QUEST_BRACE_FOR_IMPACT_HORDE
static Creature * FindCreatureIgnorePhase(WorldObject const *obj, std::string_view stringId, float range=100.0f)
BraceForImpactCaptainData
@ PATH_GRIMAXE_FROM_UPPER_DECK
@ PATH_GARRICK_TO_LOWER_DECK
@ EVENT_SHIP_CAPTAIN2_SCRIPT1
@ PATH_GARRICK_FROM_UPPER_DECK
@ EVENT_SHIP_CAPTAIN2_SCRIPT2
@ PATH_GRIMAXE_TO_LOWER_DECK
static constexpr Position InjuredNpcPositionAbandonedCamp
@ CONVERSATION_WARMING_UP_COMPLETE
@ CONVERSATION_WARMING_UP_ACCEPT
@ SPELL_ENHANCED_BOAR_KILL_CREDIT
@ QUEST_RIDE_ENHANCED_BOAR
@ SPELL_ENHANCED_BOAR_PING_VEHICLE
@ QUEST_RIDE_BOAR_OBJECTIVE_TWO_MAX
@ QUEST_RIDE_BOAR_OBJECTIVE_TWO
@ SPELL_ENHANCED_BOAR_TRAMPLE
@ SPELL_ENHANCED_BOAR_CHARGE
@ SPELL_ENHANCED_BOAR_KNOCKBACK
@ SPELL_ENHANCED_BOAR_KNOCKBACK_HINT
@ SPELL_ENHANCED_BOAR_CHARGE_CONVO
@ EVENT_COMPANION_RUN_TO_PIT
CreatureAI * KeeLaBeachStandingAISelector(Creature *creature)
QuilboarWarriorGeomancerData
@ SPELL_GEOMANCER_EARTH_BOLT
@ SPELL_QUILBOAR_SLEEP_DNT
@ EVENT_GEOMANCER_EARTH_BOLT
CreatureAI * LanaJordanBeachStandingAISelector(Creature *creature)
@ EVENT_CAPTAIN_GARRICK_RIDE_BOAR
@ CONVERSATION_CAPTAIN_GARRICK_RIDE_BOAR_QUEST_EXIT
@ CONVERSATION_CAPTAIN_GARRICK_RIDE_BOAR_QUEST_ACCEPT
@ EVENT_CAPTAIN_GARRICK_RIDE_BOAR_CHECK_OWNER
@ SPELL_PING_GARRICK_TO_RIDE_BOAR
@ EVENT_CAPTAIN_GARRICK_RIDE_BOAR_EXIT_BOAR_CONVERSATION
@ ACTOR_HENRY_GARRICK_PRISONER
@ EVENT_CAPTAIN_GARRICK_RIDE_BOAR_TALK_TO_HENRY
@ SPELL_RIDE_VEHICLE_CAPTIAN_BOAR
@ EVENT_CAPTAIN_GARRICK_RIDE_BOAR_HENRY_DESPAWN
@ CONVERSATION_CAPTAIN_GARRICK_RIDE_BOAR_QUEST_HENRY
CreatureAI * HordeCrewPlainsSelector(Creature *creature)
@ EVENT_GIANT_BOAR_SIZE_ONE
@ EVENT_GIANT_BOAR_EJECT_PASSENGERS
@ EVENT_GIANT_BOAR_SIZE_TWO
@ EVENT_GIANT_BOAR_SIZE_THREE
@ EVENT_GIANT_BOAR_UNROOT
@ EVENT_GIANT_BOAR_SIZE_FOUR
static constexpr Position AlariaWestwardBoundRuinsPos
@ QUEST_MURLOC_HIDEAWAY_BOOTS_DROPPED
@ ITEM_DENTED_PLATE_BOOTS
@ ITEM_STITCHED_LEATHER_BOOTS
@ ITEM_STITCHED_CLOTH_SHOES
@ ITEM_TORGOKS_REAGENT_POUCH
@ QUEST_TORGOKS_REAGENT_POUCH_DROPPED
static constexpr Position HuxworthBriarpatchDespawnPosition
BriarpathPlainsConversations
@ CONVERSATION_DOWN_WITH_THE_QUILLBOAR_COMPLETE_HORDE
@ CONVERSATION_DOWN_WITH_THE_QUILLBOAR_COMPLETE_ALLIANCE
CreatureAI * WansaRuinsSelector(Creature *creature)