From Valve Developer Community
Jump to: navigation, search
This entity is not in the FGD by default .
It should not be put directly in a map.
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.
class hierarchy

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


Blank image.pngTodo:


m_currentTipTarget (???) <ehandle>
Player the smoker started his tongue attack at
Tip.pngTip:set to null to abort tongue attack in state 2
m_potentialTarget (???) <ehandle>
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>


m_owner (???) <ehandle>
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>


Cvar/CommandParameters or default valueDescriptorEffect
tongue_allow_voluntary_release0boolCan a Smoker let go with his tongue by clicking or turning away?
tongue_bend_point_deflection5unitsHow far off the first obstacle the tongue bends.
tongue_bend_point_needs_LOS0boolDoes a bent tongue still need LOS from the bend point?
tongue_break_from_damage_amount50damageHow much damage to the smoker makes him let go of his victim.
tongue_choke_damage_amount10damageHow much damage the choke does.
tongue_choke_damage_interval1secondsHow often the choke does damage.
tongue_cone_start_tolerance0.1[confirm]steradianHow wide the cone is for a tongue hit.
tongue_debug0boolPrint debug info for tongue
tongue_drag_damage_amount3damageHow much damage the tongue drag does.
tongue_dropping_to_ground_time2secondsA miss or a wall hit will wait this long before pulling back.
tongue_fly_speed1000units per secondHow fast a tongue flies through the air.
tongue_force_break0boolForce an existing attached tongue to break, for debugging
tongue_gravity_force4000The speed that gravity tries to pull us downwards while being tongued.
tongue_health100intTongue health
tongue_hit_delay20 (15 if versus)secondsHow 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_detach1Do we kill the smoker when they take enough damage to detach the tongue?
tongue_los_forgiveness_time1.0secondsA traveling tongue can lose LOS for this amount of time and still hit.
tongue_miss_delay15 (3 if versus)secondsHow long a smoker must wait to shoot his tongue after a miss.
tongue_no_progress_break_interval10secondsHow long of the victim making no progress until we break the tongue.
tongue_no_progress_choke_early_ambush_delay0.5secondsUse 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_delay1.5secondsWe 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_time0.5secondsIf our victim doesn't make tongue_no_progress_tolerance progress towards in this time, start to hurt him.
tongue_no_progress_damage_interval0.5secondsHow long of the victim making no progress until we start choking him.
tongue_no_progress_tolerance25If our victim doesn't make this much progress in tongue_no_progress_release_time, start to hurt him.
tongue_player_dropping_to_ground_time1secondsHow long after the tongue disconnects will a player need to wait.
tongue_range750unitsHow far a smoker can shoot his tongue.
tongue_release_fatigue_penalty2500How much fatigue the victim gets when released, to slow him down.
tongue_start_pull_delay0.1secondsHow long from tongue contact to tongue pulling.
tongue_unbend1boolCan the smoker tongue unbend?
tongue_vertical_choke_dot0DotProduct between tongue and vertical required to start choking.
tongue_vertical_choke_height40unitsNeed to have victim this high off ground to choke him.
tongue_vertical_choke_time_off_ground0.5secondsNeed to have victim off ground for this long to choke him.
tongue_victim_acceleration30Acceleration while tongued.
tongue_victim_accuracy_penalty0.133How much someone's accuracy suffers while being dragged by a tongue.
tongue_victim_max_speed175units per secondThe fastest the tongue can get you going.
tongue_vs_cone_start_tolerance0.015How wide the cone is for a tongue hit in versus.
z_witch_tongue_range100unitsIf a tongue passes this close to a witch's head, she will snap it

See also