weapon_spanner
weapon_spanner
is a point entity available in Counter-Strike: Global Offensive.
It's one of many new entities added with the Danger Zone update.
Apart from its model, its HUD icons and its damage values, it is identical to weapon_melee.
Warning:In the I/O system and in VScript, this entity is targeted with the classname
weapon_melee
instead!Entity Description
Players can only pick this entity up if game_type 6
and game_mode 0
are set. This is the case in Danger Zone.
The primary attack is similar to a knife swing, but with other damage values. Hitting an enemy emits the same sound as hitting an enemy with the secondary attack of weapon_knife.
The secondary attack throws this weapon. It damages players if it has a high velocity.
Damage | unarmored | armored |
---|---|---|
normal | 8 (7)* | 7 (5)* |
from behind | 14 (14)* | 11 (11)* |
thrown | 60 | 30 |
* consecutive swings
KeyValues
CS:GO / CS2 Weapon:
- 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: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: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.
FGD Code
@PointClass base(Weapon) studio("models/weapons/w_spanner_dropped.mdl") = weapon_spanner : "Wrench" []