/*
* CSB Fast Plant & Defuse
* Copyright (C) 2026 counter-strike-boost.com
*
* Tunes the bomb round for deathmatch and fun servers. The bomb countdown is set
* from a cvar (via mp_c4timer), and defuse speed is controlled by handing out
* defuse kits: a kit halves the defuse time, so giving one to everyone makes all
* defuses fast, and a VIP flag guarantees a kit to privileged CTs even when free
* kits are off. Kits are re-issued on every spawn.
*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version. It is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See for details.
*/
#include
#include
new const PLUGIN[] = "CSB Fast Plant & Defuse"
new const VERSION[] = "1.0.0"
new const AUTHOR[] = "counter-strike-boost.com"
#define VIP_FLAG ADMIN_LEVEL_H
new g_pEnabled, g_pC4Timer, g_pFreeKit
new g_pC4TimerCvar
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
g_pEnabled = register_cvar("csb_fastbomb_enabled", "1")
g_pC4Timer = register_cvar("csb_fastbomb_c4timer", "25")
g_pFreeKit = register_cvar("csb_fastbomb_freekit", "1")
g_pC4TimerCvar = get_cvar_pointer("mp_c4timer")
register_logevent("eventRoundStart", 2, "1=Round_Start")
register_event("ResetHUD", "eventSpawn", "be")
}
public eventRoundStart()
{
if (!get_pcvar_num(g_pEnabled) || !g_pC4TimerCvar)
return
new t = get_pcvar_num(g_pC4Timer)
if (t > 0)
set_pcvar_num(g_pC4TimerCvar, t)
}
public eventSpawn(id)
{
if (!get_pcvar_num(g_pEnabled))
return
if (!is_user_alive(id) || get_user_team(id) != 2)
return
/* CT gets a defuse kit -> fast (halved) defuse */
if (get_pcvar_num(g_pFreeKit) || (get_user_flags(id) & VIP_FLAG))
cs_set_user_defuse(id, 1)
}