mirror of
https://github.com/s1lentq/ReGameDLL_CS.git
synced 2025-01-15 08:08:07 +03:00
Added cvar mp_restart_round_delay (#109)
* Added cvar bot_quota_mode * Added cvar mp_restart_round_delay
This commit is contained in:
parent
fed41984d8
commit
f46cb5a635
@ -109,6 +109,7 @@ cvar_t freeforall = { "mp_freeforall", "0", FCVAR_SERVER, 0.0f, nullptr };
|
|||||||
cvar_t auto_join_team = { "mp_auto_join_team", "0", 0, 0.0f, nullptr };
|
cvar_t auto_join_team = { "mp_auto_join_team", "0", 0, 0.0f, nullptr };
|
||||||
cvar_t max_teamkills = { "mp_max_teamkills", "3", 0, 3.0f, nullptr };
|
cvar_t max_teamkills = { "mp_max_teamkills", "3", 0, 3.0f, nullptr };
|
||||||
cvar_t fraglimit = { "mp_fraglimit", "0", FCVAR_SERVER, 0.0f, nullptr };
|
cvar_t fraglimit = { "mp_fraglimit", "0", FCVAR_SERVER, 0.0f, nullptr };
|
||||||
|
cvar_t round_restart_delay = { "mp_round_restart_delay", "5", FCVAR_SERVER, 0.0f, nullptr };
|
||||||
|
|
||||||
cvar_t showtriggers = { "showtriggers", "0", 0, 0.0f, nullptr }; // debug cvar shows triggers
|
cvar_t showtriggers = { "showtriggers", "0", 0, 0.0f, nullptr }; // debug cvar shows triggers
|
||||||
// TODO: Maybe it's better to register in the engine?
|
// TODO: Maybe it's better to register in the engine?
|
||||||
@ -257,6 +258,7 @@ void EXT_FUNC GameDLLInit()
|
|||||||
CVAR_REGISTER(&auto_join_team);
|
CVAR_REGISTER(&auto_join_team);
|
||||||
CVAR_REGISTER(&max_teamkills);
|
CVAR_REGISTER(&max_teamkills);
|
||||||
CVAR_REGISTER(&fraglimit);
|
CVAR_REGISTER(&fraglimit);
|
||||||
|
CVAR_REGISTER(&round_restart_delay);
|
||||||
|
|
||||||
CVAR_REGISTER(&showtriggers);
|
CVAR_REGISTER(&showtriggers);
|
||||||
CVAR_REGISTER(&hostagehurtable);
|
CVAR_REGISTER(&hostagehurtable);
|
||||||
|
@ -144,6 +144,7 @@ extern cvar_t freeforall;
|
|||||||
extern cvar_t auto_join_team;
|
extern cvar_t auto_join_team;
|
||||||
extern cvar_t max_teamkills;
|
extern cvar_t max_teamkills;
|
||||||
extern cvar_t fraglimit;
|
extern cvar_t fraglimit;
|
||||||
|
extern cvar_t round_restart_delay;
|
||||||
|
|
||||||
extern cvar_t showtriggers;
|
extern cvar_t showtriggers;
|
||||||
extern cvar_t hostagehurtable;
|
extern cvar_t hostagehurtable;
|
||||||
|
@ -764,6 +764,7 @@ public:
|
|||||||
|
|
||||||
void TerminateRound(float tmDelay, int iWinStatus);
|
void TerminateRound(float tmDelay, int iWinStatus);
|
||||||
float GetRoundRespawnTime() const;
|
float GetRoundRespawnTime() const;
|
||||||
|
float GetRoundRestartDelay() const;
|
||||||
|
|
||||||
// has a style of gameplay when aren't any teams
|
// has a style of gameplay when aren't any teams
|
||||||
bool IsFreeForAll() const;
|
bool IsFreeForAll() const;
|
||||||
@ -945,6 +946,15 @@ inline bool CHalfLifeMultiplay::IsFreeForAll() const
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline float CHalfLifeMultiplay::GetRoundRestartDelay() const
|
||||||
|
{
|
||||||
|
#ifdef REGAMEDLL_ADD
|
||||||
|
return round_restart_delay.value;
|
||||||
|
#else
|
||||||
|
return ROUND_BEGIN_DELAY;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
inline bool HasRoundInfinite(int flags = 0)
|
inline bool HasRoundInfinite(int flags = 0)
|
||||||
{
|
{
|
||||||
#ifdef REGAMEDLL_ADD
|
#ifdef REGAMEDLL_ADD
|
||||||
|
@ -1186,12 +1186,12 @@ bool EXT_FUNC CHalfLifeMultiplay::VIPRoundEndCheck()
|
|||||||
{
|
{
|
||||||
if (m_pVIP->m_bEscaped)
|
if (m_pVIP->m_bEscaped)
|
||||||
{
|
{
|
||||||
return g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::VIP_Escaped_internal, this, WINSTATUS_CTS, ROUND_VIP_ESCAPED, ROUND_BEGIN_DELAY);
|
return g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::VIP_Escaped_internal, this, WINSTATUS_CTS, ROUND_VIP_ESCAPED, GetRoundRestartDelay());
|
||||||
}
|
}
|
||||||
// The VIP is dead
|
// The VIP is dead
|
||||||
else if (m_pVIP->pev->deadflag != DEAD_NO)
|
else if (m_pVIP->pev->deadflag != DEAD_NO)
|
||||||
{
|
{
|
||||||
return g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::VIP_Died_internal, this, WINSTATUS_TERRORISTS, ROUND_VIP_ASSASSINATED, ROUND_BEGIN_DELAY);
|
return g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::VIP_Died_internal, this, WINSTATUS_TERRORISTS, ROUND_VIP_ASSASSINATED, GetRoundRestartDelay());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1278,15 +1278,15 @@ bool EXT_FUNC CHalfLifeMultiplay::PrisonRoundEndCheck(int NumAliveTerrorist, int
|
|||||||
|
|
||||||
if (m_flEscapeRatio >= m_flRequiredEscapeRatio)
|
if (m_flEscapeRatio >= m_flRequiredEscapeRatio)
|
||||||
{
|
{
|
||||||
return g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::Prison_Escaped_internal, this, WINSTATUS_TERRORISTS, ROUND_TERRORISTS_ESCAPED, ROUND_BEGIN_DELAY);
|
return g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::Prison_Escaped_internal, this, WINSTATUS_TERRORISTS, ROUND_TERRORISTS_ESCAPED, GetRoundRestartDelay());
|
||||||
}
|
}
|
||||||
else if (NumAliveTerrorist == 0 && m_flEscapeRatio < m_flRequiredEscapeRatio)
|
else if (NumAliveTerrorist == 0 && m_flEscapeRatio < m_flRequiredEscapeRatio)
|
||||||
{
|
{
|
||||||
return g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::Prison_PreventEscape_internal, this, WINSTATUS_CTS, ROUND_CTS_PREVENT_ESCAPE, ROUND_BEGIN_DELAY);
|
return g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::Prison_PreventEscape_internal, this, WINSTATUS_CTS, ROUND_CTS_PREVENT_ESCAPE, GetRoundRestartDelay());
|
||||||
}
|
}
|
||||||
else if (NumAliveTerrorist == 0 && NumDeadTerrorist != 0 && m_iNumSpawnableCT > 0)
|
else if (NumAliveTerrorist == 0 && NumDeadTerrorist != 0 && m_iNumSpawnableCT > 0)
|
||||||
{
|
{
|
||||||
return g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::Prison_Neutralized_internal, this, WINSTATUS_CTS, ROUND_ESCAPING_TERRORISTS_NEUTRALIZED, ROUND_BEGIN_DELAY);
|
return g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::Prison_Neutralized_internal, this, WINSTATUS_CTS, ROUND_ESCAPING_TERRORISTS_NEUTRALIZED, GetRoundRestartDelay());
|
||||||
}
|
}
|
||||||
// else return true;
|
// else return true;
|
||||||
}
|
}
|
||||||
@ -1346,11 +1346,11 @@ bool CHalfLifeMultiplay::BombRoundEndCheck()
|
|||||||
// Check to see if the bomb target was hit or the bomb defused.. if so, then let's end the round!
|
// Check to see if the bomb target was hit or the bomb defused.. if so, then let's end the round!
|
||||||
if (m_bTargetBombed && m_bMapHasBombTarget)
|
if (m_bTargetBombed && m_bMapHasBombTarget)
|
||||||
{
|
{
|
||||||
return g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::Target_Bombed_internal, this, WINSTATUS_TERRORISTS, ROUND_TARGET_BOMB, ROUND_BEGIN_DELAY);
|
return g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::Target_Bombed_internal, this, WINSTATUS_TERRORISTS, ROUND_TARGET_BOMB, GetRoundRestartDelay());
|
||||||
}
|
}
|
||||||
else if (m_bBombDefused && m_bMapHasBombTarget)
|
else if (m_bBombDefused && m_bMapHasBombTarget)
|
||||||
{
|
{
|
||||||
return g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::Target_Defused_internal, this, WINSTATUS_CTS, ROUND_BOMB_DEFUSED, ROUND_BEGIN_DELAY);
|
return g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::Target_Defused_internal, this, WINSTATUS_CTS, ROUND_BOMB_DEFUSED, GetRoundRestartDelay());
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
@ -1432,19 +1432,19 @@ bool CHalfLifeMultiplay::TeamExterminationCheck(int NumAliveTerrorist, int NumAl
|
|||||||
|
|
||||||
if (!nowin)
|
if (!nowin)
|
||||||
{
|
{
|
||||||
return g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::Round_Cts_internal, this, WINSTATUS_CTS, ROUND_CTS_WIN, ROUND_BEGIN_DELAY);
|
return g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::Round_Cts_internal, this, WINSTATUS_CTS, ROUND_CTS_WIN, GetRoundRestartDelay());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Terrorists WON
|
// Terrorists WON
|
||||||
else if (NumAliveCT == 0 && NumDeadCT != 0)
|
else if (NumAliveCT == 0 && NumDeadCT != 0)
|
||||||
{
|
{
|
||||||
return g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::Round_Ts_internal, this, WINSTATUS_TERRORISTS, ROUND_TERRORISTS_WIN, ROUND_BEGIN_DELAY);
|
return g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::Round_Ts_internal, this, WINSTATUS_TERRORISTS, ROUND_TERRORISTS_WIN, GetRoundRestartDelay());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (NumAliveCT == 0 && NumAliveTerrorist == 0)
|
else if (NumAliveCT == 0 && NumAliveTerrorist == 0)
|
||||||
{
|
{
|
||||||
return g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::Round_Draw_internal, this, WINSTATUS_DRAW, ROUND_END_DRAW, ROUND_BEGIN_DELAY);
|
return g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::Round_Draw_internal, this, WINSTATUS_DRAW, ROUND_END_DRAW, GetRoundRestartDelay());
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
@ -1512,7 +1512,7 @@ bool CHalfLifeMultiplay::HostageRescueRoundEndCheck()
|
|||||||
{
|
{
|
||||||
if (m_iHostagesRescued >= (iHostages * 0.5f))
|
if (m_iHostagesRescued >= (iHostages * 0.5f))
|
||||||
{
|
{
|
||||||
return g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::Hostage_Rescue_internal, this, WINSTATUS_CTS, ROUND_ALL_HOSTAGES_RESCUED, ROUND_BEGIN_DELAY);
|
return g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::Hostage_Rescue_internal, this, WINSTATUS_CTS, ROUND_ALL_HOSTAGES_RESCUED, GetRoundRestartDelay());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3007,29 +3007,29 @@ void CHalfLifeMultiplay::CheckRoundTimeExpired()
|
|||||||
// New code to get rid of round draws!!
|
// New code to get rid of round draws!!
|
||||||
if (m_bMapHasBombTarget)
|
if (m_bMapHasBombTarget)
|
||||||
{
|
{
|
||||||
if (!g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::Target_Saved_internal, this, WINSTATUS_CTS, ROUND_TARGET_SAVED, ROUND_BEGIN_DELAY))
|
if (!g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::Target_Saved_internal, this, WINSTATUS_CTS, ROUND_TARGET_SAVED, GetRoundRestartDelay()))
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (UTIL_FindEntityByClassname(NULL, "hostage_entity"))
|
else if (UTIL_FindEntityByClassname(NULL, "hostage_entity"))
|
||||||
{
|
{
|
||||||
if (!g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::Hostage_NotRescued_internal, this, WINSTATUS_TERRORISTS, ROUND_HOSTAGE_NOT_RESCUED, ROUND_BEGIN_DELAY))
|
if (!g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::Hostage_NotRescued_internal, this, WINSTATUS_TERRORISTS, ROUND_HOSTAGE_NOT_RESCUED, GetRoundRestartDelay()))
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (m_bMapHasEscapeZone)
|
else if (m_bMapHasEscapeZone)
|
||||||
{
|
{
|
||||||
if (!g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::Prison_NotEscaped_internal, this, WINSTATUS_CTS, ROUND_TERRORISTS_NOT_ESCAPED, ROUND_BEGIN_DELAY))
|
if (!g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::Prison_NotEscaped_internal, this, WINSTATUS_CTS, ROUND_TERRORISTS_NOT_ESCAPED, GetRoundRestartDelay()))
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (m_bMapHasVIPSafetyZone)
|
else if (m_bMapHasVIPSafetyZone)
|
||||||
{
|
{
|
||||||
if (!g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::VIP_NotEscaped_internal, this, WINSTATUS_TERRORISTS, ROUND_VIP_NOT_ESCAPED, ROUND_BEGIN_DELAY))
|
if (!g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::VIP_NotEscaped_internal, this, WINSTATUS_TERRORISTS, ROUND_VIP_NOT_ESCAPED, GetRoundRestartDelay()))
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#ifdef REGAMEDLL_ADD
|
#ifdef REGAMEDLL_ADD
|
||||||
else if (roundover.value)
|
else if (roundover.value)
|
||||||
{
|
{
|
||||||
// round is over
|
// round is over
|
||||||
if (!g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::RoundOver_internal, this, WINSTATUS_DRAW, ROUND_GAME_OVER, ROUND_BEGIN_DELAY))
|
if (!g_ReGameHookchains.m_RoundEnd.callChain(&CHalfLifeMultiplay::RoundOver_internal, this, WINSTATUS_DRAW, ROUND_GAME_OVER, GetRoundRestartDelay()))
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user