50#define OTHER_TEAM(a) (a == TEAM_ALLIANCE ? TEAM_HORDE : TEAM_ALLIANCE)
161 int32 GetWorldState(
int32 worldStateId)
const;
162 void SetWorldState(
int32 worldStateId,
int32 value);
168 virtual void HandleKill(
Player* killer,
Unit* killed);
197 void ProcessEvent([[maybe_unused]]
WorldObject* target, [[maybe_unused]]
uint32 eventId, [[maybe_unused]]
WorldObject* invoker)
override;
213 void BroadcastPacket(
WorldPacket const* data)
const;
220 void RegisterZone(
uint32 zoneid);
222 bool HasPlayer(
Player const* player)
const;
226 template<
class Worker>
227 void BroadcastWorker(Worker& _worker,
uint32 zoneId);
std::set< ObjectGuid > GuidSet
@ OBJECTIVESTATE_NEUTRAL_HORDE_CHALLENGE
@ OBJECTIVESTATE_ALLIANCE
@ OBJECTIVESTATE_NEUTRAL_ALLIANCE_CHALLENGE
@ OBJECTIVESTATE_HORDE_ALLIANCE_CHALLENGE
@ OBJECTIVESTATE_ALLIANCE_HORDE_CHALLENGE
OPvPCapturePoint(OPvPCapturePoint &&right)=delete
virtual void ChangeState()=0
virtual void Update(uint32 diff)
ObjectiveStates m_OldState
OPvPCapturePoint & operator=(OPvPCapturePoint &&right)=delete
OPvPCapturePoint(OPvPCapturePoint const &right)=delete
virtual ~OPvPCapturePoint()
virtual bool HandleDropFlag(Player *, uint32)
virtual void ChangeTeam(TeamId)
OPvPCapturePoint & operator=(OPvPCapturePoint const &right)=delete
OutdoorPvP * GetOutdoorPvP() const
OutdoorPvPControlZoneHandler(OutdoorPvP *pvp)
virtual ~OutdoorPvPControlZoneHandler()=default
bool HandleCustomSpell(Player *player, uint32 spellId, GameObject *go)
void HandlePlayerLeaveZone(Player *player, uint32 areaflag)
bool HandleOpenGo(Player *player, GameObject *go)
void HandleDropFlag(Player *player, uint32 spellId)
void HandlePlayerEnterZone(Player *player, uint32 areaflag)
void HandlePlayerResurrects(Player *player, uint32 areaflag)
OutdoorPvP & operator=(OutdoorPvP const &right)=delete
void OnCreatureCreate(Creature *) override
OPvPCapturePointMap m_capturePoints
OutdoorPvP(OutdoorPvP &&right)=delete
OutdoorPvP & operator=(OutdoorPvP &&right)=delete
virtual void SendRemoveWorldStates(Player *)
static TeamId GetTeamIdByTeam(uint32 team)
std::map< ObjectGuid::LowType, std::unique_ptr< OPvPCapturePoint > > OPvPCapturePointMap
std::unordered_map< uint32, std::unique_ptr< OutdoorPvPControlZoneHandler > > ControlZoneHandlerMap
virtual bool SetupOutdoorPvP()
virtual bool HandleAreaTrigger(Player *, uint32, bool)
ControlZoneHandlerMap ControlZoneHandlers
virtual void AwardKillBonus(Player *)
virtual void HandleKillImpl(Player *, Unit *)
OutdoorPvP(OutdoorPvP const &right)=delete
void Update(VignetteData &vignette, WorldObject const *owner)