weapon_c4
Class hierarchy |
---|
CC4 |
weapon_c4.cpp
|
weapon_c4
is a point entity available in Counter-Strike: Source, Counter-Strike: Global Offensive, and Counter-Strike 2.
Note: Non-intiutively, the C4 models are named
models/weapons/v_ied.mdl
, w_ied.mdl
and w_ied_dropped.mdl
, while models with _c4
in their name no longer exist. In Hammer, this entity still uses the old world model, yielding the error model. See below for FGD code to fix this.Contents
Entity Description
Represents the bomb used in defusal maps.
- By default, this entity is automatically given to one player on the Terrorists' team at the beginning of each round in the classic game modes and in Demolition if there is at least one func_bomb_target.
func_bomb_target
entities fire outputs in response to this entity.- When this entity is planted, it becomes an active
planted_c4
entity that will explode after a certain number of seconds, which is read from the ConVarmp_c4timer
. This fuse time cannot be manipulated, whereasplanted_c4_training
has the input ActivateSetTimerLength.- If the current game mode is Co-op Strike and
mp_anyone_can_pickup_c4
is not 0, then the C4 timer is instead hard coded to 9999 seconds (2 hours, 46 minutes, 39 seconds) and the exploding bomb will not end the round. Also, CTs cannot +use it, so they cannot defuse it.
- If the current game mode is Co-op Strike and
Related Console Variables
Here are the related C4 console commands. All commands except mp_c4timer
are not available in Counter-Strike: Source.
ConVar | Default | Description |
---|---|---|
mp_anyone_can_pickup_c4
|
0 | Determines whether anyone or just Ts can pickup this entity. If set, CTs can pickup and plant the bomb. |
mp_c4_cannot_be_defused
|
0 | Determines whether planted C4 can be defused when planted or not. |
mp_c4timer (also in )
|
40, 45 | The duration in seconds between planting the bomb and its explosion. Minimum value is 10. Maximum value is 90. |
mp_death_drop_c4
|
1 | Determines whether a player carrying this entity will drop it on death. |
mp_give_player_c4
|
1 | Determines whether one terrorist is given this entity at round start, assuming that there exists a func_bomb_target .
|
mp_plant_c4_anywhere
|
0 | Determines whether this entity can be planted anywhere on the map or only inside func_bomb_target .
|
KeyValues
CS:S / CS:GO / CS2 Weapon:
- Ammo
(ammo)
<integer> (only in ) - Amount of reserve ammo to be added. Fallback value is 0. !FGD
- Is this weapon allowed to be picked up?
(CanBePickedUp)
<boolean> (in all games since ) - Determines if players are able to pick up the weapon.
Flags
Start Constrained : [1]
- Prevents the model from moving.
Inputs
CS:S / CS:GO / CS2 Weapon:
SetAmmoAmount
<integer> (in all games since )- For guns, sets the number of bullets in the active magazine. Does nothing for grenades.
Every value behaves like its congruent value in the range 0-255 in modulus 256 (e.g. -255 and 257 behave like 1 etc.). When set to 0, the owner may start reloading automatically, if possible. Other values congruent to 0 (-256, 256, 512, ...) might cause undefined behavior. Values congruent to -1 (mod 256) make the ammo numbers disappear. If set to a value outside the weapon's clip size, reloading might deliver unexpected results.
Behaves like SetClipPrimary.
SetReserveAmmoAmount
<integer> (in all games since )- For guns, sets the number of bullets in reserve for reloading, clamping at the weapon's maximum (e.g. 90 for the weapon_ak47).
For grenades, sets their count, clamping at the current maximum depending on the convars ammo_grenade_limit_*; When setting to 0 or below while holding the grenade, the player no longer owns any, but the viewmodel stays.
Negative values make a gun's ammo display disappear and reloading is impossible.
Negative values are clamped to 0 for guns.
ToggleCanBePickedUp
<boolean> (in all games since )- Toggles whether the weapon can be picked up by players. Visually, nothing changes and there is no event if picking up fails. Hover texts like "[E] Swap for AK-47" remain in both cases.
SetClipPrimary
<integer> (only in )- For guns, sets the number of bullets in the active magazine, clamping between 0 and its clip size; When setting to 0, the owner may start reloading automatically.
Does nothing for grenades.
SetClipSecondary
<integer> (only in )- Bug:Does nothing. SetReserveAmmoAmount works. [todo tested in?]
Outputs
CS:S / CS:GO / CS2 Weapon:
OnPlayerUse
- Fires when a player +uses this weapon (
!activator
is the player.). Does not fire if the weapon is picked up successfully.
OnPlayerPickup
- Fires when a player picks this weapon up (
!activator
is the player.).
OnCacheInteraction
(removed since ) !FGD- When dropped, fires every tick on player touch (
!activator
is the player.).
Also fires on successful +use pickup. Does not fire ifCanBePickedUp
is false.
OnNPCPickup
(removed since ) !FGD- Fires when an NPC picks up this weapon (
!activator
is the NPC). Bots are considered players, so this output has no functionality.
Hostages might be NPCs, but they don't pick weapons up.
FGD Code
This code belongs to Counter-Strike Global Offensive/bin/csgo.fgd
.
@PointClass base(Weapon) studio("models/weapons/w_ied.mdl") = weapon_c4 : "C4 Bomb" [] // fixed w_c4.mdl -> w_ied.mdl
Categories:
- TODO rewrite lang to LanguageBar
- CBaseAnimating
- Counter-Strike: Source entities
- Counter-Strike: Source point entities
- Counter-Strike: Global Offensive entities
- Counter-Strike: Global Offensive point entities
- Counter-Strike 2 entities
- Counter-Strike 2 point entities
- Pages with uncategorized bugs
- Point Entities
- Non-internal entities
- Weapons
- Counter-Strike: Source weapons
- Counter-Strike: Global Offensive weapons
- Counter-Strike 2 weapons