Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
instance_razorfen_kraul.cpp
Go to the documentation of this file.
1/*
2* This file is part of Project SkyFire https://www.projectskyfire.org.
3* See LICENSE.md file for Copyright information
4*/
5
6/* ScriptData
7SDName: Instance_Razorfen_Kraul
8SD%Complete:
9SDComment:
10SDCategory: Razorfen Kraul
11EndScriptData */
12
13#include "ScriptMgr.h"
14#include "InstanceScript.h"
15#include "razorfen_kraul.h"
16#include "Player.h"
17
18#define WARD_KEEPERS_NR 2
19
21{
22public:
23 instance_razorfen_kraul() : InstanceMapScript("instance_razorfen_kraul", 47) { }
24
26 {
32
34 {
35 Map::PlayerList const& players = instance->GetPlayers();
36
37 if (!players.isEmpty())
38 {
39 for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
40 {
41 if (Player* player = itr->GetSource())
42 return player;
43 }
44 }
45 SF_LOG_DEBUG("scripts", "Instance Razorfen Kraul: GetPlayerInMap, but PlayerList is empty!");
46 return NULL;
47 }
48
50 {
51 switch (go->GetEntry())
52 {
53 case 21099: DoorWardGUID = go->GetGUID(); break;
54 case 20920: go->SetUInt32Value(GAMEOBJECT_FIELD_FACTION_TEMPLATE, 0); break; // big fat fugly hack
55 }
56 }
57
58 void Update(uint32 /*diff*/) OVERRIDE
59 {
61 {
62 if (GameObject* go = instance->GetGameObject(DoorWardGUID))
63 {
64 go->SetUInt32Value(GAMEOBJECT_FIELD_FLAGS, 33);
65 go->SetGoState(GOState::GO_STATE_ACTIVE);
66 }
67 }
68 }
69
70 void SetData(uint32 type, uint32 /*data*/) OVERRIDE
71 {
72 switch (type)
73 {
75 }
76 }
77 private:
80 };
81
86};
87
std::uint32_t uint32
Definition Define.h:77
#define OVERRIDE
Definition Define.h:60
std::uint64_t uint64
Definition Define.h:76
@ GO_STATE_ACTIVE
Definition GameObject.h:576
#define SF_LOG_DEBUG(filterType__,...)
Definition Log.h:134
@ GAMEOBJECT_FIELD_FACTION_TEMPLATE
@ GAMEOBJECT_FIELD_FLAGS
InstanceMapScript(const char *name, uint32 mapId)
InstanceScript(Map *map)
bool isEmpty() const
Definition LinkedList.h:86
Definition Map.h:238
MapRefManager PlayerList
Definition Map.h:406
iterator end()
iterator begin()
LinkedListHead::Iterator< MapReference const > const_iterator
InstanceScript * GetInstanceScript(InstanceMap *map) const OVERRIDE
void AddSC_instance_razorfen_kraul()
#define WARD_KEEPERS_NR
#define EVENT_WARD_KEEPER