Game weapon manager

From Valve Developer Community
Revision as of 20:10, 19 January 2009 by VDCBot (talk | contribs) (Robot: fixing template case.)
Jump to navigation Jump to search

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

Name (targetname) <string>[ Edit ]
The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g. parentname or target).
Also displayed in Hammer's 2D views and Entity Report.
See also:  Generic Keyvalues, Inputs and Outputs available to all entities

  • weaponname
<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