AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
go_troll_cage::go_troll_cageAI Struct Reference
Inheritance diagram for go_troll_cage::go_troll_cageAI:
GameObjectAI

Public Member Functions

 go_troll_cageAI (GameObject *go)
 
bool GossipHello (Player *, bool reportUse) override
 
- Public Member Functions inherited from GameObjectAI
 GameObjectAI (GameObject *go)
 
virtual ~GameObjectAI ()
 
virtual void UpdateAI (uint32)
 
virtual void InitializeAI ()
 
virtual void Reset ()
 
virtual void DoAction (int32)
 
virtual void SetGUID (ObjectGuid, int32)
 
virtual ObjectGuid GetGUID (int32) const
 
virtual bool GossipSelect (Player *, uint32, uint32)
 
virtual bool GossipSelectCode (Player *, uint32, uint32, char const *)
 
virtual bool QuestAccept (Player *, Quest const *)
 
virtual bool QuestReward (Player *, Quest const *, uint32)
 
virtual uint32 GetDialogStatus (Player *)
 
virtual void Destroyed (Player *, uint32)
 
virtual uint32 GetData (uint32) const
 
virtual void SetData (uint32, uint32)
 
virtual void OnGameEvent (bool, uint16)
 
virtual void OnStateChanged (uint32, Unit *)
 
virtual void EventInform (uint32)
 
virtual void SpellHit (Unit *, SpellInfo const *)
 
virtual bool CanBeSeen (Player const *)
 
virtual void JustSummoned (Creature *)
 
virtual void SummonedCreatureDespawn (Creature *)
 
virtual void SummonedCreatureDies (Creature *, Unit *)
 
virtual void SummonedCreatureEvade (Creature *)
 

Public Attributes

InstanceScriptinstance
 

Private Member Functions

void initBlyCrewMember (uint32 entry, float x, float y, float z)
 

Additional Inherited Members

- Static Public Member Functions inherited from GameObjectAI
static int32 Permissible (GameObject const *go)
 
- Protected Attributes inherited from GameObjectAI
GameObject *const me
 

Detailed Description

Constructor & Destructor Documentation

◆ go_troll_cageAI()

go_troll_cage::go_troll_cageAI::go_troll_cageAI ( GameObject go)
inline
Definition GameObjectAI.h:33
InstanceScript * GetInstanceScript() const
Definition Object.cpp:1203
InstanceScript * instance
Definition zulfarrak.cpp:309

Member Function Documentation

◆ GossipHello()

bool go_troll_cage::go_troll_cageAI::GossipHello ( Player ,
bool  reportUse 
)
inlineoverridevirtual

Reimplemented from GameObjectAI.

312 {
313 if (reportUse)
314 {
315 return true;
316 }
317
319
320 //setting gossip option as soon as the cages open
322 {
323 bly->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
324 }
325
327 {
328 weegli->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
329 }
330
331 //set bly & co to aggressive & start moving to top of stairs
332 initBlyCrewMember(NPC_BLY, 1884.99f, 1263, 41.52f);
333 initBlyCrewMember(NPC_RAVEN, 1882.5f, 1263, 41.52f);
334 initBlyCrewMember(NPC_ORO, 1886.47f, 1270.68f, 41.68f);
335 initBlyCrewMember(NPC_WEEGLI, 1890, 1263, 41.52f);
336 initBlyCrewMember(NPC_MURTA, 1891.19f, 1272.03f, 41.60f);
337 return false;
338 }
@ UNIT_NPC_FLAG_GOSSIP
Definition UnitDefines.h:315
Definition Creature.h:43
GameObject *const me
Definition GameObjectAI.h:35
ObjectGuid GetGuidData(uint32 type) const override
Definition InstanceScript.cpp:110
virtual void SetData(uint32, uint32)
Definition ZoneScript.h:52
Creature * GetCreature(WorldObject const &u, ObjectGuid const guid)
Definition ObjectAccessor.cpp:210
void initBlyCrewMember(uint32 entry, float x, float y, float z)
Definition zulfarrak.cpp:341
@ DATA_PYRAMID
Definition zulfarrak.h:51
@ PYRAMID_CAGES_OPEN
Definition zulfarrak.h:58
@ NPC_WEEGLI
Definition zulfarrak.h:40
@ NPC_ORO
Definition zulfarrak.h:39
@ NPC_MURTA
Definition zulfarrak.h:41
@ NPC_BLY
Definition zulfarrak.h:37
@ NPC_RAVEN
Definition zulfarrak.h:38

References DATA_PYRAMID, ObjectAccessor::GetCreature(), InstanceScript::GetGuidData(), initBlyCrewMember(), instance, GameObjectAI::me, NPC_BLY, NPC_MURTA, NPC_ORO, NPC_RAVEN, NPC_WEEGLI, PYRAMID_CAGES_OPEN, ZoneScript::SetData(), and UNIT_NPC_FLAG_GOSSIP.

◆ initBlyCrewMember()

void go_troll_cage::go_troll_cageAI::initBlyCrewMember ( uint32  entry,
float  x,
float  y,
float  z 
)
inlineprivate
342 {
344 {
345 crew->SetReactState(REACT_AGGRESSIVE);
346 crew->SetWalk(true);
347 crew->SetHomePosition(x, y, z, 4.78f);
348 crew->GetMotionMaster()->MovePoint(1, { x, y, z, 4.78f });
349 crew->SetFaction(FACTION_ESCORT_N_NEUTRAL_ACTIVE);
350
351 }
352 }
@ FACTION_ESCORT_N_NEUTRAL_ACTIVE
Definition ScriptSystem.h:37
@ REACT_AGGRESSIVE
Definition Unit.h:551

References FACTION_ESCORT_N_NEUTRAL_ACTIVE, ObjectAccessor::GetCreature(), InstanceScript::GetGuidData(), instance, GameObjectAI::me, and REACT_AGGRESSIVE.

Referenced by GossipHello().

Member Data Documentation

◆ instance

InstanceScript* go_troll_cage::go_troll_cageAI::instance

Referenced by GossipHello(), and initBlyCrewMember().


The documentation for this struct was generated from the following file: