Func recharge: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
mNo edit summary
(charging sound bug)
 
(44 intermediate revisions by 15 users not shown)
Line 1: Line 1:
{{wrongtitle|title=func_recharge}}
{{tabsBar|main=func_recharge}}
{{CD|CRecharge|file1=hl2/func_recharge.cpp}}
{{toc-right}}
{{for|about=the brush entity|the point entity|<tt>[[item_suitcharger]]</tt>}}
{{this is a|brush entity|name=func_recharge|game=Half-Life 2 series}} It's a brush-based version of {{ent|item_suitcharger}}.


==Entity Description==
{{stray ent|{{portal}} {{portal2}}}}
A [[brush entity]] (as opposed to the model-based [[item_suitcharger]]) that recharges the HEV suit's battery power.
{{important|Unlike its [[func_recharge (Half-Life: Source)|Half-Life: Source counterpart]], this entity has no visual indication of when it is depleted.
{{code fix|Do both of the following:
# Add {{code|[[SetTextureFrameIndex]](0)}} to {{mono|CRecharge::Recharge()}} and {{mono|CRecharge::Spawn()}}
# Add {{code|[[SetTextureFrameIndex]](1)}} to {{mono|CRecharge::Off()}}
This will make all textures on the brush with the [[List Of Material Proxies#Entity integration|ToggleTexture]] material proxy use frame 0 when charge is remaining, and frame 1 when the charger is depleted.}}}}


==Availability==
{{Bug|[[Kill|Killing]] a charger while it is being used will make the charging sound loop indefintely.|hidetested=1}}
{{in game|brush}} {{game|HL2}}
{{in code|class=class_c_recharge.html CRecharge|file=func__recharge_8cpp-source.html hl2_dll\func_recharge.cpp}}
 
==Dedicated Console Variables==
* '''sk_suitcharger''' (Default: 75)
: <integer>
* '''sk_suitcharger_citadel''' (Default: 500)
: <integer>
* '''sk_suitcharger_citadel_maxarmor''' (Default: 200)
: <integer>


==Keyvalues==
==Keyvalues==
*{{kv targetname}}
{{Brush rendering note}}
*{{kv parentname}}
{{KV Targetname}}
*{{kv origin}}
{{KV|Deathmatch recharge delay|intn=dmdelay|integer}}
*'''_minlight'''
:<integer> Minimum light level.


==Flags==
==Flags==
* 8192 : Citadel recharger
{{fl|8192|Citadel recharger}}


==Inputs==
==Inputs==
*{{i targetname}}
{{I|Recharge|Sets charge to maximum.}}
*{{i parentname}}
{{I|SetCharge|deprecated=1|param=int|Not present in code. Sets the remaining charge in the charger to the value specified.}}
*'''Recharge'''
* '''{{ep1 add|SetCharge <integer>}}'''
: This sets the remaining charge in the charger to whatever value you specify


==Outputs==
==Outputs==
*{{o targetname}}
{{O|OutRemainingCharge|Fires once for every single point of power given to the suit. This means it will not fire when the charger is depleted or when the suit is at full power. {{outadd|the amount of charge remaining in the charger}}}}
*'''OutRemainingCharge <float>'''
{{O|OnHalfEmpty|Fires when the "charge left" reaches 50% of its max.}}
: Remaining Charge
{{O|OnEmpty|Fires when the charger is empty.}}
* '''OnHalfEmpty'''
{{O|OnFull|Fires when the charger gets recharged to the max.}}
: Half-Empty
{{O|OnPlayerUse|Fires when a player {{ent|+use}}s the entity.}}
* '''OnEmpty'''
 
: Empty
==ConVars/Commands==
* '''OnFull'''
{{varcom|start}}
: Recharged to full.
{{varcom|sk_suitcharger|75 (HL2) 30 (HL2DM)|Arbitrary number|Amount of power a normal charger may give.}}
* '''OnPlayerUse'''
{{varcom|sk_suitcharger_citadel|500 (HL2) 200 (HL2DM)|Arbitrary number|Amount of power a citadel charger may give.}}
: Fired when the player +USEs the charger. {{plact}}
{{varcom|sk_suitcharger_citadel_maxarmor|200|Arbitrary number|Amount of power the suit can be charged to via a citadel charger.}}
{{varcom|end}}


[[Category:Entities]][[Category:Brush Entities]]
==See also==
*{{ent|func_healthcharger}}, a version of this entity meant for health.

Latest revision as of 14:38, 16 May 2025

edit
C++ Class hierarchy
CRecharge
CBaseToggle
CBaseEntity
C++ func_recharge.cpp
This article is about the brush entity. For the point entity, see item_suitcharger.

func_recharge is a brush entity available in Half-Life 2 series Half-Life 2 series. It's a brush-based version of item_suitcharger.

Note.pngNote:This entity is also in the code for Portal Portal 2. Its functionality is not guaranteed.
Icon-Important.pngImportant:Unlike its Half-Life: Source counterpart, this entity has no visual indication of when it is depleted.
Cpp.pngCode Fix:Do both of the following:
  1. Add SetTextureFrameIndex(0) to CRecharge::Recharge() and CRecharge::Spawn()
  2. Add SetTextureFrameIndex(1) to CRecharge::Off()
This will make all textures on the brush with the ToggleTexture material proxy use frame 0 when charge is remaining, and frame 1 when the charger is depleted.
Icon-Bug.pngBug:Killing a charger while it is being used will make the charging sound loop indefintely.

Keyvalues

Note.pngNote:For Keyvalues and Inputs affecting brush rendering, see Brush entity/Rendering related keyvalues and inputs
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

Deathmatch recharge delay (dmdelay) <integer>

Flags

Citadel recharger : [8192]

Inputs

Recharge
Sets charge to maximum.
SetCharge <integerRedirectInput/integer> Obsolete
Deprecated.
Not present in code. Sets the remaining charge in the charger to the value specified.

Outputs

OutRemainingCharge
Fires once for every single point of power given to the suit. This means it will not fire when the charger is depleted or when the suit is at full power. This output automatically puts the amount of charge remaining in the charger into the parameter box for inputs, if the mapper does not override the parameter with something else.
OnHalfEmpty
Fires when the "charge left" reaches 50% of its max.
OnEmpty
Fires when the charger is empty.
OnFull
Fires when the charger gets recharged to the max.
OnPlayerUse
Fires when a player +uses the entity.

ConVars/Commands

Cvar/Command Parameters or default value Descriptor Effect
sk_suitcharger 75 (HL2) 30 (HL2DM) Arbitrary number Amount of power a normal charger may give.
sk_suitcharger_citadel 500 (HL2) 200 (HL2DM) Arbitrary number Amount of power a citadel charger may give.
sk_suitcharger_citadel_maxarmor 200 Arbitrary number Amount of power the suit can be charged to via a citadel charger.

See also