179 if (!privateObjectOwner)
252 if (!privateObjectOwner)
298 creature->DespawnOrUnsummon();
479 if (!arkonarinObject || !lysanderObject)
484 if (!arkonarinClone || !lysanderClone)
std::chrono::milliseconds Milliseconds
Milliseconds shorthand typedef.
@ TEMPSUMMON_MANUAL_DESPAWN
@ QUEST_STATUS_INCOMPLETE
#define RegisterCreatureAI(ai_name)
#define RegisterSpellAndAuraScriptPair(script_1, script_2)
#define RegisterAreaTriggerAI(ai_name)
#define RegisterSpellScript(spell_script)
#define RegisterConversationAI(ai_name)
Creature * GetClosestCreatureWithOptions(WorldObject *source, float maxSearchRange, FindCreatureOptions const &options)
void CloseGossipMenuFor(Player *player)
@ SPELL_EFFECT_SCRIPT_EFFECT
@ SPELL_EFFECT_APPLY_AURA
@ AURA_EFFECT_HANDLE_REAL
@ TRIGGERED_IGNORE_CAST_IN_PROGRESS
Will not check if a current cast is in progress.
@ TRIGGERED_DONT_REPORT_CAST_ERROR
Will return SPELL_FAILED_DONT_REPORT in CheckCast functions.
#define SpellEffectFn(F, I, N)
#define AuraEffectRemoveFn(F, I, N, M)
NPCFlags
Non Player Character flags.
@ UNIT_NPC_FLAG_QUESTGIVER
@ CURRENT_CHANNELED_SPELL
int32 GetAmountAsInt() 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)
LocaleConstant GetPrivateObjectOwnerLocale() const
static Conversation * CreateConversation(uint32 conversationEntry, Unit *creator, Position const &pos, ObjectGuid privateObjectOwner, SpellInfo const *spellInfo=nullptr, bool autoStart=true)
Milliseconds const * GetLineStartTime(LocaleConstant locale, int32 lineId) const
Creature * GetActorCreature(uint32 actorIdx) const
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
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={})
static bool OnConditionChange(WorldObject *object, bool updateVisibility=true)
void KilledMonsterCredit(uint32 entry, ObjectGuid guid=ObjectGuid::Empty)
QuestStatus GetQuestStatus(uint32 quest_id) const
uint32 GetQuestId() const
AncientCursesConversationEvents
@ EVENT_LYSANDER_START_PATH
@ EVENT_ARKONARIN_START_PATH
conversation_quest_ancient_curses_accept(Conversation *conversation)
void OnCreate(Unit *creator) override
void OnUpdate(uint32 diff) override
AncientCursesConversationData
@ CONVO_LINE_ARKONARIN_START_PATH
@ CONVO_LINE_LYSANDER_START_PATH
void OnCreate(Unit *creator) override
void OnUpdate(uint32 diff) override
conversation_start_council_tides_of_war(Conversation *conversation)
@ CONVO_LINE_JAINA_CREDIT
player_conv_after_movie_tides_of_war()
void OnMovieComplete(Player *player, uint32 movieId) override
void HandleHitTarget(SpellEffIndex) const
bool Validate(SpellInfo const *) override
void HandleHitTarget(SpellEffIndex)
static constexpr std::array< uint32, 4 > QuestsToSkip
void HandleHitTarget(SpellEffIndex) const
void OnApply(AuraEffect const *aurEff, AuraEffectHandleModes)
bool Validate(SpellInfo const *spellInfo) override
bool Validate(SpellInfo const *) override
void HandleHitTarget(SpellEffIndex) const
bool Validate(SpellInfo const *) override
void HandleAfterEffectRemove(AuraEffect const *, AuraEffectHandleModes) const
bool Validate(SpellInfo const *) override
void HandleAfterEffectRemove(AuraEffect const *, AuraEffectHandleModes) const
void HandleHitTarget(SpellEffIndex) const
bool Validate(SpellInfo const *) override
int32 CalcValueAsInt(WorldObject const *caster=nullptr, SpellEffectValue const *basePoints=nullptr, Unit const *target=nullptr, float *variance=nullptr, uint32 castItemId=0, int32 itemLevel=-1) const
SpellEffectInfo const & GetEffect(SpellEffIndex index) const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
Unit * GetHitUnit() const
HookList< EffectHandler > OnEffectHitTarget
TaskContext & Schedule(TaskScheduler::duration_t time, TaskScheduler::task_handler_t task)
TaskScheduler & Schedule(duration_t time, task_handler_t task)
TaskScheduler & Update()
Update the scheduler to the current time.
SpellCastResult DoCastSelf(uint32 spellId, CastSpellExtraArgs const &args={})
virtual void DoAction(int32 param)
SpellCastResult DoCastAOE(uint32 spellId, CastSpellExtraArgs const &args={})
void CancelTravelShapeshiftForm(AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT, bool force=false)
MotionMaster * GetMotionMaster()
void RemoveNpcFlag(NPCFlags flags)
bool SetDisableGravity(bool disable, bool updateAnimTier=true)
void CancelMountAura(bool force=false)
bool SetWalk(bool enable)
void SetFacingTo(float const ori, bool force=true)
void SetMountDisplayId(uint32 mountDisplayId)
void InterruptSpell(CurrentSpellTypes spellType, bool withDelayed=true, bool withInstant=true)
TempSummon * SummonPersonalClone(Position const &pos, TempSummonType despawnType=TEMPSUMMON_MANUAL_DESPAWN, Milliseconds despawnTime=0s, uint32 vehId=0, uint32 spellId=0, Player *privateObjectOwner=nullptr)
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)
TC_GAME_API Unit * GetUnit(WorldObject const &, ObjectGuid const &guid)
static constexpr uint32 TeleportTimer
static constexpr uint32 FadeToBlack
static constexpr uint32 TheMissionTeleportPlayer
static constexpr uint32 MOPAllianceIntroMoviePlay
static constexpr uint32 TeleportPrep
@ CONVERSATION_JAINA_LEAVE_COUNCIL
@ QUEST_NATION_OF_KULTIRAS
@ QUEST_NATION_OF_KULTIRAS_NPE
@ SPELL_BORALUS_TRANSITION_MOVIE
@ SAY_JAINA_LEAVE_COUNCIL
@ GOSSIP_OPTION_SKIP_KULTIRAS_INTRO
@ SPELL_BORALUS_TRANSITION
@ GOSSIP_MENU_NATION_OF_KULTIRAS
@ SPELL_SKIP_KULTIRAS_INTRO
@ SPELL_SKIP_TOLDAGOR_TELEPORT
@ GOSSIP_OPTION_START_KULTIRAS_INTRO
@ ACTION_JAINA_LEAVE_COUNCIL
@ QUEST_DAUGHTER_OF_THE_SEA
@ NPC_ARKONARIN_STARSHADE
@ DISPLAY_ID_STARSHADE_MOUNT
@ PATH_ARKONARIN_FLY_TO_FELWOOD
@ CONVERSATION_ANCIENT_CURSES
@ PATH_ARKONARIN_WALK_TO_MOUNT_UP
@ POINT_LYSANDER_STEP_TO_DOOR
@ PATH_LYSANDER_FLY_TO_FELWOOD
@ PATH_LYSANDER_WALK_TO_MOUNT_UP
@ SPELL_JAINA_ARCANE_CHANNEL
@ MOVIE_POST_TIDES_OF_WAR
@ NPC_VISION_OF_SAILORS_MEMORY
@ NPC_ANDUIN_TIDES_OF_WAR
@ SPELL_CONVO_POST_MOVIE_TIDES_OF_WAR
@ CONVERSATION_START_COUNCIL_TIDES_OF_WAR
@ PATH_JAINA_VISION_FINISH
@ QUEST_OBJECTIVE_ATTEND_COUNCIL
@ PATH_JAINA_VISION_START
Position const VisionOfSailorsMemoryPosition
Position const LysanderWalkToTheDoor
constexpr void GetPosition(float &x, float &y) const
void OnUnitEnter(Unit *unit) override
at_stormwind_keep_tides_of_war(AreaTrigger *areatrigger)
void OnQuestAccept(Player *player, Quest const *quest) override
npc_anduin_wrynn_nation_of_kultiras(Creature *creature)
void WaypointPathEnded(uint32, uint32 pathId) override
void UpdateAI(uint32 diff) override
void OnQuestAccept(Player *player, Quest const *quest) override
npc_arkonarin_starshade_ancient_curses(Creature *creature)
void WaypointPathEnded(uint32, uint32 pathId) override
npc_jaina_proudmoore_tides_of_war(Creature *creature)
void UpdateAI(uint32 diff) override
bool OnGossipSelect(Player *player, uint32 menuId, uint32 gossipListId) override
void DoAction(int32 action) override
npc_lysande_starshade_ancient_curses(Creature *creature)
void WaypointPathEnded(uint32, uint32 pathId) override
void UpdateAI(uint32 diff) override
void AddSC_stormwind_city()