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

Public Member Functions

 go_brazier_of_madness (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 GossipHello (Player *, bool)
 
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 *)
 

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

go_brazier_of_madness::go_brazier_of_madness ( GameObject go)
inline
216: GameObjectAI(go) { }
Definition: GameObjectAI.h:34

Member Function Documentation

◆ GossipHello()

bool go_brazier_of_madness::GossipHello ( Player ,
bool  reportUse 
)
inlineoverridevirtual

Reimplemented from GameObjectAI.

219 {
220 if (reportUse)
221 {
222 return true;
223 }
224
225 if (InstanceScript* instanceScript = me->GetInstanceScript())
226 {
227 if (instanceScript->GetGuidData(DATA_EDGE_OF_MADNESS))
228 {
229 return false;
230 }
231 }
232
233 uint32 bossEntry = 0;
234 for (uint8 i = 0; i < 4; ++i)
235 {
236 if (sGameEventMgr->IsActiveEvent(BrazierOfMadnessContainer[i].first))
237 {
238 bossEntry = BrazierOfMadnessContainer[i].second;
239 break;
240 }
241 }
242
243 if (bossEntry)
244 {
246 }
247
248 return false;
249 }
constexpr auto IN_MILLISECONDS
Definition: Common.h:55
constexpr auto HOUR
Definition: Common.h:50
std::uint8_t uint8
Definition: Define.h:110
std::uint32_t uint32
Definition: Define.h:108
@ TEMPSUMMON_CORPSE_TIMED_DESPAWN
Definition: Object.h:47
#define sGameEventMgr
Definition: GameEventMgr.h:186
Position const edgeOfMagnessSummonPos
Definition: instance_zulgurub.cpp:212
std::vector< std::pair< uint32, uint32 > > BrazierOfMadnessContainer
Definition: instance_zulgurub.cpp:204
@ DATA_EDGE_OF_MADNESS
Definition: zulgurub.h:40
GameObject *const me
Definition: GameObjectAI.h:36
TempSummon * SummonCreature(uint32 id, const Position &pos, TempSummonType spwtype=TEMPSUMMON_MANUAL_DESPAWN, uint32 despwtime=0, uint32 vehId=0, SummonPropertiesEntry const *properties=nullptr, bool visibleBySummonerOnly=false) const
Definition: Object.cpp:2343
InstanceScript * GetInstanceScript() const
Definition: Object.cpp:1192
Definition: InstanceScript.h:141

References BrazierOfMadnessContainer, DATA_EDGE_OF_MADNESS, edgeOfMagnessSummonPos, WorldObject::GetInstanceScript(), HOUR, IN_MILLISECONDS, GameObjectAI::me, sGameEventMgr, WorldObject::SummonCreature(), and TEMPSUMMON_CORPSE_TIMED_DESPAWN.