Game weapon manager: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (Robot: fixing template case.)
m (Robot: fixing template case.)
Line 24: Line 24:
: <float> Modifier for amount of ammo dropped by a weapon.
: <float> Modifier for amount of ammo dropped by a weapon.
==Inputs==
==Inputs==
*{{i targetname}}
*{{I Targetname}}
* '''{{EP1 add|SetAmmoModifier}}'''
* '''{{EP1 add|SetAmmoModifier}}'''
: <float> Adjust the ammo modifier.
: <float> Adjust the ammo modifier.
==Outputs==
==Outputs==
*{{o targetname}}
*{{o targetname}}

Revision as of 19:37, 19 January 2009

Template:Wrongtitle Template:Base point

Entity Description

An entity used to limit the number of a particular weapon type in the world. Useful in places where NPCs are spawning rapidly, dying, and dropping weapons.

Template:Map properties

This entity conducts a count of all the weapons in the world of my type and see if we have a surplus. If there is a surplus, try to find suitable candidates for removal. Right now we just remove the first weapons we find that are behind the player, or are out of the player's PVS.

Note.pngNote:This code is designed to not remove weapons that are hand-placed by level designers. It should only clean up weapons dropped by dead NPCs, which is useful in situations where enemies are spawned in for a sustained period of time.
Warning.pngWarning:This entity is designed using UTIL_GetLocalPlayer, which returns NULL in any type of multiplayer game.

In code it is represented by class CGameWeaponManager, defined in basecombatweapon_shared.cpp.

Keyvalues

<string> Classname of the weapon type to limit.
  • maxpieces
<integer> The maximum amount of the specified weapon type allowed in the world.
  • ammomod (in all games since Half-Life 2: Episode One)
<float> Modifier for amount of ammo dropped by a weapon.

Inputs

  • SetAmmoModifier (in all games since Half-Life 2: Episode One)
<float> Adjust the ammo modifier.

Outputs