TrinityCore
Loading...
Searching...
No Matches
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
75
76// used to access the elements of Horde/AllyControlGOs
84
92
98
106
115
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);
193 OPvPCapturePointNA* GetCapturePoint() const { return m_obj.get(); }
194 private:
195 std::unique_ptr<OPvPCapturePointNA> m_obj;
196};
197
198#endif
int32_t int32
Definition Define.h:150
uint32_t uint32
Definition Define.h:154
DefenseMessages
HalaaStates
@ HALAA_N
@ HALAA_N_A
@ HALAA_H
@ HALAA_A
@ HALAA_N_H
WyvernStates
@ WYVERN_NEU_HORDE
@ WYVERN_NEU_ALLIANCE
@ WYVERN_ALLIANCE
@ WYVERN_HORDE
HalaaEvents
@ HALAA_EVENT_PROGRESS_ALLIANCE
@ HALAA_EVENT_CONTESTED_ALLIANCE
@ HALAA_EVENT_CAPTURE_ALLIANCE
@ HALAA_EVENT_PROGRESS_HORDE
@ HALAA_EVENT_CAPTURE_HORDE
@ HALAA_EVENT_CONTESTED_HORDE
ControlGOTypes
@ NA_ROOST_W
@ NA_ROOST_E
@ NA_ROOST_N
@ NA_ROOST_S
FlightSpellsNA
@ NA_SPELL_FLY_SOUTH
@ NA_SPELL_FLY_WEST
@ NA_SPELL_FLY_EAST
@ NA_SPELL_FLY_NORTH
OutdoorPvPNASpells
@ NA_CAPTURE_BUFF
@ NA_KILL_TOKEN_HORDE
@ NA_KILL_TOKEN_ALLIANCE
OutdoorPvPNAWorldStates
@ NA_MAP_HALAA_NEU_A
@ NA_MAP_WYVERN_SOUTH_NEU_H
@ NA_MAP_HALAA_HORDE
@ NA_UI_ALLIANCE_GUARDS_SHOW
@ NA_MAP_WYVERN_NORTH_NEU_A
@ NA_MAP_HALAA_NEUTRAL
@ NA_MAP_WYVERN_WEST_NEU_A
@ NA_MAP_WYVERN_SOUTH_NEU_A
@ NA_MAP_WYVERN_WEST_H
@ NA_MAP_WYVERN_NORTH_NEU_H
@ NA_UI_HORDE_GUARDS_SHOW
@ NA_MAP_HALAA_ALLIANCE
@ NA_MAP_WYVERN_EAST_H
@ NA_MAP_WYVERN_SOUTH_A
@ NA_UI_GUARDS_MAX
@ NA_MAP_WYVERN_EAST_A
@ NA_MAP_WYVERN_NORTH_H
@ NA_UI_GUARDS_LEFT
@ NA_MAP_WYVERN_WEST_A
@ NA_MAP_WYVERN_EAST_NEU_A
@ NA_MAP_WYVERN_EAST_NEU_H
@ NA_MAP_HALAA_NEU_H
@ NA_MAP_WYVERN_WEST_NEU_H
@ NA_MAP_WYVERN_NORTH_A
@ NA_MAP_WYVERN_SOUTH_H
@ TEXT_HALAA_TAKEN_ALLIANCE
@ TEXT_ALL_GUARDS_DEFEATED
@ TEXT_HALAA_TAKEN_HORDE
@ TEXT_HALAA_GAINING_CONTROL_HORDE
@ TEXT_HALAA_GAINING_CONTROL_ALLIANCE
@ TEXT_HALAA_DEFENSELESS
HalaaSpawnGroupIds
@ SPAWN_GROUP_HORDE_GUARDS
@ SPAWN_GROUP_ALLIANCE_GUARDS
Definition Map.h:225
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
void ChangeState() override
void UpdateWyvernRoostWorldState(uint32 roost)
uint32 GetAliveGuardsCount() const
bool HandleCustomSpell(Player *player, uint32 spellId, GameObject *go) override
void SetControlZoneGUID(ObjectGuid guid)
int32 HandleOpenGo(Player *player, GameObject *go) override
Team GetControllingFaction() const
ObjectGuid _controlZoneGUID
void FactionTakeOver(Team team)
void Update(uint32 diff) override
bool SetupOutdoorPvP() override
void SendMapWorldStates(int32 neutral, int32 progressHorde, int32 progressAlliance, int32 capturedHorde, int32 captureAlliance)
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
std::unique_ptr< OPvPCapturePointNA > m_obj
void HandlePlayerLeaveZone(Player *player, uint32 zone) override
void SendRemoveWorldStates(Player *player) override
Definition Unit.h:635