Env xen pushpad: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(-added class hierarchy, cleanup)
Line 1: Line 1:
[[File:env_xen_pushpad.jpg|thumb|The Xen Trampoline in <code>bm_c2a5g</code>.]]
[[File:env_xen_pushpad.jpg|thumb|The Xen Trampoline in <code>bm_c2a5g</code>.]]
{{CD|CPropXenPushPad|base=??? CBaseAnimating}}
{{this is a|point entity|name=env_xen_pushpad|game=Black Mesa|}} This is [https://combineoverwiki.net/wiki/Alien_Trampoline Xen Trampoline], the [[Xen]] flora that propelling anything who steps onto it into the air. The game uses it as a jump pad that allows the player to jump high. Works with player and physics objects.
{{this is a|point entity|name=env_xen_pushpad|game=Black Mesa|}} This is [https://combineoverwiki.net/wiki/Alien_Trampoline Xen Trampoline], the [[Xen]] flora that propelling anything who steps onto it into the air. The game uses it as a jump pad that allows the player to jump high. Works with player and physics objects.
Represented by class <code>CPropXenPushPad</code>.


== Keyvalues ==
== Keyvalues ==
{{KV Targetname}}
{{KV|Next Jump Delta|intn=nextjumpdelta|float|Push pad trigger delay. Don't use 0, it may will break the jump pad.}}
{{KV|Next Jump Delta|intn=nextjumpdelta|float|Push pad trigger delay. Don't use 0, it may will break the jump pad.}}
{{KV|Jump Target Name|intn=target|target_destination|The target we will jump towards. Overrides max jump height. Forces this entity to push along a certain trajectory.}}
{{KV|Jump Target Name|intn=target|target_destination|The target we will jump towards. Overrides max jump height. Forces this entity to push along a certain trajectory.}}
Line 12: Line 11:
:*0: No
:*0: No
:*1: Yes}}
:*1: Yes}}
{{KV|[[Skin]]|intn=skin|int|Some models have multiple skins. This value selects from the index, starting with 0.}}
{{KV|Collisions|intn=solid|choices|Method of collision for this entity.<!--
-->{{Expand|title=Choices|margin_left=2em|
:*'''0''': None
:*'''1''': BSP ([[QPhysics]])
:*'''2''': [[Bounding box|Bounding Box]]
:*'''3''': Oriented Bounding Box (Use for runtime spawned rotated brush entities)
:*'''4''': Oriented Bounding Box, constrained to [[QAngle|Yaw]] only
:*'''5''': Custom/Test (Usually no collision with anything)
:*'''6''': [[VPhysics]]}}
}}
{{KV|[[Hitbox]] Set|intn=hitboxset|string|Sets the {{Ent|$hboxset}} to use.}}
{{KV|Body Group|intn=body or SetBodyGroup|int|Sets the the active {{Ent|$bodygroup}}.}}
{{KV|Model Index|intn=modelindex|short|Given the number index from dumping the <code>cl_precacheinfo modelprecache</code> table, sets entity model to the index. {{warning|If an entity has animations that ''will be'' played, then the set model also must have its own sequences, else the game crashes.}}|nofgd=1}}
{{KV|Model Scale|intn=modelscale|float|A multiplier for the size of the model. Negative values are accepted. Does not alter the physics collisions in most cases, however.{{warning|Negative or extremely high values can cause crashes!}}{{note|Scale may not appear in {{hammer4|2}}, but will appear in-game (tested in {{dods}}). This is fixed in {{hammer++|2}}.}}|since=EP2}}
{{KV|Texture Frame|intn=texframeindex|int|The initial frame number for all animated textures on this entity.|nofgd=1}}
{{KV|Start Fade Distance|intn=fademindist|float|Distance at which the entity starts fading. If 0 or less, the entity will disappear instantly when end fade is hit. The value will scale appropriately if the entity is in a [[3D Skybox]].}}
{{KV|End Fade Distance|intn=fademaxdist|float|Distance at which the entity ends fading. If 0 or less, the entity won't disappear at all. The value will scale appropriately if the entity is in a 3D Skybox.}}
{{KV|Fade Scale|intn=fadescale|float|If specified in the {{Ent|worldspawn}}, or if the engine is running below DirectX 8, entities will fade out even if the fade distances above aren't specified. This value gives more control over when this happens: numbers smaller than 1 cause the entity to fade out at further distances, and greater than 1 cause it to fade out at closer distances. Using 0 turns off the forced fade altogether. See also {{Ent|$noforcedfade}}.}}
{{KV|FX Amount/Transparency (0–255)|intn=renderamt|int|Transparency amount, requires a Render Mode other than '''Normal'''. 0 is invisible, 255 is fully visible.}}
{{KV|Render Color (R G B)|intn=rendercolor|color255|Color tint.}}
{{KV Render FX}}
{{KV Rendermode}}
{{KV|Disable Shadows|intn=disableshadows|boolean|Prevent the entity from creating cheap render-to-texture shadows. Does not affect [[shadow mapping]].}}
{{KV|Disable Receiving Shadows|intn=disablereceiveshadows|boolean|Prevent the entity from receiving shadows on itself.}}
{{KV|Lighting Origin|intn=LightingOrigin|targetname|Select an entity (not {{Ent|info_lighting}}!) from which to sample lighting instead of the entity's [[origin]].}}
{{KV|Lighting Origin Offset|intn=LightingOriginHack|targetname|The {{Ent|info_lighting_relative}} from which to sample lighting instead of the entity's origin. Use <tt>Lighting Origin</tt> instead.|deprecated=1}}
{{KV BaseEntity|base=1}}
==Inputs==
{{IO|skin|param=int|Selects a [[skin]] from the model's index, starting with 0.}}
{{IO|Color|param=color255|Sets value for {{code|Color}} property.}}
{{IO|Alpha|param=integer|Sets value for {{code|Alpha}} property.}}
{{IO|SetBodyGroup|param=int|Sets the the active {{ent|$bodygroup}}.}}
{{IO|Ignite|Makes the entity catch on fire indefinitely.}}
{{IO|IgniteLifetime|param=float|Makes the entity catch on fire for a given amount of time.}}
{{IO|IgniteNumHitboxFires|param=int|Makes the entity catch on fire with a given number of [[hitbox]] fire particles. Does not function correctly in {{l4d2}} onward.|removed={{l4d2}}}}
{{IO|IgniteHitboxFireScale|param=float|Makes the entity catch on fire with a given scale for [[hitbox]] fire particles. Does not function correctly in {{l4d2}} onward.|removed={{l4d2}}}}
{{IO|BecomeRagdoll|Kills the entity and creates a client-side ragdoll from the model. Input is only passed if the model contains {{ent|$collisionjoints}}. For other models, {{ent|phys_convert}} can be used instead.}}
{{IO|SetLightingOrigin|param=targetname|Sets the entity's lighting origin to use this entity's position.}}
{{IO|SetLightingOriginHack|param=targetname|Offsets the entity's lighting origin by their distance from an {{ent|info_lighting_relative}}. Use <code>SetLightingOrigin</code> instead.|deprecated=1|removed={{l4d}}}}
{{IO|fademindist|param=float|Sets distance at which the entity starts fading. If <0, the entity will disappear instantly when end fade is hit. The value will scale appropriately if the entity is in a [[3D Skybox]].}}
{{IO|fademaxdist|param=float|Sets distance at which the entity ends fading. If <0, the entity won't disappear at all. The value will scale appropriately if the entity is in a [[3D Skybox]].}}
{{IO|SetModelScale|param=vector|only={{src13}}|Multiplies the size of the model. Does not alter the physics collisions in most cases. Can take two values separated by a space, in which case the first value would be the target model scale and the second value would be the number of seconds the change in scale will be spread over. If there is no second value, the model will scale instantly.{{tip|The <code>modelscale</code> keyvalue can be [[AddOutput]]ed as a workaround for other games with this input missing.}}
:{{warning|Negative or extremely high values can cause crashes!}}}}
{{I BaseEntity|base=1}}


==Outputs==
==Outputs==
Line 66: Line 16:
{{tip|You can use this output and {{ent|misc_marionettist}} to have a trajectory that cannot be deviated from (just like in <code>bm_c4a3a1</code>).}}
{{tip|You can use this output and {{ent|misc_marionettist}} to have a trajectory that cannot be deviated from (just like in <code>bm_c4a3a1</code>).}}
}}
}}
{{IO|OnIgnite|nofgd=1|Fired when the entity catches fire, such as from an {{ent|env_entity_igniter}} or the <code>Ignite</code> inputs.}}
{{O BaseEntity|}}


== Bugs/Limitations ==
== Bugs/Limitations ==

Revision as of 18:00, 25 September 2024

The Xen Trampoline in bm_c2a5g.
C++ Class hierarchy
CPropXenPushPad
???
CBaseAnimating
CBaseEntity

env_xen_pushpad is a point entity available in Black Mesa Black Mesa. This is Xen Trampoline, the Xen flora that propelling anything who steps onto it into the air. The game uses it as a jump pad that allows the player to jump high. Works with player and physics objects.

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

Next Jump Delta (nextjumpdelta) <float>
Push pad trigger delay. Don't use 0, it may will break the jump pad.
Jump Target Name (target) <targetname>
The target we will jump towards. Overrides max jump height. Forces this entity to push along a certain trajectory.
Height Offset (height) <float>
The max jump height.
MuteME (m_bmuteme) <choices>
If yes - the push sound will never be played.
  • 0: No
  • 1: Yes

Outputs

OnTrigger
Fired when jump pad is triggered.
Tip.pngTip:You can use this output and misc_marionettist to have a trajectory that cannot be deviated from (just like in bm_c4a3a1).

Bugs/Limitations

Doesn't work with NPCs

It completely ignore any type of NPC, they just go throught this entity. Probably was never implemented on purpose due to possible problems with NPCs navigation.

Confirm:You can workaround it with other entities.

Disappear in multiplayer

The model of this entity sometimes disappear, the entity still work however. You can workaround, disable entity render via Don't Render value for Render Mode property, add prop_dynamic with disabled collision and add some logic for the idle and jump animations.

No collision

This entity never solid due to many reasons, just don't care about this issue. Don't try to use combinations with prop_dynamic, it will be unstable.