@ TEMPSUMMON_MANUAL_DESPAWN
#define RegisterConversationAI(ai_name)
Creature * GetClosestCreatureWithOptions(WorldObject *source, float maxSearchRange, FindCreatureOptions const &options)
NPCFlags
Non Player Character flags.
@ UNIT_NPC_FLAG_QUESTGIVER
ObjectGuid const & GetGUID() const
Conversation *const conversation
ConversationAI(Conversation *c, uint32 scriptId={}) noexcept
void AddActor(int32 actorId, uint32 actorIdx, ObjectGuid const &actorGuid)
LocaleConstant GetPrivateObjectOwnerLocale() const
Milliseconds GetLastLineEndTime(LocaleConstant locale) const
Creature * GetActorCreature(uint32 actorIdx) const
void AddEvent(BasicEvent *event, Milliseconds e_time, bool set_addtime=true)
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={})
MotionMaster * GetMotionMaster()
void RemoveNpcFlag(NPCFlags flags)
void SetUninteractible(bool apply)
TempSummon * SummonPersonalClone(Position const &pos, TempSummonType despawnType=TEMPSUMMON_MANUAL_DESPAWN, Milliseconds despawnTime=0s, uint32 vehId=0, uint32 spellId=0, Player *privateObjectOwner=nullptr)
void OnCreate(Unit *creator) override
ConversationPreciousGemsIntro
@ EVENT_NATALIA_START_INTRO_PATH
void OnCreate(Unit *creator) override
constexpr void GetPosition(float &x, float &y) const
@ NPC_NATALIA_PEARCES_FREYWOLD
@ CONVO_ACTOR_NATALIA_FREYWOLD
@ NPC_NATALIA_PEARCES_INSIDE_BASALTEOUS
@ PATH_NATALIA_CLONE_FREYWOLD
@ CONVO_ACTOR_NATALIA_BASALTEOUS_CAVE
@ PATH_NATALIA_CLONE_BASALTEOUS_CAVE
void AddSC_zone_isle_of_dorn()
constexpr Position NataliaSpawnPos