weapon_knife

From Valve Developer Community
Jump to navigation Jump to search
English (en)Translate (Translate)
Class hierarchy
CKnife
CWeaponCSBase
CBaseCombatWeapon
CBaseAnimating
CBaseEntity
weapon_knife.cpp
weapon_knife in Counter-Strike: Source.
weapon_knife in Counter-Strike: Global Offensive.

weapon_knife is a point entity available in Counter-Strike: Source Counter-Strike: Source, Counter-Strike: Global Offensive Counter-Strike: Global Offensive, and Counter-Strike 2 Counter-Strike 2.

Entity Description

Counter-Strike: SourceA knife, Counter-Strike's only melee weapon. Can be used by both teams.
Counter-Strike: Global Offensive

Every player on the Counter-Terrorist's team, who has nothing different equipped in his loadout, is given this entity when respawning in any gamemode, except mp_ct_default_melee is set to "" while game_type is not 1. The Terrorist's equivalent is weapon_knife_t.

All knife entities (weapon_knife_t, weapon_knife_karambit, ...) have the classname weapon_knife in-game after being spawned, except the Golden Knife. This can be observed by invoking ent_messages_draw 1 and ent_fire weapon_knife.

Damage against unarmored (armored) Players
Attack Type Counter-Strike: Source Counter-Strike: Global OffensiveCounter-Strike 2
Primary attack, first swing 20 (17) 40 (34)
Primary attack, consecutive swing 15 (12) 25 (21)
Primary attack, backstab - 90 (76)
Secondary attack 65 (55) 65 (55)
Secondary attack, backstab 195 (165) 180 (153)

A knife swing is considered a backstab if the angle between the attacked player's orientation and the 2D-vector from the attacking player to the attacked player is cos-1(0.475) ≈ 61.64° or less. This means that the orientation of the attacking player and the z-difference of the players are not regarded in this calculation.

Damage types are always DMG_SLASH and DMG_NEVERGIB.

KeyValues

CS:S / CS:GO Weapon:

Ammo (ammo) <integer> (only in Counter-Strike: Source)
Amount of reserve ammo to be added. Fallback value is 0. !FGD
Is this weapon allowed to be picked up? (CanBePickedUp) <boolean> (only in 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 Weapon:

SetAmmoAmount <integer> (only in Counter-Strike: Global Offensive)
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.
SetReserveAmmoAmount <integer> (only in 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.
Negative values make a gun's ammo display disappear and reloading is impossible.
ToggleCanBePickedUp <boolean> (only in 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.

Outputs

CS:S / CS:GO 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  !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  !FGD
Fires when an NPC picks up this weapon (!activator is the NPC). Bots are considered players, so this output has no functionality.
Counter-Strike: Source Hostages might be NPCs, but they don't pick weapons up.