Back to Index | Page generated: Dec 20, 2024, 7:22:10 AM |
from Expansion Manager's OXP list | from Expansion Manifest | |
---|---|---|
Description | Limits fuel capacity (and therefore hyperspace range) according to equipped core-game items. | Limits fuel capacity (and therefore hyperspace range) according to equipped core-game items. |
Identifier | oolite.oxp.redspear.hyperdrives | oolite.oxp.redspear.hyperdrives |
Title | Hyperdrives | Hyperdrives |
Category | Mechanics | Mechanics |
Author | Redspear | Redspear |
Version | 0.7 | 0.7 |
Tags | ||
Required Oolite Version | ||
Maximum Oolite Version | ||
Required Expansions | ||
Optional Expansions | ||
Conflict Expansions | ||
Information URL | n/a | |
Download URL | https://wiki.alioth.net/img_auth.php/2/20/Oolite.oxp.redspear.hyperdrives.oxz | n/a |
License | CC-BY-NC-SA 4.0 | CC-BY-NC-SA 4.0 |
File Size | n/a | |
Upload date | 1668980840 |
Also read http://wiki.alioth.net/index.php/Hyperdrives
{\rtf1\ansi\deff3\adeflang1025 {\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\froman\fprq2\fcharset2 Symbol;}{\f2\fswiss\fprq2\fcharset0 Arial;}{\f3\froman\fprq0\fcharset0 Times New Roman;}{\f4\fswiss\fprq0\fcharset128 Arial;}{\f5\fnil\fprq2\fcharset0 Microsoft YaHei;}} {\colortbl;\red0\green0\blue0;\red128\green128\blue128;} {\stylesheet{\s0\snext0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057 Default;} {\s15\sbasedon0\snext16{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb240\sa120\keepn\cf0\hich\af2\langfe2052\dbch\af5\loch\f2\fs28\lang2057 Heading;} {\s16\sbasedon0\snext16{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\hich\af3\langfe2052\dbch\af3\loch\f3\fs24\lang2057 Text body;} {\s17\sbasedon16\snext17{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\hich\af4\langfe2052\dbch\af3\loch\f3\fs24\lang2057 List;} {\s18\sbasedon0\snext18{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb120\sa120\cf0\i\hich\af4\langfe2052\dbch\af3\ai\loch\f3\fs24\lang2057 Caption;} {\s19\sbasedon0\snext19{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\hich\af4\langfe2052\dbch\af3\loch\f3\fs24\lang2057 Index;} }{\info{\creatim\yr0\mo0\dy0\hr0\min0}{\revtim\yr0\mo0\dy0\hr0\min0}{\printim\yr0\mo0\dy0\hr0\min0}{\comment OpenOffice}{\vern4170}}\deftab720\deftab720\deftab720\deftab720\deftab720\deftab720\deftab720\deftab720\deftab720\deftab720\deftab720\deftab720\deftab720\deftab720\deftab720\deftab720\deftab720\deftab720\deftab720\deftab720 {\*\pgdsctbl {\pgdsc0\pgdscuse195\pgwsxn12240\pghsxn15840\marglsxn1800\margrsxn1800\margtsxn1440\margbsxn1440\pgdscnxt0 Default;}} \formshade{\*\pgdscno0}\paperh15840\paperw12240\margl1800\margr1800\margt1440\margb1440\sectd\sbknone\sectunlocked1\pgndec\pgwsxn12240\pghsxn15840\marglsxn1800\margrsxn1800\margtsxn1440\margbsxn1440\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc \pgndec\pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\b\ab\rtlch \ltrch\loch Hyperdrives} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch Author: Redspear} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch Credits: based on an original script by cim} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch Licence: Creative Commons Attribution-Noncommercial-Share Alike 4.0} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch Version 0.5} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch } \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\b\ab\rtlch \ltrch\loch Description:} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch } \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch v0.7 changes} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch \tab Illicit Unlock compatible and 'Easy-Tweak' design} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch v0.6 changes} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch \tab Changed minimum jump range to a less draconian 5.6LY: enough to reach almost everywhere in galaxy 1.} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch \tab Made equipment bonuses slightly more generous.} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch } \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch v0.5 changes} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch \tab Separated jump limit from fuel limit; thereby tidying HUD display, fuel scooping, injector use and fuel purchase.} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch } \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch v0.4 changes} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch \tab Standardised range for all ships. Base range of 5LY, max of 7LY} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch } \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch v0.3 changes} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch \tab Base range now based on 'tech' of ship - estimated via recharge rate of oxp ships and 'inservice date' of elite ships} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch \tab Varied hyperspace countdown time according to ship size - estimated via cargo capacity in the case of oxp ships} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch } \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch v0.2 changes} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch \tab Fixed bug with fuel availability} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch \tab Made all equipment bonuses equal +1 light year range but with a maximum total bonus of +2 from equipment.\line } \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch v0.1} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch This oxp limits the fuel capacity (and therefore the hyperdrive range) of the player ship according to an assigned base value plus modifiers according to equipment purchased.} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch Base value of 5.5LY:} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch \tab Boa Cruiser} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch Base value of 5LY:} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch \tab Cobra Mk III; Anaconda; Boa} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch Base value of 4.5LY:} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch \tab Adder; Moray; Fer-de-Lance; Python} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch Base value of 4LY:} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch \tab Cobra Mk I; Viper Interceptor; Constrictor} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch Base Value of 3.5LY:} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch \tab Asp Mk II} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch For oxp ships the formula used is:} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch \tab recharge rate + (cargo capacity /50)} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch } \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch Equipment bonus of +0.5LY:} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch \tab Energy Unit; Galactic Hyperdrive} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch Equipment bonus of +1LY:} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch \tab Wormhole Scanner} \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch } \par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\hich\af3\langfe2057\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\sb100\sa100{\rtlch \ltrch\loch } \par }
Path | |
---|---|
Scripts/hyperdrives.js | this.name = "Hyperdrives"; this.author = "Redspear"; this.copyright = "2016 Redspear"; this.licence = "CC BY-NC-SA 4.0"; this.description = "Variable hyperdrives and jump ranges for player ships"; this.version = "0.7"; "use strict"; // determine player ship hyperdrive range this.startUp = this.playerBoughtNewShip = this.equipmentAdded = this.equipmentRemoved = this.equipmentDamaged = this.equipmentRepaired = function() { // EASY-TWEAK section - note the advice (or not, none of my business really...) // below 7, ONLY ADJUST IN INCREMENTS OF 0.4 from 0 or you might get undesired results (so that's: 0; 0.4; 0.8 etc.) var maxRange = 7; // 7 is the max value and also represents the typical elite/oolite experience var longRange = 6.4; // almost always the greatest distance for a jump is 6.8 LY, so this should probably be a lower value than that var shortRange = 6; // (effectively 6.0) the minimum to make every system accessible from somewhere in galaxy 1 var minRange = 5.6; // (effectively 5.6) will make it possible to get to lots of places but it might require taking the long way round // ILLICIT UNLOCK tweakery (comments assume that the above values are unchanged, again use increments of 0.4) var noPen = 0; // minimum capability to make it to Zaonce and beyond from start var minPen = -0.4; var tokenPen = -0.8; var lightPen = -1.2; // minimum capability to make it to Reorte and beyond from start var lowPen = -1.6; // minimum capability to make it to Zaonce and beyond (with upgrades) var medPen = -2; // minimum capability to reach and exploit the Leesti-Diso milk run at start var highPen = -2.4; var heavyPen = -2.8; // minimum capability to make it to Reorte and beyond (with upgrades) var harshPen = -3.2; // minimum capability to reach and exploit the Leesti-Diso milk run (with upgades) var maxPen = -5.6; // effectively no hyperdrive (in most situations) var rangePen = noPen; // this value must be set somewhere, independant of illicit unlock if (player.ship.name == "Constrictor") {rangePen = noPen; } if (player.ship.name == "Gecko") {rangePen = highPen; } if (player.ship.name == "Krait") {rangePen = lowPen; } if (player.ship.name == "Mamba") {rangePen = lightPen; } if (player.ship.name == "Mamba Escort") {rangePen = lowPen; } if (player.ship.name == "Sidewinder") {rangePen = medPen; } if (player.ship.name == "Sidewinder Escort") {rangePen = highPen; } if (player.ship.name == "Viper") {rangePen = heavyPen; } if (player.ship.name == "Viper Interceptor") {rangePen = noPen; } if (player.ship.name == "Viper Pursuit") {rangePen = tokenPen; } if (player.ship.name == "Orbital Shuttle") {rangePen = maxPen; } if (player.ship.name == "Transporter") {rangePen = minPen; } if (player.ship.name == "Transporter Miner") {rangePen = tokenPen; } if (player.ship.name == "Worm") {rangePen = harshPen; } if (player.ship.name == "Worm Miner") {rangePen = maxPen; } // equipment modifiers (EEU, ANA, WHScanner & GalDrive dictate jump range capability) if (player.ship.equipmentStatus("EQ_ENERGY_UNIT") === "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_GAL_DRIVE") === "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_WORMHOLE_SCANNER") === "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_ADVANCED_NAVIGATIONAL_ARRAY") === "EQUIPMENT_OK") {var rangeBoost = maxRange; } if (player.ship.equipmentStatus("EQ_ENERGY_UNIT") === "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_GAL_DRIVE") === "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_WORMHOLE_SCANNER") === "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_ADVANCED_NAVIGATIONAL_ARRAY") != "EQUIPMENT_OK") {var rangeBoost = maxRange; } if (player.ship.equipmentStatus("EQ_ENERGY_UNIT") != "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_GAL_DRIVE") === "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_WORMHOLE_SCANNER") === "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_ADVANCED_NAVIGATIONAL_ARRAY") === "EQUIPMENT_OK") {var rangeBoost = maxRange; } if (player.ship.equipmentStatus("EQ_ENERGY_UNIT") != "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_GAL_DRIVE") === "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_WORMHOLE_SCANNER") === "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_ADVANCED_NAVIGATIONAL_ARRAY") != "EQUIPMENT_OK") {var rangeBoost = longRange; } if (player.ship.equipmentStatus("EQ_ENERGY_UNIT") === "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_GAL_DRIVE") != "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_WORMHOLE_SCANNER") === "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_ADVANCED_NAVIGATIONAL_ARRAY") === "EQUIPMENT_OK") {var rangeBoost = maxRange; } if (player.ship.equipmentStatus("EQ_ENERGY_UNIT") === "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_GAL_DRIVE") != "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_WORMHOLE_SCANNER") === "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_ADVANCED_NAVIGATIONAL_ARRAY") != "EQUIPMENT_OK") {var rangeBoost = longRange; } if (player.ship.equipmentStatus("EQ_ENERGY_UNIT") === "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_GAL_DRIVE") === "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_WORMHOLE_SCANNER") != "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_ADVANCED_NAVIGATIONAL_ARRAY") === "EQUIPMENT_OK") {var rangeBoost = maxRange; } if (player.ship.equipmentStatus("EQ_ENERGY_UNIT") === "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_GAL_DRIVE") === "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_WORMHOLE_SCANNER") != "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_ADVANCED_NAVIGATIONAL_ARRAY") != "EQUIPMENT_OK") {var rangeBoost = longRange; } if (player.ship.equipmentStatus("EQ_ENERGY_UNIT") === "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_GAL_DRIVE") != "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_WORMHOLE_SCANNER") != "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_ADVANCED_NAVIGATIONAL_ARRAY") === "EQUIPMENT_OK") {var rangeBoost = longRange; } if (player.ship.equipmentStatus("EQ_ENERGY_UNIT") === "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_GAL_DRIVE") != "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_WORMHOLE_SCANNER") != "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_ADVANCED_NAVIGATIONAL_ARRAY") != "EQUIPMENT_OK") {var rangeBoost = shortRange; } if (player.ship.equipmentStatus("EQ_ENERGY_UNIT") != "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_GAL_DRIVE") === "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_WORMHOLE_SCANNER") != "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_ADVANCED_NAVIGATIONAL_ARRAY") === "EQUIPMENT_OK") {var rangeBoost = longRange; } if (player.ship.equipmentStatus("EQ_ENERGY_UNIT") != "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_GAL_DRIVE") === "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_WORMHOLE_SCANNER") != "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_ADVANCED_NAVIGATIONAL_ARRAY") != "EQUIPMENT_OK") {var rangeBoost = shortRange; } if (player.ship.equipmentStatus("EQ_ENERGY_UNIT") != "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_GAL_DRIVE") != "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_WORMHOLE_SCANNER") === "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_ADVANCED_NAVIGATIONAL_ARRAY") === "EQUIPMENT_OK") {var rangeBoost = longRange; } if (player.ship.equipmentStatus("EQ_ENERGY_UNIT") != "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_GAL_DRIVE") != "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_WORMHOLE_SCANNER") === "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_ADVANCED_NAVIGATIONAL_ARRAY") != "EQUIPMENT_OK") {var rangeBoost = shortRange; } if (player.ship.equipmentStatus("EQ_ENERGY_UNIT") != "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_GAL_DRIVE") != "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_WORMHOLE_SCANNER") != "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_ADVANCED_NAVIGATIONAL_ARRAY") === "EQUIPMENT_OK") {var rangeBoost = shortRange; } if (player.ship.equipmentStatus("EQ_ENERGY_UNIT") != "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_GAL_DRIVE") != "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_WORMHOLE_SCANNER") != "EQUIPMENT_OK" && player.ship.equipmentStatus("EQ_ADVANCED_NAVIGATIONAL_ARRAY") != "EQUIPMENT_OK") {var rangeBoost = minRange; } this._rangeLimit = rangeBoost + rangePen; log(this.name, "rangeBoost " + rangeBoost); log(this.name, "rangePen " + rangePen); log(this.name, "rangeLimit " + _rangeLimit); log(this.name, "fuel " + player.ship.fuel); log(this.name, "ship " + player.ship.name); } this.startUpComplete = function () { this._fuelMalus = 0; // needed for navigation charts } // represent range limits on navigation charts this.guiScreenChanged = function(toGUI) { if (toGUI == "GUI_SCREEN_SHORT_RANGE_CHART") {if (_fuelMalus == 0 && player.ship.fuel > _rangeLimit) {log(this.name, "rangeLimit " + _rangeLimit); this._fuelMalus = player.ship.fuel - _rangeLimit - 0.3; // range circle may not exceed jump limit player.ship.fuel = _rangeLimit + 0.3; // temporary fuel 'loss' log(this.name, "fuel " + player.ship.fuel); log(this.name, "rangeLimit " + _rangeLimit); } else {player.ship.fuel = player.ship.fuel; this._fuelMalus = _fuelMalus;} // as you were... } if (toGUI != "GUI_SCREEN_SHORT_RANGE_CHART" && toGUI != "GUI_SCREEN_LONG_RANGE_CHART") {player.ship.fuel = player.ship.fuel + _fuelMalus; // any 'lost' fuel restored this._fuelMalus = 0;} // reset fuel 'debt' } // abort jump if range limit exceeded this.playerStartedJumpCountdown = function(standard) { if (System.infoForSystem(galaxyNumber, system.ID).distanceToSystem(System.infoForSystem(galaxyNumber, player.ship.nextSystem)) > _rangeLimit + 0.1) {player.ship.cancelHyperspaceCountdown(); player.consoleMessage ("Present Hyperdrive Capability Insufficient");} // let player know what went wrong (or at least give them a clue) } |
Scripts/hyperdrives_speed.js | this.name = "Hyperdrives_Speed"; this.author = "Redspear"; this.copyright = "2016 Redspear"; this.licence = "CC BY-NC-SA 4.0"; this.description = "Variable hyperdrives and jump ranges for player ships"; this.version = "0.5"; "use strict"; // determine duration of player ship hyperspace countdown this.startUp = this.playerBoughtNewShip = function() { //'very large' ships defined as follows if (player.ship.dataKey == "anaconda-player") {player.ship.hyperspaceSpinTime = 30;} else //'large' ships defined as follows if (player.ship.dataKey == "python-player" || player.ship.dataKey == "boa-player" || player.ship.dataKey == "boa-mk2-player") {player.ship.hyperspaceSpinTime = 20;} else //'medium' ships defined as follows if (player.ship.dataKey == "cobra3-player" || player.ship.dataKey == "constrictor-player") {player.ship.hyperspaceSpinTime = 15;} else //'small' ships defined as follows if (player.ship.dataKey == "ferdelance-player" || player.ship.dataKey == "asp-player" || player.ship.dataKey == "cobramk1-player" || player.ship.dataKey == "moray-player" || player.ship.dataKey == "morayMED-player") {player.ship.hyperspaceSpinTime = 10;} else //'very small' ships defined as follows if (player.ship.dataKey == "adder-player" || player.ship.dataKey == "viper-interceptor-player") {player.ship.hyperspaceSpinTime = 5;} else //OXP ship size estimated as follows if (player.ship.cargoSpaceCapacity>150) {player.ship.hyperspaceSpinTime = 30;} else if (player.ship.cargoSpaceCapacity>49) {player.ship.hyperspaceSpinTime = 20;} else if (player.ship.cargoSpaceCapacity>14) {player.ship.hyperspaceSpinTime = 15;} else if (player.ship.cargoSpaceCapacity>0) {player.ship.hyperspaceSpinTime = 10;} else {player.ship.hyperspaceSpinTime = 5;} } |