Func tow: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(-added class hierarchy, cleanup)
No edit summary
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{CDA|CFuncTOW|CFuncTank|CBaseEntity|}}
[[File:towiimage.png|350px|right]]
[[File:towiimage.png|350px|right]]
{{CD|???|base=CFuncTank}}
{{this is a|brush entity|name=func_tow|game=Black Mesa}} This is {{WP|BGM-71 TOW}} used by the [[HECU]]. Can be used by player and HECU soldiers. Unlike other entities based on {{ent|func_tank}} entity, this entity needs manual reload after each shoot, the ammunition is {{ent|item_tow_missile}} (must be holded by player, simple touching of this object to {{ent|func_tow}} will not reload this weapon). All inputs, outputs and flags are same as {{ent|func_tank}}, properties as well, but some have special notes.
{{this is a|brush entity|name=func_tow|game=Black Mesa}} This is {{WP|BGM-71 TOW}} used by the [[HECU]]. Can be used by player and HECU soldiers. Unlike other entities based on {{ent|func_tank}} entity, this entity needs manual reload after each shoot, the ammunition is {{ent|item_tow_missile}} (must be holded by player, simple touching of this object to {{ent|func_tow}} will not reload this weapon).
 
{{note|The fire, deploy and reload sounds are hardcoded. You still can change both in your {{bms|1}} mod by replacing the sounds with a blank sounds and playing your own sounds via input/output system.}}
{{note|The fire, deploy and reload sounds are hardcoded. You still can change both in your {{bms|1}} mod by replacing the sounds with a blank sounds and playing your own sounds via input/output system.}}
{{note|Only certain [[NPCs]] ({{ent|npc_human_commander}}, {{ent|npc_human_grenadier}}, {{ent|npc_human_grunt}} and {{ent|npc_human_medic}}) can use this weapon via <code>FindNPCToManTank</code> input. Other will ignore this input.}}
{{note|Only certain [[NPCs]] ({{ent|npc_human_commander}}, {{ent|npc_human_grenadier}}, {{ent|npc_human_grunt}} and {{ent|npc_human_medic}}) can use this weapon via <code>FindNPCToManTank</code> input. Other will ignore this input.}}
{{important|This entity can't be used without model combination (will not fire).}}
{{important|This entity can't be used without model combination (will not fire).}}
{{warning|It is not recommended to use enabled collision for model, it will cause missiles to explode when fired.}}
{{warning|It is not recommended to use enabled collision for model, it will cause missiles to explode when fired.}}
{{bug|NPC's weapon breaks after this gun usage. It doesn't removes, but becomes invisible and unable to shoot (NPC still reload weapon several times, for some reason). This breaks the AI ​​partially, because such NPC still thinks that it have functional weapon. This bug not in {{bms12|4}} (the mod version).}}
{{bug|hidetested=1|NPC's weapon breaks after this gun usage. It doesn't removes, but becomes invisible and unable to shoot (NPC still reload weapon several times, for some reason). This breaks the AI ​​partially, because such NPC still thinks that it have functional weapon. {{not|{{bms12}}}}}}
{{bug|This entity creates laser point. This laser point have issues with rendering, it can be seen through any object. Not in {{bms12|4}} (the mod version).
{{bug|hidetested=1|This entity creates laser point. This laser point have issues with rendering, it can be seen through any object. {{not|{{bms12}}}}
{{expand|title=The bug example.|
{{expand|title=The bug example.|
<br>
<br>
Line 15: Line 16:
}}
}}
}}
}}
{{note|In {{bms12|4}} (the mod version) this entity also have laser beam, not only laser point.
{{bug|hidetested=1|The {{ent|env_laser_dot}} disappears after save reload. {{not|{{bms12}}}}}}
{{note|In {{bms12|4}} this entity also have laser beam, not only laser point.
{{expand|title=Example.|
{{expand|title=Example.|
<br>
<br>
Line 24: Line 26:
}}
}}
}}
}}
==Flags==
{{Fl BaseTank}}


==Keyvalues==
==Keyvalues==
{{Brush rendering note}}
{{KV Targetname}}
{{KV|Damage Per Bullet|intn=bullet_damage|string|How much a single bullet hurts everything except the player. If <code>0</code>, takes amount from the type of bullet/damage.
{{KV|Damage Per Bullet|intn=bullet_damage|string|How much a single bullet hurts everything except the player. If <code>0</code>, takes amount from the type of bullet/damage.
:{{bug|Doesn't work. If you need your own damage value - use the console commands.}}
:{{bug|hidetested=1|Doesn't work. If you need your own damage value - use the console commands.}}
}}
}}
{{KV|Damage Per Bullet Vs Player|intn=bullet_damage_vs_player|string|How much a single bullet hurts the player only. If <code>0</code>, takes amount from the type of bullet/damage.
{{KV|Damage Per Bullet Vs Player|intn=bullet_damage_vs_player|string|How much a single bullet hurts the player only. If <code>0</code>, takes amount from the type of bullet/damage.
:{{bug|Doesn't work. If you need your own damage value - use the console commands.}}
:{{bug|hidetested=1|Doesn't work. If you need your own damage value - use the console commands.}}
}}
}}
{{KV|Bullet accuracy|intn=firespread|choices|How accurately the gun can fire.
{{KV|Bullet accuracy|intn=firespread|choices|How accurately the gun can fire.
:{{bug|This value can't be changed, {{ent|func_tow}} will use <code>Perfect Shot</code> value in any case.}}
:{{bug|hidetested=1|This value can't be changed, {{ent|func_tow}} will use <code>Perfect Shot</code> value in any case.}}
}}
}}
{{KV|Effect Handling|intn=effecthandling|choices|Produce these sound and particle effects when firing.
{{KV|Effect Handling|intn=effecthandling|choices|Produce these sound and particle effects when firing.
:*0: Use Individual Settings.
:*0: Use Individual Settings.
:*1: AR2{{note|Changes the color of the fire light to blue.}}
:*1: AR2{{note|Changes the color of the fire light to blue.}}
:*2: Combine Cannon{{bug|Shooting will cause {{code|DispatchEffect: effect "ChopperMuzzleFlash" not found on client}} error message in the console.}}
:*2: Combine Cannon{{bug|hidetested=1|Shooting will cause {{code|DispatchEffect: effect "ChopperMuzzleFlash" not found on client}} error message in the console.}}
}}
}}
{{KV BaseTank}}
==Inputs==
{{I BaseTank}}
==Outputs==
{{O BaseTank}}


==Dedicated [[ConVars]]==
==Dedicated [[ConVars]]==
{{Bms|4|nt=2}}
See [[Grenade_tow#Dedicated_ConVars|Grenade_tow/Dedicated ConVars]].
{{varcom|start}}
{{varcom|sk_detenator_tow_track_acceleration|300|arbitrary number|Missile acceleration.{{bug|Large values may cause missile to disappear.}}}}
{{varcom|sk_detenator_tow_max_speed|3000|arbitrary number|Max missile speed.}}
{{varcom|sk_detenator_tow_intial_speed|1500|arbitrary number|Intial missile speed.{{bug|Large values may cause missile to disappear.}}}}
{{varcom|sk_detenator_tow_plr_dmg|150|arbitrary number|Missile damage scale if it is launched by the player.}}
{{varcom|sk_detenator_tow_plr_dmg_radius|375|arbitrary number|Missile damage radius if it is launched by the player.}}
{{varcom|sk_detenator_tow_npc_dmg|150|arbitrary number|Missile damage scale if it is launched by [[NPC]].}}
{{varcom|sk_detenator_tow_npc_dmg_radius|375|arbitrary number|Missile damage radius if it is launched by [[NPC]].}}
{{varcom|end}}
{{note|All these console commands are not directly related to {{ent|func_tow}} and {{ent|func_tow_mp}}. These console commands are parameters for {{ent|grenade_tow}}.}}
{{Bms12|4}} (the mod version)
{{varcom|start}}
{{varcom|sk_plr_dmg_grenade_tow|150|arbitrary number|Missile damage scale if it is launched by the player.}}
{{varcom|sk_npc_dmg_grenade_tow|150|arbitrary number|Missile damage scale if it is launched by [[NPC]].}}
{{varcom|sk_grenade_tow_airspeed|1500|arbitrary number|Missile air speed.}}
{{varcom|sk_grenade_tow_precision|1|arbitrary number|TOW precision. Doesn't work.}}
{{varcom|end}}
{{note|All these console commands are not directly related to {{ent|func_tow}}. These console commands are parameters for {{ent|grenade_tow}}.}}
{{note|All these console commands are not directly related to {{ent|func_tow}}. These console commands are parameters for {{ent|grenade_tow}}.}}



Latest revision as of 03:44, 15 June 2025

C++ Class hierarchy
CFuncTOW
CFuncTank
CBaseEntity
Towiimage.png

func_tow is a brush entity available in Black Mesa Black Mesa. This is Wikipedia icon BGM-71 TOW used by the HECU. Can be used by player and HECU soldiers. Unlike other entities based on func_tank entity, this entity needs manual reload after each shoot, the ammunition is item_tow_missile (must be holded by player, simple touching of this object to func_tow will not reload this weapon). All inputs, outputs and flags are same as func_tank, properties as well, but some have special notes.

Note.pngNote:The fire, deploy and reload sounds are hardcoded. You still can change both in your Black Mesa mod by replacing the sounds with a blank sounds and playing your own sounds via input/output system.
Note.pngNote:Only certain NPCs (npc_human_commander, npc_human_grenadier, npc_human_grunt and npc_human_medic) can use this weapon via FindNPCToManTank input. Other will ignore this input.
Icon-Important.pngImportant:This entity can't be used without model combination (will not fire).
Warning.pngWarning:It is not recommended to use enabled collision for model, it will cause missiles to explode when fired.
Icon-Bug.pngBug:NPC's weapon breaks after this gun usage. It doesn't removes, but becomes invisible and unable to shoot (NPC still reload weapon several times, for some reason). This breaks the AI ​​partially, because such NPC still thinks that it have functional weapon. (not in Black Mesa (mod))
Icon-Bug.pngBug:This entity creates laser point. This laser point have issues with rendering, it can be seen through any object. (not in Black Mesa (mod))
The bug example.


Icon-Bug.pngBug:The env_laser_dot disappears after save reload. (not in Black Mesa (mod))
Note.pngNote:In Black Mesa (mod) Black Mesa (mod) this entity also have laser beam, not only laser point.
Example.


Keyvalues

Damage Per Bullet (bullet_damage) <string>
How much a single bullet hurts everything except the player. If 0, takes amount from the type of bullet/damage.
Icon-Bug.pngBug:Doesn't work. If you need your own damage value - use the console commands.
Damage Per Bullet Vs Player (bullet_damage_vs_player) <string>
How much a single bullet hurts the player only. If 0, takes amount from the type of bullet/damage.
Icon-Bug.pngBug:Doesn't work. If you need your own damage value - use the console commands.
Bullet accuracy (firespread) <choices>
How accurately the gun can fire.
Icon-Bug.pngBug:This value can't be changed, func_tow will use Perfect Shot value in any case.
Effect Handling (effecthandling) <choices>
Produce these sound and particle effects when firing.
  • 0: Use Individual Settings.
  • 1: AR2
    Note.pngNote:Changes the color of the fire light to blue.
  • 2: Combine Cannon
    Icon-Bug.pngBug:Shooting will cause DispatchEffect: effect "ChopperMuzzleFlash" not found on client error message in the console.

Dedicated ConVars

See Grenade_tow/Dedicated ConVars.

Note.pngNote:All these console commands are not directly related to func_tow. These console commands are parameters for grenade_tow.

See also