<?xml version="1.0" standalone="yes" ?>
<?xml-stylesheet href="x2script.xsl" type="text/xsl" ?>
<script>
<name>lib.Xai.Nav.toObject</name>
<version>1</version>
<engineversion>25</engineversion>
<description>Fly the ship to within range of an object</description>
<arguments>
<argument index="1" name="Target" type="Value" desc="Target" />
<argument index="2" name="Range" type="Var/Number" desc="Range" />
</arguments>
<sourcetext>
<line linenr="001" indent=""><comment><text>*&#160;</text><var>Created&#160;by&#160;&#160;Xai&#160;&#160;Corporation</var></comment></line>
<line linenr="002" indent=""><comment><text>*&#160;</text><var></var></comment></line>
<line linenr="003" indent=""><comment><text>*&#160;</text><var></var></comment></line>
<line linenr="004" indent=""></line>
<line linenr="005" indent=""><comment><text>*&#160;</text><var>Loop&#160;whole&#160;script&#160;while&#160;target&#160;exits</var></comment></line>
<line linenr="006" indent=""><var>while&#160;</var><var>$Target&#160;-&gt;</var><text>&#160;exists</text></line>
<line linenr="007" indent="&#160;"></line>
<line linenr="008" indent=""><comment><text>*&#160;</text><var>check&#160;we&#160;&#160;are&#160;in&#160;correct&#160;sector</var></comment></line>
<line linenr="009" indent="&#160;"><var>if&#160;not&#160;</var><var>[THIS]&#160;-&gt;</var><text>&#160;is&#160;in&#160;same&#160;sector&#160;as&#160;</text><var>$Target</var></line>
<line linenr="010" indent="&#160;&#160;"><var>while&#160;not&#160;</var><var>[THIS]&#160;-&gt;</var><text>&#160;is&#160;in&#160;same&#160;sector&#160;as&#160;</text><var>$Target</var></line>
<line linenr="011" indent="&#160;&#160;&#160;"><var>$Sector&#160;=&#160;</var><var>$Target&#160;-&gt;</var><text>&#160;get&#160;sector</text></line>
<line linenr="012" interruptable="@" indent="&#160;&#160;&#160;"><var>=&#160;</var><var>[THIS]&#160;-&gt;</var><text>&#160;call&#160;script&#160;</text><call>lib.Xai.Nav</call><text>&#160;:&#160;</text><text>&#160;Target=</text><var>$Sector</var><text>&#160;</text><text>&#160;Range=</text><var>null</var></line>
<line linenr="013" interruptable="@" indent="&#160;&#160;&#160;"><var>=&#160;</var><text>wait&#160;randomly&#160;from&#160;</text><var>100</var><text>&#160;to&#160;</text><var>150</var><text>&#160;ms</text></line>
<line linenr="014" indent="&#160;&#160;&#160;"><var>skip&#160;if&#160;</var><var>$Target&#160;-&gt;</var><text>&#160;exists</text></line>
<line linenr="015" indent="&#160;&#160;&#160;&#160;"><text>return&#160;</text><var>FLRET_DESTROYED</var></line>
<line linenr="016" indent="&#160;&#160;"><text>end</text></line>
<line linenr="017" indent="&#160;&#160;"></line>
<line linenr="018" indent=""><comment><text>*&#160;</text><var>correct&#160;sector,&#160;wrong&#160;environment.&#160;Target&#160;must&#160;be&#160;docked</var></comment></line>
<line linenr="019" indent="&#160;"><var>else&#160;if&#160;not&#160;</var><var>[THIS]&#160;-&gt;</var><text>&#160;has&#160;same&#160;environment&#160;as&#160;</text><var>$Target</var></line>
<line linenr="020" indent="&#160;&#160;"><var>$Env.&#160;=&#160;</var><var>$Target&#160;-&gt;</var><text>&#160;get&#160;environment</text></line>
<line linenr="021" indent="&#160;&#160;"><var>while&#160;not&#160;</var><var>[THIS]&#160;-&gt;</var><text>&#160;has&#160;same&#160;environment&#160;as&#160;</text><var>$Target</var></line>
<line linenr="022" indent="&#160;&#160;&#160;"></line>
<line linenr="023" indent=""><comment><text>*&#160;</text><var>&#160;&#160;-&#160;-&#160;launch&#160;if&#160;we&#160;&#160;are&#160;docked&#160;at&#160;wrong&#160;station</var></comment></line>
<line linenr="024" indent="&#160;&#160;&#160;"><var>if&#160;</var><var>[DOCKEDAT]</var></line>
<line linenr="025" interruptable="@" indent="&#160;&#160;&#160;&#160;"><var>=&#160;</var><var>[THIS]&#160;-&gt;</var><text>&#160;move&#160;around&#160;</text><var>5000</var><text>&#160;ms</text></line>
<line linenr="026" indent=""><comment><text>*&#160;</text><var>&#160;&#160;-&#160;-&#160;or&#160;dock&#160;at&#160;same&#160;station&#160;as&#160;target</var></comment></line>
<line linenr="027" indent="&#160;&#160;&#160;"><text>else</text></line>
<line linenr="028" interruptable="@" indent="&#160;&#160;&#160;&#160;"><var>=&#160;</var><var>[THIS]&#160;-&gt;</var><text>&#160;fly&#160;to&#160;station&#160;</text><var>$Env.</var></line>
<line linenr="029" indent="&#160;&#160;&#160;"><text>end</text></line>
<line linenr="030" indent="&#160;&#160;&#160;"></line>
<line linenr="031" interruptable="@" indent="&#160;&#160;&#160;"><var>=&#160;</var><text>wait&#160;randomly&#160;from&#160;</text><var>100</var><text>&#160;to&#160;</text><var>150</var><text>&#160;ms</text></line>
<line linenr="032" indent="&#160;&#160;"><text>end</text></line>
<line linenr="033" indent="&#160;&#160;"></line>
<line linenr="034" indent=""><comment><text>*&#160;</text><var>Correct&#160;Sector&#160;&#160;and&#160;correct&#160;&#160;env.</var></comment></line>
<line linenr="035" indent="&#160;"><text>else</text></line>
<line linenr="036" indent=""><comment><text>*&#160;</text><var>&#160;-&#160;wait&#160;in&#160;station</var></comment></line>
<line linenr="037" indent="&#160;&#160;"><var>if&#160;</var><var>[DOCKEDAT]</var></line>
<line linenr="038" interruptable="@" indent="&#160;&#160;&#160;"><var>=&#160;</var><text>wait&#160;randomly&#160;from&#160;</text><var>500</var><text>&#160;to&#160;</text><var>2000</var><text>&#160;ms</text></line>
<line linenr="039" indent="&#160;&#160;&#160;"><text>return&#160;</text><var>FLRET_TARGETREACHED</var></line>
<line linenr="040" indent="&#160;&#160;"><text>else</text></line>
<line linenr="041" indent=""><comment><text>*&#160;</text><var>&#160;-&#160;fly&#160;to&#160;object</var></comment></line>
<line linenr="042" interruptable="@" indent="&#160;&#160;&#160;"><var>$arrived&#160;=&#160;</var><var>[THIS]&#160;-&gt;</var><text>&#160;follow&#160;object&#160;</text><var>$Target</var><text>&#160;with&#160;precision&#160;</text><var>$Range</var><text>&#160;m</text></line>
<line linenr="043" indent="&#160;&#160;&#160;"></line>
<line linenr="044" indent=""><comment><text>*&#160;</text><var>&#160;-&#160;end&#160;script&#160;if&#160;we&#160;have&#160;arrived&#160;at&#160;target</var></comment></line>
<line linenr="045" indent="&#160;&#160;&#160;"><var>skip&#160;if&#160;not&#160;</var><var>$arrived</var><text>&#160;</text><var>==</var><text>&#160;</text><var>FLRET_TARGETREACHED</var></line>
<line linenr="046" indent="&#160;&#160;&#160;&#160;"><text>return&#160;</text><var>FLRET_TARGETREACHED</var></line>
<line linenr="047" indent="&#160;&#160;&#160;"></line>
<line linenr="048" indent="&#160;&#160;"><text>end</text></line>
<line linenr="049" indent="&#160;&#160;"></line>
<line linenr="050" indent="&#160;"><text>end</text></line>
<line linenr="051" indent="&#160;"></line>
<line linenr="052" indent=""><text>end</text></line>
<line linenr="053" indent=""></line>
<line linenr="054" indent=""><comment><text>*&#160;</text><var>return&#160;object&#160;destroyed&#160;if&#160;target&#160;doesnt&#160;exist</var></comment></line>
<line linenr="055" indent=""><text>return&#160;</text><var>FLRET_DESTROYED</var></line>
</sourcetext>
<codearray>
<sval type="array" size="10"><sval type="string" val="lib.Xai.Nav.toObject" /><sval type="int" val="25" /><sval type="string" val="Fly the ship to within range of an object" /><sval type="int" val="1" /><sval type="int" val="0" /><sval type="array" size="5"><sval type="string" val="Target" /><sval type="string" val="Range" /><sval type="string" val="Sector" /><sval type="string" val="Env." /><sval type="string" val="arrived" /></sval><sval type="array" size="29"><sval type="array" size="4"><sval type="int" val="706" /><sval type="int" val="131074" /><sval type="int" val="0" /><sval type="int" val="-1610605559" /></sval><sval type="array" size="6"><sval type="int" val="733" /><sval type="int" val="131075" /><sval type="int" val="65536" /><sval type="int" val="-536868348" /><sval type="int" val="131074" /><sval type="int" val="0" /></sval><sval type="array" size="6"><sval type="int" val="733" /><sval type="int" val="131075" /><sval type="int" val="65536" /><sval type="int" val="-536868598" /><sval type="int" val="131074" /><sval type="int" val="0" /></sval><sval type="array" size="4"><sval type="int" val="703" /><sval type="int" val="131074" /><sval type="int" val="0" /><sval type="int" val="2" /></sval><sval type="array" size="10"><sval type="int" val="102" /><sval type="string" val="lib.Xai.Nav" /><sval type="int" val="-2147483647" /><sval type="int" val="131075" /><sval type="int" val="65536" /><sval type="int" val="2" /><sval type="int" val="131074" /><sval type="int" val="2" /><sval type="int" val="0" /><sval type="int" val="0" /></sval><sval type="array" size="6"><sval type="int" val="107" /><sval type="int" val="-2147483647" /><sval type="int" val="4" /><sval type="int" val="100" /><sval type="int" val="4" /><sval type="int" val="150" /></sval><sval type="array" size="4"><sval type="int" val="706" /><sval type="int" val="131074" /><sval type="int" val="0" /><sval type="int" val="-536868857" /></sval><sval type="array" size="3"><sval type="int" val="103" /><sval type="int" val="19" /><sval type="int" val="1" /></sval><sval type="array" size="2"><sval type="int" val="112" /><sval type="int" val="2" /></sval><sval type="array" size="2"><sval type="int" val="112" /><sval type="int" val="27" /></sval><sval type="array" size="6"><sval type="int" val="732" /><sval type="int" val="131075" /><sval type="int" val="65536" /><sval type="int" val="-536865786" /><sval type="int" val="131074" /><sval type="int" val="0" /></sval><sval type="array" size="4"><sval type="int" val="702" /><sval type="int" val="131074" /><sval type="int" val="0" /><sval type="int" val="3" /></sval><sval type="array" size="6"><sval type="int" val="732" /><sval type="int" val="131075" /><sval type="int" val="65536" /><sval type="int" val="-536866038" /><sval type="int" val="131074" /><sval type="int" val="0" /></sval><sval type="array" size="7"><sval type="int" val="104" /><sval type="int" val="-1610608637" /><sval type="int" val="1" /><sval type="int" val="131075" /><sval type="int" val="65547" /><sval type="int" val="1" /><sval type="int" val="-1" /></sval><sval type="array" size="6"><sval type="int" val="507" /><sval type="int" val="131075" /><sval type="int" val="65536" /><sval type="int" val="-2147483647" /><sval type="int" val="4" /><sval type="int" val="5000" /></sval><sval type="array" size="2"><sval type="int" val="112" /><sval type="int" val="17" /></sval><sval type="array" size="6"><sval type="int" val="501" /><sval type="int" val="131075" /><sval type="int" val="65536" /><sval type="int" val="-2147483647" /><sval type="int" val="131074" /><sval type="int" val="3" /></sval><sval type="array" size="6"><sval type="int" val="107" /><sval type="int" val="-2147483647" /><sval type="int" val="4" /><sval type="int" val="100" /><sval type="int" val="4" /><sval type="int" val="150" /></sval><sval type="array" size="2"><sval type="int" val="112" /><sval type="int" val="12" /></sval><sval type="array" size="2"><sval type="int" val="112" /><sval type="int" val="27" /></sval><sval type="array" size="7"><sval type="int" val="104" /><sval type="int" val="-1610606589" /><sval type="int" val="1" /><sval type="int" val="131075" /><sval type="int" val="65547" /><sval type="int" val="1" /><sval type="int" val="-1" /></sval><sval type="array" size="6"><sval type="int" val="107" /><sval type="int" val="-2147483647" /><sval type="int" val="4" /><sval type="int" val="500" /><sval type="int" val="4" /><sval type="int" val="2000" /></sval><sval type="array" size="3"><sval type="int" val="103" /><sval type="int" val="19" /><sval type="int" val="10" /></sval><sval type="array" size="2"><sval type="int" val="112" /><sval type="int" val="27" /></sval><sval type="array" size="8"><sval type="int" val="516" /><sval type="int" val="131075" /><sval type="int" val="65536" /><sval type="int" val="4" /><sval type="int" val="131074" /><sval type="int" val="0" /><sval type="int" val="131074" /><sval type="int" val="1" /></sval><sval type="array" size="13"><sval type="int" val="104" /><sval type="int" val="-1610605816" /><sval type="int" val="3" /><sval type="int" val="131074" /><sval type="int" val="4" /><sval type="int" val="19" /><sval type="int" val="10" /><sval type="int" val="15" /><sval type="int" val="0" /><sval type="int" val="3" /><sval type="int" val="-1" /><sval type="int" val="0" /><sval type="int" val="-2" /></sval><sval type="array" size="3"><sval type="int" val="103" /><sval type="int" val="19" /><sval type="int" val="10" /></sval><sval type="array" size="2"><sval type="int" val="112" /><sval type="int" val="0" /></sval><sval type="array" size="3"><sval type="int" val="103" /><sval type="int" val="19" /><sval type="int" val="1" /></sval></sval><sval type="array" size="2"><sval type="array" size="2"><sval type="int" val="9" /><sval type="string" val="Target" /></sval><sval type="array" size="2"><sval type="int" val="10" /><sval type="string" val="Range" /></sval></sval><sval type="array" size="33"><sval type="array" size="3"><sval type="int" val="0" /><sval type="int" val="1" /><sval type="string" val="Created by  Xai  Corporation" /></sval><sval type="array" size="3"><sval type="int" val="0" /><sval type="int" val="1" /><sval type="string" val="" /></sval><sval type="array" size="3"><sval type="int" val="0" /><sval type="int" val="1" /><sval type="string" val="" /></sval><sval type="array" size="2"><sval type="int" val="0" /><sval type="int" val="2" /></sval><sval type="array" size="3"><sval type="int" val="0" /><sval type="int" val="1" /><sval type="string" val="Loop whole script while target exits" /></sval><sval type="array" size="2"><sval type="int" val="1" /><sval type="int" val="2" /></sval><sval type="array" size="3"><sval type="int" val="1" /><sval type="int" val="1" /><sval type="string" val="check we  are in correct sector" /></sval><sval type="array" size="2"><sval type="int" val="9" /><sval type="int" val="4" /></sval><sval type="array" size="2"><sval type="int" val="9" /><sval type="int" val="2" /></sval><sval type="array" size="3"><sval type="int" val="9" /><sval type="int" val="1" /><sval type="string" val="correct sector, wrong environment. Target must be docked" /></sval><sval type="array" size="2"><sval type="int" val="13" /><sval type="int" val="2" /></sval><sval type="array" size="3"><sval type="int" val="13" /><sval type="int" val="1" /><sval type="string" val="  - - launch if we  are docked at wrong station" /></sval><sval type="array" size="3"><sval type="int" val="15" /><sval type="int" val="1" /><sval type="string" val="  - - or dock at same station as target" /></sval><sval type="array" size="2"><sval type="int" val="16" /><sval type="int" val="5" /></sval><sval type="array" size="2"><sval type="int" val="17" /><sval type="int" val="4" /></sval><sval type="array" size="2"><sval type="int" val="17" /><sval type="int" val="2" /></sval><sval type="array" size="2"><sval type="int" val="19" /><sval type="int" val="4" /></sval><sval type="array" size="2"><sval type="int" val="19" /><sval type="int" val="2" /></sval><sval type="array" size="3"><sval type="int" val="19" /><sval type="int" val="1" /><sval type="string" val="Correct Sector  and correct  env." /></sval><sval type="array" size="2"><sval type="int" val="20" /><sval type="int" val="5" /></sval><sval type="array" size="3"><sval type="int" val="20" /><sval type="int" val="1" /><sval type="string" val=" - wait in station" /></sval><sval type="array" size="2"><sval type="int" val="24" /><sval type="int" val="5" /></sval><sval type="array" size="3"><sval type="int" val="24" /><sval type="int" val="1" /><sval type="string" val=" - fly to object" /></sval><sval type="array" size="2"><sval type="int" val="25" /><sval type="int" val="2" /></sval><sval type="array" size="3"><sval type="int" val="25" /><sval type="int" val="1" /><sval type="string" val=" - end script if we have arrived at target" /></sval><sval type="array" size="2"><sval type="int" val="27" /><sval type="int" val="2" /></sval><sval type="array" size="2"><sval type="int" val="27" /><sval type="int" val="4" /></sval><sval type="array" size="2"><sval type="int" val="27" /><sval type="int" val="2" /></sval><sval type="array" size="2"><sval type="int" val="27" /><sval type="int" val="4" /></sval><sval type="array" size="2"><sval type="int" val="27" /><sval type="int" val="2" /></sval><sval type="array" size="2"><sval type="int" val="28" /><sval type="int" val="4" /></sval><sval type="array" size="2"><sval type="int" val="28" /><sval type="int" val="2" /></sval><sval type="array" size="3"><sval type="int" val="28" /><sval type="int" val="1" /><sval type="string" val="return object destroyed if target doesnt exist" /></sval></sval><sval type="int" val="0" /></sval>
</codearray>
</script>
