Item dynamic resupply

From Valve Developer Community

Table of contents

Entity Description

This article is a stub. You can help by adding to it (http://developer.valvesoftware.com/w/index.php?title=Item_dynamic_resupply&action=edit).

Gives player a load managed by one entity All Desired* keyvalues range from 0 to 1 and represent a ratio.

Each entity can only spawn one item of the appropriate type to achieve the desired player inventory values. Also, the entity will not spawn an item if the player is already at or above the desired values, or if other existing items in the vicinity can help the player achieve those values.

When the player enters the PVS of this entity, it will determine the item most needed by the player, spawn one of those items, and remove itself. To determine which item the player most needs, it calculates which of the Desired Health/Armor/Ammo ratios the player is farthest from.

If the player is above all the desired levels, then no item will be spawned, unless this item_dynamic_resupply was created by an item_item_crate. In that case, a random piece of ammo used by a weapon, that the player has, will be spawned. If the 'Fallback to Health Vial' spawnflag is set, a health vial will be spawned instead of the ammo.

By default, the item_dynamic_resupply uses the values inside the Master resupply, instead of using it's own values. This makes it easy to tweak the desired loadout of many resupplies. The BecomeMaster input allows you to switch Masters dynamically as the level progresses.

Keyvalues

Defines the name that other entities refer to this entity by.
  • hammerid [Episode Two Update]
<integer readonly> This id is used for debugging purposes in Hammer.
Pitch Yaw Roll (Y Z X)
This entity's angular orientation in the world (also used for angular effect entities).
  • disableshadows
<boolean> Used to disable dynamic shadow casting from this entity.
  • fademindist [Episode One Update]
<float> Distance at which the prop starts to fade (<0 = use fademaxdist). If 'Screen Space Fade' is selected, this represents the number of pixels wide covered by the prop when it starts to fade.
  • fademaxdist [Episode One Update]
<float> Maximum distance at which the prop is visible (0 = don't fade out). If 'Screen Space Fade' is selected, this represents the *minimum* number of pixels wide covered by the prop when it fades.
  • fadescale [Episode One Update]
<float> If you specify a fade in the worldspawn, or if the engine is running under dx7, then the engine will forcibly fade out props even if fademindist/fademaxdist isn't specified. This scale factor gives you some control over the fade. Using 0 here turns off the forcible fades.
  • DesiredHealth
<float> Attempt to fill the player up to this percentage of his max health.
  • DesiredArmor
<float> Attempt to fill the player up to this percentage of his max armor.
  • DesiredAmmoPistol
<float> Attempt to fill the player up to this percentage of his max ammo carrying capacity.
  • DesiredAmmoSMG1
<float> Attempt to fill the player up to this percentage of his max ammo carrying capacity.
  • DesiredAmmoSMG1_Grenade
<float> Attempt to fill the player up to this percentage of his max ammo carrying capacity.
  • DesiredAmmoAR2
<float> Attempt to fill the player up to this percentage of his max ammo carrying capacity.
  • DesiredAmmoBuckshot
<float> Attempt to fill the player up to this percentage of his max ammo carrying capacity.
  • DesiredAmmoRPG_Round
<float> Attempt to fill the player up to this percentage of his max ammo carrying capacity.
  • DesiredAmmoGrenade
<float> Attempt to fill the player up to this percentage of his max ammo carrying capacity.
  • DesiredAmmo357
<float> Attempt to fill the player up to this percentage of his max ammo carrying capacity.
  • DesiredAmmoCrossbow
<float> Attempt to fill the player up to this percentage of his max ammo carrying capacity.

Flags

  • 1 : Use Master's values
  • 2 : Is Master
  • 8 : Fallback to Health Vial [Episode One Update]

Inputs

  • Kill
Removes this entity from the world.
Removes this entity and all its children from the world.
  • AddOutput <string>
Evaluates a keyvalue/output on this entity. It can be potentially very dangerous, use with care.
Format: <key> <value>
Format: <output name> <targetname>:<inputname>:<parameter>:<delay>:<max times to fire (-1 == infinite)>
Causes this entity's OnUser1-4 outputs to be fired. See User Inputs and Outputs.
  • CalculateType
Force the dynamic resupply to calculate which item it should spawn.
  • BecomeMaster
Make this resupply the master resupply. All other resupplies set to Use Master's Values will now use this resupply's values.

Outputs

Fired in response to FireUser1-4 inputs. See User Inputs and Outputs.
!activator = activator
  • OnPlayerTouch
Fires when the player touches this object.
!activator = player
  • OnCacheInteraction
This output fires when the player proves they have 'found' this item. Fires on: Player Touch (whether or not player actually acquires the item), Picked up by +USE, Picked up by Physcannon, Punted by Physcannon.

See Also