Join us at the Oolite Anniversary Party -- London, 7th July 2024, 1pm
More details in this thread.

RFC: Bounties and Galcop law

General discussion for players of Oolite.

Moderators: another_commander, winston

User avatar
Disembodied
Jedi Spam Assassin
Jedi Spam Assassin
Posts: 6882
Joined: Thu Jul 12, 2007 10:54 pm
Location: Carter's Snort

Re: RFC: Bounties and Galcop law

Post by Disembodied »

cim wrote:
Disembodied wrote:
Does GalCop accept distress calls from Offender NPCs when they're attacked by Clean players?
No. Only distress calls from Clean ships are actually accepted by the police, so this bit works as you expect already.
OK, thanks ... that will alter my behaviour next time I see an Offender inside the aegis! :twisted:
Switeck
---- E L I T E ----
---- E L I T E ----
Posts: 2412
Joined: Mon May 31, 2010 11:11 pm

Re: RFC: Bounties and Galcop law

Post by Switeck »

SandJ wrote:
Switeck wrote:
As for using an escape pod or Galactic Hyperspace, both should reduce your bounty...but by how much is worthy of debate. I think it would be fair if both Escape Pod use and Gal. Hyper. removed 50 from the bounty.
That I do not understand. I can see the argument for them staying the same (although I disagree with it) and I can see why they could be eliminated, but why would or should either of those things reduce your bounty?
Simple -- you get a bounty reduction for making regular hyperspace jumps, so the Galactic Hyperspace is an EXTREME form of that...but perhaps not so extreme as to merit resetting your bounty to 0 if it's >50.

Escape Pod use loses your ship's id and presumably the "punishment" for having a bounty is paid in part by the loss of your cargo and escape pod. But this way it won't be an instant get-out-of-jail-free if your bounty was >50.
cim wrote:
Switeck wrote:
"F - entered new system (halved)"

I know this is a core tenant of the game, but it feels broken as well.
Commander McLane's [wiki]Anarchies OXP[/wiki] modifies this in (roughly) the way you suggest, and also removes the clearance from using escape pods.
Switeck wrote:
Please make the bounty reduction done by regular hyperspace jumps ONLY when entering a new non-interstellar system
This has been the case since 1.76 (and possibly in some of the 1.75 versions)
Switeck wrote:
and have that done during the this.shipExitedWitchspace = function()
It currently takes place just before the shipWillExitWitchspace handler is called - what's the exploit if it's not moved later?
I'm aware of CML's Anarchies OXP. I'm asking for core Oolite be changed. No big deal if it's not, just it feels broken almost-an-exploit to me.

The problem with doing the bounty reduction just before the shipWillExitWitchspace handler is called is under special conditions the game can't tell that it's NOT about to emerge from witchspace and that handler can get called multiple times in a row for additional bounty reductions. I can elaborate more on those special conditions in a PM if you wish, discussing it here could derail the thread. I've seen my bounty drop from >100 credits to clean via 1 hyperspace animation tunnel and less than 2 hours time passed as a result.
User avatar
Wildeblood
---- E L I T E ----
---- E L I T E ----
Posts: 2290
Joined: Sat Jun 11, 2011 6:07 am
Location: Western Australia

Re: RFC: Bounties and Galcop law

Post by Wildeblood »

Switeck wrote:
The problem with doing the bounty reduction just before the shipWillExitWitchspace handler is called is under special conditions the game can't tell that it's NOT about to emerge from witchspace and that handler can get called multiple times in a row for additional bounty reductions. I can elaborate more on those special conditions in a PM if you wish, discussing it here could derail the thread. I've seen my bounty drop from >100 credits to clean via 1 hyperspace animation tunnel and less than 2 hours time passed as a result.
I'm assuming your "special conditions" is a euphemism for scripting chains of wormholes to guide the player ship to a specific destination? In which case it's the scripter's responsibility to store and restore/adjust the bounty before and after.
Switeck
---- E L I T E ----
---- E L I T E ----
Posts: 2412
Joined: Mon May 31, 2010 11:11 pm

Re: RFC: Bounties and Galcop law

Post by Switeck »

Wildeblood wrote:
I'm assuming your "special conditions" is a euphemism for scripting chains of wormholes to guide the player ship to a specific destination? In which case it's the scripter's responsibility to store and restore/adjust the bounty before and after.
Yes, pretty much. :mrgreen:
User avatar
SandJ
---- E L I T E ----
---- E L I T E ----
Posts: 1048
Joined: Fri Nov 26, 2010 9:08 pm
Location: Help! I'm stranded down here on Earth!

Re: RFC: Bounties and Galcop law

Post by SandJ »

Switeck wrote:
Wildeblood wrote:
I'm assuming your "special conditions" is a euphemism for scripting chains of wormholes to guide the player ship to a specific destination? In which case it's the scripter's responsibility to store and restore/adjust the bounty before and after.
Yes, pretty much. :mrgreen:
But if the bounty is halved with each jump, and this chain of wormholes is a device for making a series of jumps automatically, then isn't it valid that it would effectively eliminate one's bounty as a bonus?

Edit: What follows is a load of old toffee, since I mixed up hours and days. I need to spend less time posting crud on here and more time playing the game.

The real problem is that the reduction in bounty is linked to jumps. I suspect that is a work-around for an intended decay of bounty by elapsed time. If one's bounty is based on time, then the handwavium becomes easier to comprehend "A bounty is a time-bound punishment; keep your nose clean and it goes away with time.") Then a 7 LY jump (49 days) would have more effect one one's bounty than a 2 LY jump (4 days). So, the further one jumps from a system, the more one's bounty goes down, which kind of "feels" right.

A reduction in one's bounty of the 49th root of 0.5 per day (= multiplied by 0.985853) would have a similar effect.

That is, if each midnight one's bounty goes down by 1.5%, after about 46 days ones bounty will be halved.

Perhaps, making the rule "Ones bounty goes down by 2% per day" would be a good compromise; it would halve every 35 days (5 weeks) which equates to a 5.8 LY jump. So a reasonable length jump will halve one's bounty - and require one to get more fuel - whereas a 1.2 LY jump will have hardly any effect at all and would need to be done over 20 times to get the same reduction in bounty.

A side effect of a time-based bounty reduction is that buying expensive equipment, while docked, will also erode the bounty slightly as the time passes when equipment is installed. But you can't break many laws if you stay docked anyway!
Last edited by SandJ on Mon Jul 16, 2012 5:43 pm, edited 1 time in total.
Flying a Cobra Mk I Cobbie 3 with nothing but Explorers Club.OXP and a beam laser 4 proper lasers for company :D
Dropbox referral link 2GB of free space online + 500 Mb for the referral: good for securing work-in-progress.
User avatar
Wildeblood
---- E L I T E ----
---- E L I T E ----
Posts: 2290
Joined: Sat Jun 11, 2011 6:07 am
Location: Western Australia

Re: RFC: Bounties and Galcop law

Post by Wildeblood »

SandJ wrote:
The real problem is that the reduction in bounty is linked to jumps. I suspect that is a work-around for an intended decay of bounty by elapsed time.
And the rest of what SandJ wrote. Put him* in charge of this aspect of Oolite.

* or her, or them?
User avatar
cim
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 4072
Joined: Fri Nov 11, 2011 6:19 pm

Re: RFC: Bounties and Galcop law

Post by cim »

SandJ wrote:
The real problem is that the reduction in bounty is linked to jumps. I suspect that is a work-around for an intended decay of bounty by elapsed time. If one's bounty is based on time, then the handwavium becomes easier to comprehend "A bounty is a time-bound punishment; keep your nose clean and it goes away with time.") Then a 7 LY jump (49 days)
49 hours.

I think of them as attempts to simulate with one number both space and time related bounties. Go well away from the scene of the crime and unless you were particularly notorious it won't have been filed out here. (Galactic jumps being a special case of this) Come back later and, well, Galcop's bounty budget is limited, so they've reassigned your bounty to more active criminals in the sector.

Now that in Oolite jumps take a specified amount of time, the clock is displayed, and jump times are non-linear, it's easy to find a loophole in that.
SandJ wrote:
That is, if each midnight one's bounty goes down by 1.5%, after about 46 days ones bounty will be halved.
Bounties are integer maths, so there will also be a minimum reduction of 1. If you're applying relatively small and frequent cuts this will trim the bounty quite fast.

Probably the easiest way to implement this would just be to halve at each midnight (24 hours ~ 4.9LY). Easy enough to do in an OXP, though it reminds me that I intended to stick a "newDay" world script event in to save messing around with timers or similar.
User avatar
Pleb
---- E L I T E ----
---- E L I T E ----
Posts: 908
Joined: Sun Apr 29, 2012 2:23 pm
Location: United Kingdom

Re: RFC: Bounties and Galcop law

Post by Pleb »

El Viejo wrote:
Disembodied wrote:
Maybe there needs to be a new AI? A "fullPirate" or something? Flies like a trader, responds to attack like a pirate?
Second that!
I have in my game a modified version of the AI from total patrol that mixes elements of the Police AI from this OXP with that of the stock Pirate AI so that Pirates will fly around rather than lurk in areas waiting for people. Seems to increase the chances of encountering Pirates even more so, especially when Deep Space Pirates is also installed.
Desktop PC: CPU: Intel i7-4790K Quad Core 4.4GHz (Turbo-Charged) GPU: Nvidia GeForce GTX 1080Ti RAM: 32GB DDR3

Laptop PC: CPU: Intel i5-10300H Quad Core 4.5GHz (Turbo-Charged) GPU: Nvidia GeForce GTX 1650 RAM: 32GB DDR4
User avatar
cim
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 4072
Joined: Fri Nov 11, 2011 6:19 pm

Re: RFC: Bounties and Galcop law

Post by cim »

Wildeblood wrote:
I know the bounties you get for attacking police are very broken. If you accidentally ping a police ship with your laser, your best course of action is then to turn arsehole and finish it off cold-bloodedly, because your bounty doesn't increase after the first accidental hit, but if you don't finish it off it will chase you remorselessly. That's broken. Unless the design intention is to lure the player into a life of crime. (In which case, why the rapidly decaying bounties?)
This is a tricky one. There's no way with bitwise OR to split a bounty of 64 credits into smaller bounties, so if destroying a police ship was kept at 64 (which seems reasonable to guarantee instant fugitive status and to make it quite likely that they'll still be a fugitive after one halving) making the bounty for attacking the police smaller than 64 would make the resulting bounty for destroying the police larger.

That's perhaps not a bad thing, of course.
El Viejo wrote:
Disembodied wrote:
Maybe there needs to be a new AI? A "fullPirate" or something? Flies like a trader, responds to attack like a pirate?
Second that!
Probably if offenders didn't actually make distress calls in the first place, you wouldn't notice the difference between a "fullPirate" and an Offender trader (until it started dumping cargo while under attack, which doesn't seem unreasonable for the occasional desperate pirate with a full hold).

Since no-one listens to offenders calls anyway (except the player, who is usually the one doing the shooting in this scenario), it shouldn't make any difference to suppress them.
User avatar
Disembodied
Jedi Spam Assassin
Jedi Spam Assassin
Posts: 6882
Joined: Thu Jul 12, 2007 10:54 pm
Location: Carter's Snort

Re: RFC: Bounties and Galcop law

Post by Disembodied »

cim wrote:
This is a tricky one. There's no way with bitwise OR to split a bounty of 64 credits into smaller bounties, so if destroying a police ship was kept at 64 (which seems reasonable to guarantee instant fugitive status and to make it quite likely that they'll still be a fugitive after one halving) making the bounty for attacking the police smaller than 64 would make the resulting bounty for destroying the police larger.

That's perhaps not a bad thing, of course.
Might it be possible to make the first X amount of damage inflicted by a player on a police ship (where X is a suitably small number) result in a broadcast warning along the lines of "{playerShip}, hold your fire, dammit!", "{playerShip}, are you blind? Press that trigger again and you're vapour!", "Back off, {playerShip}! This is your first and final warning!", etc., so that accidental hits don't immediately result in e.g. the Viper breaking off from attacking the Thargoid you were both shooting at, and attacking you instead?
cim wrote:
Probably if offenders didn't actually make distress calls in the first place, you wouldn't notice the difference between a "fullPirate" and an Offender trader (until it started dumping cargo while under attack, which doesn't seem unreasonable for the occasional desperate pirate with a full hold).

Since no-one listens to offenders calls anyway (except the player, who is usually the one doing the shooting in this scenario), it shouldn't make any difference to suppress them.
I think a "fullPirate" should stick up for themselves a bit more ... mind you, so should some traders. Maybe there could be an "aggressiveTrader" AI that fights back? "fullPirates" could use the same AI ... combined with some rear lasers it could make player piracy less of a turkey shoot.
User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 16064
Joined: Sat Jul 04, 2009 9:31 pm
Location: The Lizard's Claw
Contact:

Re: RFC: Bounties and Galcop law

Post by Cody »

If there was a fullPirate AI, it should avoid main stations like the plague - rock hermits or a jump-out should be the only options.
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!
Switeck
---- E L I T E ----
---- E L I T E ----
Posts: 2412
Joined: Mon May 31, 2010 11:11 pm

Re: RFC: Bounties and Galcop law

Post by Switeck »

Disembodied wrote:
Maybe there could be an "aggressiveTrader" AI that fights back? "fullPirates" could use the same AI ... combined with some rear lasers it could make player piracy less of a turkey shoot.
Switeck's Shipping has uncommon but very aggressive traders that go out of their way to attack pirates. There are other AI.plist templates, but none suitable yet for "fullPirates" that wander around the space lanes looking for victims.
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Re: RFC: Bounties and Galcop law

Post by JensAyton »

cim wrote:
This is a tricky one. There's no way with bitwise OR to split a bounty of 64 credits into smaller bounties
Of course, the bitwise OR thing is a hacky optimization for eight-bit systems. It might be more reasonable to use an add-with-cap approach (e.g. a general rule that increasing the bounty by x can never raise it above 2x). I don’t feel strongly about this, but I thought it should be on the table.
User avatar
cim
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 4072
Joined: Fri Nov 11, 2011 6:19 pm

Re: RFC: Bounties and Galcop law

Post by cim »

El Viejo wrote:
If there was a fullPirate AI, it should avoid main stations like the plague - rock hermits or a jump-out should be the only options.
The ones generally seen acting like traders are the ones without a witchdrive in the first place (well, or the ones you follow to another system, but sooner or later they'll run out of fuel), and there's no guarantee of a rock hermit existing.

I suppose that could be changed: stick a rock hermit in all systems at coordinates well away from the sun-planet-witchpoint plane - the only reliable way to find it is to wait for a pirate to get full, and see which way they start heading. Of course, rock hermits are very profitable for trading, so guaranteeing one is perhaps too unbalancing there. (Though less unbalancing than the average OXP station...)
Disembodied wrote:
Might it be possible to make the first X amount of damage inflicted by a player on a police ship (where X is a suitably small number) result in a broadcast warning
Easiest would probably be to tie this in to the "change target" routine. The police ship won't necessarily immediately attack the player (or another ship - I'd rather not have this be player-only) if they're already fighting something else. So they can broadcast a warning if they don't start going for their attacker.

If they aren't fighting something else, they'll always start attacking, and how many shots they'll take before getting annoyed is random (so no bored pilots firing the legally permitted number of shots at every Viper that goes past)
Disembodied wrote:
I think a "fullPirate" should stick up for themselves a bit more ... mind you, so should some traders. Maybe there could be an "aggressiveTrader" AI that fights back?
Traders and full pirates already fight back, don't they? Sure, they start running when their energy gets low, but almost everyone does that. The main problem I see with traders against player piracy is that very few trade ships can take a full military laser blast, and that's quick enough that their escorts don't have time to react. The trader gets no advance warning of player attack, and the player won't be dissuaded by a missile that's still 20km away...

Interestingly, traders (and full pirates) will only dump cargo in that situation if it's the player targeting them. I'll experiment with changing that locally, I think.
User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 16064
Joined: Sat Jul 04, 2009 9:31 pm
Location: The Lizard's Claw
Contact:

Re: RFC: Bounties and Galcop law

Post by Cody »

cim wrote:
... the ones you follow to another system, but sooner or later they'll run out of fuel, and there's no guarantee of a rock hermit existing.
Maybe they could sunskim if there are no rock hermits and they need fuel? I like the idea of a rock hermit in every system, well away from the sun-planet-witchpoint plane, btw (I'd expect them to be everywhere, anyway), but agree that it could be a little unbalancing - maybe.
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!
Post Reply