<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.splashdamage.com/index.php?action=history&amp;feed=atom&amp;title=Script%3AFiles%3Ascript%2Fmaps%2Fgeneric%2Fscud_trigger.script</id>
	<title>Script:Files:script/maps/generic/scud trigger.script - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.splashdamage.com/index.php?action=history&amp;feed=atom&amp;title=Script%3AFiles%3Ascript%2Fmaps%2Fgeneric%2Fscud_trigger.script"/>
	<link rel="alternate" type="text/html" href="https://wiki.splashdamage.com/index.php?title=Script:Files:script/maps/generic/scud_trigger.script&amp;action=history"/>
	<updated>2026-06-10T08:48:25Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.splashdamage.com/index.php?title=Script:Files:script/maps/generic/scud_trigger.script&amp;diff=1896&amp;oldid=prev</id>
		<title>Wizz at 10:16, 5 November 2007</title>
		<link rel="alternate" type="text/html" href="https://wiki.splashdamage.com/index.php?title=Script:Files:script/maps/generic/scud_trigger.script&amp;diff=1896&amp;oldid=prev"/>
		<updated>2007-11-05T10:16:13Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt; &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;object&amp;lt;/span&amp;gt; [[ScriptClass:scud_trigger|scud_trigger]] : [[ScriptClass:hackable_objective|hackable_objective]] {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;        syncFields();&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;        OnHacked( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; p );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;        vSetActive( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;boolean&amp;lt;/span&amp;gt; value );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;boolean&amp;lt;/span&amp;gt;        TryFire( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; firer );&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;        FireThread( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; firer );&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;        FireThreadFake();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;        TrackScud();&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;        vSetTargetEntity( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; ent );&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;        vSetOwner( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; ent );&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;        vStartObjective();&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;        OnActiveChanged();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;        OnPostMapSpawn();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;        OnObjectiveIndexChanged();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;        OnScudChanged();&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;        DestroyTarget( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; targetEnt );&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;        SpawnDestroyEffect( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; position );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt;        targetEnt;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt;        owner;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt;        trackingScud;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;boolean&amp;lt;/span&amp;gt;        active;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;boolean&amp;lt;/span&amp;gt;        AllowHack() { &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; active; }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:scud_trigger|scud_trigger]]::syncFields() {&lt;br /&gt;
     [[ScriptEvent:syncBroadcast|syncBroadcast]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;objectiveIndex&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     [[ScriptEvent:syncCallback|syncCallback]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;objectiveIndex&amp;quot;&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;OnObjectiveIndexChanged&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
 &lt;br /&gt;
     [[ScriptEvent:syncBroadcast|syncBroadcast]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;trackingScud&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     [[ScriptEvent:syncCallback|syncCallback]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;trackingScud&amp;quot;&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;OnScudChanged&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
 &lt;br /&gt;
     [[ScriptEvent:syncBroadcast|syncBroadcast]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;active&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     [[ScriptEvent:syncCallback|syncCallback]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;active&amp;quot;&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;OnActiveChanged&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
 &lt;br /&gt;
     [[ScriptEvent:syncBroadcast|syncBroadcast]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;owner&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:scud_trigger|scud_trigger]]::OnObjectiveIndexChanged() {&lt;br /&gt;
     SetObjectiveIndex( objectiveIndex );&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:scud_trigger|scud_trigger]]::OnScudChanged() {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( trackingScud != &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;thread&amp;lt;/span&amp;gt; TrackScud();&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:scud_trigger|scud_trigger]]::OnPostMapSpawn() {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;// TEMP: for old style shields&amp;lt;/span&amp;gt;&lt;br /&gt;
     targetEnt = [[ScriptEvent:getEntityKey|getEntityKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;target&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:scud_trigger|scud_trigger]]::OnActiveChanged() {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( active ) {&lt;br /&gt;
         [[ScriptEvent:setShaderParm|setShaderParm]]( 7, 1 );&lt;br /&gt;
     } &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;else&amp;lt;/span&amp;gt; {&lt;br /&gt;
         [[ScriptEvent:setShaderParm|setShaderParm]]( 7, 0 );&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:scud_trigger|scud_trigger]]::vSetActive( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;boolean&amp;lt;/span&amp;gt; value ) {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( active == value ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt;;&lt;br /&gt;
     }&lt;br /&gt;
     active = value;&lt;br /&gt;
     OnActiveChanged();&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:scud_trigger|scud_trigger]]::OnHacked( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; p ) {&lt;br /&gt;
     owner.vSetActive( true );&lt;br /&gt;
     vSetActive( false );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;object&amp;lt;/span&amp;gt; oldTeam = [[ScriptEvent:getGameTeam|getGameTeam]]();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;object&amp;lt;/span&amp;gt; newTeam = p.[[ScriptEvent:getGameTeam|getGameTeam]]();&lt;br /&gt;
     [[ScriptEvent:setGameTeam|setGameTeam]]( newTeam );&lt;br /&gt;
 &lt;br /&gt;
     objManager.OnHackComplete( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;self&amp;lt;/span&amp;gt; );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( p != &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt; statName = newTeam.[[ScriptEvent:getName|getName]]() + &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;_primary_objective_hacked&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
         sys.[[ScriptEvent:increaseStatInt|increaseStatInt]]( sys.[[ScriptEvent:allocStatInt|allocStatInt]]( statName ), p.[[ScriptEvent:getEntityNumber|getEntityNumber]](), 1 );&lt;br /&gt;
         statName = newTeam.[[ScriptEvent:getName|getName]]() + &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;_hack_uses&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
         sys.[[ScriptEvent:increaseStatInt|increaseStatInt]]( sys.[[ScriptEvent:allocStatInt|allocStatInt]]( statName ), p.[[ScriptEvent:getEntityNumber|getEntityNumber]](), 1 );&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     objManager.PlaySound( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;snd_hacked_strogg&amp;quot;&amp;lt;/span&amp;gt; ), stroggTeam );&lt;br /&gt;
     objManager.PlaySound( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;snd_hacked_gdf&amp;quot;&amp;lt;/span&amp;gt; ), gdfTeam );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;thread&amp;lt;/span&amp;gt; FireThread( p );&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;boolean&amp;lt;/span&amp;gt; [[ScriptClass:scud_trigger|scud_trigger]]::TryFire( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; firer ) {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;// set any MCP up to fire&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( G_TryFireScud( firer, targetEnt ) ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; true;&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; false;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:scud_trigger|scud_trigger]]::FireThread( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; firer ) {&lt;br /&gt;
     sys.[[ScriptEvent:wait|wait]]( 5.f );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( !TryFire( firer ) ) {&lt;br /&gt;
         objManager.CPrintEvent( sys.[[ScriptEvent:localizeString|localizeString]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;game/misc/shield_generator_hacked_reenable&amp;quot;&amp;lt;/span&amp;gt; ), gdfTeam );&lt;br /&gt;
         objManager.CPrintEvent( sys.[[ScriptEvent:localizeString|localizeString]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;game/misc/shield_generator_hacked_attack&amp;quot;&amp;lt;/span&amp;gt; ), stroggTeam );&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;while&amp;lt;/span&amp;gt; ( true ) {&lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( TryFire( firer ) ) {&lt;br /&gt;
                 break;&lt;br /&gt;
             }&lt;br /&gt;
             sys.[[ScriptEvent:wait|wait]]( 0.2f );&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     objManager.PlaySound( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;snd_launched_strogg&amp;quot;&amp;lt;/span&amp;gt; ), stroggTeam );&lt;br /&gt;
     objManager.PlaySound( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;snd_launched_gdf&amp;quot;&amp;lt;/span&amp;gt; ), gdfTeam );&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:scud_trigger|scud_trigger]]::FireThreadFake() {&lt;br /&gt;
     sys.[[ScriptEvent:wait|wait]]( 5.f );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;while&amp;lt;/span&amp;gt; ( true ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( TryFire( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; ) ) {&lt;br /&gt;
             break;&lt;br /&gt;
         }&lt;br /&gt;
         sys.[[ScriptEvent:wait|wait]]( 0.2f );&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     objManager.PlaySound( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;snd_launched_strogg&amp;quot;&amp;lt;/span&amp;gt; ), stroggTeam );&lt;br /&gt;
     objManager.PlaySound( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;snd_launched_gdf&amp;quot;&amp;lt;/span&amp;gt; ), gdfTeam );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;while&amp;lt;/span&amp;gt; ( true ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; count = [[ScriptEvent:entitiesOfCollection|entitiesOfCollection]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;nuke&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( count &amp;gt; 0 ) {&lt;br /&gt;
             trackingScud = [[ScriptEvent:getBoundsCacheEntity|getBoundsCacheEntity]]( 0 );&lt;br /&gt;
             break;&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         sys.[[ScriptEvent:waitFrame|waitFrame]]();&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     TrackScud();&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:scud_trigger|scud_trigger]]::TrackScud() {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;while&amp;lt;/span&amp;gt; ( true ) {&lt;br /&gt;
         sys.[[ScriptEvent:waitFrame|waitFrame]]();&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( trackingScud == &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt;;&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; range = sys.[[ScriptEvent:vecLength|vecLength]]( trackingScud.[[ScriptEvent:getWorldOrigin|getWorldOrigin]]() - [[ScriptEvent:getWorldOrigin|getWorldOrigin]]() );&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( range &amp;gt; 6144.f ) {&lt;br /&gt;
             continue;&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         DestroyTarget( trackingScud );&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( !sys.[[ScriptEvent:isClient|isClient]]() ) {&lt;br /&gt;
             objManager.PlaySound( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;snd_stopped_strogg&amp;quot;&amp;lt;/span&amp;gt; ), stroggTeam );&lt;br /&gt;
             objManager.PlaySound( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;snd_stopped_gdf&amp;quot;&amp;lt;/span&amp;gt; ), gdfTeam );&lt;br /&gt;
 &lt;br /&gt;
             objManager.OnShieldDestroyedScud( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;self&amp;lt;/span&amp;gt; );&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         break;&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:scud_trigger|scud_trigger]]::DestroyTarget( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; targetEnt ) {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( targetEnt.vGetDestroyed() ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt;;&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     SpawnDestroyEffect( targetEnt.[[ScriptEvent:getWorldOrigin|getWorldOrigin]]() );&lt;br /&gt;
     targetEnt.vSetDestroyed();&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:scud_trigger|scud_trigger]]::SpawnDestroyEffect( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; position ) {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; startPos = owner.[[ScriptEvent:getJointPos|getJointPos]]( owner.[[ScriptEvent:getJointHandle|getJointHandle]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;top_comprezzor_joint&amp;quot;&amp;lt;/span&amp;gt; ) ); &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;// start at the roof of the deployable&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; diff = startPos - position;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; forward = '1 0 0';&lt;br /&gt;
     diff = sys.[[ScriptEvent:vecNormalize|vecNormalize]]( diff );&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; angles = sys.[[ScriptEvent:vecToAngles|vecToAngles]]( diff );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;// Charge up and cool down effect&amp;lt;/span&amp;gt;&lt;br /&gt;
     owner.[[ScriptEvent:playOriginEffect|playOriginEffect]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;fx_charge&amp;quot;&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;&amp;quot;&amp;lt;/span&amp;gt;, startPos, forward, false );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;// The electrial beam and shockwave&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;object&amp;lt;/span&amp;gt; effect = owner.[[ScriptEvent:spawnClientEffect|spawnClientEffect]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;fx_hit&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( effect != &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
         effect.[[ScriptEvent:setEffectLooping|setEffectLooping]]( 0 );&lt;br /&gt;
         effect.[[ScriptEvent:setOrigin|setOrigin]]( position );&lt;br /&gt;
         effect.[[ScriptEvent:setEffectEndOrigin|setEffectEndOrigin]]( startPos );&lt;br /&gt;
         effect.[[ScriptEvent:setAngles|setAngles]]( angles );&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:scud_trigger|scud_trigger]]::vSetOwner( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; ent ) {&lt;br /&gt;
     owner = ent;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:scud_trigger|scud_trigger]]::vSetTargetEntity( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; ent ) {&lt;br /&gt;
     targetEnt = ent;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:scud_trigger|scud_trigger]]::vStartObjective() {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;thread&amp;lt;/span&amp;gt; FireThreadFake();&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;object&amp;lt;/span&amp;gt; [[ScriptClass:scud_trigger_structure|scud_trigger_structure]] {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;            preinit();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;            syncFields();&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;            vOnDeploy();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;            vSetOwner( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; ent );&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;            vSetActive( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;boolean&amp;lt;/span&amp;gt; value );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;            OnDeadChanged();&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;            BoundsKillThread();&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;            InitEffectThread();&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt;            vGetQuickChatString( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; p );&lt;br /&gt;
 &lt;br /&gt;
     [[ScriptClass:scud_trigger|scud_trigger]]    triggerEnt;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt;            targetEnt;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;            objectiveIndex;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;boolean&amp;lt;/span&amp;gt;            dead;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt;            effectOffset;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:scud_trigger_structure|scud_trigger_structure]]::preinit() {&lt;br /&gt;
     effectOffset = [[ScriptEvent:getVectorKey|getVectorKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;effect_offset&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;thread&amp;lt;/span&amp;gt; InitEffectThread();&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( !sys.[[ScriptEvent:isClient|isClient]]() ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;thread&amp;lt;/span&amp;gt; BoundsKillThread();&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:scud_trigger_structure|scud_trigger_structure]]::syncFields() {&lt;br /&gt;
     [[ScriptEvent:syncBroadcast|syncBroadcast]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;dead&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     [[ScriptEvent:syncCallback|syncCallback]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;dead&amp;quot;&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;OnDeadChanged&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:scud_trigger_structure|scud_trigger_structure]]::OnDeadChanged() {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( dead ) {&lt;br /&gt;
         [[ScriptEvent:playAnim|playAnim]]( ANIMCHANNEL_ALL, &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;destroyed&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
         [[ScriptEvent:stopEffect|stopEffect]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;fx_active&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     } &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;else&amp;lt;/span&amp;gt; {&lt;br /&gt;
         [[ScriptEvent:playCycle|playCycle]]( ANIMCHANNEL_ALL, &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;idle&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
         [[ScriptEvent:playOriginEffect|playOriginEffect]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;fx_active&amp;quot;&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;&amp;quot;&amp;lt;/span&amp;gt;, [[ScriptEvent:getWorldOrigin|getWorldOrigin]]() + effectOffset, '1 0 0', true );&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:scud_trigger_structure|scud_trigger_structure]]::BoundsKillThread() {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; damageIndex = GetDamage( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;dmg_crush&amp;quot;&amp;lt;/span&amp;gt; ) );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;while&amp;lt;/span&amp;gt; ( true ) {&lt;br /&gt;
         BoundsDamage( self, damageIndex );&lt;br /&gt;
         sys.[[ScriptEvent:waitFrame|waitFrame]]();&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:scud_trigger_structure|scud_trigger_structure]]::vSetActive( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;boolean&amp;lt;/span&amp;gt; value ) {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( dead == value ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt;;&lt;br /&gt;
     }    &lt;br /&gt;
     dead = value;&lt;br /&gt;
 &lt;br /&gt;
     OnDeadChanged();&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:scud_trigger_structure|scud_trigger_structure]]::vOnDeploy() {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( !sys.[[ScriptEvent:isClient|isClient]]() ) {&lt;br /&gt;
         triggerEnt = sys.[[ScriptEvent:spawn|spawn]]( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;def_trigger&amp;quot;&amp;lt;/span&amp;gt; ) );&lt;br /&gt;
         triggerEnt.[[ScriptEvent:setOrigin|setOrigin]]( [[ScriptEvent:getWorldOrigin|getWorldOrigin]]() );&lt;br /&gt;
         triggerEnt.[[ScriptEvent:setAngles|setAngles]]( [[ScriptEvent:getAngles|getAngles]]() );&lt;br /&gt;
         triggerEnt.[[ScriptEvent:setGameTeam|setGameTeam]]( [[ScriptEvent:getGameTeam|getGameTeam]]() );&lt;br /&gt;
         triggerEnt.vSetTargetEntity( targetEnt );&lt;br /&gt;
         triggerEnt.vSetOwner( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;self&amp;lt;/span&amp;gt; );&lt;br /&gt;
         triggerEnt.SetObjectiveIndex( objectiveIndex );&lt;br /&gt;
 &lt;br /&gt;
         objManager.OnShieldDeployed( self, triggerEnt );&lt;br /&gt;
 &lt;br /&gt;
         sys.[[ScriptEvent:killThread|killThread]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;BoundsKillThread_&amp;quot;&amp;lt;/span&amp;gt; + [[ScriptEvent:getName|getName]]() );&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     sys.[[ScriptEvent:killThread|killThread]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;InitEffectThread_&amp;quot;&amp;lt;/span&amp;gt; + [[ScriptEvent:getName|getName]]() );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( !dead ) {&lt;br /&gt;
         [[ScriptEvent:playOriginEffect|playOriginEffect]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;fx_active&amp;quot;&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;&amp;quot;&amp;lt;/span&amp;gt;, [[ScriptEvent:getWorldOrigin|getWorldOrigin]]() + effectOffset, '1 0 0', true );&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:scud_trigger_structure|scud_trigger_structure]]::vSetOwner( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; ent ) {&lt;br /&gt;
     targetEnt = ent.[[ScriptEvent:getEntityKey|getEntityKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;target&amp;quot;&amp;lt;/span&amp;gt; );    &lt;br /&gt;
     objectiveIndex = ent.[[ScriptEvent:getIntKey|getIntKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;objective_index&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:scud_trigger_structure|scud_trigger_structure]]::InitEffectThread() {&lt;br /&gt;
     sys.[[ScriptEvent:wait|wait]]( 5 );&lt;br /&gt;
     OnDeadChanged();&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt; [[ScriptClass:scud_trigger_structure|scud_trigger_structure]]::vGetQuickChatString( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; p ) {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; triggerEnt.vGetQuickChatString( p );&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Wizz</name></author>
		
	</entry>
</feed>