110 pWeegli->AI()->DoAction(0);
197 return GetZulFarrakAI<npc_sergeant_blyAI>(creature);
235 crew->SetHomePosition(x, y, z, 0);
236 crew->GetMotionMaster()->MovePoint(1, x, y, z);
244 return GetZulFarrakAI<go_troll_cageAI>(go);
394 return GetZulFarrakAI<npc_weegli_blastfuseAI>(creature);
438 return GetZulFarrakAI<go_shallow_graveAI>(go);
@ TEMPSUMMON_CORPSE_TIMED_DESPAWN
uint32 urand(uint32 min, uint32 max)
void AddGossipItemFor(Player *player, GossipOptionNpc optionNpc, std::string text, uint32 sender, uint32 action)
void SendGossipMenuFor(Player *player, uint32 npcTextID, ObjectGuid const &guid)
void ClearGossipMenuFor(Player *player)
void InitGossipMenuFor(Player *player, uint32 menuId)
void CloseGossipMenuFor(Player *player)
@ FACTION_TROLL_FROSTMANE
@ FACTION_ESCORTEE_N_NEUTRAL_ACTIVE
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
void SetHomePosition(float x, float y, float z, float o)
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
uint32 GetUseCount() const
virtual ObjectGuid GetGuidData(uint32 type) const override
void DoUseDoorOrButton(ObjectGuid guid, uint32 withRestoreTime=0, bool useAlternativeState=false)
void MovePoint(uint32 id, Position const &pos, bool generatePath=true, Optional< float > finalOrient={}, Optional< float > speed={}, MovementWalkRunSpeedSelectionMode speedSelectionMode=MovementWalkRunSpeedSelectionMode::Default, Optional< float > closeEnoughDistance={})
static ObjectGuid GetGUID(Object const *o)
std::unique_ptr< PlayerMenu > PlayerTalkClass
void AttackStartCaster(Unit *victim, float dist)
SpellCastResult DoCastVictim(uint32 spellId, CastSpellExtraArgs const &args={})
bool IsWithinMeleeRange(Unit const *obj) const
void SetFaction(uint32 faction) override
MotionMaster * GetMotionMaster()
void SetSheath(SheathState sheathed)
bool isAttackReady(WeaponAttackType type=BASE_ATTACK) const
InstanceScript * GetInstanceScript() 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)
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
virtual uint32 GetData(uint32) const
virtual void SetData(uint32, uint32)
bool OnTrigger(Player *player, AreaTriggerEntry const *) override
GameObjectAI * GetAI(GameObject *go) const override
GameObjectAI * GetAI(GameObject *go) const override
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
TC_GAME_API Player * GetPlayer(Map const *, ObjectGuid const &guid)
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
constexpr float GetPositionX() const
constexpr float GetPositionY() const
constexpr float GetPositionZ() const
void AttackStart(Unit *) override
== Triggered Actions Requested ==================
bool OnGossipHello(Player *) override
go_shallow_graveAI(GameObject *go)
void initBlyCrewMember(uint32 entry, float x, float y, float z)
bool OnGossipHello(Player *) override
InstanceScript * instance
go_troll_cageAI(GameObject *go)
npc_sergeant_blyAI(Creature *creature)
void DoAction(int32) override
void switchFactionIfAlive(uint32 entry)
bool OnGossipHello(Player *player) override
bool OnGossipSelect(Player *player, uint32, uint32 gossipListId) override
InstanceScript * instance
void UpdateAI(uint32 diff) override
void AttackStart(Unit *victim) override
== Triggered Actions Requested ==================
InstanceScript * instance
void UpdateAI(uint32 diff) override
bool OnGossipSelect(Player *player, uint32, uint32 gossipListId) override
bool OnGossipHello(Player *player) override
void JustDied(Unit *) override
npc_weegli_blastfuseAI(Creature *creature)
void MovementInform(uint32, uint32) override
@ PYRAMID_ARRIVED_AT_STAIR
@ PYRAMID_KILLED_ALL_TROLLS