AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
go_dragonflayer_cage Class Reference
Inheritance diagram for go_dragonflayer_cage:
GameObjectScript ScriptObject UpdatableScript< GameObject >

Public Member Functions

 go_dragonflayer_cage ()
 
bool OnGossipHello (Player *player, GameObject *go) override
 
- Public Member Functions inherited from GameObjectScript
bool IsDatabaseBound () const override
 
virtual bool OnGossipHello (Player *, GameObject *)
 
virtual bool OnGossipSelect (Player *, GameObject *, uint32, uint32)
 
virtual bool OnGossipSelectCode (Player *, GameObject *, uint32, uint32, const char *)
 
virtual bool OnQuestAccept (Player *, GameObject *, Quest const *)
 
virtual bool OnQuestReward (Player *, GameObject *, Quest const *, uint32)
 
virtual uint32 GetDialogStatus (Player *, GameObject *)
 
virtual void OnDestroyed (GameObject *, Player *)
 
virtual void OnDamaged (GameObject *, Player *)
 
virtual void OnModifyHealth (GameObject *, Unit *, int32 &, SpellInfo const *)
 
virtual void OnLootStateChanged (GameObject *, uint32, Unit *)
 
virtual void OnGameObjectStateChanged (GameObject *, uint32)
 
virtual GameObjectAIGetAI (GameObject *) const
 
- Public Member Functions inherited from ScriptObject
virtual bool IsDatabaseBound () const
 
virtual bool isAfterLoadScript () const
 
virtual void checkValidity ()
 
const std::string & GetName () const
 
uint16 GetTotalAvailableHooks ()
 
- Public Member Functions inherited from UpdatableScript< GameObject >
virtual void OnUpdate (GameObject *, uint32)
 

Additional Inherited Members

- Protected Member Functions inherited from GameObjectScript
 GameObjectScript (const char *name)
 
- Protected Member Functions inherited from ScriptObject
 ScriptObject (const char *name, uint16 totalAvailableHooks=0)
 
virtual ~ScriptObject ()=default
 
- Protected Member Functions inherited from UpdatableScript< GameObject >
 UpdatableScript ()=default
 

Detailed Description

Constructor & Destructor Documentation

◆ go_dragonflayer_cage()

go_dragonflayer_cage::go_dragonflayer_cage ( )
inline
1569: GameObjectScript("go_dragonflayer_cage") { }
Definition: GameObjectScript.h:25

Member Function Documentation

◆ OnGossipHello()

bool go_dragonflayer_cage::OnGossipHello ( Player player,
GameObject go 
)
inlineoverridevirtual
Todo:
prisoner should help player for a short period of time

Reimplemented from GameObjectScript.

1572 {
1573 go->UseDoorOrButton();
1575 return true;
1576
1577 Creature* pPrisoner = go->FindNearestCreature(NPC_PRISONER_PRIEST, 2.0f);
1578 if (!pPrisoner)
1579 {
1580 pPrisoner = go->FindNearestCreature(NPC_PRISONER_MAGE, 2.0f);
1581 if (!pPrisoner)
1582 {
1583 pPrisoner = go->FindNearestCreature(NPC_PRISONER_WARRIOR, 2.0f);
1584 if (!pPrisoner)
1585 pPrisoner = go->FindNearestCreature(NPC_PRISONER_PALADIN, 2.0f);
1586 }
1587 }
1588
1589 if (!pPrisoner || !pPrisoner->IsAlive())
1590 return true;
1591
1592 Quest const* qInfo = sObjectMgr->GetQuestTemplate(QUEST_PRISONERS_OF_WYRMSKULL);
1593 if (qInfo)
1594 {
1596 player->KilledMonsterCredit(qInfo->RequiredNpcOrGo[0]);
1597 pPrisoner->DisappearAndDie();
1598 }
1599 return true;
1600 }
@ NPC_PRISONER_PALADIN
Definition: go_scripts.cpp:1563
@ NPC_PRISONER_MAGE
Definition: go_scripts.cpp:1561
@ QUEST_PRISONERS_OF_WYRMSKULL
Definition: go_scripts.cpp:1559
@ NPC_PRISONER_WARRIOR
Definition: go_scripts.cpp:1562
@ NPC_PRISONER_PRIEST
Definition: go_scripts.cpp:1560
#define sObjectMgr
Definition: ObjectMgr.h:1635
@ QUEST_STATUS_INCOMPLETE
Definition: QuestDef.h:103
Definition: Creature.h:43
void DisappearAndDie()
Definition: Creature.cpp:370
void UseDoorOrButton(uint32 time_to_restore=0, bool alternative=false, Unit *user=nullptr)
Definition: GameObject.cpp:1431
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
Definition: Object.cpp:2457
void KilledMonsterCredit(uint32 entry, ObjectGuid guid=ObjectGuid::Empty)
Definition: PlayerQuest.cpp:1926
QuestStatus GetQuestStatus(uint32 quest_id) const
Definition: PlayerQuest.cpp:1429
bool IsAlive() const
Definition: Unit.h:1654
Definition: QuestDef.h:210
int32 RequiredNpcOrGo[QUEST_OBJECTIVES_COUNT]
Definition: QuestDef.h:304

References Creature::DisappearAndDie(), WorldObject::FindNearestCreature(), Player::GetQuestStatus(), Unit::IsAlive(), Player::KilledMonsterCredit(), NPC_PRISONER_MAGE, NPC_PRISONER_PALADIN, NPC_PRISONER_PRIEST, NPC_PRISONER_WARRIOR, QUEST_PRISONERS_OF_WYRMSKULL, QUEST_STATUS_INCOMPLETE, Quest::RequiredNpcOrGo, sObjectMgr, and GameObject::UseDoorOrButton().