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

Public Member Functions

 go_ulduar_working_harpoon ()
 
bool OnGossipHello (Player *user, GameObject *go) override
 
- Public Member Functions inherited from GameObjectScript
bool IsDatabaseBound () const override
 
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 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_ulduar_working_harpoon()

go_ulduar_working_harpoon::go_ulduar_working_harpoon ( )
inline
846: GameObjectScript("go_ulduar_working_harpoon") { }
Definition GameObjectScript.h:25

Member Function Documentation

◆ OnGossipHello()

bool go_ulduar_working_harpoon::OnGossipHello ( Player user,
GameObject go 
)
inlineoverridevirtual

Reimplemented from GameObjectScript.

849 {
850 if (!user || !go)
851 return true;
852
853 InstanceScript* pInstance = go->GetInstanceScript();
854 if (!pInstance)
855 return true;
856
857 Creature* rs = pInstance->GetCreature(BOSS_RAZORSCALE);
858
859 if (!rs || !rs->IsInCombat())
860 {
861 go->SetRespawnTime(0);
862 go->Delete();
863 return true;
864 }
865
866 uint32 spell = 0;
867 switch (go->GetEntry())
868 {
869 case GO_HARPOON_GUN_1: spell = SPELL_CHAIN_1; break;
870 case GO_HARPOON_GUN_2: spell = SPELL_CHAIN_2; break;
871 case GO_HARPOON_GUN_3: spell = SPELL_CHAIN_3; break;
872 case GO_HARPOON_GUN_4: spell = SPELL_CHAIN_4; break;
873 }
874
876 hfs->AI()->SetData(3, spell);
877
879 return true;
880 }
std::uint32_t uint32
Definition Define.h:107
@ GO_JUST_DEACTIVATED
Definition GameObject.h:113
@ GO_HARPOON_GUN_1
Definition boss_razorscale.cpp:76
@ GO_HARPOON_GUN_2
Definition boss_razorscale.cpp:77
@ GO_HARPOON_GUN_3
Definition boss_razorscale.cpp:78
@ GO_HARPOON_GUN_4
Definition boss_razorscale.cpp:79
@ SPELL_CHAIN_2
Definition boss_razorscale.cpp:44
@ SPELL_CHAIN_3
Definition boss_razorscale.cpp:45
@ SPELL_CHAIN_1
Definition boss_razorscale.cpp:43
@ SPELL_CHAIN_4
Definition boss_razorscale.cpp:46
Definition Creature.h:47
void Delete()
Definition GameObject.cpp:973
void SetLootState(LootState s, Unit *unit=nullptr)
Definition GameObject.cpp:2462
void SetRespawnTime(int32 respawn)
Definition GameObject.cpp:1284
Definition InstanceScript.h:143
Creature * GetCreature(uint32 type)
Definition InstanceScript.cpp:116
uint32 GetEntry() const
Definition Object.h:117
bool IsInCombat() const
Definition Unit.h:935
InstanceScript * GetInstanceScript() const
Definition Object.cpp:1238
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
Definition Object.cpp:2498
@ BOSS_RAZORSCALE
Definition ulduar.h:33
@ NPC_HARPOON_FIRE_STATE
Definition ulduar.h:177

References BOSS_RAZORSCALE, GameObject::Delete(), WorldObject::FindNearestCreature(), InstanceScript::GetCreature(), Object::GetEntry(), WorldObject::GetInstanceScript(), GO_HARPOON_GUN_1, GO_HARPOON_GUN_2, GO_HARPOON_GUN_3, GO_HARPOON_GUN_4, GO_JUST_DEACTIVATED, Unit::IsInCombat(), NPC_HARPOON_FIRE_STATE, GameObject::SetLootState(), GameObject::SetRespawnTime(), SPELL_CHAIN_1, SPELL_CHAIN_2, SPELL_CHAIN_3, and SPELL_CHAIN_4.


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