<?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%2Fmisc%2Fcapturable_spawn.script</id>
	<title>Script:Files:script/misc/capturable spawn.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%2Fmisc%2Fcapturable_spawn.script"/>
	<link rel="alternate" type="text/html" href="https://wiki.splashdamage.com/index.php?title=Script:Files:script/misc/capturable_spawn.script&amp;action=history"/>
	<updated>2026-04-07T18:16:04Z</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/misc/capturable_spawn.script&amp;diff=1879&amp;oldid=prev</id>
		<title>Wizz at 10:10, 5 November 2007</title>
		<link rel="alternate" type="text/html" href="https://wiki.splashdamage.com/index.php?title=Script:Files:script/misc/capturable_spawn.script&amp;diff=1879&amp;oldid=prev"/>
		<updated>2007-11-05T10:10:04Z</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:capturable_spawn|capturable_spawn]] : [[ScriptClass:spawn_master|spawn_master]] {&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;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;                destroy();&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;                OnUpdateCrosshairInfo( &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;float&amp;lt;/span&amp;gt;                OnActivate( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; p, &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; distance );&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;                OnActivateHeld( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; p, &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; distance );&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;                OnSetTeam( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;object&amp;lt;/span&amp;gt; oldTeam, &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;object&amp;lt;/span&amp;gt; newTeam );&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;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;                vGetPliersProgressBarValue( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; action );&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;                Capture( &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;boolean&amp;lt;/span&amp;gt;                CanActivate( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; p, &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; distance );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;                ShowCaptureWayPoint();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;                HideCaptureWayPoint();&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;                FreeCaptureTasks();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;                CreateCaptureTasks();    &lt;br /&gt;
     [[ScriptClass:task|task]]                MakeCaptureTask( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt; teamName );&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;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;                ActivateSoundThread( &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;void&amp;lt;/span&amp;gt;                FinishActivateSound();&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;boolean&amp;lt;/span&amp;gt;                IsDisabled( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt; teamName );&lt;br /&gt;
 &lt;br /&gt;
     [[ScriptClass:task|task]]                gdfCaptureTask;&lt;br /&gt;
     [[ScriptClass:task|task]]                stroggCaptureTask;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;handle&amp;lt;/span&amp;gt;                screenName;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;handle&amp;lt;/span&amp;gt;                captureStat;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;handle&amp;lt;/span&amp;gt;                liberateStat;&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;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;boolean&amp;lt;/span&amp;gt;                covertOnlyLiberate;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;                maxCaptureCount;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;                captureCount;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;                liberateProficiency;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;                captureProficiency;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;                useMeToolTipLiberate;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;                useMeToolTipCapture;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;                unavailableIcon;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;                activateSoundThreadId;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;                lastActivateTime;&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:capturable_spawn|capturable_spawn]]::preinit() {&lt;br /&gt;
     screenName = sys.[[ScriptEvent:localizeString|localizeString]]( [[ScriptEvent:getKeyWithDefault|getKeyWithDefault]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;screen_name&amp;quot;&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;game/spawn&amp;quot;&amp;lt;/span&amp;gt; ) );&lt;br /&gt;
     active = true;&lt;br /&gt;
     unavailableIcon    = -1;&lt;br /&gt;
 &lt;br /&gt;
     maxCaptureCount = [[ScriptEvent:getFloatKeyWithDefault|getFloatKeyWithDefault]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;max_capture_count&amp;quot;&amp;lt;/span&amp;gt;, 150 );&lt;br /&gt;
     captureCount = 0;&lt;br /&gt;
 &lt;br /&gt;
     liberateProficiency = GetProficiency( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;prof_liberate&amp;quot;&amp;lt;/span&amp;gt; ) );&lt;br /&gt;
     captureProficiency = GetProficiency( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;prof_capture&amp;quot;&amp;lt;/span&amp;gt; ) );&lt;br /&gt;
 &lt;br /&gt;
     covertOnlyLiberate = [[ScriptEvent:getIntKey|getIntKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;covert_only_liberate&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
 &lt;br /&gt;
     captureStat = sys.[[ScriptEvent:allocStatInt|allocStatInt]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;spawns_captured&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     liberateStat = sys.[[ScriptEvent:allocStatInt|allocStatInt]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;spawns_liberated&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
 &lt;br /&gt;
     [[ScriptEvent:setSkin|setSkin]]( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;skin_owner_neutral&amp;quot;&amp;lt;/span&amp;gt; ) );&lt;br /&gt;
 &lt;br /&gt;
     useMeToolTipLiberate = GetToolTip( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;tt_intro_liberate_1&amp;quot;&amp;lt;/span&amp;gt; ) );&lt;br /&gt;
     useMeToolTipCapture = GetToolTip( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;tt_intro_capture_1&amp;quot;&amp;lt;/span&amp;gt; ) );&lt;br /&gt;
 &lt;br /&gt;
     activateSoundThreadId = -1;&lt;br /&gt;
 &lt;br /&gt;
     ShowCaptureWayPoint();&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:capturable_spawn|capturable_spawn]]::syncFields() {&lt;br /&gt;
     [[ScriptEvent:sync|sync]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;captureCount&amp;quot;&amp;lt;/span&amp;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;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:capturable_spawn|capturable_spawn]]::destroy() {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( activateSoundThreadId != -1 ) {&lt;br /&gt;
         sys.[[ScriptEvent:terminate|terminate]]( activateSoundThreadId );&lt;br /&gt;
         FinishActivateSound();&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     HideCaptureWayPoint();&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:capturable_spawn|capturable_spawn]]::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;
         ShowCaptureWayPoint();&lt;br /&gt;
     } &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;else&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; ( !sys.[[ScriptEvent:isClient|isClient]]() ) {&lt;br /&gt;
             [[ScriptEvent:setGameTeam|setGameTeam]]( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; );&lt;br /&gt;
         }&lt;br /&gt;
         HideCaptureWayPoint();&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:capturable_spawn|capturable_spawn]]::FreeCaptureTasks() {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( gdfCaptureTask != &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
         gdfCaptureTask.[[ScriptEvent:free|free]]();&lt;br /&gt;
     }&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( stroggCaptureTask != &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
         stroggCaptureTask.[[ScriptEvent:free|free]]();&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 [[ScriptClass:task|task]] [[ScriptClass:capturable_spawn|capturable_spawn]]::MakeCaptureTask( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt; teamName ) {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;object&amp;lt;/span&amp;gt; team = [[ScriptEvent:getGameTeam|getGameTeam]]();&lt;br /&gt;
 &lt;br /&gt;
     [[ScriptClass:team_base|team_base]] otherTeam = sys.[[ScriptEvent:getTeam|getTeam]]( teamName );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( team == otherTeam ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null&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;if&amp;lt;/span&amp;gt; ( team == &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null&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; ( IsDisabled( teamName ) ) {&lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null&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;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; taskManager.[[ScriptEvent:allocEntityTask|allocEntityTask]]( otherTeam.captureSpawnTask, &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;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; taskDefHandle;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( covertOnlyLiberate ) {&lt;br /&gt;
         taskDefHandle = otherTeam.liberateSpawnTaskCovertOnly;&lt;br /&gt;
     } &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;else&amp;lt;/span&amp;gt; {&lt;br /&gt;
         taskDefHandle = otherTeam.liberateSpawnTask;&lt;br /&gt;
     }&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; taskManager.[[ScriptEvent:allocEntityTask|allocEntityTask]]( taskDefHandle, &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;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:capturable_spawn|capturable_spawn]]::CreateCaptureTasks() {&lt;br /&gt;
     FreeCaptureTasks();&lt;br /&gt;
 &lt;br /&gt;
     gdfCaptureTask = MakeCaptureTask( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;gdf&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     stroggCaptureTask = MakeCaptureTask( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;strogg&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:capturable_spawn|capturable_spawn]]::ShowCaptureWayPoint() {&lt;br /&gt;
     CreateCaptureTasks();&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( unavailableIcon != -1 ) {&lt;br /&gt;
         sys.[[ScriptEvent:error|error]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;capturable_spawn::ShowCaptureWayPoint unavailable icon already exists&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     unavailableIcon = sys.[[ScriptEvent:allocCMIcon|allocCMIcon]]( self, [[ScriptEvent:getFloatKey|getFloatKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;icon_sort_cm&amp;quot;&amp;lt;/span&amp;gt; ) );&lt;br /&gt;
 &lt;br /&gt;
     sys.[[ScriptEvent:setCMIconMaterial|setCMIconMaterial]]( unavailableIcon, GetMaterial( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;mtr_unavailable_icon_gdf&amp;quot;&amp;lt;/span&amp;gt; ) ) );&lt;br /&gt;
     sys.[[ScriptEvent:setCMIconFlag|setCMIconFlag]]( unavailableIcon, CMF_ALWAYSKNOWN );&lt;br /&gt;
     sys.[[ScriptEvent:setCMIconFlag|setCMIconFlag]]( unavailableIcon, CMF_ONLYSHOWONFULLVIEW );&lt;br /&gt;
     sys.[[ScriptEvent:setCMIconColorMode|setCMIconColorMode]]( unavailableIcon, CM_ALLEGIANCE );    &lt;br /&gt;
     sys.[[ScriptEvent:setCMIconSize|setCMIconSize]]( unavailableIcon, [[ScriptEvent:getFloatKey|getFloatKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;icon_size_cm&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:capturable_spawn|capturable_spawn]]::HideCaptureWayPoint() {&lt;br /&gt;
     FreeCaptureTasks();&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( unavailableIcon != -1 ) {&lt;br /&gt;
         sys.[[ScriptEvent:freeCMIcon|freeCMIcon]]( self, unavailableIcon );&lt;br /&gt;
         unavailableIcon = -1;&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:capturable_spawn|capturable_spawn]]::OnSetTeam( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;object&amp;lt;/span&amp;gt; oldTeam, &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;object&amp;lt;/span&amp;gt; newTeam ) {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( oldTeam != &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
         oldTeam.[[ScriptEvent:unRegisterSpawnPoint|unRegisterSpawnPoint]]( &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;
     UnDeployTeam( oldTeam );&lt;br /&gt;
     DeployTeam( newTeam );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( newTeam == &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
         ClearCommandmapIcon();&lt;br /&gt;
         [[ScriptEvent:setSkin|setSkin]]( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;skin_owner_neutral&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;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt; teamName = newTeam.[[ScriptEvent:getName|getName]]();&lt;br /&gt;
 &lt;br /&gt;
         [[ScriptEvent:setSkin|setSkin]]( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;skin_owner_&amp;quot;&amp;lt;/span&amp;gt; + teamName ) );&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;// if the new team isn't enabled then don't show an icon or register as a spawn point&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; ( IsDisabled( teamName ) ) {&lt;br /&gt;
             ClearCommandmapIcon();&lt;br /&gt;
         } &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;else&amp;lt;/span&amp;gt; {&lt;br /&gt;
             newTeam.[[ScriptEvent:registerSpawnPoint|registerSpawnPoint]]( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;self&amp;lt;/span&amp;gt; );&lt;br /&gt;
 &lt;br /&gt;
             SetupCommandmapIcon();&lt;br /&gt;
         }&lt;br /&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; ( active ) {&lt;br /&gt;
         CreateCaptureTasks();&lt;br /&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; [[ScriptClass:capturable_spawn|capturable_spawn]]::OnActivate( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; p, &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; distance ) {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( !CanActivate( p, distance ) ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; 0;&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; 1;&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; [[ScriptClass:capturable_spawn|capturable_spawn]]::OnActivateHeld( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; p, &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; distance ) {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( !CanActivate( p, distance ) ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; 0;&lt;br /&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.[[ScriptEvent:isLocalPlayer|isLocalPlayer]]() ) {&lt;br /&gt;
         lastActivateTime = sys.[[ScriptEvent:getTime|getTime]]();&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( activateSoundThreadId == -1 ) {&lt;br /&gt;
             activateSoundThreadId = &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;thread&amp;lt;/span&amp;gt; ActivateSoundThread( p );&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     Capture( p );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; 1;&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; [[ScriptClass:capturable_spawn|capturable_spawn]]::vGetPliersProgressBarValue( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; action ) {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( action == AC_CAPTURE || action == AC_LIBERATE) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; captureCount / maxCaptureCount;&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; 0.f;&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:capturable_spawn|capturable_spawn]]::Capture( &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;boolean&amp;lt;/span&amp;gt; liberate;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;object&amp;lt;/span&amp;gt; otherTeam = p.[[ScriptEvent:getGameTeam|getGameTeam]]();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt; teamName = otherTeam.[[ScriptEvent:getName|getName]]();&lt;br /&gt;
     [[ScriptClass:player|player]] playerP = p;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( [[ScriptEvent:getGameTeam|getGameTeam]]() != &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null&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; ( IsDisabled( teamName ) ) {&lt;br /&gt;
             liberate = 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;float&amp;lt;/span&amp;gt; count = 1;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; useProficiency = -1;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt; reason;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( liberate ) {&lt;br /&gt;
         useProficiency = liberateProficiency;&lt;br /&gt;
         reason = &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;liberating spawn&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
         playerP.ShowProgressBar( self, AC_LIBERATE );&lt;br /&gt;
         sys.[[ScriptEvent:increaseStatInt|increaseStatInt]]( liberateStat, playerP.[[ScriptEvent:getEntityNumber|getEntityNumber]](), 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;
         useProficiency = captureProficiency;&lt;br /&gt;
         reason = &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;capturing spawn&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
         playerP.ShowProgressBar( self, AC_CAPTURE );&lt;br /&gt;
         sys.[[ScriptEvent:increaseStatInt|increaseStatInt]]( captureStat, playerP.[[ScriptEvent:getEntityNumber|getEntityNumber]](), 1 );&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; t;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( useProficiency != -1 ) {        &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( p.[[ScriptEvent:getGameTeam|getGameTeam]]() == gdfTeam ) {&lt;br /&gt;
             t = gdfCaptureTask;&lt;br /&gt;
         } &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;else&amp;lt;/span&amp;gt; {&lt;br /&gt;
             t = stroggCaptureTask;&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         p.[[ScriptEvent:giveProficiency|giveProficiency]]( useProficiency, count / maxCaptureCount, t, reason );&lt;br /&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; ( captureCount &amp;gt;= maxCaptureCount ) {&lt;br /&gt;
         captureCount = 0;&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     captureCount = captureCount + count;    &lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( captureCount &amp;gt;= maxCaptureCount ) {&lt;br /&gt;
         t.[[ScriptEvent:complete|complete]]();&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( activateSoundThreadId != -1 ) {&lt;br /&gt;
             sys.[[ScriptEvent:terminate|terminate]]( activateSoundThreadId );&lt;br /&gt;
             activateSoundThreadId = -1;&lt;br /&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 == sys.[[ScriptEvent:getLocalPlayer|getLocalPlayer]]() &amp;amp;&amp;amp; p != &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
             sys.[[ScriptEvent:startSoundDirect|startSoundDirect]]( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;snd_capture_local&amp;quot;&amp;lt;/span&amp;gt; ), SND_STRUCTURE_SPAWNLOCATION );&lt;br /&gt;
         } &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;else&amp;lt;/span&amp;gt; {&lt;br /&gt;
             sys.[[ScriptEvent:startSoundDirect|startSoundDirect]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;&amp;quot;&amp;lt;/span&amp;gt;, SND_STRUCTURE_SPAWNLOCATION );&lt;br /&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; ( !sys.[[ScriptEvent:isClient|isClient]]() ) {&lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( p.[[ScriptEvent:isDisguised|isDisguised]]() ) {&lt;br /&gt;
                 p.[[ScriptEvent:disguise|disguise]]( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&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;object&amp;lt;/span&amp;gt; team = [[ScriptEvent:getGameTeam|getGameTeam]]();&lt;br /&gt;
 &lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt; oldTeamName;&lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( team != &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
                 oldTeamName = team.[[ScriptEvent:getName|getName]]();&lt;br /&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; ( liberate ) {&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;//mal: let the bots know a spawnpoint has been captured/liberated.&amp;lt;/span&amp;gt;&lt;br /&gt;
                 objManager.[[ScriptEvent:setSpawnActionOwner|setSpawnActionOwner]]( NOTEAM, p );&lt;br /&gt;
             } &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;else&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( p.[[ScriptEvent:getGameTeam|getGameTeam]]() == gdfTeam ) {&lt;br /&gt;
                 objManager.[[ScriptEvent:setSpawnActionOwner|setSpawnActionOwner]]( GDF, p );&lt;br /&gt;
             } &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;else&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( p.[[ScriptEvent:getGameTeam|getGameTeam]]() == stroggTeam ) {&lt;br /&gt;
                 objManager.[[ScriptEvent:setSpawnActionOwner|setSpawnActionOwner]]( STROGG, p );&lt;br /&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; ( liberate ) {&lt;br /&gt;
                 [[ScriptEvent:setGameTeam|setGameTeam]]( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null&amp;lt;/span&amp;gt; );&lt;br /&gt;
 &lt;br /&gt;
                 objManager.PushCPrintString( p.[[ScriptEvent:getUserName|getUserName]]() );&lt;br /&gt;
                 objManager.PushCPrintHandle( screenName );&lt;br /&gt;
                 objManager.PushCPrintHandle( otherTeam.[[ScriptEvent:getTitle|getTitle]]() );&lt;br /&gt;
                 objManager.CPrintEvent( sys.[[ScriptEvent:localizeString|localizeString]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;game/liberated&amp;quot;&amp;lt;/span&amp;gt; ), &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null&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; ( team != &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; ) { &lt;br /&gt;
                     objManager.PlaySound( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;snd_enemyliberate_&amp;quot;&amp;lt;/span&amp;gt; + oldTeamName ), team );&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_liberate_&amp;quot;&amp;lt;/span&amp;gt; + teamName ), otherTeam );&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:setGameTeam|setGameTeam]]( otherTeam );&lt;br /&gt;
 &lt;br /&gt;
                 objManager.PushCPrintString( p.[[ScriptEvent:getUserName|getUserName]]() );&lt;br /&gt;
                 objManager.PushCPrintHandle( screenName );&lt;br /&gt;
                 objManager.PushCPrintHandle( otherTeam.[[ScriptEvent:getTitle|getTitle]]() );&lt;br /&gt;
                 objManager.CPrintEvent( sys.[[ScriptEvent:localizeString|localizeString]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;game/captured&amp;quot;&amp;lt;/span&amp;gt; ), &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null&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; ( team != &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; ) { &lt;br /&gt;
                     objManager.PlaySound( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;snd_enemycapture_&amp;quot;&amp;lt;/span&amp;gt; + oldTeamName ), team );&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_capture_&amp;quot;&amp;lt;/span&amp;gt; + teamName ), otherTeam );&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;float&amp;lt;/span&amp;gt; [[ScriptClass:capturable_spawn|capturable_spawn]]::OnUpdateCrosshairInfo( &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;if&amp;lt;/span&amp;gt; ( sys.[[ScriptEvent:getLocalPlayer|getLocalPlayer]]() == &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; active;&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; allegiance = [[ScriptEvent:getEntityAllegiance|getEntityAllegiance]]( p );&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; color = GetAllegianceColor( allegiance );&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; distance = [[ScriptEvent:chGetDistance|chGetDistance]]();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; range = InchesToMetres( distance );&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; health = [[ScriptEvent:getHealth|getHealth]]();&lt;br /&gt;
 &lt;br /&gt;
     [[ScriptEvent:chSetNumLines|chSetNumLines]]( 0 );&lt;br /&gt;
 &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;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; 0.0f;&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; index;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( CanActivate( p, distance ) ) {&lt;br /&gt;
         index = [[ScriptEvent:chAddLine|chAddLine]]();&lt;br /&gt;
         [[ScriptEvent:chSetLineMaterial|chSetLineMaterial]]( index, p.vGetActionIcon( AK_SPAWNCAP ) );&lt;br /&gt;
         [[ScriptEvent:chSetLineType|chSetLineType]]( index, CI_IMAGE );&lt;br /&gt;
         [[ScriptEvent:chSetLineSize|chSetLineSize]]( index, 64, 64 );&lt;br /&gt;
         [[ScriptEvent:chSetLineColor|chSetLineColor]]( index, g_colorWhite, 0.9f );&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.[[ScriptEvent:isToolTipPlaying|isToolTipPlaying]]() ) {&lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( sys.[[ScriptEvent:getTime|getTime]]() - p.[[ScriptEvent:getCrosshairStartTime|getCrosshairStartTime]]() &amp;gt; 0.5f ) {&lt;br /&gt;
                 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;object&amp;lt;/span&amp;gt; otherTeam = p.[[ScriptEvent:getGameTeam|getGameTeam]]();&lt;br /&gt;
                 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt; teamName = otherTeam.[[ScriptEvent:getName|getName]]();&lt;br /&gt;
                 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( [[ScriptEvent:getGameTeam|getGameTeam]]() != &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null&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; ( IsDisabled( teamName ) ) {&lt;br /&gt;
                         p.[[ScriptEvent:sendToolTip|sendToolTip]]( useMeToolTipLiberate );&lt;br /&gt;
                     } &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;else&amp;lt;/span&amp;gt; {&lt;br /&gt;
                         p.[[ScriptEvent:sendToolTip|sendToolTip]]( useMeToolTipCapture );&lt;br /&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;
                     p.[[ScriptEvent:sendToolTip|sendToolTip]]( useMeToolTipCapture );&lt;br /&gt;
                 }&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     index = [[ScriptEvent:chAddLine|chAddLine]]();&lt;br /&gt;
     [[ScriptEvent:chSetLineTextIndex|chSetLineTextIndex]]( index, screenName );&lt;br /&gt;
     [[ScriptEvent:chSetLineColor|chSetLineColor]]( index, color, 1.f );&lt;br /&gt;
     [[ScriptEvent:chSetLineType|chSetLineType]]( index, CI_TEXT );&lt;br /&gt;
     [[ScriptEvent:chSetLineSize|chSetLineSize]]( index, 0, 0 );&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;lt;= 100 ) {&lt;br /&gt;
         index = [[ScriptEvent:chAddLine|chAddLine]]();&lt;br /&gt;
         [[ScriptEvent:chSetLineText|chSetLineText]]( index, G_BuildRangeStr( range ) );&lt;br /&gt;
         [[ScriptEvent:chSetLineColor|chSetLineColor]]( index, color, 1.f );&lt;br /&gt;
         [[ScriptEvent:chSetLineType|chSetLineType]]( index, CI_TEXT );&lt;br /&gt;
         [[ScriptEvent:chSetLineSize|chSetLineSize]]( index, 0, 0 );&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; 1.f;&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:capturable_spawn|capturable_spawn]]::vSetActive( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;boolean&amp;lt;/span&amp;gt; a ) {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( active != a ) {&lt;br /&gt;
         active = a;&lt;br /&gt;
         OnActiveChanged();&lt;br /&gt;
     }&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:capturable_spawn|capturable_spawn]]::CanActivate( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; p, &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; distance ) {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( objManager.gameState != GS_GAMEON ) {&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;if&amp;lt;/span&amp;gt; ( !active ) {&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;if&amp;lt;/span&amp;gt; ( distance &amp;gt; 128 ) {&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;if&amp;lt;/span&amp;gt; ( p.[[ScriptEvent:getViewingEntity|getViewingEntity]]() != p ) {&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;if&amp;lt;/span&amp;gt; ( p.[[ScriptEvent:getHealth|getHealth]]() &amp;lt;= 0 ) {&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;if&amp;lt;/span&amp;gt; ( p.[[ScriptEvent:getProxyEntity|getProxyEntity]]() != &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; false;&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;// check the team that the other is on&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; team = [[ScriptEvent:getGameTeam|getGameTeam]]();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;object&amp;lt;/span&amp;gt; otherTeam = p.[[ScriptEvent:getGameTeam|getGameTeam]]();&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( team == otherTeam || otherTeam == &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null&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; false;&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; teamName = otherTeam.[[ScriptEvent:getName|getName]]();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( IsDisabled( teamName ) ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( team == &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; false;&lt;br /&gt;
         }&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; true;&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:capturable_spawn|capturable_spawn]]::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;object&amp;lt;/span&amp;gt; team = [[ScriptEvent:getGameTeam|getGameTeam]]();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;object&amp;lt;/span&amp;gt; otherTeam = p.[[ScriptEvent:getGameTeam|getGameTeam]]();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt; teamName = otherTeam.[[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; ( team == &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;if&amp;lt;/span&amp;gt; ( IsDisabled( teamName ) ) {&lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;qc_defend&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;return&amp;lt;/span&amp;gt; [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;qc_capture&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;if&amp;lt;/span&amp;gt; ( IsDisabled( teamName ) ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;qc_liberate&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;return&amp;lt;/span&amp;gt; [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;qc_defend&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:capturable_spawn|capturable_spawn]]::ActivateSoundThread( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; p ) {&lt;br /&gt;
     [[ScriptClass:team_base|team_base]] team = p.[[ScriptEvent:getGameTeam|getGameTeam]]();&lt;br /&gt;
     sys.[[ScriptEvent:startSoundDirect|startSoundDirect]]( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;snd_capturing_&amp;quot;&amp;lt;/span&amp;gt; + team.[[ScriptEvent:getName|getName]]() ), SND_STRUCTURE_SPAWNLOCATION );&lt;br /&gt;
     waitUntil( sys.[[ScriptEvent:getTime|getTime]]() - lastActivateTime &amp;gt; 0.2f );&lt;br /&gt;
     FinishActivateSound();&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:capturable_spawn|capturable_spawn]]::FinishActivateSound() {&lt;br /&gt;
     sys.[[ScriptEvent:startSoundDirect|startSoundDirect]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;&amp;quot;&amp;lt;/span&amp;gt;, SND_STRUCTURE_SPAWNLOCATION );&lt;br /&gt;
     activateSoundThreadId = -1;&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:capturable_spawn|capturable_spawn]]::IsDisabled( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt; teamName ) {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; [[ScriptEvent:getIntKey|getIntKey]]( teamName + &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;_disabled&amp;quot;&amp;lt;/span&amp;gt; ) != 0;&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Wizz</name></author>
		
	</entry>
</feed>