Escape Pod Locator OXP

From Elite Wiki
Jump to: navigation, search

Contents

Overview

Escape Pod Locator 1.4 (18/12/11)

By another_commander further development by capt murphy - 2011

Licence: CC BY-NC-SA 3.0 : Please visit http://creativecommons.org/licenses/by-nc-sa/3.0/ for more info.

Requires Oolite 1.75.2

Equipment Upgrade to the IFF Scanner and Advanced Space Compass that alerts players to escape pod launches occurring in the same system. Pods are marked on the Advanced Space Compass with an ‘E’ and show up as flashing white/green lollipops when in Scanner Range. Also introduces NPC Search and Rescue ships who actively search for pods.

Description

Standard Issue Escape Pods are fitted with a high powered distress beacon which broadcasts on a restricted channel. Until recently equipment to detect these distress calls were limited to Galcop vessels and licensed private-sector Search and Rescue vessels.

The authorities and private-sector companies have proved to be less than effective at ensuring the safety of escape pods and a high proportion continue to fall into Slaver or Thargoid hands. Following intense lobbying by Amnesty Intergalactic, Galcop have agreed to license a civilian version of the equipment that can detect escape pod distress calls in an effort to encourage civilian pilots to rescue more pods.

The Escape Pod Locator is available from planets of tech level 8 or higher for 1250 credits, requires the Advanced Space Compass to be fitted and is restricted to pilots with a clean legal status. Galcop have also fitted fail-safes to avoid the equipment falling into criminal hands and it is automatically disabled if the ship it is fitted to is assigned an Offender or Fugitive legal status. It is re-enabled once the legal status is cleared.

The equipment will detect any standard issue escape-pod, but pilots should be aware that some individuals NPC’s may have modified, disabled or removed their escape pod distress beacon and thus won’t be detected by this equipment.

This OXP also introduces Search and Rescue NPC ships which actively search for pods and scoop them. By default the Moray Medical Boat is used for this role, but if you have the Cobra Clipper SAR OXP installed both models will be used. Players should be aware that SAR rescue ships have a direct link to the Galcop legal record database and have authority to apply legal penalties to any ship that attacks them.

Technical

When the equipment is installed and working a beacon entity is spawned for new escape pods (standard role ‘escape-capsule’ only) that are launched which tracks the location of the associated pod. The beacon entity is a tiny, low mass entity that is not displayed on the IFF scanner, is too small to be visible to the player and too low in mass to cause damage in the event of a collision. If the beacon entity is inadvertently destroyed it is replaced. The pod itself is given custom scanner colours. If the equipment is damaged or disabled all beacons are removed and the pods revert to standard scanner colours. The equipment can be repaired on the fly by OXP equipment such as Thargoid’s repair bots.

The main script includes two variables which can be changed to limit the detection range of the equipment, either by the end-user or via script by another OXP. Range can be set independently for normal space and interstellar space. Default value for these variables is null which equates to infinite range. End-users can limit the range by editing escapePodLocator.js with an appropriate text editor, and changing the value ‘null’ to a number in lines 10 & 11.


Default:


this.ecl_normalSpaceRange = null;

this.ecl_interstellarSpaceRange = null;


In this example…


this.ecl_normalSpaceRange = 20;

this.ecl_interstellarSpaceRange = 1;


…detection range is limited to 20 x scanner range in normal space, and 1 x scanner range in interstellar space. To effectively disable the equipment in either case set the value to 0.000001.


OXP makers can access these variables from other scripts using


worldScripts["escapePodLocator.js"].ecl_normalSpaceRange

worldScripts["escapePodLocator.js"].ecl_interstellarSpaceRange


This OXP includes code to detect if the range has been altered by another OXP and will log detected changes in latest.log.

Search and Rescue ships use a custom AI and script. To use other models as OXP ships a shipdata entry needs to include the following as a minimum.


ai_type = "ecl_SAR_AI.plist";

roles = "ecl_SAR_ship_OXP";

pilot = "oolite-trader";

has_fuel_injection = 1;

has_scoop = 1;

script = "ecl_SAR_shipscript.js";


Alternatively feel free to use renamed versions of the AI and shipscript in your OXP.

This version ships with a slightly modified homeAI.plist that replaces the core game version and fixes a couple of minor bugs in the escape pod AI. These bugs could cause an escape pod that ‘escapes’ from a scoop attempt, or is jettisoned after scooping to become ‘dead in space’. This is a temporary measure until these bugs are fixed in the core game.


Change Log

Version 1.0: 28/7/11 – Initial release.

Version 1.1: 2/8/11 – Complete revision of the method used to mark pods on the Advanced Space Compass to avoid conflicts with other OXP’s.

Version 1.2: 20/11/11 – Minor tweak to the scripts to ensure correct beacon placement on being spawned. Reduced density of beacon by another factor of 10. Gave beacon a display name so it plays nice with Talkative Space Compass.oxp.

Version 1.3: 11/12/11 – Major script revision. End-users and other scripts can now set a maximum detection range for the equipment independently for normal and interstellar space. Default setting is infinite range. New script method also fixes a minor bug in that escape-pods jettisoned from cargo were not correctly detected. Fixed minor bug with beacons being removed slightly too early in scooping process. Included modified homeAI.plist which fixes two minor core game bugs with the escape pod AI that can cause escape pods that escape a scoop attempt or are jettisoned to become ‘dead in space’.

Version 1.3.1 12/12/11 – Added some entity validation to prevent rare and spurious errors in the log.

Version 1.4 18/12/11 – Changed array iteration method to standard for loop method from array.forEach method following code profiling indicating that array.forEach is a slower and more processor heavy method. Added code to apply legal penalty to ships that attack a Search and Rescue ship. Added code to remove any Cobra Clippers that are spawned with the script/AI from the Cobra Clipper OXP.

Discussion & Download

Discussion topic can be found on the Oolite BB.

Download from the box.

Also mirrored on JazHaz's Box.

Personal tools