Documentation
Also read http://wiki.alioth.net/index.php/Deep%20Space%20Dredger
Deep Space Dredger ReadMe.old.rtf
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE abiword PUBLIC "-//ABISOURCE//DTD AWML 1.0 Strict//EN" "http://www.abisource.com/awml.dtd">
<abiword template="false" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:math="http://www.w3.org/1998/Math/MathML" xid-max="39" xmlns:dc="http://purl.org/dc/elements/1.1/" fileformat="1.1" xmlns:svg="http://www.w3.org/2000/svg" xmlns:awml="http://www.abisource.com/awml.dtd" xmlns="http://www.abisource.com/awml.dtd" xmlns:xlink="http://www.w3.org/1999/xlink" version="2.8.6" xml:space="preserve" props="dom-dir:ltr; document-footnote-restart-section:0; document-endnote-type:numeric; document-endnote-place-enddoc:1; document-endnote-initial:1; lang:hu-HU; document-endnote-restart-section:0; document-footnote-restart-page:0; document-footnote-type:numeric; document-footnote-initial:1; document-endnote-place-endsection:0">
<!-- ======================================================================== -->
<!-- This file is an AbiWord document. -->
<!-- AbiWord is a free, Open Source word processor. -->
<!-- More information about AbiWord is available at http://www.abisource.com/ -->
<!-- You should not edit this file by hand. -->
<!-- ======================================================================== -->
<metadata>
<m key="dc.format">application/x-abiword</m>
<m key="abiword.generator">AbiWord</m>
</metadata>
<styles>
<s type="C" name="Reference" props="font-size:10pt"/>
</styles>
<pagesize pagetype="Custom" orientation="portrait" width="209.902778" height="297.021250" units="mm" page-scale="1.000000"/>
<section xid="2" props="page-margin-right:1.000000in; columns:1; page-margin-header:0.500000in; page-margin-left:1.000000in; column-gap:0.000000in; page-margin-footer:0.500000in; page-margin-top:1.000000in; page-margin-bottom:1.000000in">
<p xid="3" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:25pt; color:000000; text-decoration:none; text-position:normal; font-weight:bold; font-style:normal">Deep Space Dredger</c></p>
<p xid="4" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">All ships by Sabre. Scripting by Eric Walch. Messages by Little Bear. Textures by Captain Berf.</c></p>
<p xid="5" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">This OXP for Oolite adds 4 Space Dredgers, a Sabre fighter, a Fury fighter, a Dredger shuttle, a Dredger drone and a Dredger trader to the Ooniverse.</c></p>
<p xid="6" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">Space Dredgers operate mainly in deep space, scooping up wreckage, hydrogen and space dust for later processing. Space Dredgers are occasionally encountered in the border of the space lanes. Commanders choosing to dock with a Dredger can take advantage of its well equipped shipyard or the chance to trade.</c></p>
<p xid="7" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">Attacking a Dredger is unwise, as it is well defended by a squadron of Sabre fighters. The Dredger is not available to the player, although second hand Sabre fighters and Dredger traders are occasionally available on the open market.</c></p>
<p xid="8" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">Version 2.4.6 (Needs Oolite 1.74 or higher)</c></p>
<p xid="9" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:16pt; color:000000; text-decoration:none; text-position:normal; font-weight:bold; font-style:normal">Salvaging</c></p>
<p xid="10" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">With version 2.0 the dredgers have stepped into the salvage business. In level 9 and higher systems special salvage drones are offered to a clean player. These drones are released as missiles. When fired at a derelict ship, it tries to penetrate the outer hull and will connect to the main computer. In 90% of the cases, an abandoned ship is still intact and the drone will try to contact a nearby dredger. When a dredger is found, the drone will instruct the auto pilot to fly to the dredger and dock with it. Pay-out is based on the ships mass and cargo. Small ships are probably not worth salvaging but big ships give a high pay-out. Just be aware that the drone can only handle ships that fit through the docking slid of a dredger. It can't control a really big ship, but an anaconda is salvageable.</c></p>
<p xid="11" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">The derelict may find pirates on his way that try to destroy the ship to obtain its cargo. A ship flying on autopilot can't defend itself, so it is up to the salvager to protect the derelicts voyage. When the derelict ship docks save with a dredger an amount of money is transferred to the salvager, based on the ships mass and the cargo load.</c></p>
<p xid="12" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">Just be aware that the dredger ships are normally not flying in the space-lane but come from deep space for the rescue. This makes them hard to find but from the starting point of a derelict ship they should be just visible in the distant sky.</c></p>
<p xid="13" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">When you have troubles finding a deep space dredger: There will always be one in the system you are in when loading a saved game. Just keep flying long enough into the darkness of deep space. After this first system they have a 50% change to be somewhere in the deep space of systems with a technical level of 9 or higher. And last but not least: they can be found in any system when there is a salvaged derelict ship.</c></p>
<p xid="14" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:16pt; color:000000; text-decoration:none; text-position:normal; font-weight:bold; font-style:normal">New Textures</c></p>
<p xid="15" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">Starting with version 2.3, all the ships got a new texture by Captain Berf. Textures are in style with the original ships from Sabre but with more detail and in a higher resolution. In version 2.4 these textures are complemented with "relief maps" to add surface structure for graphic cards that support shaders.</c></p>
<p xid="16" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:16pt; color:000000; text-decoration:none; text-position:normal; font-weight:bold; font-style:normal">BigShips.oxp</c></p>
<p xid="17" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">Deep Space Dredger supports the bigShips.oxp. When bigShips.oxp is installed you will see the dredgers more often in the normal space lanes. </c></p>
<p xid="18" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">--------</c></p>
<p xid="19" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:bold; font-style:normal">History</c></p>
<p xid="1" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:hu-HU">Version 2.4.6 Set </c><c>market_capacity = 255</c></p>
<p xid="20" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">Version 2.4.6 Introduced frame-callback for the dredger doors for a smoother movement than with timers when used with 1.75.1+.</c></p>
<p xid="21" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">Version 2.4.5 Raised minimum Oolite to 1.74</c></p>
<p xid="22" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">Version 2.4.4 Added custom escort positions that will start working with Oolite 1.75 upwards.</c></p>
<p xid="23" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">Version 2.4.3 fixed a casing bug in JS that will give errors after Oolite 1.74.2.</c></p>
<p xid="24" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">Version 2.4.2 added smoothing groups to the dredger ships.</c></p>
<p xid="25" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">Version 2.4.1 redefined the npc only missiles to work correct with 1.74. Added normal maps for the turret.</c></p>
<p xid="26" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">Version 2.4 All ships have now normal maps (By Captain Berf). (Normal maps needs a computer with shader capability to see the effect)</c></p>
<p xid="27" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">Version 2.3 All ships have new textures (By Captain Berf). The two biggest ships now also have bigger docking bays. Fixed bugs in the meshes of almost all ships. Raised minimum Oolite version to 1.73.</c></p>
<p xid="28" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">Version 2.2.7 Fixed a serious bug introduced in 2.2.6 that that could give huge salvage awards.</c></p>
<p xid="29" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">Version 2.2.6 Removed all predefined derelicts from shipData. Now all traders from any installed oxp can become a derelict. More texture files renaming to unique names.</c></p>
<p xid="30" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">Version 2.2.5 Fixed the commodity definition because it was not used. It will now work for the ships added by this oxp. Renamed texture files to more unique names.</c></p>
<p xid="31" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">Version 2.2.4 Fixed the commodity definition for gold/platinum/gems. Was always defined in Tons. (This bug can leads to crashing while docking at a dredger since 1.73)</c></p>
<p xid="32" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">Version 2.2.3 Raised maximum salvageble weight from 500 000 to 1 000 000 (Hamadryad = 985 000). Made it work for Oolite 1.74.</c></p>
<p xid="33" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">Version 2.2.2 Recognises now bigShips.oxp. When present, that oxp will control part of the ship additions in the spacelane.</c></p>
<p xid="34" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">Version 2.2 Added Oolite 1.72 compatibility.</c></p>
<p xid="35" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">Version 2.0 Added 3 new Dredger ships from the hand of Sabre with new scripting by Eric Walch and Little Bear.</c></p>
<p xid="36" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">Version 1.2 Bug fix in the docking routine.</c></p>
<p xid="37" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">Version 1.1 Addition by Eric Walch:</c></p>
<p xid="38" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">Added a JavaScript for Oolite 1.71+ that generates encounters with these Dredgers in deep space. For debugging purposes there is always one added in the first system after a restart. When flying far enough in deep space there is a guaranteed encounter in that system.</c></p>
<p xid="39" props="margin-top:0.0000in; margin-left:0.0000in; text-indent:0.0000in; dom-dir:ltr; margin-bottom:0.2361in; line-height:1.416667; text-align:left; margin-right:0.0000in"><c props="font-family:Verdana; font-size:14pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal">Version 1.0 Original by Sabre</c></p>
</section>
</abiword>
Deep Space Dredger ReadMe.rtf
{\rtf1\ansi\deff3\adeflang1025
{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\froman\fprq2\fcharset2 Symbol;}{\f2\fswiss\fprq2\fcharset0 Arial;}{\f3\froman\fprq2\fcharset0 Liberation Serif{\*\falt Times New Roman};}{\f4\fswiss\fprq2\fcharset0 Liberation Sans{\*\falt Arial};}{\f5\froman\fprq2\fcharset0 Verdana;}{\f6\froman\fprq2\fcharset0 Liberation Sans{\*\falt Arial};}{\f7\froman\fprq2\fcharset0 Courier New;}{\f8\fnil\fprq2\fcharset0 Noto Sans CJK JP DemiLight;}{\f9\fnil\fprq2\fcharset0 Liberation Sans{\*\falt Arial};}{\f10\fnil\fprq2\fcharset0 FreeSans;}{\f11\fswiss\fprq0\fcharset128 FreeSans;}{\f12\fnil\fprq2\fcharset0 Dingbats;}}
{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}
{\stylesheet{\s0\snext0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038 Normal;}
{\s1\sbasedon18\snext1\ql\widctlpar\sb440\sa60\keepn\ltrpar\b\dbch\af8\dbch\af10\afs28\loch\f4\fs34 C\u237\'edmsor 1;}
{\s2\sbasedon18\snext2\ql\widctlpar\sb440\sa60\keepn\ltrpar\b\dbch\af8\dbch\af10\afs28\loch\f4\fs28 C\u237\'edmsor 2;}
{\s3\sbasedon18\snext3\ql\widctlpar\sb440\sa60\keepn\ltrpar\b\dbch\af8\dbch\af10\afs28\loch\f4\fs24 C\u237\'edmsor 3;}
{\s4\sbasedon18\snext4\ql\widctlpar\sb440\sa60\keepn\ltrpar\b\dbch\af8\dbch\af10\afs28\loch\f4\fs24 C\u237\'edmsor 4;}
{\*\cs15\snext15 V\u233\'e9gjegyzet-karakterek;}
{\*\cs16\snext16\fs20 Reference;}
{\*\cs17\snext17\fs20 Footnote;}
{\s18\sbasedon0\snext19\ql\widctlpar\sb240\sa120\keepn\ltrpar\dbch\af8\dbch\af10\afs28\loch\f4\fs28 C\u237\'edmsor;}
{\s19\sbasedon0\snext19\sl288\slmult1\ql\widctlpar\sb0\sa140\ltrpar\dbch\af9\dbch\af12\afs24\loch\f3\fs24 Sz\u246\'f6vegt\u246\'f6rzs;}
{\s20\sbasedon19\snext20\sl288\slmult1\ql\widctlpar\sb0\sa140\ltrpar\dbch\af9\dbch\af11\afs24\loch\f3\fs24 Lista;}
{\s21\sbasedon0\snext21\ql\widctlpar\sb120\sa120\noline\ltrpar\i\dbch\af9\dbch\af11\afs24\ai\loch\f3\fs24 Felirat;}
{\s22\sbasedon0\snext22\ql\widctlpar\noline\ltrpar\dbch\af9\dbch\af11\afs24\loch\f3\fs24 T\u225\'e1rgymutat\u243\'f3;}
{\s23\snext23\li720\ri0\lin720\rin0\fi-428\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af8\langfe2052\dbch\af10\afs24\alang1081\loch\f3\hich\af3\fs24\lang1038 Contents 1;}
{\s24\snext24\li1440\ri0\lin1440\rin0\fi-428\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af8\langfe2052\dbch\af10\afs24\alang1081\loch\f3\hich\af3\fs24\lang1038 Contents 2;}
{\s25\snext25\li2160\ri0\lin2160\rin0\fi-428\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af8\langfe2052\dbch\af10\afs24\alang1081\loch\f3\hich\af3\fs24\lang1038 Contents 3;}
{\s26\snext26\li2880\ri0\lin2880\rin0\fi-428\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af8\langfe2052\dbch\af10\afs24\alang1081\loch\f3\hich\af3\fs24\lang1038 Contents 4;}
{\s27\snext27\tx431\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af8\langfe2052\dbch\af10\afs24\alang1081\loch\f3\hich\af3\fs24\lang1038 Numbered Heading 1;}
{\s28\snext28\tx431\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af8\langfe2052\dbch\af10\afs24\alang1081\loch\f3\hich\af3\fs24\lang1038 Numbered Heading 2;}
{\s29\snext29\ql\widctlpar\li720\ri0\lin720\rin0\fi-428\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f5\fs24\lang1038 Square List;}
{\s30\snext30\li720\ri0\lin720\rin0\fi-428\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af8\langfe2052\dbch\af10\afs24\alang1081\loch\f3\hich\af3\fs24\lang1038 Lower Roman List;}
{\s31\snext31\ql\widctlpar\li720\ri0\lin720\rin0\fi-428\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f5\fs24\lang1038 Diamond List;}
{\s32\snext32\ql\widctlpar\li720\ri0\lin720\rin0\fi-428\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f5\fs24\lang1038 Numbered List;}
{\s33\snext33\ql\widctlpar\li720\ri0\lin720\rin0\fi-428\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f5\fs24\lang1038 Triangle List;}
{\s34\snext34\tx431\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af8\langfe2052\dbch\af10\afs24\alang1081\loch\f3\hich\af3\fs24\lang1038 Numbered Heading 3;}
{\s35\snext35\ql\widctlpar\li720\ri0\lin720\rin0\fi-428\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f5\fs24\lang1038 Dashed List;}
{\s36\sbasedon32\snext36\ql\widctlpar\li720\ri0\lin720\rin0\fi-428\ltrpar\dbch\af9\dbch\af12\afs24\loch\f5\fs24 Upper Roman List;}
{\s37\snext37\ql\widctlpar\li720\ri0\lin720\rin0\fi-428\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f5\fs24\lang1038 Heart List;}
{\s38\snext38\qc\sb240\sa117\nowidctlpar\hyphpar0\b\cf0\kerning1\dbch\af8\langfe2052\dbch\af10\afs24\alang1081\loch\f6\hich\af6\fs32\lang1038 Contents Header;}
{\s39\sbasedon32\snext39\ql\widctlpar\li720\ri0\lin720\rin0\fi-428\ltrpar\dbch\af9\dbch\af12\afs24\loch\f5\fs24 Upper Case List;}
{\s40\snext40\ql\widctlpar\li720\ri0\lin720\rin0\fi-428\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f5\fs24\lang1038 Bullet List;}
{\s41\snext41\ql\widctlpar\li720\ri0\lin720\rin0\fi-428\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f5\fs24\lang1038 Hand List;}
{\s42\snext42\ql\widctlpar\li720\ri0\lin720\rin0\fi-428\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f5\fs24\lang1038 Tick List;}
{\s43\sbasedon32\snext43\ql\widctlpar\li720\ri0\lin720\rin0\fi-428\ltrpar\dbch\af9\dbch\af12\afs24\loch\f5\fs24 Lower Case List;}
{\s44\snext44\li1440\ri1440\lin1440\rin1440\fi0\sb0\sa117\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af8\langfe2052\dbch\af10\afs24\alang1081\loch\f3\hich\af3\fs24\lang1038 Block Text;}
{\s45\sbasedon27\snext45\tx1584 Section Heading;}
{\s46\snext46\ql\widctlpar\li720\ri0\lin720\rin0\fi-428\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f5\fs24\lang1038 Implies List;}
{\s47\snext47\ql\widctlpar\li720\ri0\lin720\rin0\fi-428\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f5\fs24\lang1038 Box List;}
{\s48\snext48\ql\widctlpar\li720\ri0\lin720\rin0\fi-428\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f5\fs24\lang1038 Star List;}
{\s49\snext49\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af8\langfe2052\dbch\af10\afs24\alang1081\loch\f7\hich\af7\fs24\lang1038 Plain Text;}
{\s50\sbasedon27\snext50\tx1584 Chapter Heading;}
}{\*\generator LibreOffice/5.2.5.1$Linux_X86_64 LibreOffice_project/20m0$Build-1}{\info{\creatim\yr0\mo0\dy0\hr0\min0}{\revtim\yr2017\mo3\dy29\hr18\min48}{\printim\yr0\mo0\dy0\hr0\min0}}{\*\userprops}\deftab720\deftab720\deftab720\deftab720\deftab720\deftab720\deftab720\deftab720\deftab720\deftab720\deftab720\deftab720\deftab720\deftab720\deftab720\deftab720\deftab720\deftab720\deftab720\deftab720\deftab720
\viewscale150
{\*\pgdsctbl
{\pgdsc0\pgdscuse451\pgwsxn11906\pghsxn16838\marglsxn1440\margrsxn1440\margtsxn1440\margbsxn1440\pgdscnxt0 Alap\u233\'e9rtelmezett st\u237\'edlus;}
{\pgdsc1\pgdscuse451\pgndec\pgwsxn11906\pghsxn16838\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\pgdscnxt1 V\u233\'e9gjegyzet;}}
\formshade{\*\pgdscno0}\paperh16838\paperw11906\margl1440\margr1440\margt1440\margb1440\sectd\sbknone\sectunlocked1\pgndec\pgwsxn11906\pghsxn16838\marglsxn1440\margrsxn1440\margtsxn1440\margbsxn1440\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnar
{\*\ftnsep}\pgndec\pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\b\rtlch \ltrch\loch\fs50\lang1038\loch\f5\hich\af5
Deep Space Dredger}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs24\lang1038\loch\f5\hich\af5
All ships by Sabre. Scripting by Eric Walch. Messages by Little Bear. Textures by Captain Berf.}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
This OXP for Oolite adds 4 Space Dredgers, a Sabre fighter, a Fury fighter, a Dredger shuttle, a Dredger drone and a Dredger trader to the Ooniverse.}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
Space Dredgers operate mainly in deep space, scooping up wreckage, hydrogen and space dust for later processing. Space Dredgers are occasionally encountered in the border of the space lanes. Commanders choosing to dock with a Dredger can take advantage of its well equipped shipyard or the chance to trade.}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
Attacking a Dredger is unwise, as it is well defended by a squadron of Sabre fighters. The Dredger is not available to the player, although second hand Sabre fighters and Dredger traders are occasionally available on the open market.}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
Version 2.4.6 (Needs Oolite 1.74 or higher)}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl240\slmult1\ql\ltrpar{\b\rtlch \ltrch\loch\fs32\lang1038\loch\f5\hich\af5
Salvaging}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
With version 2.0 the dredgers have stepped into the salvage business. In level 9 and higher systems special salvage drones are offered to a clean player. These drones are released as missiles. When fired at a derelict ship, it tries to penetrate the outer hull and will connect to the main computer. In 90% of the cases, an abandoned ship is still intact and the drone will try to contact a nearby dredger. When a dredger is found, the drone will instruct the auto pilot to fly to the dredger and dock with it. Pay-out is based on the ships mass and cargo. Small ships are probably not worth salvaging but big ships give a high pay-out. Just be aware that the drone can only handle ships that fit through the docking slid of a dredger. It can't control a really big ship, but an anaconda is salvageable.}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
The derelict may find pirates on his way that try to destroy the ship to obtain its cargo. A ship flying on autopilot can't defend itself, so it is up to the salvager to protect the derelicts voyage. When the derelict ship docks save with a dredger an amount of money is transferred to the salvager, based on the ships mass and the cargo load.}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
Just be aware that the dredger ships are normally not flying in the space-lane but come from deep space for the rescue. This makes them hard to find but from the starting point of a derelict ship they should be just visible in the distant sky.}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
When you have troubles finding a deep space dredger: There will always be one in the system you are in when loading a saved game. Just keep flying long enough into the darkness of deep space. After this first system they have a 50% change to be somewhere in the deep space of systems with a technical level of 9 or higher. And last but not least: they can be found in any system when there is a salvaged derelict ship.}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl240\slmult1\ql\ltrpar{\b\rtlch \ltrch\loch\fs32\lang1038\loch\f5\hich\af5
New Textures}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
Starting with version 2.3, all the ships got a new texture by Captain Berf. Textures are in style with the original ships from Sabre but with more detail and in a higher resolution. In version 2.4 these textures are complemented with "relief maps" to add surface structure for graphic cards that support shaders.}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl240\slmult1\ql\ltrpar{\b\rtlch \ltrch\loch\fs32\lang1038\loch\f5\hich\af5
BigShips.oxp}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
Deep Space Dredger supports the bigShips.oxp. When bigShips.oxp is installed you will see the dredgers more often in the normal space lanes. }
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
--------}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\b\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
History}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
Version 2.4.}{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
10}{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
}{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
Fixed semicolon problems in Mac by hoqllnq.}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
Version 2.4.9 Subentity definitions converted to the new format by phkb.}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
Version 2.4.8 A fix in dredgersDockingAI reported by Welle242.}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
Version 2.4.7 SuperDredger get }{\rtlch \ltrch\loch\fs24\lang1038
market_capacity = 255 }{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
to match to Superhub. Market definitions converted to js for Oolite 1.82 by spara. OXZ version packaged by Norby.}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
Version 2.4.6 Introduced frame-callback for the dredger doors for a smoother movement than with timers when used with 1.75.1+.}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
Version 2.4.5 Raised minimum Oolite to 1.74}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
Version 2.4.4 Added custom escort positions that will start working with Oolite 1.75 upwards.}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
Version 2.4.3 fixed a casing bug in JS that will give errors after Oolite 1.74.2.}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
Version 2.4.2 added smoothing groups to the dredger ships.}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
Version 2.4.1 redefined the npc only missiles to work correct with 1.74. Added normal maps for the turret.}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
Version 2.4 All ships have now normal maps (By Captain Berf). (Normal maps needs a computer with shader capability to see the effect)}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
Version 2.3 All ships have new textures (By Captain Berf). The two biggest ships now also have bigger docking bays. Fixed bugs in the meshes of almost all ships. Raised minimum Oolite version to 1.73.}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
Version 2.2.7 Fixed a serious bug introduced in 2.2.6 that that could give huge salvage awards.}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
Version 2.2.6 Removed all predefined derelicts from shipData. Now all traders from any installed oxp can become a derelict. More texture files renaming to unique names.}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
Version 2.2.5 Fixed the commodity definition because it was not used. It will now work for the ships added by this oxp. Renamed texture files to more unique names.}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
Version 2.2.4 Fixed the commodity definition for gold/platinum/gems. Was always defined in Tons. (This bug can leads to crashing while docking at a dredger since 1.73)}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
Version 2.2.3 Raised maximum salvageble weight from 500 000 to 1 000 000 (Hamadryad = 985 000). Made it work for Oolite 1.74.}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
Version 2.2.2 Recognises now bigShips.oxp. When present, that oxp will control part of the ship additions in the spacelane.}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
Version 2.2 Added Oolite 1.72 compatibility.}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
Version 2.0 Added 3 new Dredger ships from the hand of Sabre with new scripting by Eric Walch and Little Bear.}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
Version 1.2 Bug fix in the docking routine.}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
Version 1.1 Addition by Eric Walch:}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
Added a JavaScript for Oolite 1.71+ that generates encounters with these Dredgers in deep space. For debugging purposes there is always one added in the first system after a restart. When flying far enough in deep space there is a guaranteed encounter in that system.}
\par \pard\plain \s0\ql\widctlpar\ltrpar\hyphpar0\dbch\af9\dbch\af12\afs24\cf0\kerning1\langfe2052\alang1081\loch\f3\fs24\lang1038\sl338\slmult1\ql\sb0\sa336\ltrpar{\rtlch \ltrch\loch\fs28\lang1038\loch\f5\hich\af5
Version 1.0 Original by Sabre}
\par }
Textures/_readme.txt
Captain Berf's Alternate texture set v. 1.1 for the Oolite Deep Space Dredgers oxp.
Contents:
Textures/
ball-turret_dredger_back.png
ball-turret_dredger_front.png
dredgerCourier.png
dredgerCourier2.png
dredgerCourierEngines.png
dredgerCourierEngines_emission.png
dredgerDroid.png
dredgerEngines.png
dredgerEngines_emission.png
dredgerMainShip.png
dredgerShuttle.png
dredgerTraderEngines.png
dredgerTraderEngines_emission.png
dredgerTraderMainShip.png
dredgerTraderMainShip_emission.png
dredgerTraderMainShip_PLAYER.png
dredgerTraderMainShip_PLAYER_emission.png
fury_auv.png
sabre_auv.png
sabre_auv_emission.png
SuperDredger.png
superDredgerEngines.png
superDredgerEngines_emmision.png
_ChangeLog.txt
_DredgerCollageBerf_800x600.jpg
_Dredger_Salvage_Logo_Red.png
_readme.txt
Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License
Path |
Scripts/dredger-market.js |
"use strict";
this.name = "dredger-market";
this.author = "spara";
this.license = "CC BY-NC-SA 4.0";
//put the original defs here. no def means there's a zero market of that commodity
this.$originalDefs = {
"food" : [0,0,50,2,0,0,0,0,0],
"luxuries" : [0,0,40,-2,0,0,0,0,0],
"computers" : [0,0,100,-2,0,0,0,0,0],
"machinery" : [0,0,80,-2,0,0,0,0,0],
"alloys" : [0,0,1,0,0,100,0,0,0],
"minerals" : [0,0,16,-1,-1,85,3,3,0]
};
this.updateLocalCommodityDefinition = function(goodDefinition) {
var commodity = goodDefinition.key;
var oldDefs = this.$originalDefs[commodity];
//define the market size for the station
goodDefinition.capacity = 127;
//old style definition found for the good. calculate it the old way
if (oldDefs) {
var market_base_price = oldDefs[2];
var market_eco_adjust_price = oldDefs[3];
var market_eco_adjust_quantity = oldDefs[4];
var market_base_quantity = oldDefs[5];
var market_mask_price = oldDefs[6];
var market_mask_quantity = oldDefs[7];
var market_rnd = Math.floor(Math.random() * 256);
var economy = system.economy;
var price = (market_base_price + (market_rnd & market_mask_price) + (economy * market_eco_adjust_price)) & 255;
price *= 0.4;
var quantity = (market_base_quantity + (market_rnd & market_mask_quantity) - (economy * market_eco_adjust_quantity)) & 255;
if (quantity > 127) quantity = 0;
quantity &= 63;
goodDefinition.quantity = quantity;
goodDefinition.price = price * 10;
}
//no definition found. no market on that commodity
else {
goodDefinition.price = 0;
goodDefinition.quantity = 0;
goodDefinition.capacity = 0;
}
//scale down if quantity too high
if (goodDefinition.quantity > goodDefinition.capacity)
goodDefinition.quantity = Math.floor(goodDefinition.quantity / 127 * goodDefinition.capacity);
return goodDefinition;
};
|
Scripts/dredger.js |
"use strict";
this.name = "deep_space_dredger";
this.author = "eric walch";
this.copyright = "� 2008 Walch & Sabre & Little Bear";
this.description = "This script places the dredgers in deep space.";
this.version = "2.4.6";
this.startUp = function ()
{
this.dredger = true
if (this.dredgerTimer)
this.dredgerTimer.start()
else
this.dredgerTimer = new Timer(this, this.dredgerCheck, 150, 120);
}
this.shipExitedWitchspace = function ()
{
if (this.salvageList) {delete this.salvageList; delete this.salvageNameList};
if (system.isInterstellarSpace || system.sun.hasGoneNova) return;
this.dredger = false;
if (system.techLevel > 8)
{
if (Math.random() < 0.5)
{
if (Math.random() < 0.2)
{
system.addShipsToRoute("dredgertrader", 1, Math.random(), "pw");
}
this.dredger = true; // dredger can be added to this system.
}
else
{
if (Math.random() < 0.05 && !worldScripts["bigShips_populator"])
{
system.addShipsToRoute("dredgers", 1, Math.random()*0.5, "pw");
}
}
}
if (system.government < Math.random() * 7) // more change in low governments
{
if (Math.random() < 0.1) this.addDerelict(0.1+Math.random()*0.8, 1);
if (Math.random() < 0.02)
{
var location = Math.ceil(Math.random()*5);
switch(location)
{
case 1: {
this.addDerelict(0.97, 5); // 20%
player.commsMessage(expandDescription("[salvage_drone_battle_station]"), 6);
break;
}
case 5: {
this.addDerelict(0, 5); // 20%
player.commsMessage(expandDescription("[salvage_drone_battle_witchpoint]"), 6);
break;
}
default: {
this.addDerelict(0.2+Math.random()*0.7, 5); // 60%
player.commsMessage(expandDescription("[salvage_drone_battle_spacelane]"), 6);
break;
}
}
this.dredger = true;
}
}
}
this.addDerelict = function (location, count)
{
if (!system.mainStation) return;
for (var j = 0; j < count; j++)
{
var derelict = system.addShipsToRoute("trader", 1, location)[0];
derelict.bounty = 0;
// set script to default, to avoid a special script for the trader doing stuff. (like setting a new AI)
if (derelict.script.name != "oolite-default-ship-script") derelict.setScript("oolite-default-ship-script.js");
derelict.switchAI("nullAI.plist");
if (derelict.escorts)
{
for (var i = 0; i < derelict.escorts.length; i++)
{
derelict.escorts[i].remove(true);
}
}
if (derelict.mass > 1E6) // those probably can't dock so we don't want them.
{
derelict.remove(true);
}
else
{
derelict.script.shipLaunchedEscapePod = this.$shipLaunchedEscapePod; // function to remove the escapepod after launch.
if (derelict.equipmentStatus("EQ_ESCAPE_POD") == "EQUIPMENT_UNAVAILABLE") derelict.awardEquipment("EQ_ESCAPE_POD")
derelict.abandonShip(); // make sure no pilot is left behind and this command turns the ship into cargo.
derelict.primaryRole = "dredgerDerelict"; // to avoid pirate attacks
derelict.displayName = derelict.displayName + " (derelict)";
}
}
}
this.dredgerCheck = function ()
{
if (this.dredger && player.ship.speed > player.ship.maxSpeed && !system.isInterstellarSpace && player.ship.position.distanceTo(system.mainPlanet.position) > 1.5E6)
{
this.addDredger();
if(Math.random()< 0.5) this.dredger = false;
}
}
this.addDredger = function ()
{
var orientation = player.ship.orientation;
var forwardPosition = player.ship.position.add(orientation.vectorForward().multiply(300E3));
system.addShips("dredgers", 1, forwardPosition, 1);
if (Math.random()<0.5)
{
system.addShips("asteroid", Math.ceil(Math.random()*3), forwardPosition, 10E3);
system.addShips("miner", Math.ceil(Math.random()*3), forwardPosition, 10E3);
}
}
// Below are functions used by ships
this.checkSalvage = function (ship)
{
if (!this.salvageList) return false;
if (this.salvageList.indexOf(ship) > -1) return true;
return false;
}
this.addSalvage = function (ship)
{
if (!this.salvageList)
{
this.salvageList = [ship];
this.salvageNameList = [ship.displayName];
return true;
}
if (this.salvageList.indexOf(ship) > -1) return false;
this.salvageList.push(ship)
this.salvageNameList.push(ship.displayName);
return true;
}
this.removeSalvage = function (ship)
{
if (!this.salvageList) return false;
var i = this.salvageList.indexOf(ship)
if (i> -1)
{
this.salvageList.splice(i,1)
this.salvageNameList.splice(i,1)
return true;
}
return false;
}
this.startScanner = function (salvager) // activated by dredgerscript
{
this.salvageShip = salvager;
this.timerCount = 0;
if (this.salvageTimer)
this.salvageTimer.start()
else
this.salvageTimer = new Timer(this, this.scanSalvage, 15, 15)
}
this.scanSalvage= function ()
{
if (!this.salvageList || this.salvageList.length === 0 || !this.salvageShip.isValid) this.salvageTimer.stop()
for (var i=0; i<this.salvageList.length;i++)
{
if (!this.salvageList[i].isValid) // if ship died.
{
this.salvageList.splice(i,1)
var lostShipName = this.salvageNameList.splice(i,1)
player.commsMessage(expandDescription("[salvage_drone_intro] ") + this.salvageShip.displayName + expandDescription(" [salvage_drone_killed] ") + lostShipName, 6);
return;
}
}
if (this.timerCount++ > 10 && this.salvageNameList.length > 0)
{
player.consoleMessage(expandDescription("[salvage_drone_intro] ") + this.salvageShip.displayName + " is still waiting for incoming " + this.salvageNameList[0], 6);
this.timerCount = 0;
}
}
// next function is attached to derelict ships
this.$shipLaunchedEscapePod = function (pod)
{
pod.remove(true); // we don't want floating escapepods around but need them initially to create the derelict.
}
// Below are scripts attached by missile-script to the derelict ships
this.derelictDied = function (ship)
{
var cargo = Math.ceil(Math.random()*10);
if (ship.cargoSpaceAvailable < cargo) cargo = ship.cargoSpaceAvailable;
if (cargo > 0) ship.spawn("cargopod", (Math.random() * 5 + 5));
}
this.derelictDocked = function (station)
{
if (worldScripts.deep_space_dredger.checkSalvage(this.ship))
{
/*
// Suggestion by Switek
var cargo = this.ship[maxCargo];
if (cargo > 20) cargo = Math.round( ((cargo - 20) * Math.random()) + 20 ); // Cargo total is 20 to max tons for big haulers.
var payment = Math.round(this.ship.mass * 0.01 + cargo * (10 + 50 * Math.random() ) ); // Cargo is randomly valued at 10-60 credits/ton
if (payment < 5000) payment = payment + 3000; // +3000 = Enough to pay for the misile, making this profitable[/quote]
*/
var cargo = Math.round(this.ship.cargoSpaceAvailable / 2.5 * Math.random());
var payment = Math.round(this.ship.mass/1000) * 10 + cargo * 13;
if (this.ship.bounty > 0) payment *= 1.5; // give a 50% bonus for criminal ships.
missionVariables.salvage_drone_award = payment;
missionVariables.salvage_drone_cargo = cargo;
missionVariables.salvage_drone_dname = station.displayName;
missionVariables.salvage_drone_wname = this.ship.name;
player.commsMessage(expandDescription("[salvage_drone_congrats]"), 6); // should always reach player.
player.credits += payment;
missionVariables.salvage_drone_award = null;
missionVariables.salvage_drone_cargo = null;
missionVariables.salvage_drone_dname = null;
missionVariables.salvage_drone_wname = null;
worldScripts.deep_space_dredger.removeSalvage(this.ship); // remove from the approach list in the main script.
}
} |
Scripts/dredgerSabre.js |
"use strict";
this.name = "dredgerSabre";
this.author = "eric walch";
this.copyright = "� 2008 Walch & Sabre";
this.description = "Script for dredger shuttle";
this.version = "1.00";
this.shipDied = function ()
{
this.ship.commsMessage(expandDescription("[sabre_curse]"));
}
this.shipLaunchedEscapePod = function (pod)
{
pod.commsMessage(expandDescription("[sabre_curse]"));
} |
Scripts/dredgerSalvageMissile.js |
"use strict";
this.name = "dredger salvage missile";
this.author = "eric walch";
this.copyright = "� 2008 Walch & Sabre & Little Bear";
this.description = "Missile to initiate salvaging.";
this.version = "1.1";
this.shipSpawned = function()
{
this.addPirates = false
}
this.shipDied = function(ship)
{
if (ship !== this.ship.target) return; // killed by someting else than targetship.
if (worldScripts.deep_space_dredger.checkSalvage(ship)) {this.ship.commsMessage(expandDescription("[salvage_drone_busy]")); return;}
if (ship.isShip && ship.scanClass === "CLASS_CARGO" && (ship.AI === "nullAI.plist" || ship.AI === "dumbAI.plist"))
{
if (Math.random() < 0.05 || ship.maxSpeed < 50 || ship.script.dammaged)
{
this.ship.commsMessage(expandDescription("[salvage_drone_damaged]"));
ship.script.dammaged = true;
return;
}
if (ship.mass < 1E6) // Hamadryad has 985 456 kg, anaconda has 429 553 kg, a sidewinder 26 737 kg
{
// only add when no other dredgers nearby
if (system.shipsWithPrimaryRole("dredgers", ship, 300E3).length == 0)
{
system.legacy_addShipsAtPrecisely("dredgers", 1, "abs", player.ship.position.add(Vector3D.randomDirection().multiply(200E3)));
this.addPirates = true; // only add once per added dredger.
}
var dredger = system.shipsWithPrimaryRole("dredgers")[0]; // choose the closest in case there are more.
ship.target = dredger;
ship.group = dredger.group; // needed to set a fixed docking station because it will make the dreger the group leader.
ship.switchAI("dredgersDockingAI.plist");
ship.primaryRole = "trader"; // Restore trader role to make sure pirates will find it.
if (ship.displayName.indexOf("(derelict)")) ship.displayName = ship.displayName.replace(" (derelict)", "") ;
worldScripts.deep_space_dredger.addSalvage(ship);
ship.name = ship.displayName; // Store the original displayname in case someone altered it.
ship.displayName = ship.displayName + " (auto pilot)"; // Make sure it stands out among other ships
dredger.target = ship;
dredger.AIState = "HEAD_FOR_SALVAGE";
if (dredger.group) dredger.group.addShip(ship); // for ease of docking at the right station
ship.script.shipDied = worldScripts.deep_space_dredger.derelictDied; //script attached to derelict ship
ship.script.shipDockedWithStation = worldScripts.deep_space_dredger.derelictDocked; //script attached to derelict ship
if (this.addPirates)
{
var dredgerDirection = dredger.position.subtract(ship.position); // Vector from derelict to dredger, vector lenghth is distance.
system.legacy_addShipsAtPrecisely("pirate", Math.ceil(Math.random()*5), "abs", ship.position.add(dredgerDirection.multiply(0.25)));
system.legacy_addShipsAtPrecisely("pirate", Math.ceil(Math.random()*5), "abs", ship.position.add(dredgerDirection.multiply(0.40)));
}
ship.scannerDisplayColor1 = [0.9, 0.9, 0.7, 1.0];
ship.thrust = ship.maxThrust * 0.3;
if (ship.equipmentStatus("EQ_ESCAPE_POD") === "EQUIPMENT_OK") ship.removeEquipment("EQ_ESCAPE_POD");
if (dredger.displayName === dredger.name)
dredger.displayName = expandDescription("[salvage_drone_gotit11] [salvage_drone_gotit12]");
this.ship.commsMessage(expandDescription("[salvage_drone_gotita]") + dredger.displayName + expandDescription("[salvage_drone_gotitb]"));
// take note that above code runs before any ship-JS of the dredger itself.
}
else this.ship.commsMessage(expandDescription("[salvage_drone_toobig]"));
}
else this.ship.commsMessage(expandDescription("[salvage_drone_notwreak]"));
} |
Scripts/dredgerShip.js |
"use strict";
this.name = "dredgerShip";
this.author = "eric walch";
this.copyright = "� 2008 Walch & Sabre & Little Bear";
this.description = "Script for dredger ship";
this.version = "1.3.6";
this.dockedShuttles = 0;
this.doorY = 0;
this.door = this.ship.subEntities[1]; // door must be defines as the second subentity.
this.shipSpawned = function ()
{
this.shuttles = Math.round(Math.sqrt(this.ship.mass)/2000); // 20 till 80
this.ship.primaryRole = "dredgers"; // untill Oolite 1.73, we need this primaryRole for the commodity.plist working correctly.
if (this.ship.displayName === this.ship.name)
this.ship.displayName = expandDescription("[salvage_drone_gotit11] [salvage_drone_gotit12]");
this.oldOolite = (0 < oolite.compareVersion("1.75.1")); // since 1.75.1 it became possible to reliably remove timers on ship removal.
if (!this.oldOolite)
{
delete this.shipDied;
delete this.playerWillEnterWitchspace;
}
}
this.checkLaunches = function ()
{
if (this.doorY >= 1 && this.shuttles > 0) // door fully open.
{
this.shuttles--;
this.ship.reactToAIMessage("LAUNCH_SHUTTLE");
}
else if (!this.waitForDocking)
{
this.ship.reactToAIMessage("RESUME_FLIGHT");
this.shuttles += this.dockedShuttles;
this.closeDoor();
}
}
this.dockingRequested = function ()
{
this.waitForDocking = true;
}
this.dockingComplete = function ()
{
this.waitForDocking = false;
}
this.launchFromPlanet= function ()
{
worldScripts.deep_space_dredger.dredgerWaitingShip = this.ship; // used as target by rising shuttles.
var launchVector = this.ship.position.subtract(system.mainPlanet.position).direction();
var launchSite = system.mainPlanet.position.add(launchVector.multiply(system.mainPlanet.radius + 2500));
var shuttles = system.addShips("dredgershuttle_up", 8, launchSite, 1000);
var launchOrientation = launchVector.rotationTo(new Vector3D(0,0,1)); // align the quaternion to the launchVector
for (var i=0; i<shuttles.length; i++)
{
shuttles[i].orientation = launchOrientation; // now all shuttles should point away from planet.
}
this.waitForDocking = true;
this.openDoor();
}
this.otherShipDocked = function (ship)
{
if (ship.primaryRole == "dredgershuttle_up") this.dockedShuttles++;
}
this.stationLaunchedShip = function (ship)
{
if (ship.primaryRole == "miner" && this.oldOolite) ship.setAI("dredgerLaunchHelperAI.plist"); // added to make sure ships don't turn to soon.
if (ship.isPlayer)
{
this.doorY = 1;
this.closeDoor();
this.door.orientation = [1, 1, 0, 0]; // start with full open door.
}
}
this.playerWillEnterWitchspace = function ()
{
this.$cleanupTimers();
};
this.startScanner = function ()
{
worldScripts.deep_space_dredger.startScanner(this.ship); // transfer this dredgers entity for messages.
}
this.shipDied = function ()
{
this.$cleanupTimers();
}
this.entityDestroyed = function ()
{
// handler was introduced in Oolite 1.75.1
this.$cleanupTimers();
}
this.initiateMinerLaunch = function ()
{
this.minersToLaunch = true;
}
this.openDoor = function ()
{
if (this.doorY >= 1) return; // door is open
this.openSpeed = 0.005;
this.$startTimers();
}
this.openDoorFast = function ()
{
if (this.doorY >= 1) return; // door is open
this.openSpeed = 0.05;
this.$startTimers();
}
this.closeDoor = function ()
{
if (this.doorY <= 0) return; // door is closed
this.openSpeed = -0.005;
this.$startTimers();
}
this.moveDoor = function (delta)
{
if (!delta) delta = 0.25;
if (!this.ship || !this.ship.isValid || !this.ship.status) {this.$cleanupTimers();return;};
this.doorY += this.openSpeed*4*delta;
if (this.doorY >= 1) // door is open
{
this.$cleanupTimers();
this.doorY = 1;
if (this.minersToLaunch)
{
this.minersToLaunch = false;
this.ship.launchMiner();
this.ship.launchShipWithRole("miner");
}
}
if (this.doorY <= 0) // door is closed
{
this.$cleanupTimers();
this.doorY = 0;
}
this.door.orientation = [1, this.doorY, 0, 0];
};
// function called by Oolite
(function () {
const escortPositions =
[
// |.|-shape escort pattern
new Vector3D(-2, 1, -1),
new Vector3D( 2, 1, -1),
new Vector3D(-2, -1, -1),
new Vector3D( 2, -1, -1),
new Vector3D(-2, 0, -1),
new Vector3D( 2, 0, -1),
new Vector3D(-1, 0, -2),
new Vector3D( 1, 0, -2)
];
this.coordinatesForEscortPosition = function (index) {
var highPart = 1 + (index >> 3) / 3;
var lowPart = index % 6;
var spacing = this.ship.collisionRadius * highPart;
return escortPositions[lowPart].multiply(spacing);
};
}).call(this);
this.$startTimers = function ()
{
if(this.oldOolite)
{
if (this.moveTimer) this.moveTimer.start()
else this.moveTimer = new Timer(this, this.moveDoor, 15, 0.25);
}
else
{
if (!isValidFrameCallback(this.$callbackID)) this.$callbackID = addFrameCallback(this.moveDoor.bind(this));
}
}
this.$cleanupTimers = function ()
{
if (this.moveTimer) {this.moveTimer.stop(); delete this.moveTimer} // for oolite 1.74
if (this.$callbackID && isValidFrameCallback(this.$callbackID)) // for Oolite 1.75+
{
removeFrameCallback(this.$callbackID);
delete this.$callbackID;
}
} |
Scripts/dredgerShuttle.js |
"use strict";
this.name = "dredgerShuttle";
this.author = "eric walch";
this.copyright = "� 2008 Walch & Sabre";
this.description = "Script for dredger shuttle";
this.version = "1.01";
this.checkDistance = function()
{
var planet = system.mainPlanet;
if (!planet) {this.ship.reactToAIMessage("NO_PLANET"); return;};
var distance = planet.position.distanceTo(this.ship) - planet.radius;
if (distance < 2500) this.ship.reactToAIMessage("AEGIS_LEAVING_DOCKING_RANGE");
}
this.findDredger = function()
{
if (worldScripts.deep_space_dredger.dredgerWaitingShip)
{
this.ship.target = worldScripts.deep_space_dredger.dredgerWaitingShip;
}
else
{
this.ship.target = system.mainStation;
}
}
|
Scripts/superdredger-market.js |
"use strict";
this.name = "superdredger-market";
this.author = "spara";
this.license = "CC BY-NC-SA 4.0";
//put the original defs here. no def means there's a zero market of that commodity
this.$originalDefs = {
"food" : [0,0,50,2,0,0,0,0,0],
"luxuries" : [0,0,40,-2,0,0,0,0,0],
"computers" : [0,0,100,-2,0,0,0,0,0],
"machinery" : [0,0,80,-2,0,0,0,0,0],
"alloys" : [0,0,1,0,0,100,0,0,0],
"minerals" : [0,0,16,-1,-1,85,3,3,0]
};
this.updateLocalCommodityDefinition = function(goodDefinition) {
var commodity = goodDefinition.key;
var oldDefs = this.$originalDefs[commodity];
//define the market size for the station
goodDefinition.capacity = 255; //matched to Superhub
//old style definition found for the good. calculate it the old way
if (oldDefs) {
var market_base_price = oldDefs[2];
var market_eco_adjust_price = oldDefs[3];
var market_eco_adjust_quantity = oldDefs[4];
var market_base_quantity = oldDefs[5];
var market_mask_price = oldDefs[6];
var market_mask_quantity = oldDefs[7];
var market_rnd = Math.floor(Math.random() * 256);
var economy = system.economy;
var price = (market_base_price + (market_rnd & market_mask_price) + (economy * market_eco_adjust_price)) & 255;
price *= 0.4;
var quantity = (market_base_quantity + (market_rnd & market_mask_quantity) - (economy * market_eco_adjust_quantity)) & 255;
if (quantity > 127) quantity = 0;
quantity &= 63;
goodDefinition.quantity = quantity;
goodDefinition.price = price * 10;
}
//no definition found. no market on that commodity
else {
goodDefinition.price = 0;
goodDefinition.quantity = 0;
goodDefinition.capacity = 0;
}
//scale down if quantity too high
if (goodDefinition.quantity > goodDefinition.capacity)
goodDefinition.quantity = Math.floor(goodDefinition.quantity / 127 * goodDefinition.capacity);
return goodDefinition;
};
|