Page 1 of 9

{UPDATED RELEASE}-Illegal Goods Tweak v1.7.3(30/5/12)

Posted: Thu Mar 24, 2011 5:51 pm
by Capt. Murphy
Following on from some of my thoughts in this thread https://bb.oolite.space/viewtopic.php?f=6&t=9489, I've made my first OXP, now at version 1.7.3
Illegal Goods Tweak version 1.7.3 (30/05/12)
By Capt Murphy 2012
Licence: CC BY-NC-SA 3.0
Requires Oolite version 1.76

Description:

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 it's 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 info.

This OXP does not interfere with the treatment of scooped escape pods, although they do appear in the manifest as slaves. Oolite automatically removes slaves from scooped escape pods from the manifest, and pays appropriate bounty/insurance payments before this OXP runs.

Compatibility Information.

This release introduces compatibility with New Cargoes OXP (1.1.0 or above) and it's 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 it's permit system.

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:

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 added 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. Random Hit's Seedy Space Bars).

This allows for some very lucrative trading opportunities in illegal commodities from OXP dockables to main stations with no impact on the players legal status. This OXP goes someway 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.


Change Log:

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 OXP's. 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 16/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 on withupdating 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.0.6 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.

Acknowledgements:

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 OXP's, 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.
Current version 1.7.3 can be found at http://www.box.com/s/tc5aduvectp1gisnfpoq

Re: {RELEASE} - Illegal Goods Tweak.oxp

Posted: Thu Mar 24, 2011 6:05 pm
by Pluisje
Nice tweak, although I think some will disagree. I might delete the slave entry if it gives me a penalty for scooping an escape craft and docking with a main station.

Edit: OK, I like it, I just docked at a constore and didn't buy the 6 tons of narcotics they had. This OXP rids my Ooniverse of a no-brainer, no-risk money-scheme.

Re: {RELEASE} - Illegal Goods Tweak.oxp

Posted: Thu Mar 24, 2011 6:31 pm
by lave
Nice OXP.

But like Pluisje said, if you scoop an escape pod you could still get a penalty just for being helpful.

Usally, if I scoop a cargo pod with illegal goods in it, I just jetisen it again. I actually shoot the cargo pod if it contains firearms or drugs. If it is slaves then I just leave it floating.

Re: {RELEASE} - Illegal Goods Tweak.oxp

Posted: Thu Mar 24, 2011 6:44 pm
by CheeseRedux
Capt. Murphy wrote:
Riedquat
Fixed that for you.

Re: {RELEASE} - Illegal Goods Tweak.oxp

Posted: Thu Mar 24, 2011 6:57 pm
by Capt. Murphy
Thanks CheeseRedux....

How about a little mission screen offered when docking with illegals in the hold? Allowing the player to turn over the goods to the authorities. If the player says yes the penalty is not applied and they get a very nominal bounty payment for the goods?

Re: {RELEASE} - Illegal Goods Tweak.oxp

Posted: Thu Mar 24, 2011 7:10 pm
by TGHC
I like the concept of this OXP a lot. I guess if you take out a pirate (or by accident an honest trader.....oops) and you scoop up illegal goods, well I guess it's a concequence you have to live with. As far as slaves in escape pods are concerned, well they should be grateful to be rescued, I have to admit that most escape pods I scoop are there because of me in the first place.
With balance there is always counter balance, someone will make an OXP that identifies the contents of scoopable objects :wink:

Re: {RELEASE} - Illegal Goods Tweak.oxp

Posted: Thu Mar 24, 2011 7:15 pm
by Smivs
Yes, nice idea, but like the others I'm not sure about the slaves...bit of a bugger to be penalised for rescueing somebody/thing.

Re: {RELEASE} - Illegal Goods Tweak.oxp

Posted: Thu Mar 24, 2011 7:18 pm
by CheeseRedux
You could set the "legal" price of the illegal good at - or just above - the minimum Main Station price. That way you still get paid for stuff you pick up in flight, while making it all but impossible to make a profit bringing in illegals from non-main stations without getting a criminal record.

And when it comes to the slaves bit: It should be illegal to jettison slaves under any circumstance. The moral obligation to bring a live sentient to safety ought to be a legal one as well.

Re: {RELEASE} - Illegal Goods Tweak.oxp

Posted: Thu Mar 24, 2011 9:22 pm
by Switeck
You could give up the contraband and NOT get a legal bounty hit, but just reducing the bounty hit is unfair.
Escape pods should not be counted, as these are automatically converted into rewards for rescue or bounty already.

Re: {RELEASE} - Illegal Goods Tweak.oxp

Posted: Thu Mar 24, 2011 9:55 pm
by Gimi
I like this concept, but like quite a few others here, I think this needs to be more specific and detailed to work well.
In my view the OXP would need the following functionality or something similar:
  • Penalty levels are, in my view, about right.
    Narcotics and firearms bought and sold should give a penalty.
    An offer to surrender scoped cargo for a nominal reward should be available. (Narcotics and firearms only).
    Slaves bought and sold should give a penalty.
    Slaves scoped, if sold, gives a penalty.
    Alternatively scoped slaves can be set free, which in rear cases can give a random but substantial reward from the family.
    Escape pods should be exempt from the OXP, as they are already handled in an OK way with insurance and Galcop taking care of pirates.
    Finally, additional commodities could be made illegal, and/or firearms/slaves/narcotics could be made legal on a per system basis allowing behaviour that fits with planet descriptions etc.

Re: {RELEASE} - Illegal Goods Tweak.oxp

Posted: Thu Mar 24, 2011 11:11 pm
by Commander McLane
lave et al. wrote:
if you scoop an escape pod you could still get a penalty just for being helpful.
This is easily fixed by replacing the shipDockedWithStation handler with the reportScreenEnded handler. This fires after the last report screen, when all 'slaves' from scooped escape pods have already left your cargo hold.

(It's not completely foolproof, because there still may be the occasional escape pod without a character in it; for these pods you get neither insurance money nor bounty, they are treated exactly like bought slaves.)

Re: {RELEASE} - Illegal Goods Tweak.oxp

Posted: Thu Mar 24, 2011 11:18 pm
by Commander McLane
Another issue: Please don't put the readme inside the OXP. This way you make it invisible for Mac users.

The better way is to create another folder in which you put the OXP alongside its readme, and then zip this wrapping folder.

Re: {RELEASE} - Illegal Goods Tweak.oxp

Posted: Fri Mar 25, 2011 6:18 am
by Capt. Murphy
Thanks for all the feedback. I'm getting my head around the mission screen scripting and will hopefully have version 1.1 ready in a few days (RL allowing), which will give the option of turning over goods to the authorities which will avoid penalties and give a small reward (CheeseRedux - that's the kind of level I was thinking off - higher reward for releasing slaves but still not quite the commercial rates).

I'll then look at Gimi's suggestion of very occasional greater awards for releasing a previously anonymous 'celebrity' slave. I'm thinking of this as a mini mission, a few days after releasing some slaves there is a small chance of a Snoopers broadcast giving the great news that for example Princess 'blah-blah' has been released from slavery. The Royal Family of 'xxx' would like to thank in person her rescuer Commander 'xxx' and would appreciate it if he would visit System 'yyy'.

It's not my intention to alter the behaviour of scooped pods. But I've only ever scooped Pirates and am pretty sure they don't count as Slaves in the hold and you get the bounty message when docked which I don't want to change. But what happens if the scooped pod is from a Clean ship? Do they contain a character or are they added to the hold as Slaves? I suppose I could go on a pirating spree and find out.......

Re: {RELEASE} - Illegal Goods Tweak.oxp

Posted: Fri Mar 25, 2011 7:41 am
by Commander McLane
Capt. Murphy wrote:
It's not my intention to alter the behaviour of scooped pods. But I've only ever scooped Pirates and am pretty sure they don't count as Slaves in the hold and you get the bounty message when docked which I don't want to change. But what happens if the scooped pod is from a Clean ship? Do they contain a character or are they added to the hold as Slaves? I suppose I could go on a pirating spree and find out.......
You get the insurance message when docked, along the lines of "you have rescued XY, and their insurance pays you Z credits".

The rule is simple:

pod from non-clean ship: bounty
pod from clean ship: insurance money

(Since 1.75 Oolite handles two mixed cases as well, where part of the insurance money is used to bribe the local authorities in order to get a non-clean pilot free, or a seemingly clean pilot is taken into custody anyway.)

In any case they don't end up as slaves. Only pods without a character in them do.

Re: {RELEASE} - Illegal Goods Tweak.oxp

Posted: Fri Mar 25, 2011 10:35 am
by Fatleaf
But now and then when you scoop a pod the message reads "you have scooped/captured a slave" and when they register as 1 ton of slaves in your hold.