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

Public Member Functions

 go_shadowforge_brazier (GameObject *go)
 
bool GossipHello (Player *, bool) 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 const &, 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 *)
 

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_shadowforge_brazier()

go_shadowforge_brazier::go_shadowforge_brazier ( GameObject go)
inline
40: GameObjectAI(go) {}
Definition GameObjectAI.h:33

Member Function Documentation

◆ GossipHello()

bool go_shadowforge_brazier::GossipHello ( Player ,
bool   
)
inlineoverridevirtual

Reimplemented from GameObjectAI.

43 {
44 if (InstanceScript* instance = me->GetInstanceScript())
45 {
46 GameObject* northBrazier = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_SF_BRAZIER_N));
47 GameObject* southBrazier = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_SF_BRAZIER_S));
48
49 if (!northBrazier || !southBrazier)
50 return false;
51
52 // should only happen on first brazier
53 if (instance->GetData(TYPE_LYCEUM) == NOT_STARTED)
54 instance->SetData(TYPE_LYCEUM, IN_PROGRESS);
55
56 // Check if the opposite brazier is lit - if it is, open the gates.
57 if ((me->GetGUID() == northBrazier->GetGUID() && southBrazier->GetGoState() == GO_STATE_ACTIVE) || (me->GetGUID() == southBrazier->GetGUID() && northBrazier->GetGoState() == GO_STATE_ACTIVE))
58 {
59 instance->SetData(TYPE_LYCEUM, DONE);
60 }
61 return false;
62 }
63 return false;
64 }
@ GO_STATE_ACTIVE
Definition GameObjectData.h:708
@ IN_PROGRESS
Definition InstanceScript.h:59
@ DONE
Definition InstanceScript.h:61
@ NOT_STARTED
Definition InstanceScript.h:58
@ TYPE_LYCEUM
Definition blackrock_depths.h:44
@ DATA_SF_BRAZIER_N
Definition blackrock_depths.h:65
@ DATA_SF_BRAZIER_S
Definition blackrock_depths.h:66
GameObject *const me
Definition GameObjectAI.h:35
Definition GameObject.h:120
GOState GetGoState() const
Definition GameObject.h:204
Definition InstanceScript.h:143
static ObjectGuid GetGUID(Object const *o)
Definition Object.h:114
InstanceScript * GetInstanceScript() const
Definition Object.cpp:1238
GameObject * GetGameObject(WorldObject const &u, ObjectGuid const &guid)
Definition ObjectAccessor.cpp:184

References DATA_SF_BRAZIER_N, DATA_SF_BRAZIER_S, DONE, ObjectAccessor::GetGameObject(), GameObject::GetGoState(), Object::GetGUID(), WorldObject::GetInstanceScript(), GO_STATE_ACTIVE, IN_PROGRESS, GameObjectAI::me, NOT_STARTED, and TYPE_LYCEUM.


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