Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
OutdoorPvPMgr.h
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
#ifndef OUTDOOR_PVP_MGR_H_
7
#define OUTDOOR_PVP_MGR_H_
8
9
#define OUTDOORPVP_OBJECTIVE_UPDATE_INTERVAL 1000
10
11
#include "
OutdoorPvP.h
"
12
#include "
Platform/Singleton.h
"
13
14
class
Player
;
15
class
GameObject
;
16
class
Creature
;
17
class
ZoneScript
;
18
struct
GossipMenuItems
;
19
20
struct
OutdoorPvPData
21
{
22
OutdoorPvPTypes
TypeId
;
23
uint32
ScriptId
;
24
};
25
26
// class to handle player enter / leave / areatrigger / GO use events
27
class
OutdoorPvPMgr
28
{
29
friend
class
Skyfire::Singleton
<
OutdoorPvPMgr
,
Skyfire
::NullMutex>;
30
31
private
:
32
OutdoorPvPMgr
() :
m_UpdateTimer
(0) { };
33
~OutdoorPvPMgr
() { };
34
35
public
:
36
// create outdoor pvp events
37
void
InitOutdoorPvP
();
38
39
// cleanup
40
void
Die
();
41
42
// called when a player enters an outdoor pvp area
43
void
HandlePlayerEnterZone
(
Player
* player,
uint32
areaflag);
44
45
// called when player leaves an outdoor pvp area
46
void
HandlePlayerLeaveZone
(
Player
* player,
uint32
areaflag);
47
48
// called when player resurrects
49
void
HandlePlayerResurrects
(
Player
* player,
uint32
areaflag);
50
51
// return assigned outdoor pvp
52
OutdoorPvP
*
GetOutdoorPvPToZoneId
(
uint32
zoneid);
53
54
// handle custom (non-exist in dbc) spell if registered
55
bool
HandleCustomSpell
(
Player
* player,
uint32
spellId,
GameObject
* go);
56
57
// handle custom go if registered
58
bool
HandleOpenGo
(
Player
* player,
uint64
guid);
59
60
ZoneScript
*
GetZoneScript
(
uint32
zoneId);
61
62
void
AddZone
(
uint32
zoneid,
OutdoorPvP
* handle);
63
64
void
Update
(
uint32
diff);
65
66
void
HandleGossipOption
(
Player
* player,
uint64
guid,
uint32
gossipid);
67
68
bool
CanTalkTo
(
Player
* player,
Creature
* creature,
GossipMenuItems
const
& gso);
69
70
void
HandleDropFlag
(
Player
* player,
uint32
spellId);
71
72
private
:
73
typedef
std::vector<OutdoorPvP*>
OutdoorPvPSet
;
74
typedef
std::map<
uint32
/* zoneid */
,
OutdoorPvP
*>
OutdoorPvPMap
;
75
typedef
std::map<OutdoorPvPTypes, OutdoorPvPData*>
OutdoorPvPDataMap
;
76
77
// contains all initiated outdoor pvp events
78
// used when initing / cleaning up
79
OutdoorPvPSet
m_OutdoorPvPSet
;
80
81
// maps the zone ids to an outdoor pvp event
82
// used in player event handling
83
OutdoorPvPMap
m_OutdoorPvPMap
;
84
85
// Holds the outdoor PvP templates
86
OutdoorPvPDataMap
m_OutdoorPvPDatas
;
87
88
// update interval
89
uint32
m_UpdateTimer
;
90
};
91
92
#define sOutdoorPvPMgr Skyfire::Singleton<OutdoorPvPMgr, Skyfire::NullMutex>::instance()
93
94
#endif
/*OUTDOOR_PVP_MGR_H_*/
uint32
std::uint32_t uint32
Definition
Define.h:77
uint64
std::uint64_t uint64
Definition
Define.h:76
OutdoorPvP.h
OutdoorPvPTypes
OutdoorPvPTypes
Definition
OutdoorPvP.h:17
Singleton.h
Creature
Definition
Creature.h:427
GameObject
Definition
GameObject.h:629
OutdoorPvP
Definition
OutdoorPvP.h:177
OutdoorPvPMgr::HandleCustomSpell
bool HandleCustomSpell(Player *player, uint32 spellId, GameObject *go)
Definition
OutdoorPvPMgr.cpp:146
OutdoorPvPMgr::HandleGossipOption
void HandleGossipOption(Player *player, uint64 guid, uint32 gossipid)
Definition
OutdoorPvPMgr.cpp:175
OutdoorPvPMgr::OutdoorPvPSet
std::vector< OutdoorPvP * > OutdoorPvPSet
Definition
OutdoorPvPMgr.h:73
OutdoorPvPMgr::m_OutdoorPvPMap
OutdoorPvPMap m_OutdoorPvPMap
Definition
OutdoorPvPMgr.h:83
OutdoorPvPMgr::GetZoneScript
ZoneScript * GetZoneScript(uint32 zoneId)
Definition
OutdoorPvPMgr.cpp:156
OutdoorPvPMgr::HandleOpenGo
bool HandleOpenGo(Player *player, uint64 guid)
Definition
OutdoorPvPMgr.cpp:165
OutdoorPvPMgr::AddZone
void AddZone(uint32 zoneid, OutdoorPvP *handle)
Definition
OutdoorPvPMgr.cpp:92
OutdoorPvPMgr::HandlePlayerLeaveZone
void HandlePlayerLeaveZone(Player *player, uint32 areaflag)
Definition
OutdoorPvPMgr.cpp:110
OutdoorPvPMgr::~OutdoorPvPMgr
~OutdoorPvPMgr()
Definition
OutdoorPvPMgr.h:33
OutdoorPvPMgr::OutdoorPvPMgr
OutdoorPvPMgr()
Definition
OutdoorPvPMgr.h:32
OutdoorPvPMgr::OutdoorPvPDataMap
std::map< OutdoorPvPTypes, OutdoorPvPData * > OutdoorPvPDataMap
Definition
OutdoorPvPMgr.h:75
OutdoorPvPMgr::Die
void Die()
Definition
OutdoorPvPMgr.cpp:12
OutdoorPvPMgr::m_OutdoorPvPSet
OutdoorPvPSet m_OutdoorPvPSet
Definition
OutdoorPvPMgr.h:79
OutdoorPvPMgr::CanTalkTo
bool CanTalkTo(Player *player, Creature *creature, GossipMenuItems const &gso)
Definition
OutdoorPvPMgr.cpp:184
OutdoorPvPMgr::Update
void Update(uint32 diff)
Definition
OutdoorPvPMgr.cpp:135
OutdoorPvPMgr::HandleDropFlag
void HandleDropFlag(Player *player, uint32 spellId)
Definition
OutdoorPvPMgr.cpp:194
OutdoorPvPMgr::GetOutdoorPvPToZoneId
OutdoorPvP * GetOutdoorPvPToZoneId(uint32 zoneid)
Definition
OutdoorPvPMgr.cpp:124
OutdoorPvPMgr::InitOutdoorPvP
void InitOutdoorPvP()
Definition
OutdoorPvPMgr.cpp:22
OutdoorPvPMgr::HandlePlayerEnterZone
void HandlePlayerEnterZone(Player *player, uint32 areaflag)
Definition
OutdoorPvPMgr.cpp:97
OutdoorPvPMgr::OutdoorPvPMap
std::map< uint32, OutdoorPvP * > OutdoorPvPMap
Definition
OutdoorPvPMgr.h:74
OutdoorPvPMgr::m_UpdateTimer
uint32 m_UpdateTimer
Definition
OutdoorPvPMgr.h:89
OutdoorPvPMgr::HandlePlayerResurrects
void HandlePlayerResurrects(Player *player, uint32 areaflag)
Definition
OutdoorPvPMgr.cpp:203
OutdoorPvPMgr::m_OutdoorPvPDatas
OutdoorPvPDataMap m_OutdoorPvPDatas
Definition
OutdoorPvPMgr.h:86
Player
Definition
Player.h:1289
Skyfire::Singleton
Definition
Singleton.h:15
ZoneScript
Definition
ZoneScript.h:15
Skyfire
Definition
AuthPatchTransfer.h:12
GossipMenuItems
Definition
ObjectMgr.h:527
OutdoorPvPData
Definition
OutdoorPvPMgr.h:21
OutdoorPvPData::ScriptId
uint32 ScriptId
Definition
OutdoorPvPMgr.h:23
OutdoorPvPData::TypeId
OutdoorPvPTypes TypeId
Definition
OutdoorPvPMgr.h:22
src
server
game
OutdoorPvP
OutdoorPvPMgr.h
Generated on
for Project SkyFire Core by
1.17.0