Fuel Tweaks

From Elite Wiki
(Redirected from Quirium Fuel Transfer)
Fuel Scoop

This OXP introduces Quirium Fuel which you can scoop or buy on the F8 market commodities page - a more pure and more dangerous form of the fuel (requiring specialised equipment to scoop and specialised tanks for safe transport).

Overview

This OXP seeks to add some interest and depth to the way fuel is handled. Firstly, a new commodity has been created, Quirium Fuel, which can be collected using fuel scoops and a Quirium Fuel Processing unit, then sold at stations for profit. Secondly, the way fuel is handled by stations can be controlled by various functions and properties. Fuel can be made available through fuel stations, or even completely unavailable except by scooping it.

Commodities

A new trade good has been added to the system: Quirium Fuel. This trade good gets its best price at mainly agricultural systems.

ITEM DESCRIPTION AVERAGE PRICE/ ₢ UNITS
Quirium Fuel Fuel scooped from a star's corona 30.0 TC


Note that the base price of regular Fuel is around 2₢/ly.
The various fuel tanks imply that 1ly = 1TC (Internal Fuel Tank: 5ly takes 5TC; with the more complex Duplex Fuel Tank: 3ly takes 8TC).

Equipment

Three new equipment items have been added to the game.

Quirium Fuel Processors

Cost to install   : 450.0  ₢ 
Techlevel         : 4

This device replicates some of the fuel scooping system except, rather than putting the fuel into the main tank, processed fuel is stored in specialised fuel storage containers. The Fuel Processor is automatically activated during the fuel scoop process when the ship's main tank is full.

The Fuel Processor comes equipped with 1 fuel container, so simply by purchasing this item pilots will be able to scoop 1t of quirium fuel.

Quirium Fuel Storage Unit

Cost to install   : 50.0  ₢ 
Techlevel         : 3

Fuel storage units can store 1t of Quirium fuel. Until used they will not consume any cargo space. When fuel is scooped and processed the units will expand to hold the fuel. If Quirium Fuel is dumped, a fuel storage unit will be dumped with it. When it is scooped, the fuel storage unit will be scooped as well.

Quirium Fuel Transfer

Cost to install   : 1380.0  ₢ 
Techlevel         : 7

This device is a slightly unstable method of moving fuel from storage and into the main ship tank. Quirium fuel is highly volatile, and the connection between the fuel processor and all storage units is designed to be one-way during flight. The Fuel transfer device is a third party add-on which breaches some of the containment protocols of the storage units in order to extract fuel and dump it in the engines. There is a chance that cargo loss or equipment damage could result from the transfer process. There have been reports of complete ship destruction in extreme cases, but these reports are rare.

To transfer fuel during flight, prime the "Quirium Fuel Transfer" equipment, then press the "n" (activate) key twice to start transferring fuel. Press the "n" key a third time (or use the "b" (mode) key) to stop the process.

A minimum 1t of Quirium fuel will be used regardless of how much is actually transferred to the main tank. Excess fuel is dumped to prevent any additional damage. For example, transferring 0.4LY of fuel will use 1t of Quirium. Transferring 6.4LY of fuel will also use 1t. Stopping the transfer process will dump the excess fuel from the container, meaning that each time you start the transfer you will use 1t of Quirium fuel.

Options

The "fuelTweaks_fuelEconomy.js" file contains a variety of functions and settings to control where fuel is sold, how much can be sold, and the presence of refuelling stations. While this file can be manually adjusted to taste, the preferred way is by using the following JavaScript interfaces described below.

Fuel Stations

If fuel stations are enabled for a particular system, they will appear towards the edge of scanner range behind the main station. To get refuelled, simply fly into the station and come to a halt when directed. Fuel will then be transferred. When finished, exit the station and your account will be charged.

Fuel Rations

Some systems may have introduced a ration system, where a limited amount of fuel is available for purchase at the main station. Once you have purchased your ration, you will be unable to purchase any more fuel in that system until you jump out and come back.

Fuel Collector OXP

If Frame's Fuel Collector OXP is installed, the Fuel Collector will collect fuel into the Fuel Processor once the ship's tank is full.

JavaScript Interfaces

Note: Changes made to the fuel system via these JavaScript methods will persist across save games.

Fuel

$addFuelAvailability

worldScripts.FuelTweaks_FuelEconomy.$addFuelAvailability(ecos : array, govs : array, tl : int[, useRations : boolean]) 

Adds a economy/government/min techlevel fuel availability setting. "ecos" and "govs" are arrays containing integers between 0 and 7. To ignore the economy or government, pass an empty array. tl is an integer, being the minimum techlevel required, between -1 and 15 (-1 means no techlevel check is performed). useRations is an optional flag indicating that fuel rations will be used at these systems, rather than the standard fuel.

$setMaxFuelRation

worldScripts.FuelTweaks_FuelEconomy.$setMaxFuelRation(maxVal : int)

Sets the maximum amount of fuel that can be purchased through a non-refuelling stations

$setFuelAllegiance

worldScripts.FuelTweaks_FuelEconomy.$setFuelAllegiance(alleg: array)

Sets an array of allegiance types to control what stations can sell fuel. An empty array means all stations can sell fuel.

$addFuelSystemOverride

worldScripts.FuelTweaks_FuelEconomy.$addFuelSystemOverride(sysID : int, avail : boolean [, useRations : boolean [, maxRation : int]])

Adds a system specific override to the fuel system. avail determines whether fuel will be available for sale. useRations determines whether fuel rationing is in effect. maxRation sets the maximum amount of fuel ration that can be sold.

Refuel Station

The following methods control the presence of refueling stations: Note: Refuel stations will not be present if no fuel is available in the system. Note: If a refueling station is present in a system, fuel will not be for sale in other stations.

$addRefuelStationAvailability

worldScripts.FuelTweaks_FuelEconomy.$addRefuelStationAvailability(ecos : array, govs : array, tl : int) 

Adds a economy/government/min techlevel fuel availability setting. "ecos" and "govs" are arrays containing integers between 0 and 7. To ignore the economy or government, pass an empty array. tl is an integer, being the minimum techlevel required, between -1 and 15 (-1 means no techlevel check is performed) Note: Fuel must be available in the system before a refuelling station can be added.

$setRefuelStationCostFactor

worldScripts.FuelTweaks_FuelEconomy.$setRefuelStationCostFactor(cf : decimal)

Sets the default cost factor applied to fuel sales at refuelling stations. default 0.15

$addRefuelStationSystemOverride

worldScripts.FuelTweaks_FuelEconomy.$addRefuelStationSystemOverride(sysID : int, avail : boolean, costFactor : decimal)

Adds an refuel station override item for the specified system ID. avail = true means a refuel station will always be present, false means it will never be present costFactor is the cost factor applied to fuel sales through the refuel station.

General Methods

$isFuelAvailable

worldScripts.FuelTweaks_FuelEconomy.$isFuelAvailable([sysID : int])

Returns true if the passed system ID (or the current system if no value passed) will have fuel fuel available (either at the station itself or via a refuelling station). Otherwise false.

$fuelRationsInUse

worldScripts.FuelTweaks_FuelEconomy.$fuelRationsInUse([sysID : int])

Returns true if fuel rationing is in use in the passed system ID.

$getMaxFuelRation

worldScripts.FuelTweaks_FuelEconomy.$getMaxFuelRation([sysID: int])

Returns the maximum fuel ration permitted in the passed system ID.

$isRefuelStationAvailable

worldScripts.FuelTweaks_FuelEconomy.$isRefuelStationAvailable([sysID : int])

Returns true if the passed system ID (or the current system if no value passed) will have refuelling stations present. Otherwise false. Note: Fuel must be available in the system before a refuelling station can be added.

$reset

worldScripts.FuelTweaks_FuelEconomy.$reset();

Resets all fuel settings back to their default.

Requirements

The Market Script Interface OXP is a requirement for this pack.

Download

Download FuelTweaks.oxz v1.14.5 (downloaded 671 times).
Download FuelTweaks.zip v1.14.5 (extract OXP folder to AddOns)

License

This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 4.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/4.0/

With thanks to Thargoid for his fly-through Fuel Station (from the Fuel Station OXP), and to gsagostinho for his amazing textures.

Discussion

This OXP is discussed at this forum link: https://bb.oolite.space/viewtopic.php?f=4&t=18947

Version History

1.14.5

1.14.4

  • The current state of the Quirium Fuel Processor (ie. how full it is) is now shown on the F5F5 Manifest screen.

1.14.3

  • A Quirium Fuel Storage Unit will now automatically be awarded whenever a quirium fuel cargo container is scooped.

1.14.2

  • Bug fixes.

1.14.1

  • Fixed invalid character in shipdata.plist file.

1.14

  • Fixed issue with repairing damaged fuel storage units.

1.13.1

  • Removed debug log messages.

1.13

  • Fixed issue with Fuel Collector taking too long to fill up accumulator when scooping fuel in free space.
  • Fixed issue with Fuel Collector turning off the Quirium Fuel Processor when scooping fuel from the sun.

1.12

  • Bug fixes and tweaks to the fuel transfer process.
  • Added link to Fuel Collector OXP to enable the fuel collector to collect fuel into the fuel processor.
  • Added variable pricing for pirate fuel, based on the amount of fuel required.

1.11

  • Excluded fuel items from getting purchase notifications via the Email System.
  • Scooping ejected quirium fuel containers will now award the player a Quirium Fuel Storage unit, so they can safely keep the cargo, rather than requiring the cargo be auto-ejected.
  • Dumping quirium fuel will now dump a fuel storage unit along with it.
  • Adjusted the prices of the Quirium Fuel Storage unit and it's associated removal item.
  • Adjusted fuel storage equipment item configuration to handle case where player might have scooped some Quirium fuel and received fuel storage units, but without having a fuel processor.
  • Better logic for determining if an escape pod is installed.
  • Fixed missing variable definition errors during self-destruct sequence.
  • Fixed output messages including a "0" during the self-destruct sequence.
  • Corrected readme and wiki page regarding the Quirium Fuel Transfer equipment item and process.

1.10

  • Bug fixes.

1.9

  • NPC AI not being set to correct file to use fuel stations.
  • Updated texture on fuel station, turned off the "smooth" setting.

1.8

  • Better handling of interstellar space.
  • Fuel can now be purchased at some chaotic and pirate stations in systems where there is some sort of fuel restrictions in place, but at a price.

1.7

  • Fixed invalid reference bug after exiting witchspace.

1.6

  • Added missing cost factor to refuel station availability code.

1.5

  • Message about fuel not being for sale incorrectly being broadcast even when rations are available.
  • Added information about fuel availability to the F7 System Data screen.
  • Fixed incorrect TL variable reference in various lookup functions.
  • Tweaks to checking functions to make them more logical.

1.4

  • Bug fixes.

1.3

  • Tweaks to the equipment.plist file.
  • Added 5 and 6 ly fuel rations.
  • Tweaks to the logic of the various properties to make system clearer.
  • Added textures from gsagostinho's updated version of Fuel Stations.
  • Added reset function to remove any fuel-related settings currently in use.
  • Bug fixes.

1.2

  • Set the default quantity of Quirium fuel available for purchase at all stations to be zero, to encourage scooping.
  • Added the "Quirium Fuel Transfer" equipment item, to allow for fuel to be transferred from cargo to the main tank, but with a risk of cargo and/or equipment damage (and even entire ship destruction!).
  • Scooping of Quirium Fuel cargo pods when there is insufficient fuel storage units to hold it will now result in the cargo being auto-ejected.
  • Corrected logic for determining when fuel or fuel stations are available.
  • Added logic to allow for players without fuel scoops to always have the ability to purchase 4ly fuel rations, even if all other logic says no fuel or rations or fuel stations are allowed in this system.

1.1

  • Added options and JS methods to control how and where fuel is sold.

1.0

  • Initial release.

Other OXP's

  • Fuel Collector allows slow scooping of fuel at a distance from the sun - and is compatible with this
  • Solar Harvest OXP is similar but introduces two new types of commodity: "processed" Quirium Plasma & "raw" Coronal Plasma. An unfinished oxp.
  • Duplex Fuel Tank allows two-way transfer of fuel between the ship's fuel tank and a reserve tank in the cargo hold.

Quick Facts

Levelindicator2.png
0-2

Minimum Oolite versionCPU usage averageMemory usage lowGPU usage averageisAPIisDocumented

Version Released License Features Category Author(s) Feedback
1.14.5 2023-10-12 CC BY-NC-SA 4.0 Fuel changes Mechanics OXPs phkb Oolite BB

Gameplay and Balance indicator

Tag-colour-orange.png

Since scooping is slo-o-ow, you might like to try out File:Autopause.oxz: lets the game run and will then pause itself on red-alert (see Autopause (BB Thread) for more detail).