[WIP] Bounty system OXP

Discussion and information relevant to creating special missions, new ships, skins etc.

Moderators: another_commander, winston

Rustem
Deadly
Deadly
Posts: 170
Joined: Mon May 25, 2015 5:23 pm
Location: Russia

Re: Bounty changes

Post by Rustem »

phkb wrote:
Here's a question for those who are interested:

....

So, first off, is that a good idea? If so, would it be a 1-for-1 propagation? ie. Democracy to democracy, Anarchy to Anarchy, but never Democracy to Corp State. Or would there be some cross-over between some government types? eg Confeds, Democracy and Corp States share offender info, Dictatorships and Multi-Govs (maybe)? Would Anarchies share with anyone, even other Anarchies? So many options.

Also, would there be a distance limitation for such an arrangement? So, a democracy might share offender info with other democracies within a 15/20 LY radius, but they don't care about democracies on the other side of the chart.

Thoughts?
Draft calculate distance and time for scannering:

Zip-achive: https://drive.google.com/file/d/0B9bGdq ... sp=sharing

There's released 2 version of mechanic distribution (Table A).
User avatar
phkb
Impressively Grand Sub-Admiral
Impressively Grand Sub-Admiral
Posts: 4653
Joined: Tue Jan 21, 2014 10:37 pm
Location: Writing more OXPs, because the world needs more OXPs.

Re: Bounty changes

Post by phkb »

Thanks rustem! That's quite an impressive amount of number-crunching! After posting my question, though, I've been rethinking some of the logic based on who is actually charging the player with offenses, and who holds the criminal database. My conclusion is that, because GalCop is the authority in question, that local government would not come into play. Transmission of the criminal database would be through GalCop's system network, and not dependent on any local government systems. So I'm leaning towards just having a simple range factor on severity 1 crimes, probably at around 15ly. That means you can run away from sev 1 crimes, but they could still end up being active in the current system if you haven't run far enough. But thank you for spending the time on the spreadsheet. It's encouraging to know that there are players so interested in the outcome of this OXP!
User avatar
phkb
Impressively Grand Sub-Admiral
Impressively Grand Sub-Admiral
Posts: 4653
Joined: Tue Jan 21, 2014 10:37 pm
Location: Writing more OXPs, because the world needs more OXPs.

Re: [WIP] Bounty changes

Post by phkb »

Version 0.2.0 of the Bounty System is now available for testing. When this OXP is installed, bounties will be persistent (ie. they won't degrade over time) and they will stick to you like glue, regardless of where you go or what you do (no more buying a new ship or using an escape pod to clear your bounties). However, your crimes will not follow you by default. Crimes committed in other systems will only become visible in the current system if you are scanned with a Warrant Scanner.

There are three levels of crimes:
Severity 1: This is for things like smuggling goods, or attempting to bribe a GalCop station official. These crimes are applicable within a 5LY range of the original offence.
Severity 2: This is for things like attacking the main station, or firing on an innocent ship within sight of a police ship. These crimes are applicable across the chart the offence was committed in.
Severity 3: This is for things like killing another pilot. These crimes are applicable in every system and across all charts.

Crimes will become visible in the current system if you are scanned by another vessel with the Warrant Scanner. All police ships, and most bounty hunters, can be equipped with the Warrant Scanner. When another ship has started scanning your ship, a notice will appear in the message log.

You can purchase a Warrant Scanner for yourself at any techlevel 7 system or higher. It can operate in two modes: MFD Mode (which will use a spare MFD slot to display scanning messages), or Non-MFD mode (which will output scanning messages to the message log). To switch between modes, prime the equipment and press the "b" (mode) key. If no MFD slot is available, the mode will automatically switch to Non-MFD.

To scan another vessel, first target the ship, get within 15k of it, and then activate the scanner by pressing the "n" (activate) key. The scan will take 10 seconds to run, and you must stay within 15k of the ship. If you engage your cloaking device or your injectors the scan will stop. If the target ship activates a cloaking device the scan will be unable to continue. Note that police ships have a slightly better warrant scanner than is available to the commerical market. Their scanners can operate at a 20k range, and only take 8 seconds to run.

There are two ways of removing your bounty:
1. Paying the fine at the place where you committed the crime.
2. Paying the fine at the GalCop HQ system in your sector. Paying for your crime at the GalCop HQ will incur a 10% fee on top of the fine amount.

A new interface screen, called "GalCop security office", provides access to options for the viewing of, and paying for, your fines. You can also view any bounties collected in other sectors, and view the location of the GalCop HQ system in your sector.

When you install this OXP for the first time, if you have an existing bounty it will be added to the crimes database as an "unspecified" crime in the current system, with the severity based on the size of your bounty. A bounty less than 15cr will be noted as a severity 1 crime. A bounty between 15 and 49 will be noted as a severity 2 crime. Bounties 50 and above will be noted as a severity 3 crime.

The readme.txt file has more information on fine calculations, how the fine amount will degrade over time, where the GalCop HQ systems are in each sector, and more. Definitely worth a read.

Comments, suggestions, and bug reports all welcome.

Link for OXZ download: BountySystem.oxz (save this directly to your AddOns folder)
Link for OXP download: BountySystem.zip (extract "BountySystem.oxp" to your AddOns folder and restart Oolite while holding the shift key down.)
Wiki page for details: [EliteWiki] Bounty System
Last edited by phkb on Fri May 12, 2017 3:23 am, edited 1 time in total.
User avatar
phkb
Impressively Grand Sub-Admiral
Impressively Grand Sub-Admiral
Posts: 4653
Joined: Tue Jan 21, 2014 10:37 pm
Location: Writing more OXPs, because the world needs more OXPs.

Re: [WIP] Bounty system OXP

Post by phkb »

A small update for the 6 people who have so far downloaded this one. Bounties collected in Interstellar space will no longer be added to your overall bounty. It's an interesting discussion point, though - what should happen to a bounty collected while in Interstellar space? Drop it completely (as it's outside the boundary's of GalCop's jurisdiction), or keep it (because a bounty is a bounty no matter where you are), or something else? Comments welcome!

Edit to note: I haven't added this to the download manager yet. I'd like to get a bit of feedback from players before I foist this on players via the dm.
ocz
Deadly
Deadly
Posts: 175
Joined: Tue Nov 10, 2015 1:59 pm

Re: [WIP] Bounty system OXP

Post by ocz »

Sorry I post this late in the game. :)

Here's a suggestion: You wrote, that it will take a while, until you can pay for cleaning your name. How about paying for that, by becoming bounty hunter. Each bounty could be used to pay back the fee before you're officially allowed to. Maybe, if you hunt enough game to lower your fee to the amount of a fee for a less serious crime, you are excused earlier.
Bounty: 15.0 Cr
Amends: -15.0 Cr

Also...I know firing a gunshot at a police officer is a serious crime, but in elite there are energy shields. I know there is nothing you can do from the AI going all evil ass on you, if you shot it by mistake, but it really shouldn't be such a serious offence. Especially the main station. Come on. It's a big target and sometimes there are firefights.


Off-topic:
Also regarding inter-system communication in dependence of their governments: I share your view, that GalCop is in charge for interstellar crimes by traders/pirates, but should the question arise again in some other form, here are my two cents on it:

Cooperate and Feudal governments live in a shared bubble with friends and foes within it. Cooperate have more friends and don't really discriminate between befriending Democracies (more often) and Dictatorships (quite often). Feudal governments have either a thing for the Democratic or Dictatorship bubbles and choose other friends in dependence to that taste (resulting in less friends). Feudal governments also have that special thing (lets call it "drama") going on between them.

Democracies, Communisms and Dictatorships have all their own bubbles, that don't like each other. Communisms try to stay within it, Dictatorships and Democracies reach out to the outside (to the cooperate+feudal bubble). Also Communisms and Democracies play nice within their bubbles, while some of the Dictatorships are on odds with each other.

Multigovernments and confederations are random, but with confederations having more friends.

Nobody likes anarchies. (Reason: There are no certain ones to befriend to. At least they don't last long enough.)
Last edited by ocz on Mon Feb 08, 2016 11:13 am, edited 1 time in total.
User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 16063
Joined: Sat Jul 04, 2009 9:31 pm
Location: The Lizard's Claw
Contact:

Re: [WIP] Bounty system OXP

Post by Cody »

ocz wrote:
I know firing a gunshot at a police officer is a serious crime, but in elite there are energy shields. I know there is nothing you can do from the AI going all evil ass on you, if you shot it by mistake, but it really shouldn't be such a serious offence.
I believe you can be warned rather than instantly punished for an accidental hit.
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!
ocz
Deadly
Deadly
Posts: 175
Joined: Tue Nov 10, 2015 1:59 pm

Re: [WIP] Bounty system OXP

Post by ocz »

Cody wrote:
ocz wrote:
I know firing a gunshot at a police officer is a serious crime, but in elite there are energy shields. I know there is nothing you can do from the AI going all evil ass on you, if you shot it by mistake, but it really shouldn't be such a serious offence.
I believe you can be warned rather than instantly punished for an accidental hit.
Exactly my thoughts, but I wanted to post that in the suggestion board. It's much messing with the AI and little gain for an OXP. Changing that in the source or the vanilla oolite AI scripts would make sense, IMO.
User avatar
phkb
Impressively Grand Sub-Admiral
Impressively Grand Sub-Admiral
Posts: 4653
Joined: Tue Jan 21, 2014 10:37 pm
Location: Writing more OXPs, because the world needs more OXPs.

Re: [WIP] Bounty system OXP

Post by phkb »

The way bounty change events fire makes it hard to determine what is going on sometimes. For instance, the bounty change event fires every time you launch from a station with a reason of "illegal exports". In most cases, through, if you don't have any illegal exports in your ship, the delta for this event (the amount of change in your bounty, for those who aren't familiar with the term) is zero.

In the case of firing on a police ship or station, the first time you do it there will be a delta in the bounty amount, plus an appropriate reason description. But the bounty change event continues to fire with every shot you land on a police ship, only with a delta of zero.

If you accidentally shoot at police or the station, and the game determines this was an accidental shot, the bounty delta in the change event will be zero. Otherwise, the game has decided it wasn't accidental, therefore you are fined and your bounty goes up. All I'm doing in the bounty system is reporting on what the game has said. I'm not overriding this, and I doubt I'd be able to come up with an elegant solution that runs efficiently and can supersede what the game itself is doing.

Having said that, there's probably still an improvement to make to the bounty system. At the moment it's adding the bounty change reasons to a run sheet, regardless of whether there is a delta in the bounty amount. I think what I should do is check to see if this reason is already in the run sheet. If it isn't, and the delta is zero, then it won't get added at all. That should clear up any mis-reporting of criminal activity in the run sheet.

Edit: Actually, on reexamination of the code, I think it need to be a bit smarter when assigning "attacked police" items to the run sheet. I'll get back to you!
User avatar
phkb
Impressively Grand Sub-Admiral
Impressively Grand Sub-Admiral
Posts: 4653
Joined: Tue Jan 21, 2014 10:37 pm
Location: Writing more OXPs, because the world needs more OXPs.

Re: [WIP] Bounty system OXP

Post by phkb »

OK, version 0.1.2 in now available via links above or in the first post. Not much has changed, but hopefully I've improved the process for when the player hits something accidentally.
User avatar
phkb
Impressively Grand Sub-Admiral
Impressively Grand Sub-Admiral
Posts: 4653
Joined: Tue Jan 21, 2014 10:37 pm
Location: Writing more OXPs, because the world needs more OXPs.

Re: [WIP] Bounty system OXP

Post by phkb »

Version 0.1.6 has just been released. In this version:
  • Ships that have had bounties revealed will have their bounty reset when exiting a wormhole in another system, same as the player.
  • Added Ship Dock Control integration code (for version 0.13.5), so hidden bounties will be kept after docking and reapplied on launching.
  • Added some protection against OXP's adding items to the possible offence list, and then the OXP is subsequently removed.
  • Hopefully fixed issue with timers being garbage collected when still runnning.
  • Simplified the data storage method for performance improvements.
  • Changed "==" comparisons to "===" for performance improvements.
Available from the download manager, or links in the first post.
User avatar
phkb
Impressively Grand Sub-Admiral
Impressively Grand Sub-Admiral
Posts: 4653
Joined: Tue Jan 21, 2014 10:37 pm
Location: Writing more OXPs, because the world needs more OXPs.

Re: [WIP] Bounty system OXP

Post by phkb »

In my recent travels I hit the scenario where I was jumped by assassins at the WP marker, entered into laser-based negotiations, and then the police show up and decide I'm the offender. That's so unfair! Now I'm carrying around a bounty and I have to run away from police in every system lest I be fined again and again, and spend a lot of time cleaning up after the craboids.

That's part of what this OXP does, which is fine. But, I'm wondering about having an process for entering an appeal against the bounty. How could it work? I could look at the players roleWeights data and if the player is known to be on the right side of the law mostly, then perhaps the option can be given to pay the fine anywhere and have it cleared. Maybe there could be a bribe option. Maybe it could look to see how many slaves you've rescued (if the Illegal Goods Tweak is installed). What do you think? Is there some other way to make an appeal?

I think if an appeal is successful, it should consume time and money, which may offset the appeal of the appeal, particularly if you're on a tight schedule of deliveries. What other negatives could come into play? Should it work so that you lodge your appeal, and then have to wait 3 days (or some other timeframe) during which time you'd go on about your business, before you hear the result? Should there be a chance of it not being successful? Would the location you lodge the appeal from have a bearing on the result? Perhaps lodging it on a planet whose inhabitants are birds might increase the chance of success? Would the techlevel of the system come into play, or the government type?

Any and all ideas welcome!
User avatar
Disembodied
Jedi Spam Assassin
Jedi Spam Assassin
Posts: 6881
Joined: Thu Jul 12, 2007 10:54 pm
Location: Carter's Snort

Re: [WIP] Bounty system OXP

Post by Disembodied »

phkb wrote:
I'm wondering about having an process for entering an appeal against the bounty.
Co-operative law is - at least out in space - rough and ready. If you're a criminal, regardless of your crime, you're an outlaw and anyone can kill you, legally, for fun and profit. However, it is a bit annoying that, in a situation like you describe, whether or not the police deem you to be the aggressor or the victim depends entirely on chance, and it would be good if the player's reputation could come into play here. Indeed, it might be good if, instead of simply immediately joining in the combat based on who they first saw shooting at who, the police could be a bit more intelligent. Pirates got an AI upgrade, allowing them to demand cargo instead of resolving everything through their lasers: maybe it's time we gave the Vipers another option too?

Perhaps the police, on discovering a combat involving Clean participants on both sides, could first issue a demand for all craft to stand down and to put their weapons offline: "You have ten seconds to comply", etc. Anyone failing to comply quickly enough is then tagged as an Offender, and could be subject to police attack. Ships who comply are then warned to leave the system or be subject to a fine on docking at the main station.

As regards lodging an appeal: I think this would take a lot of time and money (otherwise everyone would do it). Player reputation would be a big factor, but so would bribery, which would probably cost more (if successful) as government type increased.

Historically, it wasn't uncommon for pirate amnesties to be declared, to try to bring criminals back into the fold. Perhaps similar offers could be made in certain systems from time to time, whereby bounties could be cleared in return for fines. Ships wanting to receive bounties would have to travel to the station with their weapons offline, otherwise they might get attached by Vipers (although bounty hunters might not be so nice!).
User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 16063
Joined: Sat Jul 04, 2009 9:31 pm
Location: The Lizard's Claw
Contact:

Re: [WIP] Bounty system OXP

Post by Cody »

Disembodied wrote:
Perhaps the police, on discovering a combat involving Clean participants on both sides, could first issue a demand for all craft to stand down and to put their weapons offline: "You have ten seconds to comply", etc.
Assassins would simply ignore that, as they pretty much ignore police anyway.
Vipers need something extra, tbh - they're hardly a match for the heavy mob.
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!
User avatar
Disembodied
Jedi Spam Assassin
Jedi Spam Assassin
Posts: 6881
Joined: Thu Jul 12, 2007 10:54 pm
Location: Carter's Snort

Re: [WIP] Bounty system OXP

Post by Disembodied »

Cody wrote:
Disembodied wrote:
Perhaps the police, on discovering a combat involving Clean participants on both sides, could first issue a demand for all craft to stand down and to put their weapons offline: "You have ten seconds to comply", etc.
Assassins would simply ignore that, as they pretty much ignore police anyway.
Vipers need something extra, tbh - they're hardly a match for the heavy mob.
In that case, the intelligent response from the police would be to continue to issue demands for compliance, and (if possible) call for backup … at least though it might allow them to distinguish between assassins and victim. Perhaps, too, in dodgier systems at least, the assassins could tell the Vipers to clear off, if they know what's good for them.
User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 16063
Joined: Sat Jul 04, 2009 9:31 pm
Location: The Lizard's Claw
Contact:

Re: [WIP] Bounty system OXP

Post by Cody »

Disembodied wrote:
Perhaps, too, in dodgier systems at least, the assassins could tell the Vipers to clear off, if they know what's good for them.
In the game in my head, they're already doing that. <grins wryly>
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