<?xml version="1.0" standalone="yes" ?>
<?xml-stylesheet href="x2script.xsl" type="text/xsl" ?>
<script>
<name>kfs.ferry.loop</name>
<version>1</version>
<engineversion>25</engineversion>
<description>Single pass of the KFS ferry</description>
<arguments>
<argument index="1" name="destination" type="Var/Station owned by Player" desc="Choose product destination." />
<argument index="2" name="unitRate" type="Value" desc="Cr per unit rate on delivery" />
</arguments>
<sourcetext>
<line linenr="001" indent=""><comment><text>*&#160;</text><var>Initial&#160;sanity&#160;checking&#160;of&#160;the&#160;current&#160;environment.</var></comment></line>
<line linenr="002" indent=""><var>skip&#160;if&#160;</var><var>[HOMEBASE]</var></line>
<line linenr="003" indent="&#160;"><text>return&#160;</text><var>'Vessel&#160;has&#160;not&#160;been&#160;assigned&#160;a&#160;homebase.'</var></line>
<line linenr="004" indent=""><var>$product&#160;=&#160;</var><var>[HOMEBASE]&#160;-&gt;</var><text>&#160;get&#160;product&#160;ware</text></line>
<line linenr="005" indent=""><var>skip&#160;if&#160;</var><var>$product</var></line>
<line linenr="006" indent="&#160;"><text>return&#160;</text><var>'Current&#160;homebase&#160;does&#160;not&#160;have&#160;a&#160;product&#160;to&#160;ferry.'</var></line>
<line linenr="007" indent=""><var>skip&#160;if&#160;</var><var>$destination</var></line>
<line linenr="008" indent="&#160;"><text>return&#160;</text><var>'No&#160;destination&#160;was&#160;chosen&#160;for&#160;ferrying.'</var></line>
<line linenr="009" indent=""><var>skip&#160;if&#160;</var><var>$destination</var><text>&#160;</text><var>!=</var><text>&#160;</text><var>[HOMEBASE]</var></line>
<line linenr="010" indent="&#160;"><text>return&#160;</text><var>'Cannot&#160;ferry&#160;TO&#160;homebase.&#160;Choose&#160;another&#160;destination.'</var></line>
<line linenr="011" indent=""><var>skip&#160;if&#160;</var><var>$destination&#160;-&gt;</var><text>&#160;is&#160;docking&#160;possible&#160;of&#160;</text><var>[THIS]</var></line>
<line linenr="012" indent="&#160;"><text>return&#160;</text><var>'Cannot&#160;dock&#160;this&#160;vessel&#160;at&#160;specified&#160;destination.'</var></line>
<line linenr="013" indent=""><var>skip&#160;if&#160;</var><var>[THIS]&#160;-&gt;</var><text>&#160;is&#160;docking&#160;allowed&#160;at&#160;</text><var>$destination</var></line>
<line linenr="014" indent="&#160;"><text>return&#160;</text><var>'Docking&#160;denied&#160;at&#160;destination,&#160;file&#160;plan&#160;refused.'</var></line>
<line linenr="015" indent=""><var>skip&#160;if&#160;</var><var>[THIS]&#160;-&gt;</var><text>&#160;can&#160;transport&#160;ware&#160;</text><var>$product</var></line>
<line linenr="016" indent="&#160;"><text>return&#160;</text><var>'Cannot&#160;transport&#160;designated&#160;product&#160;in&#160;this&#160;craft.'</var></line>
<line linenr="017" indent=""></line>
<line linenr="018" indent=""><var>$canBuy&#160;=&#160;</var><var>$destination&#160;-&gt;</var><text>&#160;can&#160;buy&#160;ware&#160;</text><var>$product</var></line>
<line linenr="019" indent=""><var>$useAsPrimary&#160;=&#160;</var><var>$destination&#160;-&gt;</var><text>&#160;uses&#160;ware&#160;</text><var>$product</var><text>&#160;as&#160;primary&#160;resource</text></line>
<line linenr="020" indent=""><var>$useAsSecondary&#160;=&#160;</var><var>$destination&#160;-&gt;</var><text>&#160;uses&#160;ware&#160;</text><var>$product</var><text>&#160;as&#160;secondary&#160;resource</text></line>
<line linenr="021" indent=""><var>skip&#160;if&#160;</var><var>$canBuy</var><text>&#160;</text><var>OR</var><text>&#160;</text><var>$useAsPrimary</var><text>&#160;</text><var>OR</var><text>&#160;</text><var>$useAsSecondary</var></line>
<line linenr="022" indent="&#160;"><text>return&#160;</text><var>'Sorry&#160;&#160;boss,&#160;this&#160;is&#160;not&#160;a&#160;product&#160;our&#160;destination&#160;can&#160;make&#160;use&#160;of.'</var></line>
<line linenr="023" indent=""></line>
<line linenr="024" indent=""><comment><text>*&#160;</text><var>Start&#160;from&#160;the&#160;beginning.</var></comment></line>
<line linenr="025" indent=""><var>$onboard&#160;=&#160;</var><var>[THIS]&#160;-&gt;</var><text>&#160;get&#160;volume&#160;of&#160;ware&#160;</text><var>$product</var><text>&#160;in&#160;cargo&#160;bay</text></line>
<line linenr="026" indent=""><var>$capacity&#160;=&#160;</var><var>[THIS]&#160;-&gt;</var><text>&#160;get&#160;free&#160;volume&#160;of&#160;ware&#160;</text><var>$product</var><text>&#160;in&#160;cargo&#160;bay</text></line>
<line linenr="027" indent=""></line>
<line linenr="028" indent=""><comment><text>*&#160;</text><var>If&#160;there&#160;is&#160;no&#160;room&#160;AND&#160;we&#160;have&#160;none&#160;aboard,&#160;the&#160;player&#160;will&#160;have&#160;to&#160;help.</var></comment></line>
<line linenr="029" indent=""><var>skip&#160;if&#160;</var><var>$onboard</var><text>&#160;</text><var>+</var><text>&#160;</text><var>$capacity</var><text>&#160;</text><var>&gt;</var><text>&#160;</text><var>4</var></line>
<line linenr="030" indent="&#160;"><text>return&#160;</text><var>'Cargobay&#160;has&#160;insufficient&#160;space.&#160;Make&#160;room&#160;for&#160;at&#160;least&#160;4&#160;units&#160;and&#160;try&#160;again.'</var></line>
<line linenr="031" indent=""></line>
<line linenr="032" interruptable="@" indent=""><var>$result&#160;=&#160;</var><var>[THIS]&#160;-&gt;</var><text>&#160;call&#160;script&#160;</text><call>kfs.ferry.loadup</call><text>&#160;:&#160;</text><text>&#160;Destination=</text><var>$destination</var><text>&#160;</text><text>&#160;Product=</text><var>$product</var></line>
<line linenr="033" indent=""><var>skip&#160;if&#160;</var><var>$result</var><text>&#160;</text><var>==</var><text>&#160;</text><var>null</var></line>
<line linenr="034" indent="&#160;"><text>return&#160;</text><var>$result</var></line>
<line linenr="035" indent=""></line>
<line linenr="036" interruptable="@" indent=""><var>$result&#160;=&#160;</var><var>[THIS]&#160;-&gt;</var><text>&#160;call&#160;script&#160;</text><call>kfs.ferry.deliver</call><text>&#160;:&#160;</text><text>&#160;Destination=</text><var>$destination</var><text>&#160;</text><text>&#160;Product&#160;&#160;&#160;to&#160;&#160;&#160;deliver=</text><var>$product</var><text>&#160;</text><text>&#160;Cr&#160;per&#160;unit&#160;rate&#160;to&#160;try&#160;for=</text><var>$unitRate</var></line>
<line linenr="037" indent=""></line>
<line linenr="038" indent=""><text>return&#160;</text><var>$result</var></line>
</sourcetext>
<codearray>
<sval type="array" size="10"><sval type="string" val="kfs.ferry.loop" /><sval type="int" val="25" /><sval type="string" val="Single pass of the KFS ferry" /><sval type="int" val="1" /><sval type="int" val="0" /><sval type="array" size="9"><sval type="string" val="destination" /><sval type="string" val="unitRate" /><sval type="string" val="product" /><sval type="string" val="canBuy" /><sval type="string" val="useAsPrimary" /><sval type="string" val="useAsSecondary" /><sval type="string" val="onboard" /><sval type="string" val="capacity" /><sval type="string" val="result" /></sval><sval type="array" size="29"><sval type="array" size="7"><sval type="int" val="104" /><sval type="int" val="-536870393" /><sval type="int" val="1" /><sval type="int" val="131075" /><sval type="int" val="65540" /><sval type="int" val="1" /><sval type="int" val="-1" /></sval><sval type="array" size="3"><sval type="int" val="103" /><sval type="int" val="5" /><sval type="string" val="Vessel has not been assigned a homebase." /></sval><sval type="array" size="4"><sval type="int" val="638" /><sval type="int" val="131075" /><sval type="int" val="65540" /><sval type="int" val="2" /></sval><sval type="array" size="7"><sval type="int" val="104" /><sval type="int" val="-536869625" /><sval type="int" val="1" /><sval type="int" val="131074" /><sval type="int" val="2" /><sval type="int" val="1" /><sval type="int" val="-1" /></sval><sval type="array" size="3"><sval type="int" val="103" /><sval type="int" val="5" /><sval type="string" val="Current homebase does not have a product to ferry." /></sval><sval type="array" size="7"><sval type="int" val="104" /><sval type="int" val="-536869113" /><sval type="int" val="1" /><sval type="int" val="131074" /><sval type="int" val="0" /><sval type="int" val="1" /><sval type="int" val="-1" /></sval><sval type="array" size="3"><sval type="int" val="103" /><sval type="int" val="5" /><sval type="string" val="No destination was chosen for ferrying." /></sval><sval type="array" size="13"><sval type="int" val="104" /><sval type="int" val="-536868601" /><sval type="int" val="3" /><sval type="int" val="131074" /><sval type="int" val="0" /><sval type="int" val="131075" /><sval type="int" val="65540" /><sval type="int" val="15" /><sval type="int" val="1" /><sval type="int" val="3" /><sval type="int" val="-1" /><sval type="int" val="1" /><sval type="int" val="-2" /></sval><sval type="array" size="3"><sval type="int" val="103" /><sval type="int" val="5" /><sval type="string" val="Cannot ferry TO homebase. Choose another destination." /></sval><sval type="array" size="6"><sval type="int" val="746" /><sval type="int" val="131074" /><sval type="int" val="0" /><sval type="int" val="-536868089" /><sval type="int" val="131075" /><sval type="int" val="65536" /></sval><sval type="array" size="3"><sval type="int" val="103" /><sval type="int" val="5" /><sval type="string" val="Cannot dock this vessel at specified destination." /></sval><sval type="array" size="6"><sval type="int" val="513" /><sval type="int" val="131075" /><sval type="int" val="65536" /><sval type="int" val="-536867577" /><sval type="int" val="131074" /><sval type="int" val="0" /></sval><sval type="array" size="3"><sval type="int" val="103" /><sval type="int" val="5" /><sval type="string" val="Docking denied at destination, file plan refused." /></sval><sval type="array" size="6"><sval type="int" val="617" /><sval type="int" val="131075" /><sval type="int" val="65536" /><sval type="int" val="-536867065" /><sval type="int" val="131074" /><sval type="int" val="2" /></sval><sval type="array" size="3"><sval type="int" val="103" /><sval type="int" val="5" /><sval type="string" val="Cannot transport designated product in this craft." /></sval><sval type="array" size="6"><sval type="int" val="624" /><sval type="int" val="131074" /><sval type="int" val="0" /><sval type="int" val="3" /><sval type="int" val="131074" /><sval type="int" val="2" /></sval><sval type="array" size="6"><sval type="int" val="635" /><sval type="int" val="131074" /><sval type="int" val="0" /><sval type="int" val="4" /><sval type="int" val="131074" /><sval type="int" val="2" /></sval><sval type="array" size="6"><sval type="int" val="636" /><sval type="int" val="131074" /><sval type="int" val="0" /><sval type="int" val="5" /><sval type="int" val="131074" /><sval type="int" val="2" /></sval><sval type="array" size="19"><sval type="int" val="104" /><sval type="int" val="-536865785" /><sval type="int" val="5" /><sval type="int" val="131074" /><sval type="int" val="3" /><sval type="int" val="131074" /><sval type="int" val="4" /><sval type="int" val="15" /><sval type="int" val="10" /><sval type="int" val="131074" /><sval type="int" val="5" /><sval type="int" val="15" /><sval type="int" val="10" /><sval type="int" val="5" /><sval type="int" val="-1" /><sval type="int" val="10" /><sval type="int" val="-2" /><sval type="int" val="10" /><sval type="int" val="-4" /></sval><sval type="array" size="3"><sval type="int" val="103" /><sval type="int" val="5" /><sval type="string" val="Sorry  boss, this is not a product our destination can make use of." /></sval><sval type="array" size="6"><sval type="int" val="613" /><sval type="int" val="131075" /><sval type="int" val="65536" /><sval type="int" val="6" /><sval type="int" val="131074" /><sval type="int" val="2" /></sval><sval type="array" size="6"><sval type="int" val="615" /><sval type="int" val="131075" /><sval type="int" val="65536" /><sval type="int" val="7" /><sval type="int" val="131074" /><sval type="int" val="2" /></sval><sval type="array" size="19"><sval type="int" val="104" /><sval type="int" val="-536864761" /><sval type="int" val="5" /><sval type="int" val="131074" /><sval type="int" val="6" /><sval type="int" val="131074" /><sval type="int" val="7" /><sval type="int" val="15" /><sval type="int" val="11" /><sval type="int" val="4" /><sval type="int" val="4" /><sval type="int" val="15" /><sval type="int" val="2" /><sval type="int" val="5" /><sval type="int" val="-1" /><sval type="int" val="11" /><sval type="int" val="-2" /><sval type="int" val="2" /><sval type="int" val="-4" /></sval><sval type="array" size="3"><sval type="int" val="103" /><sval type="int" val="5" /><sval type="string" val="Cargobay has insufficient space. Make room for at least 4 units and try again." /></sval><sval type="array" size="10"><sval type="int" val="102" /><sval type="string" val="kfs.ferry.loadup" /><sval type="int" val="8" /><sval type="int" val="131075" /><sval type="int" val="65536" /><sval type="int" val="2" /><sval type="int" val="131074" /><sval type="int" val="0" /><sval type="int" val="131074" /><sval type="int" val="2" /></sval><sval type="array" size="13"><sval type="int" val="104" /><sval type="int" val="-536863993" /><sval type="int" val="3" /><sval type="int" val="131074" /><sval type="int" val="8" /><sval type="int" val="0" /><sval type="int" val="0" /><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="131074" /><sval type="int" val="8" /></sval><sval type="array" size="12"><sval type="int" val="102" /><sval type="string" val="kfs.ferry.deliver" /><sval type="int" val="8" /><sval type="int" val="131075" /><sval type="int" val="65536" /><sval type="int" val="3" /><sval type="int" val="131074" /><sval type="int" val="0" /><sval type="int" val="131074" /><sval type="int" val="2" /><sval type="int" val="131074" /><sval type="int" val="1" /></sval><sval type="array" size="3"><sval type="int" val="103" /><sval type="int" val="131074" /><sval type="int" val="8" /></sval></sval><sval type="array" size="2"><sval type="array" size="2"><sval type="int" val="36" /><sval type="string" val="Choose product destination." /></sval><sval type="array" size="2"><sval type="int" val="9" /><sval type="string" val="Cr per unit rate on delivery" /></sval></sval><sval type="array" size="9"><sval type="array" size="3"><sval type="int" val="0" /><sval type="int" val="1" /><sval type="string" val="Initial sanity checking of the current environment." /></sval><sval type="array" size="2"><sval type="int" val="15" /><sval type="int" val="2" /></sval><sval type="array" size="2"><sval type="int" val="20" /><sval type="int" val="2" /></sval><sval type="array" size="3"><sval type="int" val="20" /><sval type="int" val="1" /><sval type="string" val="Start from the beginning." /></sval><sval type="array" size="2"><sval type="int" val="22" /><sval type="int" val="2" /></sval><sval type="array" size="3"><sval type="int" val="22" /><sval type="int" val="1" /><sval type="string" val="If there is no room AND we have none aboard, the player will have to help." /></sval><sval type="array" size="2"><sval type="int" val="24" /><sval type="int" val="2" /></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="2" /></sval></sval><sval type="int" val="0" /></sval>
</codearray>
</script>
