45 defenseMessage->
Data.MessageText = text;
46 defenseMessage->
Data.Write();
47 return defenseMessage;
83 itr->second->Update(diff);
100 for (
GroupReference* itr = group->GetFirstMember(); itr !=
nullptr; itr = itr->
next())
102 Player* groupGuy = itr->GetSource();
128 if (itr->second->HandleCustomSpell(player, spellId, go))
144 if (itr->second->HandleOpenGo(player, go) >= 0)
153 if (itr->second->HandleDropFlag(player,
id))
168 for (GuidSet::const_iterator itr =
m_players[team].begin(); itr !=
m_players[team].end(); ++itr)
170 player->SendDirectMessage(data);
181 return plSet.find(player->
GetGUID()) != plSet.end();
188 for (GuidSet::iterator itr =
m_players[team].begin(); itr !=
m_players[team].end(); ++itr)
190 player->CastSpell(player, (
uint32)spellId,
true);
194 for (GuidSet::iterator itr =
m_players[team].begin(); itr !=
m_players[team].end(); ++itr)
196 player->RemoveAura((
uint32)-spellId);
224 auto controlzone = gameobject->GetGOInfo()->controlZone;
226 if (eventId == controlzone.CaptureEventAlliance)
228 else if (eventId == controlzone.CaptureEventHorde)
230 else if (eventId == controlzone.ContestedEventAlliance)
232 else if (eventId == controlzone.ContestedEventHorde)
234 else if (eventId == controlzone.NeutralEventAlliance)
236 else if (eventId == controlzone.NeutralEventHorde)
238 else if (eventId == controlzone.ProgressEventAlliance)
240 else if (eventId == controlzone.ProgressEventHorde)
247template<
class Worker>
253 if (player->GetZoneId() == zoneId)
#define TC_LOG_DEBUG(filterType__, message__,...)
std::set< ObjectGuid > GuidSet
@ GAMEOBJECT_TYPE_CONTROL_ZONE
uint8 constexpr PVP_TEAMS_COUNT
virtual void HandleNeutralEventHorde(GameObject *controlZone)
virtual void HandleProgressEventAlliance(GameObject *controlZone)
virtual void HandleContestedEventAlliance(GameObject *controlZone)
virtual void HandleNeutralEventAlliance(GameObject *controlZone)
virtual void HandleCaptureEventHorde(GameObject *controlZone)
virtual void HandleProgressEventHorde(GameObject *controlZone)
virtual void HandleContestedEventHorde(GameObject *controlZone)
virtual void HandleCaptureEventAlliance(GameObject *controlZone)
Trinity::PacketSenderOwning< WorldPackets::Chat::DefenseMessage > * operator()(LocaleConstant locale) const
DefenseMessageBuilder(uint32 zoneId, uint32 id)
uint32 _id
BroadcastTextId.
OPvPCapturePoint(OutdoorPvP *pvp)
virtual bool HandleCustomSpell(Player *player, uint32 spellId, GameObject *go)
virtual int32 HandleOpenGo(Player *player, GameObject *go)
static GameObject * ToGameObject(Object *o)
static ObjectGuid GetGUID(Object const *o)
virtual void HandlePlayerEnterZone(Player *player, uint32 zone)
OPvPCapturePointMap m_capturePoints
bool HasPlayer(Player const *player) const
virtual void Update(uint32 diff)
int32 GetWorldState(int32 worldStateId) const
void TeamApplyBuff(TeamId team, uint32 spellId, uint32 spellId2=0)
void RegisterZone(uint32 zoneid)
virtual void SendRemoveWorldStates(Player *)
void SetWorldState(int32 worldStateId, int32 value)
virtual bool HandleCustomSpell(Player *player, uint32 spellId, GameObject *go)
virtual void HandlePlayerLeaveZone(Player *player, uint32 zone)
virtual bool HandleOpenGo(Player *player, GameObject *go)
void TeamCastSpell(TeamId team, int32 spellId)
virtual void HandlePlayerResurrects(Player *player, uint32 zone)
ControlZoneHandlerMap ControlZoneHandlers
virtual void HandleKillImpl(Player *, Unit *)
void ProcessEvent(WorldObject *target, uint32 eventId, WorldObject *invoker) override
void BroadcastWorker(Worker &_worker, uint32 zoneId)
void SendDefenseMessage(uint32 zoneId, uint32 id)
virtual void HandleKill(Player *killer, Unit *killed)
virtual bool HandleDropFlag(Player *player, uint32 spellId)
void BroadcastPacket(WorldPacket const *data) const
bool IsAtGroupRewardDistance(WorldObject const *pRewardSource) const
WorldSession * GetSession() const
Group * GetGroup(Optional< uint8 > partyIndex)
bool IsOutdoorPvPActive() const
std::string const & GetName() const
bool PlayerLogout() const
TC_GAME_API Player * FindPlayer(ObjectGuid const &)