Illegal Goods Tweak OXP
Illegal Goods Tweak
By Capt Murphy 2012
Licence: CC BY-NC-SA 3.0
Requires Oolite version 1.80
This OXP introduces interaction with GalCop Customs for players who dock at main stations (and some OXP stations if New Cargoes OXP is installed) with Narcotics, Firearms or Slaves in the hold. Players can ignore warnings, in which case a legal penalty is applied, but they can go on to sell the contraband on the open market. Alternatively they can voluntarily hand over contraband in which case a nominal reward is given; or attempt to bribe the customs officer to turn a blind eye (this could be risky - attempted bribery of a GalCop official can bring its own legal penalties).
Slaves that are handed over to GalCop Customs are rehabilitated by Amnesty Intergalactic before being released. There is a small chance that after handing over slaves the player may be contacted by an ex-slave who may offer an additional reward for their rescue. This will generally involve a trip to the ex-slave's home system to receive a financial reward, although there are a few surprises in the code. If you don't like surprises or are simply curious please see spoilers.txt included in this download for more information.
This OXP does not interfere with the treatment of scooped escape pods, although they do appear in the manifest as slaves. Oolite automatically removes rescued pilots from scooped escape pods from the manifest, and pays appropriate bounty/insurance payments before this OXP runs.
This release introduces compatibility with New Cargoes OXP (1.1.0 or above) and its permit system. Contraband which is a New Cargoes Special Cargo is ignored by Illegal Goods Tweak if a valid New Cargoes permit is held. Otherwise it is treated in the same way as standard contraband. Also Illegal Goods Tweak will run on docking at certain OXP stations defined by New Cargoes OXP if installed (this option can be turned off).
Compatibility with HyperCargo OXP (1.07 or above) and Vortex OXP (1.23 or above) has also been updated to take into account New Cargoes and its permit system. Also fixed a bug affecting Vortex OXP users flying a Maelstrom.
This release introduces optional OXPconfig compatibility (version 2.0.9 or above) as a method to set some options.
Options that can be set via OXPConfig are (line numbers given for those who just wish to edit the script "illegal_goods_tweak.js"):
- alwaysDetect (default true) (line 9) : if set to false a variable contraband detection rate is used, dependent on tech level and government type of the system. Low Tech Anarchies will have the lowest detection rate, High Tech Corporate States the highest. High Tech Anarchies and Low Tech Corporate States will fall somewhere in between. If not detected players carrying contraband still have an opportunity to voluntarily handover contraband for a small reward.
- loggingEnabled (default false) (line 10) : if set to true enables some debug log messages.
- ncOXPStations (default true) (line 11) : ignored unless New Cargoes OXP installed. If true customs are also active at certain OXP stations (defined via New Cargoes).
Why was this OXP made?
Vanilla Oolite follows Elite in that by default penalties are only applied when launching from a main station with contraband in the hold. There is no penalty for docking with a main station with illegal commodities in the hold.
In the original game this had the effect of making trade in such commodities illegal as the only place they could be bought was main stations. Oolite on the other hand can have many OXP additional dockable objects that are not main stations, some of which sell illegal items cheaply, in bulk, and with no penalty attached to launching with them from that dockable object (e.g. the Seedy Space Bars in the Random Hits OXP).
This allows for some very lucrative trading opportunities in illegal commodities from OXP dockables to main stations with no impact on the player's legal status. This OXP goes some way to redressing the balance and increasing the risks of this strategy.
Initially (with version 1 of this OXP) GalCop simply introduced penalties for docking with illegal substances. Following intense lobbying from Amnesty Intergalactic and various Bounty Hunter interest groups, GalCop agreed to give pilots the opportunity to hand over the goods to avoid penalties and for a small reward. Turning over slaves (who will be freed) rewards the player with a slight premium.
Version 1.0 - 24/3/11 : Requires Oolite 1.75.1 - Simply applies penalties if player docks at main station with contraband. No player interaction.
Version 1.1 - 26/3/11 : Requires Oolite 1.75.1 - Introduced interaction with customs and option to voluntarily handover contraband to avoid penalties and get a reward.
Version 1.2 - 03/4/11 : Requires Oolite 1.75.1 - Made compatible with Thargoid's HyperCargo 1.04 and Vortex 1.11 OXPs. Added option to attempt to bribe customs if detected. Added option to make detection rate variable.
Version 1.2.1 - 5/4/11 : Requires Oolite 1.75.1 - Fixed a bug with event handling on docking that could interfere with another OXP's mission screens. Thanks to Gimi for reporting and Eric Walch for advice on the fix.
Version 1.3 - 11/4/11 : Requires Oolite 1.75.1 - Added some simple missions which may be offered some time after slaves have been released.
Version 1.4 - 17/06/11 : Requires Oolite 1.75.1 or above - General code tidy up with lessons learnt from making Escort Contracts OXP. Reduced max delay between releasing slaves and being offered mission. Fixed a small bug with updating mission variables on intergalactic jump. Updated Hypercargo compatibility code and Vortex compatibility code in light of a bug that showed up in Vortex version 1.11. This release compatible with Vortex 1.12.
Version 1.5 - 07/08/11 : Requires Oolite 1.75.1 or above. Added code to check that target system for any missions offered after release of slaves is not post Nova. Fixed minor bug that could rarely result in a cosmetic issue with the mission offer screens. Fixed minor bug that could rarely result in mission target not being cleared correctly.
Version 1.6 - 05/02/12 : Requires Oolite 1.76. Made JS strict mode compatible. Made Save Anywhere OXP compatible. Fixed bug in parsing of equipment.plist on mac systems. Reduced unnecessary missionVariable storage. Found and fixed several other minor bugs. One of special missions now uses Griff model for station if installed.
Version 1.7 - 19/4/12 : Requires Oolite 1.76. Added compatibility for New Cargoes 1.0.5 or above. Updated Compatibility for HyperCargo 1.06 or above and Vortex 1.23 and above in light of changes to those OXPs for New Cargoes compatibility. Vortex update includes bugfix that affected Maelstrom pilots only. Added optional compatibility for OXPConfig (v2.09 or above). Added detected contraband info to mission screens.
Version 1.7.1 - 28/4/12 : Requires Oolite 1.76. Raised compatibility limits for New Cargoes to 1.06 and HyperCargo to 1.07. Fixed some bugs in the special slaves mission set-up. Thanks to richard.a.p.smith for reporting.
Version 1.7.2 - 25/5/12: Requires Oolite 1.76. Update to maintain compatibility with HyperCargo version 1.08 and above. Continues to work with HyperCargo v1.07. Minor tweaks in preparation for Oolite 1.77. Raised compatibility limit for new Cargoes to 1.1.0.Fixed non-critical typo in missions script (thanks Switeck).
Version 1.7.3 - 30/5/12: Requires Oolite 1.76. Fixed minor bug introduced in last release. Thanks to Tricky for reporting.
Version 2.0.0 - 28/2/15: (Updated by phkb) Requires Oolite 1.80. Updated legacy code to use new functions and system populator. Updated slaver base shipdata.plist for 1.81 compatibility, added allegiance and markets, removed additional entry (because in 1.80 everything uses the cool griff models). Turned off arrival reports on slaver base, so, when you dock to rescue slaves, and you have a scooped escape pod, the police don't "magically" turn up to haul the prisoner away. Added interfaces to email system for general notifications (email system is not required, though), and added some data hooks for external referencing. When the slaver base is destroyed, a GNN news item will be shown (if Snoopers is installed). Small bug fixes, spelling corrections and cosmetic code layout changes.
Version 2.0.1 - 3/3/15: (Updated by phkb) Code improvements as suggested by wildeblood. Updated markSystem and unmarkSystem to use objects rather than system ID's only. Fixed bug with link to email system.
Version 2.0.2 - 6/5/15: (Updated by phkb) Removed TL99 from equipment, added a condition script instead, for better 1.82 compatibility. Added "has_npc_traffic" = no; to slaverbase, so it doesn't get NPC traffic
Version 2.0.3 - 7/3/15: (Updated by phkb) Fixed issue with Slaverbase getting accidentally destroyed by asteroid collisions.
Version 2.1.0 - 30/8/15: Made compatible with the Smugglers OXP, by limiting the goods IGT deals with to just slaves when both are installed.
Version 2.1.1 - 1/9/15: Minor text changes only.
Version 2.2.0 - 7/10/15: Made illegal goods check occur at any GalCop-aligned station, rather than just the main station. Better integration with Smugglers OXP (v0.5.0) - the screen when docking with slaves now looks like an Amnesty Intergalactic screen, rather than a GalCop Customs screen. If the player doesn't want to hand over the slaves to AI, they can chose to work with GalCop directly, at which point the Smugglers OXP will deal with the importation of illegal goods (slaves), and the player can attempt to bribe the docking officials if they choose.
Thanks to Thargoid for advice on the method to interact with another script/OXP's variables.
Thanks to Eric Walch for advice on avoiding conflicts with other OXPs, and Gimi for reporting the bug in version 1.2
Thanks to cim for making New Cargoes easy to interact with.
An additional acknowledgement can be found in spoilers.txt.
Thanks to all contributors to the thread on the Oolite BB for suggesting improvements to the original very basic idea.
Discussion topic can be found at Oolite BB
|2.2.0||2015-10-07||CC BY-NC-SA 3.0||Mechanics Missions||Mechanics OXPs||Capt. Murphy||Oolite BB|