2#ifndef GAME_SERVER_TEAMS_H
3#define GAME_SERVER_TEAMS_H
54 void KillTeam(
int Team,
int NewStrongId,
int ExceptId = -1);
56 void OnTeamFinish(
int Team,
CPlayer **Players,
unsigned int Size,
int TimeTicks,
const char *pTimestamp);
80 bool CanJoinTeam(
int ClientId,
int Team,
char *pError,
int ErrorSize)
const;
123 bool IsInvited(
int Team,
int ClientId)
const;
127 void SetSaving(
int TeamId, std::shared_ptr<CScoreSaveResult> &SaveResult);
Definition character.h:24
Definition gamecontext.h:113
@ FLAG_SIXUP
Definition gamecontext.h:306
@ FLAG_SIX
Definition gamecontext.h:305
bool TeamLocked(int Team) const
Definition teams.cpp:1336
bool GetSaving(int TeamId) const
Definition teams.cpp:1378
void OnCharacterSpawn(int ClientId)
Definition teams.cpp:1144
CGameContext * m_pGameContext
Definition teams.h:46
float * GetCurrentTimeCp(CPlayer *Player)
Definition teams.cpp:674
bool IsPractice(int Team)
Definition teams.cpp:1402
void SetFinished(int ClientId, bool Finished)
Definition teams.cpp:1368
CTeamsCore m_Core
Definition teams.h:60
CGameTeams(CGameContext *pGameContext)
Definition teams.cpp:21
int GetStartTime(CPlayer *Player)
Definition teams.cpp:643
void OnTeamFinish(int Team, CPlayer **Players, unsigned int Size, int TimeTicks, const char *pTimestamp)
Definition teams.cpp:685
bool m_aTeeFinished[MAX_CLIENTS]
Definition teams.h:29
void CheckTeamFinished(int Team)
Definition teams.cpp:324
uint64_t m_aLastSwap[MAX_CLIENTS]
Definition teams.h:38
void Reset()
Definition teams.cpp:27
bool m_aTeamLocked[NUM_DDRACE_TEAMS]
Definition teams.h:33
void KillTeam(int Team, int NewStrongId, int ExceptId=-1)
Definition teams.cpp:523
void OnFinish(CPlayer *Player, int TimeTicks, const char *pTimestamp)
Definition teams.cpp:707
void SwapTeamCharacters(CPlayer *pPrimaryPlayer, CPlayer *pTargetPlayer, int Team)
Definition teams.cpp:913
bool SetCharacterTeam(int ClientId, int Team, char *pError, int ErrorSize)
Definition teams.cpp:449
void ResetRoundState(int Team)
Definition teams.cpp:51
bool CanJoinTeam(int ClientId, int Team, char *pError, int ErrorSize) const
Definition teams.cpp:387
void ResetInvited(int Team)
Definition teams.cpp:1266
void SetStarted(int ClientId, bool Started)
Definition teams.cpp:1363
bool TeeStarted(int ClientId) const
Definition teams.cpp:1321
bool m_aTeamFlock[NUM_DDRACE_TEAMS]
Definition teams.h:34
bool m_aTeamSentStartWarning[NUM_DDRACE_TEAMS]
Definition teams.h:39
void RequestTeamSwap(CPlayer *pPlayer, CPlayer *pTargetPlayer, int Team)
Definition teams.cpp:866
void CancelTeamSwap(CPlayer *pPlayer, int Team)
Definition teams.cpp:984
void ProcessSaveTeam()
Definition teams.cpp:1022
void SetDDRaceState(CPlayer *Player, ERaceState DDRaceState)
Definition teams.cpp:633
bool TeamFlock(int Team) const
Definition teams.cpp:1344
CClientMask m_aInvited[NUM_DDRACE_TEAMS]
Definition teams.h:35
void SetTeamFlock(int Team, bool Mode)
Definition teams.cpp:1260
void SetTeamLock(int Team, bool Lock)
Definition teams.cpp:1254
std::optional< int > GetFirstEmptyTeam() const
Definition teams.cpp:1313
void ChangeTeamState(int Team, ETeamState State)
Definition teams.cpp:518
ETeamState GetTeamState(int Team) const
Definition teams.cpp:1331
int m_aLastChat[MAX_CLIENTS]
Definition teams.h:30
void OnCharacterStart(int ClientId)
Definition teams.cpp:81
bool TeeFinished(int ClientId) const
Definition teams.cpp:1326
CClientMask TeamMask(int Team, int ExceptId=-1, int Asker=-1, int VersionFlags=CGameContext::FLAG_SIX|CGameContext::FLAG_SIXUP)
Definition teams.cpp:560
void OnCharacterDeath(int ClientId, int Weapon)
Definition teams.cpp:1163
void SetLastTimeCp(CPlayer *Player, int LastTimeCp)
Definition teams.cpp:664
void SetStartTime(CPlayer *Player, int StartTime)
Definition teams.cpp:654
bool TeamFinished(int Team)
Definition teams.cpp:548
void SetClientInvited(int Team, int ClientId, bool Invited)
Definition teams.cpp:1271
void ResetSwitchers(int Team)
Definition teams.cpp:71
void Tick()
Definition teams.cpp:225
bool IsInvited(int Team, int ClientId) const
Definition teams.cpp:1353
void SetSaving(int TeamId, std::shared_ptr< CScoreSaveResult > &SaveResult)
Definition teams.cpp:1373
void OnCharacterFinish(int ClientId)
Definition teams.cpp:199
CPlayer * GetPlayer(int ClientId)
Definition teams.cpp:846
int TeamSize(int Team) const
Definition teams.cpp:504
ERaceState GetDDRaceState(const CPlayer *Player) const
Definition teams.cpp:622
CGameContext * GameServer()
Definition teams.cpp:851
bool IsValidTeamNumber(int Team) const
Definition teams.cpp:1417
ETeamState m_aTeamState[NUM_DDRACE_TEAMS]
Definition teams.h:32
bool m_aTeeStarted[MAX_CLIENTS]
Definition teams.h:28
CCharacter * Character(int ClientId)
Definition teams.cpp:836
void ResetSavedTeam(int ClientId, int Team)
Definition teams.cpp:1294
class IServer * Server()
Definition teams.cpp:861
std::shared_ptr< CScoreSaveResult > m_apSaveTeamResult[NUM_DDRACE_TEAMS]
Definition teams.h:37
void KillCharacterOrTeam(int ClientId, int Team)
Definition teams.cpp:1282
void SetPractice(int Team, bool Enabled)
Definition teams.cpp:1388
bool IsStarted(int Team) const
Definition teams.cpp:1358
void SendTeamsState(int ClientId)
Definition teams.cpp:597
void SetForceCharacterTeam(int ClientId, int Team)
Definition teams.cpp:458
int m_aTeamUnfinishableKillTick[NUM_DDRACE_TEAMS]
Definition teams.h:44
bool m_aPractice[NUM_DDRACE_TEAMS]
Definition teams.h:36
Definition teamscore.h:25
std::bitset< MAX_CLIENTS > CClientMask
Definition protocol.h:185
@ MAX_CLIENTS
Definition protocol.h:89
ERaceState
Definition race_state.h:5
Definition scoreworker.h:150
ETeamState
Definition team_state.h:5
@ NUM_DDRACE_TEAMS
Definition teamscore.h:11