TrinityCore
Loading...
Searching...
No Matches
OutdoorPvPHP.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_HP_
19#define OUTDOOR_PVP_HP_
20
21#include "OutdoorPvP.h"
22#include <array>
23
25{
26 TEXT_OVERLOOK_TAKEN_ALLIANCE = 14841, // '|cffffff00The Overlook has been taken by the Alliance!|r'
27 TEXT_OVERLOOK_TAKEN_HORDE = 14842, // '|cffffff00The Overlook has been taken by the Horde!|r'
28 TEXT_STADIUM_TAKEN_ALLIANCE = 14843, // '|cffffff00The Stadium has been taken by the Alliance!|r'
29 TEXT_STADIUM_TAKEN_HORDE = 14844, // '|cffffff00The Stadium has been taken by the Horde!|r'
30 TEXT_BROKEN_HILL_TAKEN_ALLIANCE = 14845, // '|cffffff00Broken Hill has been taken by the Alliance!|r'
31 TEXT_BROKEN_HILL_TAKEN_HORDE = 14846, // '|cffffff00Broken Hill has been taken by the Horde!|r'
32};
33
41
49
70
88
95
102
103class OutdoorPvPHP;
104
106{
107public:
108 explicit HPControlZoneHandler(OutdoorPvPHP* pvp);
109
110 void SetFlagGuid(ObjectGuid const& guid) { _flagGuid = guid; }
114 void SetFlagArtKitHorde(uint32 artKit) { _flagArtKitHorde = artKit; }
119 void SetKillCredit(uint32 credit) { _killCredit = credit; }
120
121 void HandleProgressEventHorde([[maybe_unused]] GameObject* controlZone) override;
122 void HandleProgressEventAlliance([[maybe_unused]] GameObject* controlZone) override;
123 void HandleNeutralEventHorde([[maybe_unused]] GameObject* controlZone) override;
124 void HandleNeutralEventAlliance([[maybe_unused]] GameObject* controlZone) override;
125 void HandleNeutralEvent([[maybe_unused]] GameObject* controlZone) override;
126
130
132
133private:
144};
145
147{
148 public:
149 OutdoorPvPHP(Map* map);
150
151 bool SetupOutdoorPvP() override;
152
153 void OnGameObjectCreate(GameObject* go) override;
154
155 void HandlePlayerEnterZone(Player* player, uint32 zone) override;
156 void HandlePlayerLeaveZone(Player* player, uint32 zone) override;
157
158 void Update(uint32 diff) override;
159 void SendRemoveWorldStates(Player* player) override;
160 void HandleKillImpl(Player* player, Unit* killed) override;
161
166
167 private:
168 uint32 m_AllianceTowersControlled; // how many towers are controlled
170
172
176};
177
178#endif
uint32_t uint32
Definition Define.h:154
std::unordered_set< ObjectGuid > GuidUnorderedSet
Definition ObjectGuid.h:435
OutdoorPvPHPSpells
@ AllianceBuff
@ HordePlayerKillReward
@ HordeBuff
@ AlliancePlayerKillReward
OutdoorPvPHPEvents
@ HP_EVENT_TOWER_W_NEUTRAL_HORDE
@ HP_EVENT_TOWER_N_PROGRESS_HORDE
@ HP_EVENT_TOWER_N_NEUTRAL_ALLIANCE
@ HP_EVENT_TOWER_W_NEUTRAL_ALLIANCE
@ HP_EVENT_TOWER_W_PROGRESS_HORDE
@ HP_EVENT_TOWER_S_NEUTRAL_HORDE
@ HP_EVENT_TOWER_N_PROGRESS_ALLIANCE
@ HP_EVENT_TOWER_S_PROGRESS_ALLIANCE
@ HP_EVENT_TOWER_W_PROGRESS_ALLIANCE
@ HP_EVENT_TOWER_S_PROGRESS_HORDE
@ HP_EVENT_TOWER_S_NEUTRAL_ALLIANCE
@ HP_EVENT_TOWER_N_NEUTRAL_HORDE
OutdoorPvPHPWorldStates
@ HP_UI_TOWER_S_N
@ HP_UI_TOWER_W_A
@ HP_UI_TOWER_W_H
@ HP_UI_TOWER_COUNT_A
@ HP_UI_TOWER_N_A
@ HP_UI_TOWER_W_N
@ HP_UI_TOWER_DISPLAY_A
@ HP_UI_TOWER_N_N
@ HP_UI_TOWER_DISPLAY_H
@ HP_UI_TOWER_COUNT_H
@ HP_UI_TOWER_S_H
@ HP_UI_TOWER_N_H
@ HP_UI_TOWER_S_A
OutdoorPvPHPGameObjectEntries
@ HP_GO_ENTRY_TOWER_W
@ HP_GO_ENTRY_TOWER_N
@ HP_GO_ENTRY_TOWER_S
OutdoorPvPHPCredit
@ HP_KILL_CREDIT_TOWER_S
@ HP_KILL_CREDIT_TOWER_W
@ HP_KILL_CREDIT_TOWER_N
DefenseMessages
@ TEXT_OVERLOOK_TAKEN_ALLIANCE
@ TEXT_BROKEN_HILL_TAKEN_HORDE
@ TEXT_STADIUM_TAKEN_ALLIANCE
@ TEXT_STADIUM_TAKEN_HORDE
@ TEXT_OVERLOOK_TAKEN_HORDE
@ TEXT_BROKEN_HILL_TAKEN_ALLIANCE
OutdoorPvPHPTowerType
@ HP_TOWER_STADIUM
@ HP_TOWER_NUM
@ HP_TOWER_OVERLOOK
@ HP_TOWER_BROKEN_HILL
void HandleNeutralEventAlliance(GameObject *controlZone) override
void SetTextCaptureAlliance(uint32 text)
void SetKillCredit(uint32 credit)
void SetFlagArtKitNeutral(uint32 artKit)
uint32 GetWorldStateNeutral()
void SetTextCaptureHorde(uint32 text)
void HandleProgressEventHorde(GameObject *controlZone) override
void SetFlagArtKitAlliance(uint32 artKit)
void SetFlagGuid(ObjectGuid const &guid)
void HandleNeutralEvent(GameObject *controlZone) override
uint32 GetWorldStateAlliance()
OutdoorPvPHP * GetOutdoorPvPHP() const
void SetWorldstateNeutral(uint32 id)
void SetWorldstateHorde(uint32 id)
void SetFlagArtKitHorde(uint32 artKit)
void HandleNeutralEventHorde(GameObject *controlZone) override
void HandleProgressEventAlliance(GameObject *controlZone) override
void SetWorldstateAlliance(uint32 id)
Definition Map.h:225
void HandlePlayerEnterZone(Player *player, uint32 zone) override
void SetAllianceTowersControlled(uint32 count)
GuidUnorderedSet _controlZoneGUIDs
HPControlZoneHandler & GetControlZoneTowerSouthHandler()
void OnGameObjectCreate(GameObject *go) override
uint32 m_AllianceTowersControlled
uint32 GetHordeTowersControlled() const
HPControlZoneHandler & GetControlZoneTowerWestHandler()
void HandleKillImpl(Player *player, Unit *killed) override
void HandlePlayerLeaveZone(Player *player, uint32 zone) override
void SendRemoveWorldStates(Player *player) override
uint32 m_HordeTowersControlled
HPControlZoneHandler & GetControlZoneTowerNorthHandler()
void SetHordeTowersControlled(uint32 count)
uint32 GetAllianceTowersControlled() const
bool SetupOutdoorPvP() override
void Update(uint32 diff) override
ControlZoneHandlerMap ControlZoneHandlers
Definition OutdoorPvP.h:204
Definition Unit.h:635