TrinityCore
Loading...
Searching...
No Matches
ArenaTeam Class Reference

#include <ArenaTeam.h>

Public Types

typedef std::list< ArenaTeamMember > MemberList
 

Public Member Functions

 ArenaTeam ()
 
 ArenaTeam (ArenaTeam const &)=delete
 
 ArenaTeam (ArenaTeam &&)=delete
 
ArenaTeam & operator= (ArenaTeam const &)=delete
 
ArenaTeam & operator= (ArenaTeam &&)=delete
 
 ~ArenaTeam ()
 
bool Create (ObjectGuid captainGuid, uint8 type, std::string const &teamName, uint32 backgroundColor, uint8 emblemStyle, uint32 emblemColor, uint8 borderStyle, uint32 borderColor)
 
void Disband (WorldSession *session)
 
void Disband ()
 
uint32 GetId () const
 
uint32 GetType () const
 
uint8 GetSlot () const
 
ObjectGuid GetCaptain () const
 
std::string const & GetName () const
 
ArenaTeamStats const & GetStats () const
 
uint32 GetRating () const
 
uint32 GetAverageMMR (Group *group) const
 
void SetCaptain (ObjectGuid guid)
 
bool SetName (std::string const &name)
 
bool AddMember (ObjectGuid PlayerGuid)
 
void DelMember (ObjectGuid guid, bool cleanDb)
 
size_t GetMembersSize () const
 
bool Empty () const
 
MemberList::iterator m_membersBegin ()
 
MemberList::iterator m_membersEnd ()
 
bool IsMember (ObjectGuid guid) const
 
ArenaTeamMember * GetMember (ObjectGuid guid)
 
ArenaTeamMember * GetMember (std::string const &name)
 
bool IsFighting () const
 
bool LoadArenaTeamFromDB (QueryResult arenaTeamDataResult)
 
bool LoadMembersFromDB (QueryResult arenaTeamMembersResult)
 
void LoadStatsFromDB (uint32 ArenaTeamId)
 
void SaveToDB (bool forceMemberSave=false)
 
void BroadcastPacket (WorldPacket *packet)
 
void NotifyStatsChanged ()
 
void SendStats (WorldSession *session)
 
void Inspect (WorldSession *session, ObjectGuid guid)
 
uint32 GetPoints (uint32 MemberRating)
 
int32 GetMatchmakerRatingMod (uint32 ownRating, uint32 opponentRating, bool won)
 
int32 GetRatingMod (uint32 ownRating, uint32 opponentRating, bool won)
 
float GetChanceAgainst (uint32 ownRating, uint32 opponentRating)
 
int32 WonAgainst (uint32 Own_MMRating, uint32 Opponent_MMRating, int32 &rating_change)
 
void MemberWon (Player *player, uint32 againstMatchmakerRating, int32 MatchmakerRatingChange)
 
int32 LostAgainst (uint32 Own_MMRating, uint32 Opponent_MMRating, int32 &rating_change)
 
void MemberLost (Player *player, uint32 againstMatchmakerRating, int32 MatchmakerRatingChange=-12)
 
void OfflineMemberLost (ObjectGuid guid, uint32 againstMatchmakerRating, int32 MatchmakerRatingChange=-12)
 
bool FinishWeek ()
 
void FinishGame (int32 mod)
 

Static Public Member Functions

static uint8 GetSlotByType (uint32 type)
 
static uint8 GetTypeBySlot (uint8 slot)
 

Protected Attributes

uint32 TeamId
 
uint8 Type
 
std::string TeamName
 
ObjectGuid CaptainGuid
 
uint32 BackgroundColor
 
uint8 EmblemStyle
 
uint32 EmblemColor
 
uint8 BorderStyle
 
uint32 BorderColor
 
MemberList Members
 
ArenaTeamStats Stats
 

Detailed Description

Definition at line 111 of file ArenaTeam.h.

Member Typedef Documentation

◆ MemberList

Definition at line 125 of file ArenaTeam.h.

Constructor & Destructor Documentation

◆ ArenaTeam() [1/3]

ArenaTeam::ArenaTeam ( )

Definition at line 32 of file ArenaTeam.cpp.

References CONFIG_ARENA_START_RATING, and sWorld.

◆ ArenaTeam() [2/3]

ArenaTeam::ArenaTeam ( ArenaTeam const &  )
delete

◆ ArenaTeam() [3/3]

ArenaTeam::ArenaTeam ( ArenaTeam &&  )
delete

◆ ~ArenaTeam()

ArenaTeam::~ArenaTeam ( )

Definition at line 44 of file ArenaTeam.cpp.

Member Function Documentation

◆ AddMember()

◆ BroadcastPacket()

void ArenaTeam::BroadcastPacket ( WorldPacket *  packet)

Definition at line 460 of file ArenaTeam.cpp.

References ObjectAccessor::FindConnectedPlayer(), and Members.

◆ Create()

◆ DelMember()

◆ Disband() [1/2]

◆ Disband() [2/2]

◆ Empty()

bool ArenaTeam::Empty ( ) const
inline

Definition at line 145 of file ArenaTeam.h.

Referenced by LoadMembersFromDB().

◆ FinishGame()

void ArenaTeam::FinishGame ( int32  mod)

◆ FinishWeek()

bool ArenaTeam::FinishWeek ( )

Definition at line 777 of file ArenaTeam.cpp.

References Members.

Referenced by Player::ResetCurrencyWeekCap().

◆ GetAverageMMR()

uint32 ArenaTeam::GetAverageMMR ( Group *  group) const

Definition at line 504 of file ArenaTeam.cpp.

References ObjectAccessor::FindConnectedPlayer(), Group::IsMember(), and Members.

◆ GetCaptain()

◆ GetChanceAgainst()

float ArenaTeam::GetChanceAgainst ( uint32  ownRating,
uint32  opponentRating 
)

Definition at line 534 of file ArenaTeam.cpp.

Referenced by GetMatchmakerRatingMod(), and GetRatingMod().

◆ GetId()

◆ GetMatchmakerRatingMod()

int32 ArenaTeam::GetMatchmakerRatingMod ( uint32  ownRating,
uint32  opponentRating,
bool  won 
)

Definition at line 541 of file ArenaTeam.cpp.

References CONFIG_ARENA_MATCHMAKER_RATING_MODIFIER, GetChanceAgainst(), and sWorld.

Referenced by LostAgainst(), and WonAgainst().

◆ GetMember() [1/2]

ArenaTeamMember * ArenaTeam::GetMember ( ObjectGuid  guid)

Definition at line 816 of file ArenaTeam.cpp.

References Members.

Referenced by Inspect(), and CriteriaHandler::UpdateCriteria().

◆ GetMember() [2/2]

ArenaTeamMember * ArenaTeam::GetMember ( std::string const &  name)

Definition at line 807 of file ArenaTeam.cpp.

References Members.

◆ GetMembersSize()

size_t ArenaTeam::GetMembersSize ( ) const
inline

Definition at line 144 of file ArenaTeam.h.

Referenced by AddMember().

◆ GetName()

◆ GetPoints()

uint32 ArenaTeam::GetPoints ( uint32  MemberRating)

◆ GetRating()

uint32 ArenaTeam::GetRating ( ) const
inline

◆ GetRatingMod()

int32 ArenaTeam::GetRatingMod ( uint32  ownRating,
uint32  opponentRating,
bool  won 
)
Todo:
Replace this hack with using the confidence factor (limiting the factor to 2.0f)

Definition at line 567 of file ArenaTeam.cpp.

References CONFIG_ARENA_LOSE_RATING_MODIFIER, CONFIG_ARENA_WIN_RATING_MODIFIER_1, CONFIG_ARENA_WIN_RATING_MODIFIER_2, GetChanceAgainst(), and sWorld.

Referenced by LostAgainst(), MemberLost(), MemberWon(), OfflineMemberLost(), and WonAgainst().

◆ GetSlot()

◆ GetSlotByType()

uint8 ArenaTeam::GetSlotByType ( uint32  type)
static

◆ GetStats()

ArenaTeamStats const & ArenaTeam::GetStats ( ) const
inline

Definition at line 134 of file ArenaTeam.h.

◆ GetType()

◆ GetTypeBySlot()

uint8 ArenaTeam::GetTypeBySlot ( uint8  slot)
static

◆ Inspect()

void ArenaTeam::Inspect ( WorldSession *  session,
ObjectGuid  guid 
)

Definition at line 420 of file ArenaTeam.cpp.

References GetMember().

◆ IsFighting()

◆ IsMember()

bool ArenaTeam::IsMember ( ObjectGuid  guid) const

Definition at line 495 of file ArenaTeam.cpp.

References Members.

Referenced by arena_commandscript::HandleArenaCaptainCommand().

◆ LoadArenaTeamFromDB()

bool ArenaTeam::LoadArenaTeamFromDB ( QueryResult  arenaTeamDataResult)

◆ LoadMembersFromDB()

◆ LoadStatsFromDB()

void ArenaTeam::LoadStatsFromDB ( uint32  ArenaTeamId)

◆ LostAgainst()

int32 ArenaTeam::LostAgainst ( uint32  Own_MMRating,
uint32  Opponent_MMRating,
int32 &  rating_change 
)

Definition at line 643 of file ArenaTeam.cpp.

References FinishGame(), GetMatchmakerRatingMod(), and GetRatingMod().

Referenced by Arena::EndBattleground().

◆ m_membersBegin()

MemberList::iterator ArenaTeam::m_membersBegin ( )
inline

Definition at line 146 of file ArenaTeam.h.

Referenced by arena_commandscript::HandleArenaInfoCommand().

◆ m_membersEnd()

MemberList::iterator ArenaTeam::m_membersEnd ( )
inline

Definition at line 147 of file ArenaTeam.h.

Referenced by arena_commandscript::HandleArenaInfoCommand().

◆ MemberLost()

void ArenaTeam::MemberLost ( Player *  player,
uint32  againstMatchmakerRating,
int32  MatchmakerRatingChange = -12 
)

◆ MemberWon()

void ArenaTeam::MemberWon ( Player *  player,
uint32  againstMatchmakerRating,
int32  MatchmakerRatingChange 
)

◆ NotifyStatsChanged()

void ArenaTeam::NotifyStatsChanged ( )

◆ OfflineMemberLost()

void ArenaTeam::OfflineMemberLost ( ObjectGuid  guid,
uint32  againstMatchmakerRating,
int32  MatchmakerRatingChange = -12 
)

Definition at line 685 of file ArenaTeam.cpp.

References GetRatingMod(), GetSlot(), GetType(), and Members.

Referenced by Arena::EndBattleground(), and Arena::RemovePlayerAtLeave().

◆ operator=() [1/2]

ArenaTeam & ArenaTeam::operator= ( ArenaTeam &&  )
delete

◆ operator=() [2/2]

ArenaTeam & ArenaTeam::operator= ( ArenaTeam const &  )
delete

◆ SaveToDB()

◆ SendStats()

void ArenaTeam::SendStats ( WorldSession *  session)

Definition at line 398 of file ArenaTeam.cpp.

References GetId(), WorldSession::SendPacket(), and SMSG_ARENA_TEAM_STATS.

Referenced by NotifyStatsChanged().

◆ SetCaptain()

◆ SetName()

◆ WonAgainst()

int32 ArenaTeam::WonAgainst ( uint32  Own_MMRating,
uint32  Opponent_MMRating,
int32 &  rating_change 
)

Definition at line 623 of file ArenaTeam.cpp.

References FinishGame(), GetMatchmakerRatingMod(), and GetRatingMod().

Referenced by Arena::EndBattleground().

Member Data Documentation

◆ BackgroundColor

uint32 ArenaTeam::BackgroundColor
protected

Definition at line 186 of file ArenaTeam.h.

Referenced by Create(), and LoadArenaTeamFromDB().

◆ BorderColor

uint32 ArenaTeam::BorderColor
protected

Definition at line 190 of file ArenaTeam.h.

Referenced by Create(), and LoadArenaTeamFromDB().

◆ BorderStyle

uint8 ArenaTeam::BorderStyle
protected

Definition at line 189 of file ArenaTeam.h.

Referenced by Create(), and LoadArenaTeamFromDB().

◆ CaptainGuid

ObjectGuid ArenaTeam::CaptainGuid
protected

Definition at line 184 of file ArenaTeam.h.

Referenced by AddMember(), Create(), LoadArenaTeamFromDB(), and SetCaptain().

◆ EmblemColor

uint32 ArenaTeam::EmblemColor
protected

Definition at line 188 of file ArenaTeam.h.

Referenced by Create(), and LoadArenaTeamFromDB().

◆ EmblemStyle

uint8 ArenaTeam::EmblemStyle
protected

Definition at line 187 of file ArenaTeam.h.

Referenced by Create(), and LoadArenaTeamFromDB().

◆ Members

◆ Stats

ArenaTeamStats ArenaTeam::Stats
protected

Definition at line 193 of file ArenaTeam.h.

◆ TeamId

uint32 ArenaTeam::TeamId
protected

Definition at line 181 of file ArenaTeam.h.

◆ TeamName

std::string ArenaTeam::TeamName
protected

Definition at line 183 of file ArenaTeam.h.

Referenced by Create(), LoadArenaTeamFromDB(), and SetName().

◆ Type

uint8 ArenaTeam::Type
protected

Definition at line 182 of file ArenaTeam.h.

Referenced by Create(), FinishGame(), and LoadArenaTeamFromDB().


The documentation for this class was generated from the following files: