TrinityCore
OutdoorPvPNA.h
Go to the documentation of this file.
1/*
2 * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#ifndef OUTDOOR_PVP_NA_
19#define OUTDOOR_PVP_NA_
20
21#include "OutdoorPvP.h"
22
24{
25 TEXT_ALL_GUARDS_DEFEATED = 15017, // (NYI) '|cffffff00All the guards have been defeated!|r'
26 TEXT_HALAA_TAKEN_ALLIANCE = 15018, // '|cffffff00The Alliance has taken control of Halaa!|r'
27 TEXT_HALAA_TAKEN_HORDE = 15019, // '|cffffff00The Horde has taken control of Halaa!|r'
28 TEXT_HALAA_DEFENSELESS = 15020, // (NYI) '|cffffff00Halaa is defenseless!|r'
29 TEXT_HALAA_GAINING_CONTROL_HORDE = 15493, // (NYI) '|cffffff00The Horde is gaining control of Halaa!|r'
30 TEXT_HALAA_GAINING_CONTROL_ALLIANCE = 15494 // (NYI) '|cffffff00The Alliance is gaining control of Halaa!|r'
31};
32
34
36{
39 NA_CAPTURE_BUFF = 33795 // strength of the halaani
40};
41
43{
48
53
58
63
68
74};
75
76// used to access the elements of Horde/AllyControlGOs
78{
83};
84
86{
90 NA_SPELL_FLY_EAST = 32081
91};
92
94{
97};
98
100{
106
108{
113 HALAA_H = 16
115
117{
125
126class Unit;
127class Creature;
128class WorldObject;
129
130class OutdoorPvPNA;
131
133{
134public:
135 explicit NAControlZoneHandler(OutdoorPvPNA* pvp);
136
137 void HandleCaptureEventHorde([[maybe_unused]] GameObject* controlZone) override;
138 void HandleCaptureEventAlliance([[maybe_unused]] GameObject* controlZone) override;
139 void HandleContestedEventHorde([[maybe_unused]] GameObject* controlZone) override;
140 void HandleContestedEventAlliance([[maybe_unused]] GameObject* controlZone) override;
141 void HandleProgressEventHorde([[maybe_unused]] GameObject* controlZone) override;
142 void HandleProgressEventAlliance([[maybe_unused]] GameObject* controlZone) override;
143 void HandleNeutralEventHorde([[maybe_unused]] GameObject* controlZone) override;
144 void HandleNeutralEventAlliance([[maybe_unused]] GameObject* controlZone) override;
145 void HandleNeutralEvent([[maybe_unused]] GameObject* controlZone) override;
146
148};
149
151{
152 public:
154
155 void Update(uint32 diff) override;
156 void ChangeState() override { } // todo remove?
157 bool HandleCustomSpell(Player* player, uint32 spellId, GameObject* go) override;
158 int32 HandleOpenGo(Player* player, GameObject* go) override;
159
162 void FactionTakeOver(Team team); // called when a faction takes control
164
166 private:
177};
178
180{
181 public:
182 OutdoorPvPNA(Map* map);
183
184 void OnGameObjectCreate(GameObject* go) override;
185
186 bool SetupOutdoorPvP() override;
187 void HandlePlayerEnterZone(Player* player, uint32 zone) override;
188 void HandlePlayerLeaveZone(Player* player, uint32 zone) override;
189 void Update(uint32 diff) override;
190 void SendRemoveWorldStates(Player* player) override;
191 void HandleKillImpl(Player* player, Unit* killed) override;
192 void SendMapWorldStates(int32 neutral, int32 progressHorde, int32 progressAlliance, int32 capturedHorde, int32 captureAlliance);
194 private:
196};
197
198#endif
int32_t int32
Definition: Define.h:138
uint32_t uint32
Definition: Define.h:142
DefenseMessages
Definition: OutdoorPvPHP.h:25
HalaaStates
Definition: OutdoorPvPNA.h:108
@ HALAA_N
Definition: OutdoorPvPNA.h:109
@ HALAA_N_A
Definition: OutdoorPvPNA.h:110
@ HALAA_H
Definition: OutdoorPvPNA.h:113
@ HALAA_A
Definition: OutdoorPvPNA.h:111
@ HALAA_N_H
Definition: OutdoorPvPNA.h:112
WyvernStates
Definition: OutdoorPvPNA.h:100
@ WYVERN_NEU_HORDE
Definition: OutdoorPvPNA.h:101
@ WYVERN_NEU_ALLIANCE
Definition: OutdoorPvPNA.h:102
@ WYVERN_ALLIANCE
Definition: OutdoorPvPNA.h:104
@ WYVERN_HORDE
Definition: OutdoorPvPNA.h:103
HalaaEvents
Definition: OutdoorPvPNA.h:117
@ HALAA_EVENT_PROGRESS_ALLIANCE
Definition: OutdoorPvPNA.h:123
@ HALAA_EVENT_CONTESTED_ALLIANCE
Definition: OutdoorPvPNA.h:121
@ HALAA_EVENT_CAPTURE_ALLIANCE
Definition: OutdoorPvPNA.h:119
@ HALAA_EVENT_PROGRESS_HORDE
Definition: OutdoorPvPNA.h:122
@ HALAA_EVENT_CAPTURE_HORDE
Definition: OutdoorPvPNA.h:118
@ HALAA_EVENT_CONTESTED_HORDE
Definition: OutdoorPvPNA.h:120
ControlGOTypes
Definition: OutdoorPvPNA.h:78
@ NA_ROOST_W
Definition: OutdoorPvPNA.h:80
@ NA_ROOST_E
Definition: OutdoorPvPNA.h:82
@ NA_ROOST_N
Definition: OutdoorPvPNA.h:81
@ NA_ROOST_S
Definition: OutdoorPvPNA.h:79
FlightSpellsNA
Definition: OutdoorPvPNA.h:86
@ NA_SPELL_FLY_SOUTH
Definition: OutdoorPvPNA.h:87
@ NA_SPELL_FLY_WEST
Definition: OutdoorPvPNA.h:88
@ NA_SPELL_FLY_EAST
Definition: OutdoorPvPNA.h:90
@ NA_SPELL_FLY_NORTH
Definition: OutdoorPvPNA.h:89
OutdoorPvPNASpells
Definition: OutdoorPvPNA.h:36
@ NA_CAPTURE_BUFF
Definition: OutdoorPvPNA.h:39
@ NA_KILL_TOKEN_HORDE
Definition: OutdoorPvPNA.h:38
@ NA_KILL_TOKEN_ALLIANCE
Definition: OutdoorPvPNA.h:37
OutdoorPvPNAWorldStates
Definition: OutdoorPvPNA.h:43
@ NA_MAP_HALAA_NEU_A
Definition: OutdoorPvPNA.h:70
@ NA_MAP_WYVERN_SOUTH_NEU_H
Definition: OutdoorPvPNA.h:54
@ NA_MAP_HALAA_HORDE
Definition: OutdoorPvPNA.h:72
@ NA_UI_ALLIANCE_GUARDS_SHOW
Definition: OutdoorPvPNA.h:45
@ NA_MAP_WYVERN_NORTH_NEU_A
Definition: OutdoorPvPNA.h:50
@ NA_MAP_HALAA_NEUTRAL
Definition: OutdoorPvPNA.h:69
@ NA_MAP_WYVERN_WEST_NEU_A
Definition: OutdoorPvPNA.h:60
@ NA_MAP_WYVERN_SOUTH_NEU_A
Definition: OutdoorPvPNA.h:55
@ NA_MAP_WYVERN_WEST_H
Definition: OutdoorPvPNA.h:61
@ NA_MAP_WYVERN_NORTH_NEU_H
Definition: OutdoorPvPNA.h:49
@ NA_UI_HORDE_GUARDS_SHOW
Definition: OutdoorPvPNA.h:44
@ NA_MAP_HALAA_ALLIANCE
Definition: OutdoorPvPNA.h:73
@ NA_MAP_WYVERN_EAST_H
Definition: OutdoorPvPNA.h:66
@ NA_MAP_WYVERN_SOUTH_A
Definition: OutdoorPvPNA.h:57
@ NA_UI_GUARDS_MAX
Definition: OutdoorPvPNA.h:46
@ NA_MAP_WYVERN_EAST_A
Definition: OutdoorPvPNA.h:67
@ NA_MAP_WYVERN_NORTH_H
Definition: OutdoorPvPNA.h:51
@ NA_UI_GUARDS_LEFT
Definition: OutdoorPvPNA.h:47
@ NA_MAP_WYVERN_WEST_A
Definition: OutdoorPvPNA.h:62
@ NA_MAP_WYVERN_EAST_NEU_A
Definition: OutdoorPvPNA.h:65
@ NA_MAP_WYVERN_EAST_NEU_H
Definition: OutdoorPvPNA.h:64
@ NA_MAP_HALAA_NEU_H
Definition: OutdoorPvPNA.h:71
@ NA_MAP_WYVERN_WEST_NEU_H
Definition: OutdoorPvPNA.h:59
@ NA_MAP_WYVERN_NORTH_A
Definition: OutdoorPvPNA.h:52
@ NA_MAP_WYVERN_SOUTH_H
Definition: OutdoorPvPNA.h:56
@ TEXT_HALAA_TAKEN_ALLIANCE
Definition: OutdoorPvPNA.h:26
@ TEXT_ALL_GUARDS_DEFEATED
Definition: OutdoorPvPNA.h:25
@ TEXT_HALAA_TAKEN_HORDE
Definition: OutdoorPvPNA.h:27
@ TEXT_HALAA_GAINING_CONTROL_HORDE
Definition: OutdoorPvPNA.h:29
@ TEXT_HALAA_GAINING_CONTROL_ALLIANCE
Definition: OutdoorPvPNA.h:30
@ TEXT_HALAA_DEFENSELESS
Definition: OutdoorPvPNA.h:28
HalaaSpawnGroupIds
Definition: OutdoorPvPNA.h:94
@ SPAWN_GROUP_HORDE_GUARDS
Definition: OutdoorPvPNA.h:95
@ SPAWN_GROUP_ALLIANCE_GUARDS
Definition: OutdoorPvPNA.h:96
Team
Definition: Map.h:189
void HandleContestedEventHorde(GameObject *controlZone) override
void HandleNeutralEvent(GameObject *controlZone) override
void HandleProgressEventAlliance(GameObject *controlZone) override
void HandleCaptureEventHorde(GameObject *controlZone) override
OutdoorPvPNA * GetOutdoorPvPNA() const
void HandleCaptureEventAlliance(GameObject *controlZone) override
void HandleContestedEventAlliance(GameObject *controlZone) override
void HandleProgressEventHorde(GameObject *controlZone) override
void HandleNeutralEventAlliance(GameObject *controlZone) override
void HandleNeutralEventHorde(GameObject *controlZone) override
NAControlZoneHandler(OutdoorPvPNA *pvp)
void ChangeState() override
Definition: OutdoorPvPNA.h:156
void UpdateWyvernRoostWorldState(uint32 roost)
uint32 GetAliveGuardsCount() const
bool HandleCustomSpell(Player *player, uint32 spellId, GameObject *go) override
void SetControlZoneGUID(ObjectGuid guid)
Definition: OutdoorPvPNA.h:165
OPvPCapturePointNA(OutdoorPvP *pvp)
int32 HandleOpenGo(Player *player, GameObject *go) override
Team GetControllingFaction() const
ObjectGuid _controlZoneGUID
Definition: OutdoorPvPNA.h:176
void FactionTakeOver(Team team)
void Update(uint32 diff) override
bool SetupOutdoorPvP() override
void SendMapWorldStates(int32 neutral, int32 progressHorde, int32 progressAlliance, int32 capturedHorde, int32 captureAlliance)
OutdoorPvPNA(Map *map)
void HandleKillImpl(Player *player, Unit *killed) override
void HandlePlayerEnterZone(Player *player, uint32 zone) override
void OnGameObjectCreate(GameObject *go) override
void Update(uint32 diff) override
OPvPCapturePointNA * GetCapturePoint() const
Definition: OutdoorPvPNA.h:193
OPvPCapturePointNA * m_obj
Definition: OutdoorPvPNA.h:195
void HandlePlayerLeaveZone(Player *player, uint32 zone) override
void SendRemoveWorldStates(Player *player) override
Definition: Unit.h:627