55 { 191.296204f, -2839.329346f, 107.388f, 0.0f },
56 { 70.972466f, -2848.674805f, 109.459f, 0.0f }
61 { 166.630386f, -2824.780273f, 108.153f, 0.0f },
62 { 70.886589f, -2874.335449f, 116.675f, 0.0f }
126 for (
int i = 0; i < 2; ++i)
143 go->UseDoorOrButton();
@ TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN
#define INTERACTION_DISTANCE
virtual void JustAppeared()
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
void MovePoint(uint32 id, Position const &pos, bool generatePath=true, Optional< float > finalOrient={})
static Creature * ToCreature(Object *o)
static ObjectGuid GetGUID(Object const *o)
void GroupEventHappens(uint32 questId, WorldObject const *pEventObject)
uint32 GetQuestId() const
void DoMeleeAttackIfReady()
MotionMaster * GetMotionMaster()
bool SetWalk(bool enable)
GameObject * FindNearestGameObject(uint32 entry, float range, bool spawnedOnly=true) const
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)
CreatureAI * GetAI(Creature *creature) const override
void Start(bool isActiveAttacker=true, ObjectGuid playerGUID=ObjectGuid::Empty, Quest const *quest=nullptr, bool instantRespawn=false, bool canLoopPath=false)
bool HasEscortState(uint32 escortState)
void LoadPath(uint32 pathId)
Player * GetPlayerForEscort()
void JustSummoned(Creature *summoned) override
void UpdateEscortAI(uint32 diff) override
void JustAppeared() override
void OnQuestAccept(Player *player, Quest const *quest) override
npc_rinjiAI(Creature *creature)
void JustEngagedWith(Unit *who) override
void DoSpawnAmbush(bool _first)
void WaypointReached(uint32 waypointId, uint32) override
Position const AmbushMoveTo[]
static constexpr uint32 PATH_ESCORT_RINJI
Position const AmbushSpawn[]