Skip to content

Commit

Permalink
Implement mp_round_restart_delay as match end delay
Browse files Browse the repository at this point in the history
  • Loading branch information
SmileYzn committed Jan 29, 2025
1 parent c99271c commit 649bf69
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 8 deletions.
18 changes: 10 additions & 8 deletions MatchBot/MatchBot.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
#include "precompiled.h"
#include "MatchBot.h"

CMatchBot gMatchBot;

Expand Down Expand Up @@ -39,6 +38,9 @@ void CMatchBot::ServerActivate()
// Address
this->m_NetAddress = g_engfuncs.pfnCVarGetPointer("net_address");

// Round restart delay
this->m_RoundRestartDelay = g_engfuncs.pfnCVarGetPointer("mp_round_restart_delay");

// Match BOT Log Tag
this->m_MatchTag = gMatchUtil.CvarRegister("mb_log_tag", "BOT");

Expand Down Expand Up @@ -305,7 +307,7 @@ void CMatchBot::SetState(int State)
case STATE_DEAD:
{
// Run next Warmup State
gMatchTask.Create(TASK_CHANGE_STATE, 6.0f, false, (void*)this->NextState, STATE_WARMUP);
gMatchTask.Create(TASK_CHANGE_STATE, this->m_RoundRestartDelay->value + 1.0f, false, (void*)this->NextState, STATE_WARMUP);
break;
}
// Warmup State: Waiting for players until match starts
Expand Down Expand Up @@ -450,12 +452,12 @@ void CMatchBot::SetState(int State)
if (this->GetRound() < static_cast<int>(this->m_PlayRounds->value))
{
// Play second Half
gMatchTask.Create(TASK_CHANGE_STATE, 6.0f, false, (void*)this->NextState, STATE_SECOND_HALF);
gMatchTask.Create(TASK_CHANGE_STATE, this->m_RoundRestartDelay->value + 1.0f, false, (void*)this->NextState, STATE_SECOND_HALF);
}
else
{
// Play Overtime rounds
gMatchTask.Create(TASK_CHANGE_STATE, 6.0f, false, (void*)this->NextState, STATE_OVERTIME);
gMatchTask.Create(TASK_CHANGE_STATE, this->m_RoundRestartDelay->value + 1.0f, false, (void*)this->NextState, STATE_OVERTIME);
}
}
}
Expand Down Expand Up @@ -543,7 +545,7 @@ void CMatchBot::SetState(int State)
}

// Set next state, match needed to run again
gMatchTask.Create(TASK_CHANGE_STATE, 6.0f, false, (void*)this->NextState, NextState);
gMatchTask.Create(TASK_CHANGE_STATE, this->m_RoundRestartDelay->value + 1.0f, false, (void*)this->NextState, NextState);

break;
}
Expand Down Expand Up @@ -681,7 +683,7 @@ void CMatchBot::SwapScores()
SWAP(this->m_ScoreOvertime[TERRORIST], this->m_ScoreOvertime[CT]);

// Swap team sides
gMatchTask.Create(TASK_SWAP_TEAMS, 3.0f, false, (void*)this->SwapTeams, 1);
gMatchTask.Create(TASK_SWAP_TEAMS, this->m_RoundRestartDelay->value, false, (void*)this->SwapTeams, 1);
}

// Swap teams function
Expand Down Expand Up @@ -873,7 +875,7 @@ void CMatchBot::PlayerDisconnect()
if (PlayerCount[SPECTATOR] < 2)
{
// End match
gMatchTask.Create(TASK_CHANGE_STATE, 2.0f, false, (void*)this->NextState, STATE_END);
gMatchTask.Create(TASK_CHANGE_STATE, 3.0f, false, (void*)this->NextState, STATE_END);
}
}
}
Expand Down Expand Up @@ -1580,7 +1582,7 @@ void CMatchBot::EndMatch(TeamName Loser, TeamName Winner)
}

// Set end state
gMatchTask.Create(TASK_CHANGE_STATE, 0.5f, false, (void*)this->NextState, STATE_END);
gMatchTask.Create(TASK_CHANGE_STATE, 1.0f, false, (void*)this->NextState, STATE_END);
}
}

Expand Down
1 change: 1 addition & 0 deletions MatchBot/MatchBot.h
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,7 @@ class CMatchBot
cvar_t* m_Freezetime = nullptr;
cvar_t* m_Hostname = nullptr;
cvar_t* m_NetAddress = nullptr;
cvar_t* m_RoundRestartDelay = nullptr;

// Match Bot Variables
cvar_t* m_MatchTag = nullptr;
Expand Down

0 comments on commit 649bf69

Please sign in to comment.