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

Public Member Functions

 go_empowering_blood_orb (GameObject *go)
 
void Reset () override
 
bool GossipHello (Player *player, bool) override
 
void HandleObjectUse ()
 
void SetGUID (ObjectGuid const &guid, int32 id) override
 
void UpdateAI (uint32 diff) override
 
- Public Member Functions inherited from GameObjectAI
 GameObjectAI (GameObject *go)
 
virtual ~GameObjectAI ()
 
virtual void InitializeAI ()
 
virtual void DoAction (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 *)
 

Private Attributes

TaskScheduler _scheduler
 
ObjectGuid _triggerGuid
 

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

go_empowering_blood_orb::go_empowering_blood_orb ( GameObject go)
inline
2455: GameObjectAI(go) {}
Definition GameObjectAI.h:33

Member Function Documentation

◆ GossipHello()

bool go_empowering_blood_orb::GossipHello ( Player player,
bool   
)
inlineoverridevirtual

Reimplemented from GameObjectAI.

2469 {
2472 return true;
2473 }
GameObject *const me
Definition GameObjectAI.h:35
void CastSpell(Unit *target, uint32 spell)
Definition GameObject.cpp:2083
@ SPELL_EMPOWERED_BLOOD
Definition icecrown_citadel.h:66
void HandleObjectUse()
Definition icecrown_citadel.cpp:2475

References GameObject::CastSpell(), HandleObjectUse(), GameObjectAI::me, and SPELL_EMPOWERED_BLOOD.

◆ HandleObjectUse()

void go_empowering_blood_orb::HandleObjectUse ( )
inline
2476 {
2478 me->SetGoAnimProgress(255);
2480
2482 trigger->DespawnOrUnsummon();
2483
2484 _scheduler.Schedule(3s, [this](TaskContext /*context*/)
2485 {
2486 me->Delete();
2487 });
2488 }
@ GO_STATE_ACTIVE_ALTERNATIVE
Definition GameObjectData.h:710
@ GO_FLAG_IN_USE
Definition SharedDefines.h:1607
Definition Creature.h:47
void SetGoState(GOState state)
Definition GameObject.cpp:2503
void SetGameObjectFlag(GameObjectFlags flags)
Definition GameObject.h:218
void Delete()
Definition GameObject.cpp:976
void SetGoAnimProgress(uint8 animprogress)
Definition GameObject.h:210
Definition TaskScheduler.h:422
TaskScheduler & Schedule(std::chrono::duration< _Rep, _Period > const &time, task_handler_t const &task)
Definition TaskScheduler.h:233
Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
Definition ObjectAccessor.cpp:234
TaskScheduler _scheduler
Definition icecrown_citadel.cpp:2507
ObjectGuid _triggerGuid
Definition icecrown_citadel.cpp:2508

References _scheduler, _triggerGuid, GameObject::Delete(), ObjectAccessor::GetCreature(), GO_FLAG_IN_USE, GO_STATE_ACTIVE_ALTERNATIVE, GameObjectAI::me, TaskScheduler::Schedule(), GameObject::SetGameObjectFlag(), GameObject::SetGoAnimProgress(), and GameObject::SetGoState().

Referenced by GossipHello(), and SetGUID().

◆ Reset()

void go_empowering_blood_orb::Reset ( )
inlineoverridevirtual

Reimplemented from GameObjectAI.

2458 {
2460 trigger->DespawnOrUnsummon();
2461
2463 _triggerGuid = trigger->GetGUID();
2464 else
2466 }
@ TEMPSUMMON_MANUAL_DESPAWN
Definition Object.h:56
void Clear()
Definition ObjectGuid.h:141
TempSummon * SummonCreature(uint32 id, Position const &pos, TempSummonType spwtype=TEMPSUMMON_MANUAL_DESPAWN, uint32 despwtime=0, uint32 vehId=0, SummonPropertiesEntry const *properties=nullptr, bool visibleBySummonerOnly=false) const
Definition Object.cpp:2448
@ NPC_ORB_VISUAL_STALKER
Definition icecrown_citadel.h:294
void GetPosition(float &x, float &y) const
Definition Position.h:126

References _triggerGuid, ObjectGuid::Clear(), ObjectAccessor::GetCreature(), Position::GetPosition(), GameObjectAI::me, NPC_ORB_VISUAL_STALKER, WorldObject::SummonCreature(), and TEMPSUMMON_MANUAL_DESPAWN.

◆ SetGUID()

void go_empowering_blood_orb::SetGUID ( ObjectGuid const &  guid,
int32  id 
)
inlineoverridevirtual

Reimplemented from GameObjectAI.

2491 {
2492 if (id == DATA_GUID)
2493 {
2494 if (Unit* target = ObjectAccessor::GetUnit(*me, guid))
2496
2498 }
2499 }
Definition Unit.h:665
@ DATA_GUID
Definition icecrown_citadel.cpp:303
@ SPELL_EMPOWERED_BLOOD_3
Definition icecrown_citadel.cpp:168
Unit * GetUnit(WorldObject const &, ObjectGuid const &guid)
Definition ObjectAccessor.cpp:223

References GameObject::CastSpell(), DATA_GUID, ObjectAccessor::GetUnit(), HandleObjectUse(), GameObjectAI::me, and SPELL_EMPOWERED_BLOOD_3.

◆ UpdateAI()

void go_empowering_blood_orb::UpdateAI ( uint32  diff)
inlineoverridevirtual

Reimplemented from GameObjectAI.

2502 {
2503 _scheduler.Update(diff);
2504 }
TaskScheduler & Update(success_t const &callback=EmptyCallback)
Definition TaskScheduler.cpp:27

References _scheduler, and TaskScheduler::Update().

Member Data Documentation

◆ _scheduler

TaskScheduler go_empowering_blood_orb::_scheduler
private

Referenced by HandleObjectUse(), and UpdateAI().

◆ _triggerGuid

ObjectGuid go_empowering_blood_orb::_triggerGuid
private

Referenced by HandleObjectUse(), and Reset().


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