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

Public Member Functions

 go_panther_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 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
 
- 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)
 
virtual ~ScriptObject ()=default
 
- Protected Member Functions inherited from UpdatableScript< GameObject >
 UpdatableScript ()=default
 

Detailed Description

Constructor & Destructor Documentation

◆ go_panther_cage()

go_panther_cage::go_panther_cage ( )
inline
331: GameObjectScript("go_panther_cage") { }
Definition: ScriptMgr.h:759

Member Function Documentation

◆ OnGossipHello()

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

Reimplemented from GameObjectScript.

334 {
335 go->UseDoorOrButton();
336 if (player->GetQuestStatus(5151) == QUEST_STATUS_INCOMPLETE)
337 {
338 if (Creature* panther = go->FindNearestCreature(ENRAGED_PANTHER, 5, true))
339 {
340 panther->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
341 panther->SetReactState(REACT_AGGRESSIVE);
342 panther->AI()->AttackStart(player);
343 }
344 }
345
346 return true;
347 }
@ REACT_AGGRESSIVE
Definition: Unit.h:1025
@ UNIT_FLAG_NON_ATTACKABLE
Definition: Unit.h:449
@ QUEST_STATUS_INCOMPLETE
Definition: QuestDef.h:103
@ ENRAGED_PANTHER
Definition: zone_thousand_needles.cpp:325
Definition: Creature.h:46
void UseDoorOrButton(uint32 time_to_restore=0, bool alternative=false, Unit *user=nullptr)
Definition: GameObject.cpp:1427
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
Definition: Object.cpp:2409
QuestStatus GetQuestStatus(uint32 quest_id) const
Definition: PlayerQuest.cpp:1414

References ENRAGED_PANTHER, WorldObject::FindNearestCreature(), Player::GetQuestStatus(), QUEST_STATUS_INCOMPLETE, REACT_AGGRESSIVE, UNIT_FLAG_NON_ATTACKABLE, and GameObject::UseDoorOrButton().