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

Public Member Functions

 go_jotunheim_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_jotunheim_cage()

go_jotunheim_cage::go_jotunheim_cage ( )
inline
1353: GameObjectScript("go_jotunheim_cage") { }
Definition: GameObjectScript.h:25

Member Function Documentation

◆ OnGossipHello()

bool go_jotunheim_cage::OnGossipHello ( Player player,
GameObject go 
)
inlineoverridevirtual

Reimplemented from GameObjectScript.

1356 {
1357 go->UseDoorOrButton();
1358 Creature* pPrisoner = go->FindNearestCreature(NPC_EBON_BLADE_PRISONER_HUMAN, 5.0f, true);
1359 if (!pPrisoner)
1360 {
1361 pPrisoner = go->FindNearestCreature(NPC_EBON_BLADE_PRISONER_TROLL, 5.0f, true);
1362 if (!pPrisoner)
1363 {
1364 pPrisoner = go->FindNearestCreature(NPC_EBON_BLADE_PRISONER_ORC, 5.0f, true);
1365 if (!pPrisoner)
1366 pPrisoner = go->FindNearestCreature(NPC_EBON_BLADE_PRISONER_NE, 5.0f, true);
1367 }
1368 }
1369 if (!pPrisoner || !pPrisoner->IsAlive())
1370 return false;
1371
1372 pPrisoner->DespawnOrUnsummon();
1374 switch (pPrisoner->GetEntry())
1375 {
1377 player->CastSpell(player, SPELL_SUMMON_BLADE_KNIGHT_H, true);
1378 break;
1380 player->CastSpell(player, SPELL_SUMMON_BLADE_KNIGHT_NE, true);
1381 break;
1383 player->CastSpell(player, SPELL_SUMMON_BLADE_KNIGHT_TROLL, true);
1384 break;
1386 player->CastSpell(player, SPELL_SUMMON_BLADE_KNIGHT_ORC, true);
1387 break;
1388 }
1389 return true;
1390 }
@ NPC_EBON_BLADE_PRISONER_TROLL
Definition: go_scripts.cpp:1341
@ SPELL_SUMMON_BLADE_KNIGHT_NE
Definition: go_scripts.cpp:1345
@ NPC_EBON_BLADE_PRISONER_NE
Definition: go_scripts.cpp:1340
@ SPELL_SUMMON_BLADE_KNIGHT_H
Definition: go_scripts.cpp:1344
@ SPELL_SUMMON_BLADE_KNIGHT_ORC
Definition: go_scripts.cpp:1346
@ NPC_EBON_BLADE_PRISONER_ORC
Definition: go_scripts.cpp:1342
@ NPC_EBON_BLADE_PRISONER_HUMAN
Definition: go_scripts.cpp:1339
@ SPELL_SUMMON_BLADE_KNIGHT_TROLL
Definition: go_scripts.cpp:1347
Definition: Creature.h:46
void DespawnOrUnsummon(Milliseconds msTimeToDespawn, Seconds forcedRespawnTimer)
Definition: Creature.cpp:2173
void UseDoorOrButton(uint32 time_to_restore=0, bool alternative=false, Unit *user=nullptr)
Definition: GameObject.cpp:1429
uint32 GetEntry() const
Definition: Object.h:112
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
Definition: Object.cpp:2446
void KilledMonsterCredit(uint32 entry, ObjectGuid guid=ObjectGuid::Empty)
Definition: PlayerQuest.cpp:1921
bool IsAlive() const
Definition: Unit.h:1204
SpellCastResult CastSpell(SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=nullptr, AuraEffect const *triggeredByAura=nullptr, ObjectGuid originalCaster=ObjectGuid::Empty)
Definition: Unit.cpp:1168

References Unit::CastSpell(), Creature::DespawnOrUnsummon(), WorldObject::FindNearestCreature(), Object::GetEntry(), Unit::IsAlive(), Player::KilledMonsterCredit(), NPC_EBON_BLADE_PRISONER_HUMAN, NPC_EBON_BLADE_PRISONER_NE, NPC_EBON_BLADE_PRISONER_ORC, NPC_EBON_BLADE_PRISONER_TROLL, SPELL_SUMMON_BLADE_KNIGHT_H, SPELL_SUMMON_BLADE_KNIGHT_NE, SPELL_SUMMON_BLADE_KNIGHT_ORC, SPELL_SUMMON_BLADE_KNIGHT_TROLL, and GameObject::UseDoorOrButton().