Offender_traders.oxp now available
Moderators: winston, another_commander
- Commander McLane
- ---- E L I T E ----
- Posts: 9520
- Joined: Thu Dec 14, 2006 9:08 am
- Location: a Hacker Outpost in a moderately remote area
- Contact:
Offender_traders.oxp now available
A small alteration to the game mechanics, following a suggestion made by El Viejo:
Introduction
This OXP gives bounties to some of the normal trade ships in Oolite.
Overview
In unaltered Oolite traders added by the system populator are always clean. The player, however, gets marked as offender or fugitive for instance for hauling illicit commodities, or committing small violations.
On the other hand, quite a few traders do have illicit goods in their holds. Have they all scooped these goods, or bought them somewhere else than in the main station? Unlikely. This OXP attaches random bounties between 1 and 55 credits to some traders (currently 12% of all ordinary traders). It does nothing to non-traders, and it does nothing if the trader already has a bounty. Moray Medical Boats are excluded, because they're expected to legally carry narcotics.
The OXP does not change the cargo of ships with bounties. So they are not more likely to carry illicit commodities than without the OXP. It only attaches a random bounty to them and leaves it to the player's imagination how each single ship could have obtained its bounty.
Minimum Requirements
Offender_traders.oxp requires at least Oolite 1.74.
Download Location
This OXP is available for download via the Elite Wiki.
Enjoy!
Introduction
This OXP gives bounties to some of the normal trade ships in Oolite.
Overview
In unaltered Oolite traders added by the system populator are always clean. The player, however, gets marked as offender or fugitive for instance for hauling illicit commodities, or committing small violations.
On the other hand, quite a few traders do have illicit goods in their holds. Have they all scooped these goods, or bought them somewhere else than in the main station? Unlikely. This OXP attaches random bounties between 1 and 55 credits to some traders (currently 12% of all ordinary traders). It does nothing to non-traders, and it does nothing if the trader already has a bounty. Moray Medical Boats are excluded, because they're expected to legally carry narcotics.
The OXP does not change the cargo of ships with bounties. So they are not more likely to carry illicit commodities than without the OXP. It only attaches a random bounty to them and leaves it to the player's imagination how each single ship could have obtained its bounty.
Minimum Requirements
Offender_traders.oxp requires at least Oolite 1.74.
Download Location
This OXP is available for download via the Elite Wiki.
Enjoy!
- Cody
- Sharp Shooter Spam Assassin
- Posts: 16081
- Joined: Sat Jul 04, 2009 9:31 pm
- Location: The Lizard's Claw
- Contact:
Re: Offender_traders.oxp now available
Thanks McLane... I'll enjoy adding this to my game.
I would advise stilts for the quagmires, and camels for the snowy hills
And any survivors, their debts I will certainly pay. There's always a way!
And any survivors, their debts I will certainly pay. There's always a way!
- Mauiby de Fug
- ---- E L I T E ----
- Posts: 847
- Joined: Tue Sep 07, 2010 2:23 pm
Re: Offender_traders.oxp now available
Ooh, excellent! I hadn't realised this wasn't done in-game. A simple tweak for added immersion! Thanks!
Re: Offender_traders.oxp now available
Oh, yes, fine. Cannon fodder and 'cheap' cargo*.
Better exclude ships with custom scripts.-)
**mumbles something about whitewashed cheating*
Better exclude ships with custom scripts.-)
**mumbles something about whitewashed cheating*
- Cody
- Sharp Shooter Spam Assassin
- Posts: 16081
- Joined: Sat Jul 04, 2009 9:31 pm
- Location: The Lizard's Claw
- Contact:
Re: Offender_traders.oxp now available
I don't see it as that, Svengali... I have no need of cannon fodder, or cheap cargo. It's purely for immersion purposes, in my game.
Granted, some players may cash-in, I suppose, but 'whitewashed cheating'? Surely not.
Granted, some players may cash-in, I suppose, but 'whitewashed cheating'? Surely not.
I would advise stilts for the quagmires, and camels for the snowy hills
And any survivors, their debts I will certainly pay. There's always a way!
And any survivors, their debts I will certainly pay. There's always a way!
- Commander McLane
- ---- E L I T E ----
- Posts: 9520
- Joined: Thu Dec 14, 2006 9:08 am
- Location: a Hacker Outpost in a moderately remote area
- Contact:
Re: Offender_traders.oxp now available
I am a little worried about easy bounties, too. I think I may tinker with this aspect. Perhaps the bounty should usually be in the range of 1-15 credits, with only rare fugitives (51-55), and only ships with larger cargo space being eligible for higher bounties? Currently it's just a random value from 1-55 which makes for a higher average.Svengali wrote:Oh, yes, fine. Cannon fodder and 'cheap' cargo*.
Fair point. Seems a good way of excluding special OXP ships.Svengali wrote:Better exclude ships with custom scripts.-)
*****
I was toying with the idea of giving traders with bounties contraband as cargo, but decided against it. The biggest reason is that it would make things to complicated. Populator-added ships don't have cargo at all before they're killed. I would have to amend all ship scripts again, and add some cargopods in the
shipDied
-handler, depending on bounty. I don't want to go this way with every OXP. Also, I don't want additional cargo, but rather to determine a general chance for the spawned cargo to be one of the illicit commodities. And I want it on-the-fly, without creating shipdata. I think that's way to ambitious for a small adding-to-immersion OXP.Therefore the cargo created for offender traders is still purely random. I think that's fine and doesn't break immersion. After all they will have illicit goods sometimes, and if they don't, you can easily explain that the cargo got destroyed in the explosion. After all, it's always only a fraction of the ship's total cargo which survives the blast.
All this OXP wants is give an option for the player who is wondering why he is the only one ever becoming offender after launching from a main station with illicit commodities aboard.
- Commander McLane
- ---- E L I T E ----
- Posts: 9520
- Joined: Thu Dec 14, 2006 9:08 am
- Location: a Hacker Outpost in a moderately remote area
- Contact:
Re: Offender_traders.oxp now available
Okay, proposed new bounty calculation:
So ships with custom scripts are excluded. The bounty is limited to 1-12. Only for 20% of the ships with more than 75 tons capacity it will be from 44-55.
Does that sound more reasonable?
Code: Select all
this.shipSpawned = function(ship)
{
if((ship.primaryRole === "trader" || ship.primaryRole === "sunskim_trader") && ship.script.name === "oolite-default-ship-script" && ship.name !== "Moray Medical Boat" && ship.bounty === 0 && Math.random() < 0.12)
{
ship.bounty = Math.ceil(Math.random() * 12);
if(PS.target.cargoSpaceCapacity > 75 && Math.random() < 0.2)
{
ship.bounty += 43;
}
}
}
Does that sound more reasonable?
Re: Offender_traders.oxp now available
Yes, it does. Still, I find the idea great.Commander McLane wrote:Okay, proposed new bounty calculation:So ships with custom scripts are excluded. The bounty is limited to 1-12. Only for 20% of the ships with more than 75 tons capacity it will be from 44-55.Code: Select all
this.shipSpawned = function(ship) { if((ship.primaryRole === "trader" || ship.primaryRole === "sunskim_trader") && ship.script.name === "oolite-default-ship-script" && ship.name !== "Moray Medical Boat" && ship.bounty === 0 && Math.random() < 0.12) { ship.bounty = Math.ceil(Math.random() * 12); if(PS.target.cargoSpaceCapacity > 75 && Math.random() < 0.2) { ship.bounty += 43; } } }
Does that sound more reasonable?
Re: Offender_traders.oxp now available
Yep! Muchas gracias .-)Commander McLane wrote:Does that sound more reasonable?
-
- Above Average
- Posts: 22
- Joined: Thu Mar 10, 2011 8:24 pm
Re: Offender_traders.oxp now available
Maybe make high-bounty ships more likely to have escorts (or vice versa)?
- Eric Walch
- Slightly Grand Rear Admiral
- Posts: 5536
- Joined: Sat Jun 16, 2007 3:48 pm
- Location: Netherlands
Re: Offender_traders.oxp now available
Actually has every ship with the string "Medical" in the ship name has narcotics on board. Assuming they all carry it legally, you should probably include them all by changingCommander McLane wrote:Moray Medical Boats are excluded, because they're expected to legally carry narcotics.
Code: Select all
ship.name !== "Moray Medical Boat"
Code: Select all
ship.name.search("Medical") === -1
UPS-Courier & DeepSpacePirates & others at the box and some older versions
- Cmdr Wyvern
- ---- E L I T E ----
- Posts: 1649
- Joined: Tue Apr 11, 2006 1:47 am
- Location: Somewhere in the great starry void
Re: Offender_traders.oxp now available
If a trader captian was stupid enough to load contraband, then he deserves an offender tag.
But not all offender tags are earned by hauling illegal cargo - it's just as easy to be branded an offender or worse by accidently shooting a Viper. No such thing as friendly fire in the eyes of Johnny Law...
But not all offender tags are earned by hauling illegal cargo - it's just as easy to be branded an offender or worse by accidently shooting a Viper. No such thing as friendly fire in the eyes of Johnny Law...
Running Oolite buttery smooth & rock stable w/ tons of eyecandy oxps on:
ASUS Prime X370-A
Ryzen 5 1500X
16GB DDR4 3200MHZ
128GB NVMe M.2 SSD (Boot drive)
1TB Hybrid HDD (For software and games)
EVGA GTX-1070 SC
1080P Samsung large screen monitor
ASUS Prime X370-A
Ryzen 5 1500X
16GB DDR4 3200MHZ
128GB NVMe M.2 SSD (Boot drive)
1TB Hybrid HDD (For software and games)
EVGA GTX-1070 SC
1080P Samsung large screen monitor
- Commander McLane
- ---- E L I T E ----
- Posts: 9520
- Joined: Thu Dec 14, 2006 9:08 am
- Location: a Hacker Outpost in a moderately remote area
- Contact:
Re: Offender_traders.oxp now available
Are there more ships with 'Medical' in their name? The only medical ship I can remember off the top of my head is Amen Brick's 'Hospitalship', which ironically doesn't have 'Medical' in its name.Eric Walch wrote:Actually has every ship with the string "Medical" in the ship name has narcotics on board. Assuming they all carry it legally, you should probably include them all by changingCommander McLane wrote:Moray Medical Boats are excluded, because they're expected to legally carry narcotics.intoCode: Select all
ship.name !== "Moray Medical Boat"
Code: Select all
ship.name.search("Medical") === -1
Anyway, as it's an easy code change, it's done (and I corrected the bug from c&p'ing from the console, in case anybody noticed). Version 1.1 will be up soon.
- Commander McLane
- ---- E L I T E ----
- Posts: 9520
- Joined: Thu Dec 14, 2006 9:08 am
- Location: a Hacker Outpost in a moderately remote area
- Contact:
Re: Offender_traders.oxp now available
Done.Commander McLane wrote:Version 1.1 will be up soon.
Re: Offender_traders.oxp now available
An idea to consider... sunskim_trader ships are probably MORE likely to be offenders or fugitives. Most are certainly trying to get clean "off the radar" without causing a disruption by avoiding fights with bounty hunters and police ships. I'm assuming all but the most foolish have some smarts to them -- a trader with a fugitive rating going straight down the middle of the space lane to the main station is just BEGGING someone to attack them, not even having protection from "fellow pirates". (no honor among thieves! )
So only minor offenders and really dumb(tm) offender traders are likely to do that.
For them, you could change their offender calculation to something like this:
ship.bounty = Math.ceil(Math.random() * Math.random() * 55);
In theory, a bounty of 55 would still be possible, but it will be very unlikely...as Math.random() would have to be ~0.991-1 two times in a row. There's quite a few math tricks to generate "weighted curve" results.
We can assume these offender traders have already done at least 1 jump, so even the sunskim_trader ships have a lower max bounty than run-of-the-mill pirates. But if you want, you could raise their bounty and use a double Math.random() for them as well.
Since the detection rate (via scanForOffenders in AI.plist) and "lawlessness" of systems also depends on the system's government type, it might be possible to increase/decrease the bounties based on that...and even have a higher proportion of sunskim_trader ships have a bounty in Corporate States -- and far fewer regular traders with a bounty...at least not for long. In Anarchy systems they just don't care, because what few bounty hunters and police ships are around only attack if you're attacking other ships. Random Hits Space Bar bounty hunters might be an exception to that though...but it's usually not situated directly on the main space lane.
In my Switeck Mod OXP, the AI profiles for enteringPirateAI.plist, enteringTraderAI.plist, pirateAI.plist, and route1traderAI.plist try to change over to more appropriate AI types based on their bounty values. Check hold (checkForFullHold) doesn't work very well on newly spawned ships, so I didn't use that as well.
So only minor offenders and really dumb(tm) offender traders are likely to do that.
For them, you could change their offender calculation to something like this:
ship.bounty = Math.ceil(Math.random() * Math.random() * 55);
In theory, a bounty of 55 would still be possible, but it will be very unlikely...as Math.random() would have to be ~0.991-1 two times in a row. There's quite a few math tricks to generate "weighted curve" results.
We can assume these offender traders have already done at least 1 jump, so even the sunskim_trader ships have a lower max bounty than run-of-the-mill pirates. But if you want, you could raise their bounty and use a double Math.random() for them as well.
Since the detection rate (via scanForOffenders in AI.plist) and "lawlessness" of systems also depends on the system's government type, it might be possible to increase/decrease the bounties based on that...and even have a higher proportion of sunskim_trader ships have a bounty in Corporate States -- and far fewer regular traders with a bounty...at least not for long. In Anarchy systems they just don't care, because what few bounty hunters and police ships are around only attack if you're attacking other ships. Random Hits Space Bar bounty hunters might be an exception to that though...but it's usually not situated directly on the main space lane.
In my Switeck Mod OXP, the AI profiles for enteringPirateAI.plist, enteringTraderAI.plist, pirateAI.plist, and route1traderAI.plist try to change over to more appropriate AI types based on their bounty values. Check hold (checkForFullHold) doesn't work very well on newly spawned ships, so I didn't use that as well.