Ability tongue: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Entity template update)
No edit summary
 
(8 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{ent not in fgd|nolink=1}}
{{TabsBar|main=L4DAbilities}}
{{Ent not in fgd|nolink=1}}
{{cleanup}}
{{cleanup}}
__NOTOC__
__NOTOC__
{{CD|CTongue}}
{{CD|CTongue}}
{{entity|ability_tongue|type=e0|game=Left 4 Dead series}} It's the smoker's tongue attack. This entity is located at the tip of his tongue.
{{this is a|point entity|name=ability_tongue|game=Left 4 Dead series}} It's the [[smoker]]'s tongue attack. This entity is located at the tip of his tongue.


== NetProps ==
== NetProps ==
{{todo}}
{{todo}}
=== CTongue ===
=== CTongue ===
{{KV|m_currentTipTarget|ehandle|Player the smoker started his tongue attack at{{tip|set to null to abort tongue attack in state 2}}}}
{{KV|intn=0|m_currentTipTarget|ehandle|Player the smoker started his tongue attack at{{tip|set to null to abort tongue attack in state 2}}}}
{{KV|m_potentialTarget|ehandle|Some player that smoker can start tongue attack at from his current position and angles}}
{{KV|intn=0|m_potentialTarget|ehandle|Some player that smoker can start tongue attack at from his current position and angles}}
{{KV|m_tongueHitRange|float|distance from last caught survivor}}
{{KV|intn=0|m_tongueHitRange|float|distance from last caught survivor}}
{{KV|m_tongueGrabStartingHealth|int|health of a smoker at the moment he caught a survivor}}
{{KV|intn=0|m_tongueGrabStartingHealth|int|health of a smoker at the moment he caught a survivor}}
{{KV|m_tongueHitWasAmbush|todo}}
{{KV|intn=0|m_tongueHitWasAmbush|todo}}
{{KV|m_tongueVictimLastOnGroundTime|float|server time of the last time caught survivor was touching the ground}}
{{KV|intn=0|m_tongueVictimLastOnGroundTime|float|server time of the last time caught survivor was touching the ground}}
{{KV|m_bendPositions|array of vectors|points where tongue is bent {{note|only first bend point can be read with the current vscript functions}}}}
{{KV|intn=0|m_bendPositions|array of vectors|points where tongue is bent {{note|only first bend point can be read with the current vscript functions}}}}
{{KV|m_bendPointCount|int|number of bent points}}
{{KV|intn=0|m_bendPointCount|int|number of bent points}}
{{KV|m_tongueState|int|0 {{=}} not being used<br>1 {{=}} tongue attack was launched with no potential target so will fail<br>2 {{=}} in the air attempting to catch something<br>3 {{=}} pulling a survivor<br>4 {{=}} tongue broke}}
{{KV|intn=0|m_tongueState|int|0 {{=}} not being used<br>1 {{=}} tongue attack was launched with no potential target so will fail<br>2 {{=}} in the air attempting to catch something<br>3 {{=}} pulling a survivor<br>4 {{=}} tongue broke}}
{{KV|m_tongueVictimPositionTime|float|the last server time when caught survivor changed position}}
{{KV|intn=0|m_tongueVictimPositionTime|float|the last server time when caught survivor changed position}}
{{KV|m_tipPosition|vector|Position of the tip of the tongue}}
{{KV|intn=0|m_tipPosition|vector|Position of the tip of the tongue}}
{{KV|m_tongueHitTimestamp|float|server time of the last caught survivor}}
{{KV|intn=0|m_tongueHitTimestamp|float|server time of the last caught survivor}}
{{KV|m_tongueVictimDistance|float}}
{{KV|intn=0|m_tongueVictimDistance|float}}


=== CBaseAbility ===
=== CBaseAbility ===
{{KV|m_owner|ehandle|owner of the ability}}
{{KV|intn=0|m_owner|ehandle|owner of the ability}}
{{KV|m_hasBeenUsed|bool|the ability was used at least once}}
{{KV|intn=0|m_hasBeenUsed|bool|the ability was used at least once}}
{{KV|m_nextActivationTimer.m_duration|int|determined by tongue_miss_delay or tongue_hit_delay cvars}}
{{KV|intn=0|m_nextActivationTimer.m_duration|int|determined by tongue_miss_delay or tongue_hit_delay cvars}}
{{KV|m_nextActivationTimer.m_timestamp|int|server time smoker's next attempt of doing tongue attack is ready}}
{{KV|intn=0|m_nextActivationTimer.m_timestamp|int|server time smoker's next attempt of doing tongue attack is ready}}
{{KV|m_activationSupressedTimer.m_duration|float}}
{{KV|intn=0|m_activationSupressedTimer.m_duration|float}}
{{KV|m_activationSupressedTimer.m_timestamp|float}}
{{KV|intn=0|m_activationSupressedTimer.m_timestamp|float}}


== ConVars ==  
== ConVars ==  
Line 77: Line 78:
{{varcom|end}}
{{varcom|end}}


== See Also ==
== See also ==
* [[Left 4 Dead 2/Script Functions#CNetPropManager]]
* [[Left 4 Dead 2/Script Functions#CNetPropManager]]
* [[ability_charge]]
* [[ability_charge]]

Latest revision as of 13:44, 23 May 2025

edit
Icon-NotInFGD.png
This entity is not in the FGD by default.
It should not be put directly in a map.
Broom icon.png
This article or section needs to be cleaned up to conform to a higher standard of quality.
For help, see the VDC Editing Help and Wikipedia cleanup process. Also, remember to check for any notes left by the tagger at this article's talk page.
C++ Class hierarchy
CTongue
CBaseAbility
CBaseEntity

ability_tongue is a point entity available in Left 4 Dead seriesLeft 4 Dead series Left 4 Dead series. It's the smoker's tongue attack. This entity is located at the tip of his tongue.

NetProps

[Todo]

CTongue

m_currentTipTarget <targetname*>
Player the smoker started his tongue attack at
Tip.pngTip:set to null to abort tongue attack in state 2
m_potentialTarget <targetname*>
Some player that smoker can start tongue attack at from his current position and angles
m_tongueHitRange <float>
distance from last caught survivor
m_tongueGrabStartingHealth <integer>
health of a smoker at the moment he caught a survivor
m_tongueHitWasAmbush <todo>
m_tongueVictimLastOnGroundTime <float>
server time of the last time caught survivor was touching the ground
m_bendPositions <array of vectors>
points where tongue is bent
Note.pngNote:only first bend point can be read with the current vscript functions
m_bendPointCount <integer>
number of bent points
m_tongueState <integer>
0 = not being used
1 = tongue attack was launched with no potential target so will fail
2 = in the air attempting to catch something
3 = pulling a survivor
4 = tongue broke
m_tongueVictimPositionTime <float>
the last server time when caught survivor changed position
m_tipPosition <vector>
Position of the tip of the tongue
m_tongueHitTimestamp <float>
server time of the last caught survivor
m_tongueVictimDistance <float>

CBaseAbility

m_owner <targetname*>
owner of the ability
m_hasBeenUsed <boolean>
the ability was used at least once
m_nextActivationTimer.m_duration <integer>
determined by tongue_miss_delay or tongue_hit_delay cvars
m_nextActivationTimer.m_timestamp <integer>
server time smoker's next attempt of doing tongue attack is ready
m_activationSupressedTimer.m_duration <float>
m_activationSupressedTimer.m_timestamp <float>

ConVars

Cvar/Command Parameters or default value Descriptor Effect
tongue_allow_voluntary_release 0 bool Can a Smoker let go with his tongue by clicking or turning away?
tongue_bend_point_deflection 5 units How far off the first obstacle the tongue bends.
tongue_bend_point_needs_LOS 0 bool Does a bent tongue still need LOS from the bend point?
tongue_break_from_damage_amount 50 damage How much damage to the smoker makes him let go of his victim.
tongue_bullet_radius 6 units
tongue_choke_damage_amount 10 damage How much damage the choke does.
tongue_choke_damage_interval 1 seconds How often the choke does damage.
tongue_cone_start_tolerance 0.1 [confirm]steradian How wide the cone is for a tongue hit.
tongue_debug 0 bool Print debug info for tongue
tongue_drag_damage_amount 3 damage How much damage the tongue drag does.
tongue_dropping_to_ground_time 2 seconds A miss or a wall hit will wait this long before pulling back.
tongue_fly_speed 1000 units per second How fast a tongue flies through the air.
tongue_force_break 0 bool Force an existing attached tongue to break, for debugging
tongue_gravity_force 4000 The speed that gravity tries to pull us downwards while being tongued.
tongue_health 100 int Tongue health
tongue_hit_delay 20 (15 if versus) seconds How long a smoker must wait to shoot his tongue after a hit, from the time he lets go.
(only Left 4 Dead) tongue_kill_smoker_on_detach 1 Do we kill the smoker when they take enough damage to detach the tongue?
tongue_los_forgiveness_time 1.0 seconds A traveling tongue can lose LOS for this amount of time and still hit.
tongue_miss_delay 15 (3 if versus) seconds How long a smoker must wait to shoot his tongue after a miss.
tongue_no_progress_break_interval 10 seconds How long of the victim making no progress until we break the tongue.
tongue_no_progress_choke_early_ambush_delay 0.5 seconds Use a smaller delay if the smoker started choking us from behind. So this plus TongueNoProgressChokeTime equals the earliest start of a ground choke in the event of an ambush.
tongue_no_progress_choke_early_delay 1.5 seconds We won't think about ground choking for this long after the hit. So this plus TongueNoProgressChokeTime equals the earliest start of a ground choke.
tongue_no_progress_choke_time 0.5 seconds If our victim doesn't make tongue_no_progress_tolerance progress towards in this time, start to hurt him.
tongue_no_progress_damage_interval 0.5 seconds How long of the victim making no progress until we start choking him.
tongue_no_progress_tolerance 25 If our victim doesn't make this much progress in tongue_no_progress_release_time, start to hurt him.
tongue_player_dropping_to_ground_time 1 seconds How long after the tongue disconnects will a player need to wait.
tongue_range 750 units How far a smoker can shoot his tongue.
tongue_release_fatigue_penalty 2500 How much fatigue the victim gets when released, to slow him down.
tongue_start_pull_delay 0.1 seconds How long from tongue contact to tongue pulling.
tongue_unbend 1 bool Can the smoker tongue unbend?
tongue_vertical_choke_dot 0 DotProduct between tongue and vertical required to start choking.
tongue_vertical_choke_height 40 units Need to have victim this high off ground to choke him.
tongue_vertical_choke_time_off_ground 0.5 seconds Need to have victim off ground for this long to choke him.
tongue_victim_acceleration 30 Acceleration while tongued.
tongue_victim_accuracy_penalty 0.133 How much someone's accuracy suffers while being dragged by a tongue.
tongue_victim_max_speed 175 units per second The fastest the tongue can get you going.
tongue_vs_cone_start_tolerance 0.015 How wide the cone is for a tongue hit in versus.
z_witch_tongue_range 100 units If a tongue passes this close to a witch's head, she will snap it
smoker_tongue_delay 1.5 seconds
survivor_hanging_from_tongue_eye_height 40 units
survivor_incap_tongued_decay_rate 12
survivor_max_tongue_stagger_distance 200 units
survivor_max_tongue_stagger_duration 1.5 seconds

See also