weapon_spanner

From Valve Developer Community
Jump to navigation Jump to search
weapon_spanner
Info.png
This entity is not in the FGD by default.
See below for instructions on making it available.

weapon_spanner is a point entity available in Counter-Strike: Global Offensive Counter-Strike: Global Offensive. It's one of many new entities added with the CS:GO Danger Zone Danger Zone update.

Apart from its model, its HUD icons and its damage values, it is identical to weapon_melee.

Warning.pngWarning: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 CS:GO Danger Zone 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 Counter-Strike: Global Offensive)
Determines if players are able to pick up the weapon.

Flags

Start Constrained : [1]

Prevents the model from moving.

Deny Player Pickup : [2] !FGD

Prevents player from being able to pick up the weapon.

Inputs

CS:GO / CS2 Weapon:

SetAmmoAmount <integer> (in all games since Counter-Strike: Global Offensive)
For guns, sets the number of bullets in the active magazine. Does nothing for grenades.
Counter-Strike: Global Offensive 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.
Counter-Strike 2 Behaves like SetClipPrimary.
SetReserveAmmoAmount <integer> (in all games since Counter-Strike: Global Offensive)
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.
Counter-Strike: Global Offensive Negative values make a gun's ammo display disappear and reloading is impossible.
Counter-Strike 2 Negative values are clamped to 0 for guns.
ToggleCanBePickedUp <boolean> (in all games since Counter-Strike: Global Offensive)
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 Counter-Strike 2)
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 Counter-Strike 2)
Icon-Bug.pngBug: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 Counter-Strike 2) !FGD
When dropped, fires every tick on player touch (!activator is the player.).
Counter-Strike: Global Offensive Also fires on successful +use pickup. Does not fire if CanBePickedUp is false.
OnNPCPickup  (removed since Counter-Strike 2) !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" []