Skip to content

Instantly share code, notes, and snippets.

@Alzarath
Last active November 23, 2024 10:56
Show Gist options
  • Save Alzarath/11a28e627754bbbac1a33d4411e396d1 to your computer and use it in GitHub Desktop.
Save Alzarath/11a28e627754bbbac1a33d4411e396d1 to your computer and use it in GitHub Desktop.
StarCraft 2 Trigger Library that generates units at probable base locations

Simple Base Discovery

Simple Base Discovery is a GUI-friendly trigger library created and distributed by Alzarath. It was originally created for and standardized from the Star Survivors arcade extension mod created by Alzarath and Krazymouse.

Installation

  1. Download the SimpleBaseDiscovery.SC2Lib file.
  2. Open the map or mod you wish to incorporate it into with the StarCraft 2 editor.
  3. In the Trigger editor, right-click in the Trigger panel (on the left).
  4. Navigate to the "Library" sub-menu.
  5. Click the "Import Library..." option.
  6. Select the SimpleBaseDiscovery.SC2Lib file you downloaded from step 1.

Usage

To use, assign a Unit Group the value given from the Discover Base Locations function. The result will be a unit group consisting of the specified unit at the "center" of each base location created for player 0 (Neutral).

Parameter: Unit Type

The Unit Type paramter determines the unit that is created at the center of the resource cluster.

A Town Hall unit such as the Nexus is recommended as it uses a Drop Off placement footprint which more accurately reflects the logical center of a base.

Parameter: Minimum Resource Threshold

The Minimum Resource Threshold determines the minimum number of resources a resource cluster must contain for it to be considered a base.

A resource cluster that does not meet or exceed this amount of resources is assumed to not represent a base location and be either of:

  • A solitary resource node
  • A group of minerals that act as a gatherable wall

Parameter: Distance Threshold

The Distance Threshold is the maximum distance from each resource node that will be scanned for additional resource nodes to be considered a resource cluster.

Parameter: Use Pathing Distance

Use Pathing Distance causes the function to check if the Distance Threshold should accomodate pathing distance.

This setting prevents resource nodes that are within the distance threshold but across a cliff a significant distance from being added to a resource cluster.

Explanation

The function gathers neighboring clusters of minerals and vespene geysers, then creates a unit at the center. Each of these units are then returned as a unit group.

The reason a unit group is used is because there is no such thing as a "point group" and arrays aren't dynamic. You can use the Get Position of Unit function to get a point representing the bases and remove the given units when you want/need to.

Caveats

There is no way to dynamically and reliably find Start Locations. For my needs, this is acceptable. If you're looking to specifically find Start Location bases, this may not fulfill your requirements.

Obstructions and destructible units such as rocks that block base locations will more than likely impede the trigger's ability to locate the accurate center of the base.

<?xml version="1.0" encoding="utf-8"?>
<TriggerData>
<Standard Id="SBDL"/>
<Name>Simple Base Discovery</Name>
<Root>
<Item Type="CustomScript" Library="SBDL" Id="14A6B2AE"/>
<Item Type="FunctionDef" Library="SBDL" Id="B5684D12"/>
<Item Type="FunctionDef" Library="SBDL" Id="30E2BDA6"/>
<Item Type="FunctionDef" Library="SBDL" Id="3F64780C"/>
</Root>
<Element Type="CustomScript" Id="14A6B2AE">
<Name>README</Name>
<ScriptCode>
// # Simple Base Discovery
//
// **Simple Base Discovery** is a GUI-friendly trigger library created and distributed by Alzarath. It was originally
// created for and standardized from the Star Survivors arcade extension mod created by Alzarath and Krazymouse.
//
// ## Usage
//
// To use, assign a Unit Group the value given from the `Discover Base Locations` function. The result will be a unit
// group consisting of the specified unit at the &quot;center&quot; of each base location created for player 0 (Neutral).
//
// ### Parameter: Unit Type
//
// The **Unit Type** paramter determines the unit that is created at the center of the resource cluster.
//
// A Town Hall unit such as the Nexus is recommended as it uses a Drop Off placement footprint which more accurately
// reflects the logical center of a base.
//
// ### Parameter: Minimum Resource Threshold
//
// The **Minimum Resource Threshold** determines the minimum number of resources a resource cluster must contain for it
// to be considered a base.
//
// A resource cluster that does not meet or exceed this amount of resources is assumed to not represent a base location
// and be either of:
//
// * A solitary resource node
// * A group of minerals that act as a gatherable wall
//
// ### Parameter: Distance Threshold
//
// The **Distance Threshold** is the maximum distance from each resource node that will be scanned for additional
// resource nodes to be considered a resource cluster.
//
// ### Parameter: Use Pathing Distance
//
// **Use Pathing Distance** causes the function to check if the Distance Threshold should accomodate pathing distance.
//
// This setting prevents resource nodes that are within the distance threshold but across a cliff a significant
// distance from being added to a resource cluster.
//
// ## Explanation
//
// The function gathers neighboring clusters of minerals and vespene geysers, then creates a unit at the center. Each
// of these units are then returned as a unit group.
//
// Units in a radius around the center of the resource cluster are hidden before the unit is created then un-hidden.
// This prevents the likes of destructible rocks from blocking the placement of the structure.
//
// The reason a unit group is used is because there is no such thing as a &quot;point group&quot; and arrays aren&apos;t dynamic. You
// can use the `Get Position of Unit` function to get a point representing the bases and remove the given units when
// you want/need to.
//
// There is no way to dynamically and reliably find Start Locations. For my needs, this is acceptable. If you&apos;re looking
// to specifically find Start Location bases, this may not fulfill your requirements.
//
</ScriptCode>
</Element>
<Element Type="FunctionDef" Id="B5684D12">
<Name>Transfer Neighbors</Name>
<Label Type="Label" Library="Ntve" Id="00000013"/>
<Internal/>
<FlagAction/>
<Parameter Type="ParamDef" Library="SBDL" Id="D8883AED"/>
<Parameter Type="ParamDef" Library="SBDL" Id="A070BA74"/>
<Parameter Type="ParamDef" Library="SBDL" Id="FB1F87CD"/>
<Parameter Type="ParamDef" Library="SBDL" Id="E33EB291"/>
<Parameter Type="ParamDef" Library="SBDL" Id="A0854233"/>
<Parameter Type="ParamDef" Library="SBDL" Id="F9913902"/>
<Variable Type="Variable" Library="SBDL" Id="2C21AEB3"/>
<Variable Type="Variable" Library="SBDL" Id="5E207F2A"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="21986BE3"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="8BC7A4D2"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="CA642EAC"/>
</Element>
<Element Type="ParamDef" Id="D8883AED">
<Name>Radius</Name>
<ParameterType>
<Type Value="fixed"/>
</ParameterType>
<Default Type="Param" Library="SBDL" Id="96DAE22D"/>
</Element>
<Element Type="Param" Id="96DAE22D">
<Name></Name>
<Value>8.0</Value>
<ValueType Type="fixed"/>
</Element>
<Element Type="ParamDef" Id="A070BA74">
<Name>Target</Name>
<ParameterType>
<Type Value="unit"/>
</ParameterType>
<Default Type="Param" Library="SBDL" Id="4997257F"/>
</Element>
<Element Type="Param" Id="4997257F">
<Name></Name>
<Preset Type="PresetValue" Library="Ntve" Id="D6EA4D09"/>
</Element>
<Element Type="ParamDef" Id="FB1F87CD">
<Name>Filter</Name>
<ParameterType>
<Type Value="unitfilter"/>
</ParameterType>
<Default Type="Param" Library="SBDL" Id="827B1BA5"/>
</Element>
<Element Type="Param" Id="827B1BA5">
<Name></Name>
<Value>HarvestableResource;Missile,Dead,Hidden</Value>
<ValueType Type="unitfilter"/>
</Element>
<Element Type="ParamDef" Id="E33EB291">
<Name>Source Group</Name>
<ParameterType>
<Type Value="unitgroup"/>
</ParameterType>
</Element>
<Element Type="ParamDef" Id="A0854233">
<Name>Destination Group</Name>
<ParameterType>
<Type Value="unitgroup"/>
</ParameterType>
<Default Type="Param" Library="SBDL" Id="A62315AF"/>
</Element>
<Element Type="Param" Id="A62315AF">
<Name></Name>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="0219E5D2"/>
</Element>
<Element Type="FunctionCall" Id="0219E5D2">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000104"/>
</Element>
<Element Type="ParamDef" Id="F9913902">
<Name>Use Pathing Distance</Name>
<ParameterType>
<Type Value="preset"/>
<TypeElement Type="Preset" Library="Ntve" Id="00000022"/>
</ParameterType>
<Default Type="Param" Library="SBDL" Id="14C2FF0A"/>
</Element>
<Element Type="Param" Id="14C2FF0A">
<Name></Name>
<Preset Type="PresetValue" Library="Ntve" Id="00000071"/>
</Element>
<Element Type="Variable" Id="2C21AEB3">
<Name>ParsedGroup</Name>
<VariableType>
<Type Value="unitgroup"/>
</VariableType>
<Value Type="Param" Library="SBDL" Id="5E75A99C"/>
</Element>
<Element Type="Param" Id="5E75A99C">
<Name></Name>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="24D3CE88"/>
</Element>
<Element Type="FunctionCall" Id="24D3CE88">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="403AA0FB"/>
<Parameter Type="Param" Library="SBDL" Id="A95B0DB0"/>
<Parameter Type="Param" Library="SBDL" Id="1461E439"/>
<Parameter Type="Param" Library="SBDL" Id="CB497C46"/>
<Parameter Type="Param" Library="SBDL" Id="DACAC707"/>
<Parameter Type="Param" Library="SBDL" Id="F4F409B0"/>
<Parameter Type="Param" Library="SBDL" Id="AD316A7D"/>
</Element>
<Element Type="Param" Id="A95B0DB0">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="64AFC026"/>
<Preset Type="PresetValue" Library="Ntve" Id="00000231"/>
</Element>
<Element Type="Param" Id="1461E439">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="CBAC215F"/>
<Preset Type="PresetValue" Library="Ntve" Id="2999701E"/>
</Element>
<Element Type="Param" Id="CB497C46">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="835EFD1A"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="D4DFBE51"/>
</Element>
<Element Type="FunctionCall" Id="D4DFBE51">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000083"/>
<Parameter Type="Param" Library="SBDL" Id="CF0B14A2"/>
</Element>
<Element Type="Param" Id="CF0B14A2">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000144"/>
<Parameter Type="ParamDef" Library="SBDL" Id="A070BA74"/>
</Element>
<Element Type="Param" Id="DACAC707">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="34DA2143"/>
<Parameter Type="ParamDef" Library="SBDL" Id="D8883AED"/>
</Element>
<Element Type="Param" Id="F4F409B0">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="7FB9013E"/>
<Parameter Type="ParamDef" Library="SBDL" Id="FB1F87CD"/>
</Element>
<Element Type="Param" Id="AD316A7D">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="E3167578"/>
<Preset Type="PresetValue" Library="Ntve" Id="1468BD55"/>
</Element>
<Element Type="Variable" Id="5E207F2A">
<Name>TargetUnit</Name>
<VariableType>
<Type Value="unit"/>
</VariableType>
<Value Type="Param" Library="SBDL" Id="2DC29221"/>
</Element>
<Element Type="Param" Id="2DC29221">
<Name></Name>
<Preset Type="PresetValue" Library="Ntve" Id="D6EA4D09"/>
</Element>
<Element Type="FunctionCall" Id="21986BE3">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="90CBEC01"/>
<Parameter Type="Param" Library="SBDL" Id="81202AB1"/>
<Parameter Type="Param" Library="SBDL" Id="3D7F51A2"/>
</Element>
<Element Type="Param" Id="81202AB1">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="834C89B2"/>
<Parameter Type="ParamDef" Library="SBDL" Id="A070BA74"/>
</Element>
<Element Type="Param" Id="3D7F51A2">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="3CACD790"/>
<Variable Type="Variable" Library="SBDL" Id="2C21AEB3"/>
</Element>
<Element Type="FunctionCall" Id="8BC7A4D2">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000137"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="F125443E"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="B0D3EE71"/>
</Element>
<Element Type="FunctionCall" Id="F125443E">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="SBDL" Id="30E2BDA6"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="00000004"/>
<Parameter Type="Param" Library="SBDL" Id="D1240E27"/>
<Parameter Type="Param" Library="SBDL" Id="5C1DAB5C"/>
<Parameter Type="Param" Library="SBDL" Id="6D3DE0E1"/>
</Element>
<Element Type="Param" Id="D1240E27">
<Name></Name>
<ParameterDef Type="ParamDef" Library="SBDL" Id="AAEFFE7A"/>
<Parameter Type="ParamDef" Library="SBDL" Id="A070BA74"/>
</Element>
<Element Type="Param" Id="5C1DAB5C">
<Name></Name>
<ParameterDef Type="ParamDef" Library="SBDL" Id="ED4632BC"/>
<Parameter Type="ParamDef" Library="SBDL" Id="E33EB291"/>
</Element>
<Element Type="Param" Id="6D3DE0E1">
<Name></Name>
<ParameterDef Type="ParamDef" Library="SBDL" Id="8FE7D995"/>
<Parameter Type="ParamDef" Library="SBDL" Id="A0854233"/>
</Element>
<Element Type="FunctionCall" Id="B0D3EE71">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="C439C375"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="00000003"/>
<Parameter Type="Param" Library="SBDL" Id="54A31AB3"/>
<Parameter Type="Param" Library="SBDL" Id="8E338002"/>
<Parameter Type="Param" Library="SBDL" Id="54E6BB4A"/>
</Element>
<Element Type="Param" Id="54A31AB3">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="ABB380C4"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="C17CD4E4"/>
</Element>
<Element Type="FunctionCall" Id="C17CD4E4">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000110"/>
<Parameter Type="Param" Library="SBDL" Id="872AAE87"/>
<Parameter Type="Param" Library="SBDL" Id="F0D8E828"/>
</Element>
<Element Type="Param" Id="872AAE87">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000371"/>
<Parameter Type="ParamDef" Library="SBDL" Id="A070BA74"/>
</Element>
<Element Type="Param" Id="F0D8E828">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000175"/>
<Parameter Type="ParamDef" Library="SBDL" Id="E33EB291"/>
</Element>
<Element Type="Param" Id="8E338002">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="51567265"/>
<Preset Type="PresetValue" Library="Ntve" Id="1E7A4625"/>
</Element>
<Element Type="Param" Id="54E6BB4A">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="4A15EC5F"/>
<Value>true</Value>
<ValueType Type="bool"/>
</Element>
<Element Type="FunctionCall" Id="CA642EAC">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="71596144"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="963E763B"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="16486983"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="62CBA6FD"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="C989DFAB"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="3B583499"/>
</Element>
<Element Type="FunctionCall" Id="963E763B">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000136"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="A1B37466"/>
<Parameter Type="Param" Library="SBDL" Id="A0DFE8AC"/>
<Parameter Type="Param" Library="SBDL" Id="6FF1CBE6"/>
</Element>
<Element Type="Param" Id="A0DFE8AC">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000219"/>
<Variable Type="Variable" Library="SBDL" Id="5E207F2A"/>
</Element>
<Element Type="Param" Id="6FF1CBE6">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000220"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="8EC827D8"/>
</Element>
<Element Type="FunctionCall" Id="8EC827D8">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000213"/>
<Parameter Type="Param" Library="SBDL" Id="FD4CEBED"/>
<Parameter Type="Param" Library="SBDL" Id="149144F1"/>
</Element>
<Element Type="Param" Id="FD4CEBED">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000373"/>
<Value>1</Value>
<ValueType Type="int"/>
</Element>
<Element Type="Param" Id="149144F1">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000372"/>
<Variable Type="Variable" Library="SBDL" Id="2C21AEB3"/>
</Element>
<Element Type="FunctionCall" Id="16486983">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="90CBEC01"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="A1B37466"/>
<Parameter Type="Param" Library="SBDL" Id="422B9F32"/>
<Parameter Type="Param" Library="SBDL" Id="E21F2DE2"/>
</Element>
<Element Type="Param" Id="422B9F32">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="834C89B2"/>
<Variable Type="Variable" Library="SBDL" Id="5E207F2A"/>
</Element>
<Element Type="Param" Id="E21F2DE2">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="3CACD790"/>
<Variable Type="Variable" Library="SBDL" Id="2C21AEB3"/>
</Element>
<Element Type="FunctionCall" Id="62CBA6FD">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000137"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="A1B37466"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="31AD0D47"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="13D26DCE"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="E6C85E31"/>
</Element>
<Element Type="FunctionCall" Id="31AD0D47">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="268BBACB"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="00000004"/>
</Element>
<Element Type="FunctionCall" Id="13D26DCE">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="C439C375"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="00000003"/>
<Parameter Type="Param" Library="SBDL" Id="70ECC76E"/>
<Parameter Type="Param" Library="SBDL" Id="FD4DDA7D"/>
<Parameter Type="Param" Library="SBDL" Id="5928CA71"/>
</Element>
<Element Type="Param" Id="70ECC76E">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="ABB380C4"/>
<Parameter Type="ParamDef" Library="SBDL" Id="F9913902"/>
</Element>
<Element Type="Param" Id="FD4DDA7D">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="51567265"/>
<Preset Type="PresetValue" Library="Ntve" Id="1E7A4625"/>
</Element>
<Element Type="Param" Id="5928CA71">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="4A15EC5F"/>
<Preset Type="PresetValue" Library="Ntve" Id="00000071"/>
</Element>
<Element Type="FunctionCall" Id="E6C85E31">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="C439C375"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="00000003"/>
<Parameter Type="Param" Library="SBDL" Id="58AB5E90"/>
<Parameter Type="Param" Library="SBDL" Id="8ACF7B70"/>
<Parameter Type="Param" Library="SBDL" Id="C6665DF1"/>
</Element>
<Element Type="Param" Id="58AB5E90">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="ABB380C4"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="6FCAAB4B"/>
</Element>
<Element Type="FunctionCall" Id="6FCAAB4B">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="5A91C75B"/>
<Parameter Type="Param" Library="SBDL" Id="0B730277"/>
<Parameter Type="Param" Library="SBDL" Id="C2698723"/>
</Element>
<Element Type="Param" Id="0B730277">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="F7EB4EBD"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="08CE8980"/>
</Element>
<Element Type="FunctionCall" Id="08CE8980">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="E62D9C8C"/>
<Parameter Type="Param" Library="SBDL" Id="4A2BC647"/>
<Parameter Type="Param" Library="SBDL" Id="C17E1075"/>
<Parameter Type="Param" Library="SBDL" Id="10E2A518"/>
</Element>
<Element Type="Param" Id="4A2BC647">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="9421CFBF"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="72937E89"/>
</Element>
<Element Type="FunctionCall" Id="72937E89">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="C65CC121"/>
<Parameter Type="Param" Library="SBDL" Id="E7FEA4A0"/>
<Parameter Type="Param" Library="SBDL" Id="56453B93"/>
<Parameter Type="Param" Library="SBDL" Id="8F9D2316"/>
</Element>
<Element Type="Param" Id="E7FEA4A0">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="9ADE2B3B"/>
<Variable Type="Variable" Library="SBDL" Id="5E207F2A"/>
</Element>
<Element Type="Param" Id="56453B93">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="D1035B0C"/>
<Preset Type="PresetValue" Library="Ntve" Id="169EC109"/>
</Element>
<Element Type="Param" Id="8F9D2316">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="D006774F"/>
<Preset Type="PresetValue" Library="Ntve" Id="E66C6645"/>
</Element>
<Element Type="Param" Id="C17E1075">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="177FC9EA"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="6742BA4B"/>
</Element>
<Element Type="FunctionCall" Id="6742BA4B">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000083"/>
<Parameter Type="Param" Library="SBDL" Id="5C1A2394"/>
</Element>
<Element Type="Param" Id="5C1A2394">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000144"/>
<Variable Type="Variable" Library="SBDL" Id="5E207F2A"/>
</Element>
<Element Type="Param" Id="10E2A518">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="A31F2A23"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="3ED1F039"/>
</Element>
<Element Type="FunctionCall" Id="3ED1F039">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000083"/>
<Parameter Type="Param" Library="SBDL" Id="98A33E57"/>
</Element>
<Element Type="Param" Id="98A33E57">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000144"/>
<Parameter Type="ParamDef" Library="SBDL" Id="A070BA74"/>
</Element>
<Element Type="Param" Id="C2698723">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="54C4EC54"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="4EDE8A10"/>
</Element>
<Element Type="FunctionCall" Id="4EDE8A10">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="E62D9C8C"/>
<Parameter Type="Param" Library="SBDL" Id="55705F80"/>
<Parameter Type="Param" Library="SBDL" Id="3BF8DF95"/>
<Parameter Type="Param" Library="SBDL" Id="CD142557"/>
</Element>
<Element Type="Param" Id="55705F80">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="9421CFBF"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="FC4AE44F"/>
</Element>
<Element Type="FunctionCall" Id="FC4AE44F">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="C65CC121"/>
<Parameter Type="Param" Library="SBDL" Id="35D00A57"/>
<Parameter Type="Param" Library="SBDL" Id="C8F047DC"/>
<Parameter Type="Param" Library="SBDL" Id="264585BC"/>
</Element>
<Element Type="Param" Id="35D00A57">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="9ADE2B3B"/>
<Parameter Type="ParamDef" Library="SBDL" Id="A070BA74"/>
</Element>
<Element Type="Param" Id="C8F047DC">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="D1035B0C"/>
<Preset Type="PresetValue" Library="Ntve" Id="169EC109"/>
</Element>
<Element Type="Param" Id="264585BC">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="D006774F"/>
<Preset Type="PresetValue" Library="Ntve" Id="E66C6645"/>
</Element>
<Element Type="Param" Id="3BF8DF95">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="177FC9EA"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="97AAA0EA"/>
</Element>
<Element Type="FunctionCall" Id="97AAA0EA">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000083"/>
<Parameter Type="Param" Library="SBDL" Id="50BFEA1B"/>
</Element>
<Element Type="Param" Id="50BFEA1B">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000144"/>
<Parameter Type="ParamDef" Library="SBDL" Id="A070BA74"/>
</Element>
<Element Type="Param" Id="CD142557">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="A31F2A23"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="CD2BD1D9"/>
</Element>
<Element Type="FunctionCall" Id="CD2BD1D9">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000083"/>
<Parameter Type="Param" Library="SBDL" Id="C6B1DF94"/>
</Element>
<Element Type="Param" Id="C6B1DF94">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000144"/>
<Variable Type="Variable" Library="SBDL" Id="5E207F2A"/>
</Element>
<Element Type="Param" Id="8ACF7B70">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="51567265"/>
<Preset Type="PresetValue" Library="Ntve" Id="40567BEE"/>
</Element>
<Element Type="Param" Id="C6665DF1">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="4A15EC5F"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="6F9BC1B6"/>
</Element>
<Element Type="FunctionCall" Id="6F9BC1B6">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="5C9C427F"/>
<Parameter Type="Param" Library="SBDL" Id="DB9E5766"/>
</Element>
<Element Type="Param" Id="DB9E5766">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="88CDA540"/>
<Parameter Type="ParamDef" Library="SBDL" Id="D8883AED"/>
</Element>
<Element Type="FunctionCall" Id="C989DFAB">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000137"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="A1B37466"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="934DB3B1"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="587DA6D2"/>
</Element>
<Element Type="FunctionCall" Id="934DB3B1">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="SBDL" Id="B5684D12"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="00000004"/>
<Parameter Type="Param" Library="SBDL" Id="612001C3"/>
<Parameter Type="Param" Library="SBDL" Id="2279E445"/>
<Parameter Type="Param" Library="SBDL" Id="EB6CEA28"/>
<Parameter Type="Param" Library="SBDL" Id="D1A49A62"/>
<Parameter Type="Param" Library="SBDL" Id="46FA269A"/>
<Parameter Type="Param" Library="SBDL" Id="CA95EEB7"/>
</Element>
<Element Type="Param" Id="612001C3">
<Name></Name>
<ParameterDef Type="ParamDef" Library="SBDL" Id="D8883AED"/>
<Parameter Type="ParamDef" Library="SBDL" Id="D8883AED"/>
</Element>
<Element Type="Param" Id="2279E445">
<Name></Name>
<ParameterDef Type="ParamDef" Library="SBDL" Id="A070BA74"/>
<Variable Type="Variable" Library="SBDL" Id="5E207F2A"/>
</Element>
<Element Type="Param" Id="EB6CEA28">
<Name></Name>
<ParameterDef Type="ParamDef" Library="SBDL" Id="FB1F87CD"/>
<Parameter Type="ParamDef" Library="SBDL" Id="FB1F87CD"/>
</Element>
<Element Type="Param" Id="D1A49A62">
<Name></Name>
<ParameterDef Type="ParamDef" Library="SBDL" Id="A0854233"/>
<Parameter Type="ParamDef" Library="SBDL" Id="A0854233"/>
</Element>
<Element Type="Param" Id="46FA269A">
<Name></Name>
<ParameterDef Type="ParamDef" Library="SBDL" Id="E33EB291"/>
<Parameter Type="ParamDef" Library="SBDL" Id="E33EB291"/>
</Element>
<Element Type="Param" Id="CA95EEB7">
<Name></Name>
<ParameterDef Type="ParamDef" Library="SBDL" Id="F9913902"/>
<Parameter Type="ParamDef" Library="SBDL" Id="F9913902"/>
</Element>
<Element Type="FunctionCall" Id="587DA6D2">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="C439C375"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="00000003"/>
<Parameter Type="Param" Library="SBDL" Id="35875F04"/>
<Parameter Type="Param" Library="SBDL" Id="1E1FA747"/>
<Parameter Type="Param" Library="SBDL" Id="6A496B1C"/>
</Element>
<Element Type="Param" Id="35875F04">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="ABB380C4"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="6735AF8A"/>
</Element>
<Element Type="FunctionCall" Id="6735AF8A">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000110"/>
<Parameter Type="Param" Library="SBDL" Id="B8A7A419"/>
<Parameter Type="Param" Library="SBDL" Id="E247303A"/>
</Element>
<Element Type="Param" Id="B8A7A419">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000371"/>
<Variable Type="Variable" Library="SBDL" Id="5E207F2A"/>
</Element>
<Element Type="Param" Id="E247303A">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000175"/>
<Parameter Type="ParamDef" Library="SBDL" Id="E33EB291"/>
</Element>
<Element Type="Param" Id="1E1FA747">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="51567265"/>
<Preset Type="PresetValue" Library="Ntve" Id="1E7A4625"/>
</Element>
<Element Type="Param" Id="6A496B1C">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="4A15EC5F"/>
<Value>true</Value>
<ValueType Type="bool"/>
</Element>
<Element Type="FunctionCall" Id="3B583499">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="C439C375"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="20298AEC"/>
<Parameter Type="Param" Library="SBDL" Id="0DD82ACA"/>
<Parameter Type="Param" Library="SBDL" Id="FEBAB02A"/>
<Parameter Type="Param" Library="SBDL" Id="FD7E938E"/>
</Element>
<Element Type="Param" Id="0DD82ACA">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="ABB380C4"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="0C8C799A"/>
</Element>
<Element Type="FunctionCall" Id="0C8C799A">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="83B4BF45"/>
<Parameter Type="Param" Library="SBDL" Id="5678D39F"/>
<Parameter Type="Param" Library="SBDL" Id="134960A3"/>
</Element>
<Element Type="Param" Id="5678D39F">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="4A5B3C88"/>
<Preset Type="PresetValue" Library="Ntve" Id="E96D06B5"/>
</Element>
<Element Type="Param" Id="134960A3">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="62D9DA63"/>
<Variable Type="Variable" Library="SBDL" Id="2C21AEB3"/>
</Element>
<Element Type="Param" Id="FEBAB02A">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="51567265"/>
<Preset Type="PresetValue" Library="Ntve" Id="40567BEE"/>
</Element>
<Element Type="Param" Id="FD7E938E">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="4A15EC5F"/>
<Value>0</Value>
<ValueType Type="int"/>
</Element>
<Element Type="FunctionDef" Id="30E2BDA6">
<Name>Transfer Unit To Unit Group</Name>
<Label Type="Label" Library="Ntve" Id="00000013"/>
<Internal/>
<FlagAction/>
<Parameter Type="ParamDef" Library="SBDL" Id="AAEFFE7A"/>
<Parameter Type="ParamDef" Library="SBDL" Id="ED4632BC"/>
<Parameter Type="ParamDef" Library="SBDL" Id="8FE7D995"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="25E54822"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="3FBC56D3"/>
</Element>
<Element Type="ParamDef" Id="AAEFFE7A">
<Name>Unit</Name>
<ParameterType>
<Type Value="unit"/>
</ParameterType>
</Element>
<Element Type="ParamDef" Id="ED4632BC">
<Name>Source Unit Group</Name>
<ParameterType>
<Type Value="unitgroup"/>
</ParameterType>
</Element>
<Element Type="ParamDef" Id="8FE7D995">
<Name>Destination Unit Group</Name>
<ParameterType>
<Type Value="unitgroup"/>
</ParameterType>
</Element>
<Element Type="FunctionCall" Id="25E54822">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="9435D821"/>
<Parameter Type="Param" Library="SBDL" Id="882C7342"/>
<Parameter Type="Param" Library="SBDL" Id="46338EC8"/>
</Element>
<Element Type="Param" Id="882C7342">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="58E3C3B3"/>
<Parameter Type="ParamDef" Library="SBDL" Id="AAEFFE7A"/>
</Element>
<Element Type="Param" Id="46338EC8">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="BE7DBEA1"/>
<Parameter Type="ParamDef" Library="SBDL" Id="8FE7D995"/>
</Element>
<Element Type="FunctionCall" Id="3FBC56D3">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="90CBEC01"/>
<Parameter Type="Param" Library="SBDL" Id="03F791DE"/>
<Parameter Type="Param" Library="SBDL" Id="A11CB699"/>
</Element>
<Element Type="Param" Id="03F791DE">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="3CACD790"/>
<Parameter Type="ParamDef" Library="SBDL" Id="ED4632BC"/>
</Element>
<Element Type="Param" Id="A11CB699">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="834C89B2"/>
<Parameter Type="ParamDef" Library="SBDL" Id="AAEFFE7A"/>
</Element>
<Element Type="FunctionDef" Id="3F64780C">
<Name>Discover Base Locations</Name>
<Label Type="Label" Library="Ntve" Id="00000013"/>
<FlagCall/>
<ReturnType>
<Type Value="unitgroup"/>
</ReturnType>
<Parameter Type="Comment" Library="SBDL" Id="B07E2D96"/>
<Parameter Type="ParamDef" Library="SBDL" Id="25BCEAAA"/>
<Parameter Type="Comment" Library="SBDL" Id="D08A6FB7"/>
<Parameter Type="ParamDef" Library="SBDL" Id="63CEA103"/>
<Parameter Type="Comment" Library="SBDL" Id="C85C9EF2"/>
<Parameter Type="ParamDef" Library="SBDL" Id="0FB05B82"/>
<Parameter Type="Comment" Library="SBDL" Id="31445DE0"/>
<Parameter Type="ParamDef" Library="SBDL" Id="1F42D75D"/>
<Variable Type="Variable" Library="SBDL" Id="45E48326"/>
<Variable Type="Variable" Library="SBDL" Id="3CEE94E2"/>
<Variable Type="Variable" Library="SBDL" Id="8149E334"/>
<Variable Type="Variable" Library="SBDL" Id="FCD61BA6"/>
<Variable Type="Variable" Library="SBDL" Id="6EAC6CD0"/>
<Variable Type="Variable" Library="SBDL" Id="86E7ECF5"/>
<Variable Type="Variable" Library="SBDL" Id="491D7E04"/>
<Variable Type="Variable" Library="SBDL" Id="6438B58B"/>
<Variable Type="Variable" Library="SBDL" Id="FFB004A2"/>
<Variable Type="Variable" Library="SBDL" Id="7BFC3466"/>
<Variable Type="Variable" Library="SBDL" Id="C2D8E5FD"/>
<FunctionCall Type="Comment" Library="SBDL" Id="CECD92A5"/>
<FunctionCall Type="Comment" Library="SBDL" Id="5B971BD6"/>
<FunctionCall Type="Comment" Library="SBDL" Id="07A3605A"/>
<FunctionCall Type="Comment" Library="SBDL" Id="5283413F"/>
<FunctionCall Type="Comment" Library="SBDL" Id="9CB99953"/>
<FunctionCall Type="Comment" Library="SBDL" Id="3D67259E"/>
<FunctionCall Type="Comment" Library="SBDL" Id="7EBC78F8"/>
<FunctionCall Type="Comment" Library="SBDL" Id="DD3DD27F"/>
<FunctionCall Type="Comment" Library="SBDL" Id="6E1FA217"/>
<FunctionCall Type="Comment" Library="SBDL" Id="8D0A9D98"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="57308DDE"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="74DCDC8D"/>
</Element>
<Element Type="Comment" Id="B07E2D96">
<Name>Comment: &apos;Unit Type spawns the given ty...&apos;</Name>
<Comment>
Unit Type spawns the given type of unit at the center of each group of resources determined to be a base
</Comment>
</Element>
<Element Type="ParamDef" Id="25BCEAAA">
<Name>Unit Type</Name>
<ParameterType>
<Type Value="gamelink"/>
<GameType Value="Unit"/>
</ParameterType>
<ParamFlagPreload/>
<Default Type="Param" Library="SBDL" Id="A391D22B"/>
</Element>
<Element Type="Param" Id="A391D22B">
<Name></Name>
<Value>Nexus</Value>
<ValueType Type="gamelink"/>
<ValueGameType Type="Unit"/>
</Element>
<Element Type="Comment" Id="D08A6FB7">
<Name>Comment: &apos;Minimum Resource Threshold de...&apos;</Name>
<Comment>
Minimum Resource Threshold determines the minimum number of resources for a group of resources to be considered a base
</Comment>
</Element>
<Element Type="ParamDef" Id="63CEA103">
<Name>Minimum Resource Threshold</Name>
<ParameterType>
<Type Value="fixed"/>
</ParameterType>
<Default Type="Param" Library="SBDL" Id="6A10D8E4"/>
</Element>
<Element Type="Param" Id="6A10D8E4">
<Name></Name>
<Value>3000.0</Value>
<ValueType Type="fixed"/>
</Element>
<Element Type="Comment" Id="C85C9EF2">
<Name>Comment: &apos;Maximum distance resources ca...&apos;</Name>
<Comment>
Maximum distance resources can be from each other to be considered within the same group
</Comment>
</Element>
<Element Type="ParamDef" Id="0FB05B82">
<Name>Distance Threshold</Name>
<ParameterType>
<Type Value="fixed"/>
</ParameterType>
<Default Type="Param" Library="SBDL" Id="F8F61194"/>
</Element>
<Element Type="Param" Id="F8F61194">
<Name></Name>
<Value>8.0</Value>
<ValueType Type="fixed"/>
</Element>
<Element Type="Comment" Id="31445DE0">
<Name>Comment: &apos;Whether we should use pathing...&apos;</Name>
<Comment>
Whether we should use pathing distance to determine the distance from a resource group
</Comment>
</Element>
<Element Type="ParamDef" Id="1F42D75D">
<Name>Use Pathing Distance</Name>
<ParameterType>
<Type Value="preset"/>
<TypeElement Type="Preset" Library="Ntve" Id="00000022"/>
</ParameterType>
<Default Type="Param" Library="SBDL" Id="32726C0F"/>
</Element>
<Element Type="Param" Id="32726C0F">
<Name></Name>
<Preset Type="PresetValue" Library="Ntve" Id="00000071"/>
</Element>
<Element Type="Variable" Id="45E48326">
<Name>HARVESTABLE_FILTER</Name>
<VariableType>
<Type Value="unitfilter"/>
<Constant/>
</VariableType>
<Value Type="Param" Library="SBDL" Id="F3C3A75B"/>
</Element>
<Element Type="Param" Id="F3C3A75B">
<Name></Name>
<Value>HarvestableResource;Missile,Dead,Hidden</Value>
<ValueType Type="unitfilter"/>
</Element>
<Element Type="Variable" Id="3CEE94E2">
<Name>RAW_FILTER</Name>
<VariableType>
<Type Value="unitfilter"/>
<Constant/>
</VariableType>
<Value Type="Param" Library="SBDL" Id="C607FCC9"/>
</Element>
<Element Type="Param" Id="C607FCC9">
<Name></Name>
<Value>RawResource;Missile,Dead,Hidden</Value>
<ValueType Type="unitfilter"/>
</Element>
<Element Type="Variable" Id="8149E334">
<Name>PLAYER_NEUTRAL</Name>
<VariableType>
<Type Value="int"/>
<Constant/>
</VariableType>
<Value Type="Param" Library="SBDL" Id="12314A50"/>
</Element>
<Element Type="Param" Id="12314A50">
<Name></Name>
<Value>0</Value>
<ValueType Type="int"/>
</Element>
<Element Type="Variable" Id="FCD61BA6">
<Name>HarvestableGroup</Name>
<VariableType>
<Type Value="unitgroup"/>
</VariableType>
<Value Type="Param" Library="SBDL" Id="FB1A6FEB"/>
</Element>
<Element Type="Param" Id="FB1A6FEB">
<Name></Name>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="3E160006"/>
</Element>
<Element Type="FunctionCall" Id="3E160006">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000359"/>
<Parameter Type="Param" Library="SBDL" Id="80204CDA"/>
<Parameter Type="Param" Library="SBDL" Id="FA40CEB9"/>
<Parameter Type="Param" Library="SBDL" Id="593B5EE5"/>
<Parameter Type="Param" Library="SBDL" Id="D01C97D0"/>
<Parameter Type="Param" Library="SBDL" Id="07FFDE4E"/>
</Element>
<Element Type="Param" Id="80204CDA">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000691"/>
<Preset Type="PresetValue" Library="Ntve" Id="00000231"/>
</Element>
<Element Type="Param" Id="FA40CEB9">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000692"/>
<Variable Type="Variable" Library="SBDL" Id="8149E334"/>
</Element>
<Element Type="Param" Id="593B5EE5">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000693"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="DA60B1BC"/>
</Element>
<Element Type="FunctionCall" Id="DA60B1BC">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000356"/>
</Element>
<Element Type="Param" Id="D01C97D0">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000695"/>
<Variable Type="Variable" Library="SBDL" Id="45E48326"/>
</Element>
<Element Type="Param" Id="07FFDE4E">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000694"/>
<Preset Type="PresetValue" Library="Ntve" Id="1468BD55"/>
</Element>
<Element Type="Variable" Id="6EAC6CD0">
<Name>RawGroup</Name>
<VariableType>
<Type Value="unitgroup"/>
</VariableType>
<Value Type="Param" Library="SBDL" Id="84D3219C"/>
</Element>
<Element Type="Param" Id="84D3219C">
<Name></Name>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="AB45C0B3"/>
</Element>
<Element Type="FunctionCall" Id="AB45C0B3">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000359"/>
<Parameter Type="Param" Library="SBDL" Id="2A5DE1A5"/>
<Parameter Type="Param" Library="SBDL" Id="359D4643"/>
<Parameter Type="Param" Library="SBDL" Id="29B995EC"/>
<Parameter Type="Param" Library="SBDL" Id="8241B72E"/>
<Parameter Type="Param" Library="SBDL" Id="DFD21216"/>
</Element>
<Element Type="Param" Id="2A5DE1A5">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000691"/>
<Preset Type="PresetValue" Library="Ntve" Id="00000231"/>
</Element>
<Element Type="Param" Id="359D4643">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000692"/>
<Variable Type="Variable" Library="SBDL" Id="8149E334"/>
</Element>
<Element Type="Param" Id="29B995EC">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000693"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="AC373781"/>
</Element>
<Element Type="FunctionCall" Id="AC373781">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000356"/>
</Element>
<Element Type="Param" Id="8241B72E">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000695"/>
<Variable Type="Variable" Library="SBDL" Id="3CEE94E2"/>
</Element>
<Element Type="Param" Id="DFD21216">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000694"/>
<Preset Type="PresetValue" Library="Ntve" Id="1468BD55"/>
</Element>
<Element Type="Variable" Id="86E7ECF5">
<Name>PickedUnit</Name>
<VariableType>
<Type Value="unit"/>
</VariableType>
<Value Type="Param" Library="SBDL" Id="EAD0E2EF"/>
</Element>
<Element Type="Param" Id="EAD0E2EF">
<Name></Name>
<Preset Type="PresetValue" Library="Ntve" Id="D6EA4D09"/>
</Element>
<Element Type="Variable" Id="491D7E04">
<Name>ReturnGroup</Name>
<VariableType>
<Type Value="unitgroup"/>
</VariableType>
<Value Type="Param" Library="SBDL" Id="B50CBB74"/>
</Element>
<Element Type="Param" Id="B50CBB74">
<Name></Name>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="2789592D"/>
</Element>
<Element Type="FunctionCall" Id="2789592D">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000104"/>
</Element>
<Element Type="Variable" Id="6438B58B">
<Name>ResourceGroup</Name>
<VariableType>
<Type Value="unitgroup"/>
</VariableType>
<Value Type="Param" Library="SBDL" Id="C1307791"/>
</Element>
<Element Type="Param" Id="C1307791">
<Name></Name>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="6AEF7BA9"/>
</Element>
<Element Type="FunctionCall" Id="6AEF7BA9">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000104"/>
</Element>
<Element Type="Variable" Id="FFB004A2">
<Name>ResourceSum</Name>
<VariableType>
<Type Value="fixed"/>
</VariableType>
<Value Type="Param" Library="SBDL" Id="F3A5F1C6"/>
</Element>
<Element Type="Param" Id="F3A5F1C6">
<Name></Name>
<Value>0</Value>
<ValueType Type="fixed"/>
</Element>
<Element Type="Variable" Id="7BFC3466">
<Name>LastCount</Name>
<VariableType>
<Type Value="int"/>
</VariableType>
<Value Type="Param" Library="SBDL" Id="BD77A796"/>
</Element>
<Element Type="Param" Id="BD77A796">
<Name></Name>
<Value>0</Value>
<ValueType Type="int"/>
</Element>
<Element Type="Variable" Id="C2D8E5FD">
<Name>HiddenUnits</Name>
<VariableType>
<Type Value="unitgroup"/>
</VariableType>
<Value Type="Param" Library="SBDL" Id="DA01171D"/>
</Element>
<Element Type="Param" Id="DA01171D">
<Name></Name>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="AEDD1266"/>
</Element>
<Element Type="FunctionCall" Id="AEDD1266">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000104"/>
</Element>
<Element Type="Comment" Id="CECD92A5">
<Name>Comment: &apos;=== METHODS ===&apos;</Name>
<Comment>
=== METHODS ===
</Comment>
</Element>
<Element Type="Comment" Id="5B971BD6">
<Name>Comment: &apos;Locate resources that are nea...&apos;</Name>
<Comment>
Locate resources that are near enough to each other that would logically indicate a base
</Comment>
</Element>
<Element Type="Comment" Id="07A3605A">
<Name>Comment: &apos;Spawn a unit (typically a Tow...&apos;</Name>
<Comment>
Spawn a unit (typically a Town Hall) at the center of the group of units to determine the location of a base
</Comment>
</Element>
<Element Type="Comment" Id="5283413F">
<Name>Comment: &apos;Return the group of units spa...&apos;</Name>
<Comment>
Return the group of units spawned in this way.
</Comment>
</Element>
<Element Type="Comment" Id="9CB99953">
<Name>Comment: &apos;These units&apos; positions can be...&apos;</Name>
<Comment>
These units&apos; positions can be used to determine the location of bases and the number of them the number of bases.
</Comment>
</Element>
<Element Type="Comment" Id="3D67259E">
<Name>Comment: &apos;=== KNOWN CAVEATS ===&apos;</Name>
<Comment>
=== KNOWN CAVEATS ===
</Comment>
</Element>
<Element Type="Comment" Id="7EBC78F8">
<Name>Comment: &apos;If bases are particularly clo...&apos;</Name>
<Comment>
If bases are particularly close together, this can group them together and under-count the number of bases and their locations. This can be accomodated with the Distance Threshold parameter.
</Comment>
</Element>
<Element Type="Comment" Id="DD3DD27F">
<Name>Comment: &apos;If any set of resource nodes ...&apos;</Name>
<Comment>
If any set of resource nodes are outside of the Distance Threshold, this can group them separately and over-count the number of bases and their locations. This can be accomodated with the Distance Threshold parameter.
</Comment>
</Element>
<Element Type="Comment" Id="6E1FA217">
<Name>Comment: &apos;If a set of minerals are used...&apos;</Name>
<Comment>
If a set of minerals are used as a wall and not meant to represent a base, they can count as a base and over-count the number of bases and their locations. This can be accomodated with the Minimum Resource Threshold parameter.
</Comment>
</Element>
<Element Type="Comment" Id="8D0A9D98">
<Name>Comment: &apos;If a base is blocked by e.g. ...&apos;</Name>
<Comment>
If a base is blocked by e.g. destructible rocks, the center may be mis-represented.
</Comment>
</Element>
<Element Type="FunctionCall" Id="57308DDE">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="71596144"/>
<FunctionCall Type="Comment" Library="SBDL" Id="8AADC637"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="E0FB46AE"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="FD07D02C"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="FBC0E531"/>
<FunctionCall Type="Comment" Library="SBDL" Id="2EC49811"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="D7C0F339"/>
<FunctionCall Type="Comment" Library="SBDL" Id="70AE8841"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="103035B5"/>
<FunctionCall Type="Comment" Library="SBDL" Id="FFC43A33"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="AF8D2306"/>
<FunctionCall Type="Comment" Library="SBDL" Id="28A2BC83"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="0F66EB09"/>
<FunctionCall Type="Comment" Library="SBDL" Id="03597195"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="8EC9FB1D"/>
<FunctionCall Type="Comment" Library="SBDL" Id="B3312DFE"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="B87D8509"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="68D2624B"/>
</Element>
<Element Type="Comment" Id="8AADC637">
<Name>Comment: &apos;Reset everything for the next...&apos;</Name>
<Comment>
Reset everything for the next resource group
</Comment>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="A1B37466"/>
</Element>
<Element Type="FunctionCall" Id="E0FB46AE">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="5BDC6A34"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="A1B37466"/>
<Parameter Type="Param" Library="SBDL" Id="8B82957B"/>
<Parameter Type="Param" Library="SBDL" Id="95C6179B"/>
</Element>
<Element Type="Param" Id="8B82957B">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="6578585C"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="EAC7ADBD"/>
</Element>
<Element Type="FunctionCall" Id="EAC7ADBD">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000104"/>
</Element>
<Element Type="Param" Id="95C6179B">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="B2E0AD39"/>
<Variable Type="Variable" Library="SBDL" Id="6438B58B"/>
</Element>
<Element Type="FunctionCall" Id="FD07D02C">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000136"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="A1B37466"/>
<Parameter Type="Param" Library="SBDL" Id="666250D8"/>
<Parameter Type="Param" Library="SBDL" Id="11E1B225"/>
</Element>
<Element Type="Param" Id="666250D8">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000219"/>
<Variable Type="Variable" Library="SBDL" Id="FFB004A2"/>
</Element>
<Element Type="Param" Id="11E1B225">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000220"/>
<Value>0</Value>
<ValueType Type="int"/>
</Element>
<Element Type="FunctionCall" Id="FBC0E531">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000136"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="A1B37466"/>
<Parameter Type="Param" Library="SBDL" Id="9E3BC349"/>
<Parameter Type="Param" Library="SBDL" Id="551FD487"/>
</Element>
<Element Type="Param" Id="9E3BC349">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000219"/>
<Variable Type="Variable" Library="SBDL" Id="7BFC3466"/>
</Element>
<Element Type="Param" Id="551FD487">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000220"/>
<Value>0</Value>
<ValueType Type="int"/>
</Element>
<Element Type="Comment" Id="2EC49811">
<Name>Comment: &apos;Get harvestable resources (Mi...&apos;</Name>
<Comment>
Get harvestable resources (Mineral Fields) around the next unit
</Comment>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="A1B37466"/>
</Element>
<Element Type="FunctionCall" Id="D7C0F339">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="SBDL" Id="30E2BDA6"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="A1B37466"/>
<Parameter Type="Param" Library="SBDL" Id="82E5B99C"/>
<Parameter Type="Param" Library="SBDL" Id="6F3EE19C"/>
<Parameter Type="Param" Library="SBDL" Id="B68478F8"/>
</Element>
<Element Type="Param" Id="82E5B99C">
<Name></Name>
<ParameterDef Type="ParamDef" Library="SBDL" Id="AAEFFE7A"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="6400924A"/>
</Element>
<Element Type="FunctionCall" Id="6400924A">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000213"/>
<Parameter Type="Param" Library="SBDL" Id="8891CD8D"/>
<Parameter Type="Param" Library="SBDL" Id="AAF1B791"/>
</Element>
<Element Type="Param" Id="8891CD8D">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000373"/>
<Value>1</Value>
<ValueType Type="int"/>
</Element>
<Element Type="Param" Id="AAF1B791">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000372"/>
<Variable Type="Variable" Library="SBDL" Id="FCD61BA6"/>
</Element>
<Element Type="Param" Id="6F3EE19C">
<Name></Name>
<ParameterDef Type="ParamDef" Library="SBDL" Id="ED4632BC"/>
<Variable Type="Variable" Library="SBDL" Id="FCD61BA6"/>
</Element>
<Element Type="Param" Id="B68478F8">
<Name></Name>
<ParameterDef Type="ParamDef" Library="SBDL" Id="8FE7D995"/>
<Variable Type="Variable" Library="SBDL" Id="6438B58B"/>
</Element>
<Element Type="Comment" Id="70AE8841">
<Name>Comment: &apos;Keep getting the raw and harv...&apos;</Name>
<Comment>
Keep getting the raw and harvestable resources around the group resources until there are no more additional resources to get.
</Comment>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="A1B37466"/>
</Element>
<Element Type="FunctionCall" Id="103035B5">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="71596144"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="A1B37466"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="EEEE5D8D"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="FB5D927B"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="A15D05B0"/>
</Element>
<Element Type="FunctionCall" Id="EEEE5D8D">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000136"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="A1B37466"/>
<Parameter Type="Param" Library="SBDL" Id="17B28966"/>
<Parameter Type="Param" Library="SBDL" Id="C5A25CEC"/>
</Element>
<Element Type="Param" Id="17B28966">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000219"/>
<Variable Type="Variable" Library="SBDL" Id="7BFC3466"/>
</Element>
<Element Type="Param" Id="C5A25CEC">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000220"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="F20C0353"/>
</Element>
<Element Type="FunctionCall" Id="F20C0353">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="83B4BF45"/>
<Parameter Type="Param" Library="SBDL" Id="44B379B7"/>
<Parameter Type="Param" Library="SBDL" Id="FA5B2402"/>
</Element>
<Element Type="Param" Id="44B379B7">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="4A5B3C88"/>
<Preset Type="PresetValue" Library="Ntve" Id="0E62911C"/>
</Element>
<Element Type="Param" Id="FA5B2402">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="62D9DA63"/>
<Variable Type="Variable" Library="SBDL" Id="6438B58B"/>
</Element>
<Element Type="FunctionCall" Id="FB5D927B">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000327"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="A1B37466"/>
<Parameter Type="Param" Library="SBDL" Id="7DF7C280"/>
<Parameter Type="Param" Library="SBDL" Id="699FEB8D"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="2B3B9477"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="078702CB"/>
</Element>
<Element Type="Param" Id="7DF7C280">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000618"/>
<Variable Type="Variable" Library="SBDL" Id="6438B58B"/>
</Element>
<Element Type="Param" Id="699FEB8D">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000617"/>
<Variable Type="Variable" Library="SBDL" Id="86E7ECF5"/>
</Element>
<Element Type="FunctionCall" Id="2B3B9477">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="SBDL" Id="B5684D12"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="00000007"/>
<Parameter Type="Param" Library="SBDL" Id="C9129DB6"/>
<Parameter Type="Param" Library="SBDL" Id="D0AEC365"/>
<Parameter Type="Param" Library="SBDL" Id="E3D19A25"/>
<Parameter Type="Param" Library="SBDL" Id="D553F97C"/>
<Parameter Type="Param" Library="SBDL" Id="B985DFAA"/>
<Parameter Type="Param" Library="SBDL" Id="0B4565DD"/>
</Element>
<Element Type="Param" Id="C9129DB6">
<Name></Name>
<ParameterDef Type="ParamDef" Library="SBDL" Id="D8883AED"/>
<Parameter Type="ParamDef" Library="SBDL" Id="0FB05B82"/>
</Element>
<Element Type="Param" Id="D0AEC365">
<Name></Name>
<ParameterDef Type="ParamDef" Library="SBDL" Id="A070BA74"/>
<Variable Type="Variable" Library="SBDL" Id="86E7ECF5"/>
</Element>
<Element Type="Param" Id="E3D19A25">
<Name></Name>
<ParameterDef Type="ParamDef" Library="SBDL" Id="FB1F87CD"/>
<Variable Type="Variable" Library="SBDL" Id="3CEE94E2"/>
</Element>
<Element Type="Param" Id="D553F97C">
<Name></Name>
<ParameterDef Type="ParamDef" Library="SBDL" Id="A0854233"/>
<Variable Type="Variable" Library="SBDL" Id="6438B58B"/>
</Element>
<Element Type="Param" Id="B985DFAA">
<Name></Name>
<ParameterDef Type="ParamDef" Library="SBDL" Id="E33EB291"/>
<Variable Type="Variable" Library="SBDL" Id="6EAC6CD0"/>
</Element>
<Element Type="Param" Id="0B4565DD">
<Name></Name>
<ParameterDef Type="ParamDef" Library="SBDL" Id="F9913902"/>
<Parameter Type="ParamDef" Library="SBDL" Id="1F42D75D"/>
</Element>
<Element Type="FunctionCall" Id="078702CB">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="SBDL" Id="B5684D12"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="00000007"/>
<Parameter Type="Param" Library="SBDL" Id="C6E702CB"/>
<Parameter Type="Param" Library="SBDL" Id="8DFA70F1"/>
<Parameter Type="Param" Library="SBDL" Id="E3F1184D"/>
<Parameter Type="Param" Library="SBDL" Id="6F93A880"/>
<Parameter Type="Param" Library="SBDL" Id="3DD1E93F"/>
<Parameter Type="Param" Library="SBDL" Id="EE8112BD"/>
</Element>
<Element Type="Param" Id="C6E702CB">
<Name></Name>
<ParameterDef Type="ParamDef" Library="SBDL" Id="D8883AED"/>
<Parameter Type="ParamDef" Library="SBDL" Id="0FB05B82"/>
</Element>
<Element Type="Param" Id="8DFA70F1">
<Name></Name>
<ParameterDef Type="ParamDef" Library="SBDL" Id="A070BA74"/>
<Variable Type="Variable" Library="SBDL" Id="86E7ECF5"/>
</Element>
<Element Type="Param" Id="E3F1184D">
<Name></Name>
<ParameterDef Type="ParamDef" Library="SBDL" Id="FB1F87CD"/>
<Variable Type="Variable" Library="SBDL" Id="45E48326"/>
</Element>
<Element Type="Param" Id="6F93A880">
<Name></Name>
<ParameterDef Type="ParamDef" Library="SBDL" Id="A0854233"/>
<Variable Type="Variable" Library="SBDL" Id="6438B58B"/>
</Element>
<Element Type="Param" Id="3DD1E93F">
<Name></Name>
<ParameterDef Type="ParamDef" Library="SBDL" Id="E33EB291"/>
<Variable Type="Variable" Library="SBDL" Id="FCD61BA6"/>
</Element>
<Element Type="Param" Id="EE8112BD">
<Name></Name>
<ParameterDef Type="ParamDef" Library="SBDL" Id="F9913902"/>
<Parameter Type="ParamDef" Library="SBDL" Id="1F42D75D"/>
</Element>
<Element Type="FunctionCall" Id="A15D05B0">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="C439C375"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="20298AEC"/>
<Parameter Type="Param" Library="SBDL" Id="FC2343AA"/>
<Parameter Type="Param" Library="SBDL" Id="4E4C3268"/>
<Parameter Type="Param" Library="SBDL" Id="EBA0470E"/>
</Element>
<Element Type="Param" Id="FC2343AA">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="ABB380C4"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="12B327F8"/>
</Element>
<Element Type="FunctionCall" Id="12B327F8">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="83B4BF45"/>
<Parameter Type="Param" Library="SBDL" Id="B24A7603"/>
<Parameter Type="Param" Library="SBDL" Id="8FEAA6AB"/>
</Element>
<Element Type="Param" Id="B24A7603">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="4A5B3C88"/>
<Preset Type="PresetValue" Library="Ntve" Id="0E62911C"/>
</Element>
<Element Type="Param" Id="8FEAA6AB">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="62D9DA63"/>
<Variable Type="Variable" Library="SBDL" Id="6438B58B"/>
</Element>
<Element Type="Param" Id="4E4C3268">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="51567265"/>
<Preset Type="PresetValue" Library="Ntve" Id="40567BEE"/>
</Element>
<Element Type="Param" Id="EBA0470E">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="4A15EC5F"/>
<Variable Type="Variable" Library="SBDL" Id="7BFC3466"/>
</Element>
<Element Type="Comment" Id="FFC43A33">
<Name>Comment: &apos;Count all of the resources fr...&apos;</Name>
<Comment>
Count all of the resources from the group
</Comment>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="A1B37466"/>
</Element>
<Element Type="FunctionCall" Id="AF8D2306">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000327"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="A1B37466"/>
<Parameter Type="Param" Library="SBDL" Id="B10BE7EF"/>
<Parameter Type="Param" Library="SBDL" Id="F2780A82"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="E2817783"/>
</Element>
<Element Type="Param" Id="B10BE7EF">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000618"/>
<Variable Type="Variable" Library="SBDL" Id="6438B58B"/>
</Element>
<Element Type="Param" Id="F2780A82">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000617"/>
<Variable Type="Variable" Library="SBDL" Id="86E7ECF5"/>
</Element>
<Element Type="FunctionCall" Id="E2817783">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="DB01ECDC"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="00000007"/>
<Parameter Type="Param" Library="SBDL" Id="46F49A70"/>
<Parameter Type="Param" Library="SBDL" Id="F193F2FB"/>
<Parameter Type="Param" Library="SBDL" Id="D658D47B"/>
</Element>
<Element Type="Param" Id="46F49A70">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="027F6EEF"/>
<Preset Type="PresetValue" Library="Ntve" Id="00000085"/>
</Element>
<Element Type="Param" Id="F193F2FB">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="61958720"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="9231B004"/>
</Element>
<Element Type="FunctionCall" Id="9231B004">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="05917C7C"/>
<Parameter Type="Param" Library="SBDL" Id="9B35B7EB"/>
<Parameter Type="Param" Library="SBDL" Id="8649FA53"/>
</Element>
<Element Type="Param" Id="9B35B7EB">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="E73D9CC6"/>
<Variable Type="Variable" Library="SBDL" Id="86E7ECF5"/>
</Element>
<Element Type="Param" Id="8649FA53">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="489E7FA0"/>
<Preset Type="PresetValue" Library="Ntve" Id="E66C6645"/>
</Element>
<Element Type="Param" Id="D658D47B">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="504494F0"/>
<Variable Type="Variable" Library="SBDL" Id="FFB004A2"/>
</Element>
<Element Type="Comment" Id="28A2BC83">
<Name>Comment: &apos;Hide vulnerable non-hidden un...&apos;</Name>
<Comment>
Hide vulnerable non-hidden units around the center of the group, they&apos;re probably temporary blockers.
</Comment>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="A1B37466"/>
</Element>
<Element Type="FunctionCall" Id="0F66EB09">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000327"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="A1B37466"/>
<Parameter Type="Param" Library="SBDL" Id="F42DD526"/>
<Parameter Type="Param" Library="SBDL" Id="FD1E0BC1"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="5297155B"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="C89B82A1"/>
</Element>
<Element Type="Param" Id="F42DD526">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000618"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="0FA496F8"/>
</Element>
<Element Type="FunctionCall" Id="0FA496F8">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="403AA0FB"/>
<Parameter Type="Param" Library="SBDL" Id="F3B90687"/>
<Parameter Type="Param" Library="SBDL" Id="8ECFEC20"/>
<Parameter Type="Param" Library="SBDL" Id="70A3B716"/>
<Parameter Type="Param" Library="SBDL" Id="B9F4A834"/>
<Parameter Type="Param" Library="SBDL" Id="2C0D1792"/>
<Parameter Type="Param" Library="SBDL" Id="B437164D"/>
</Element>
<Element Type="Param" Id="F3B90687">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="64AFC026"/>
<Preset Type="PresetValue" Library="Ntve" Id="00000231"/>
</Element>
<Element Type="Param" Id="8ECFEC20">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="CBAC215F"/>
<Preset Type="PresetValue" Library="Ntve" Id="2999701E"/>
</Element>
<Element Type="Param" Id="70A3B716">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="835EFD1A"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="8DE1E11D"/>
</Element>
<Element Type="FunctionCall" Id="8DE1E11D">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="F5D30562"/>
<Parameter Type="Param" Library="SBDL" Id="77BFB49C"/>
</Element>
<Element Type="Param" Id="77BFB49C">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="AFF14692"/>
<Variable Type="Variable" Library="SBDL" Id="6438B58B"/>
</Element>
<Element Type="Param" Id="B9F4A834">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="E3167578"/>
<Preset Type="PresetValue" Library="Ntve" Id="1468BD55"/>
</Element>
<Element Type="Param" Id="2C0D1792">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="34DA2143"/>
<Value>10.0</Value>
<ValueType Type="fixed"/>
</Element>
<Element Type="Param" Id="B437164D">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="7FB9013E"/>
<Value>-;Hidden,Invulnerable</Value>
<ValueType Type="unitfilter"/>
</Element>
<Element Type="Param" Id="FD1E0BC1">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000617"/>
<Variable Type="Variable" Library="SBDL" Id="86E7ECF5"/>
</Element>
<Element Type="FunctionCall" Id="5297155B">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="9435D821"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="00000007"/>
<Parameter Type="Param" Library="SBDL" Id="307BEA89"/>
<Parameter Type="Param" Library="SBDL" Id="21AA9B36"/>
</Element>
<Element Type="Param" Id="307BEA89">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="58E3C3B3"/>
<Variable Type="Variable" Library="SBDL" Id="86E7ECF5"/>
</Element>
<Element Type="Param" Id="21AA9B36">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="BE7DBEA1"/>
<Variable Type="Variable" Library="SBDL" Id="C2D8E5FD"/>
</Element>
<Element Type="FunctionCall" Id="C89B82A1">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="40000000"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="00000007"/>
<Parameter Type="Param" Library="SBDL" Id="F5994731"/>
<Parameter Type="Param" Library="SBDL" Id="B27828BF"/>
</Element>
<Element Type="Param" Id="F5994731">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="11000000"/>
<Variable Type="Variable" Library="SBDL" Id="86E7ECF5"/>
</Element>
<Element Type="Param" Id="B27828BF">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="21000000"/>
<Preset Type="PresetValue" Library="Ntve" Id="00000121"/>
</Element>
<Element Type="Comment" Id="03597195">
<Name>Comment: &apos;Create a unit at the center o...&apos;</Name>
<Comment>
Create a unit at the center of the base if it&apos;s valid
</Comment>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="A1B37466"/>
</Element>
<Element Type="FunctionCall" Id="8EC9FB1D">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000137"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="A1B37466"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="405B777F"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="39ED819F"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="66F6F6DD"/>
</Element>
<Element Type="FunctionCall" Id="405B777F">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="F247156C"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="00000004"/>
<Parameter Type="Param" Library="SBDL" Id="7425EB6D"/>
<Parameter Type="Param" Library="SBDL" Id="9D0AE896"/>
<Parameter Type="Param" Library="SBDL" Id="E756859B"/>
<Parameter Type="Param" Library="SBDL" Id="64DD5FAE"/>
<Parameter Type="Param" Library="SBDL" Id="177A831C"/>
</Element>
<Element Type="Param" Id="7425EB6D">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="6A3CFF43"/>
<Value>1</Value>
<ValueType Type="int"/>
</Element>
<Element Type="Param" Id="9D0AE896">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="A927C67A"/>
<ValueType Type="preset"/>
<ValueElement Type="Preset" Library="Ntve" Id="E85564CA"/>
</Element>
<Element Type="Param" Id="E756859B">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="FF0C620E"/>
<Variable Type="Variable" Library="SBDL" Id="8149E334"/>
</Element>
<Element Type="Param" Id="64DD5FAE">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="D43CB595"/>
<Parameter Type="ParamDef" Library="SBDL" Id="25BCEAAA"/>
</Element>
<Element Type="Param" Id="177A831C">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="23D48FEC"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="3F4BC3B1"/>
</Element>
<Element Type="FunctionCall" Id="3F4BC3B1">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="F5D30562"/>
<Parameter Type="Param" Library="SBDL" Id="88F3C1F3"/>
</Element>
<Element Type="Param" Id="88F3C1F3">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="AFF14692"/>
<Variable Type="Variable" Library="SBDL" Id="6438B58B"/>
</Element>
<Element Type="FunctionCall" Id="39ED819F">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="9435D821"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="00000004"/>
<Parameter Type="Param" Library="SBDL" Id="6A294302"/>
<Parameter Type="Param" Library="SBDL" Id="8F8D9901"/>
</Element>
<Element Type="Param" Id="6A294302">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="58E3C3B3"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="F171CD28"/>
</Element>
<Element Type="FunctionCall" Id="F171CD28">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000076"/>
</Element>
<Element Type="Param" Id="8F8D9901">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="BE7DBEA1"/>
<Variable Type="Variable" Library="SBDL" Id="491D7E04"/>
</Element>
<Element Type="FunctionCall" Id="66F6F6DD">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="C439C375"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="00000003"/>
<Parameter Type="Param" Library="SBDL" Id="44BEA728"/>
<Parameter Type="Param" Library="SBDL" Id="4A71E121"/>
<Parameter Type="Param" Library="SBDL" Id="46CB0B8C"/>
</Element>
<Element Type="Param" Id="44BEA728">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="ABB380C4"/>
<Variable Type="Variable" Library="SBDL" Id="FFB004A2"/>
</Element>
<Element Type="Param" Id="4A71E121">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="51567265"/>
<Preset Type="PresetValue" Library="Ntve" Id="B128CB9A"/>
</Element>
<Element Type="Param" Id="46CB0B8C">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="4A15EC5F"/>
<Parameter Type="ParamDef" Library="SBDL" Id="63CEA103"/>
</Element>
<Element Type="Comment" Id="B3312DFE">
<Name>Comment: &apos;Un-hide the units we hid earlier&apos;</Name>
<Comment>
Un-hide the units we hid earlier
</Comment>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="A1B37466"/>
</Element>
<Element Type="FunctionCall" Id="B87D8509">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000327"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="A1B37466"/>
<Parameter Type="Param" Library="SBDL" Id="D9747877"/>
<Parameter Type="Param" Library="SBDL" Id="FFDB5D14"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="6AF1629D"/>
</Element>
<Element Type="Param" Id="D9747877">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000618"/>
<Variable Type="Variable" Library="SBDL" Id="C2D8E5FD"/>
</Element>
<Element Type="Param" Id="FFDB5D14">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000617"/>
<Variable Type="Variable" Library="SBDL" Id="86E7ECF5"/>
</Element>
<Element Type="FunctionCall" Id="6AF1629D">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="40000000"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="00000007"/>
<Parameter Type="Param" Library="SBDL" Id="35526F7A"/>
<Parameter Type="Param" Library="SBDL" Id="965D111E"/>
</Element>
<Element Type="Param" Id="35526F7A">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="11000000"/>
<Variable Type="Variable" Library="SBDL" Id="86E7ECF5"/>
</Element>
<Element Type="Param" Id="965D111E">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="21000000"/>
<Preset Type="PresetValue" Library="Ntve" Id="00000120"/>
</Element>
<Element Type="FunctionCall" Id="68D2624B">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="C439C375"/>
<SubFunctionType Type="SubFuncType" Library="Ntve" Id="20298AEC"/>
<Parameter Type="Param" Library="SBDL" Id="D2BF12EB"/>
<Parameter Type="Param" Library="SBDL" Id="E8059A2A"/>
<Parameter Type="Param" Library="SBDL" Id="E170CEF3"/>
</Element>
<Element Type="Param" Id="D2BF12EB">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="ABB380C4"/>
<FunctionCall Type="FunctionCall" Library="SBDL" Id="E89A2976"/>
</Element>
<Element Type="FunctionCall" Id="E89A2976">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="83B4BF45"/>
<Parameter Type="Param" Library="SBDL" Id="C3D2F9C9"/>
<Parameter Type="Param" Library="SBDL" Id="5F722755"/>
</Element>
<Element Type="Param" Id="C3D2F9C9">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="4A5B3C88"/>
<Preset Type="PresetValue" Library="Ntve" Id="0E62911C"/>
</Element>
<Element Type="Param" Id="5F722755">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="62D9DA63"/>
<Variable Type="Variable" Library="SBDL" Id="FCD61BA6"/>
</Element>
<Element Type="Param" Id="E8059A2A">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="51567265"/>
<Preset Type="PresetValue" Library="Ntve" Id="40567BEE"/>
</Element>
<Element Type="Param" Id="E170CEF3">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="4A15EC5F"/>
<Value>0</Value>
<ValueType Type="int"/>
</Element>
<Element Type="FunctionCall" Id="74DCDC8D">
<Name></Name>
<FunctionDef Type="FunctionDef" Library="Ntve" Id="00000097"/>
<Parameter Type="Param" Library="SBDL" Id="7B6E9AE7"/>
</Element>
<Element Type="Param" Id="7B6E9AE7">
<Name></Name>
<ParameterDef Type="ParamDef" Library="Ntve" Id="00000488"/>
<Variable Type="Variable" Library="SBDL" Id="491D7E04"/>
</Element>
</TriggerData>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment