Cholmondely wrote: ↑Thu Nov 02, 2023 9:52 am
Can Bounty System.oxp handle this sort of complexity?
Well, kind of yes and no.
The Bounty System is trying to be OXP agnostic as much as possible. It doesn't really care about "how" your bounty was increased. It's trying to occupy itself with what happen after you get that bounty.
However, it does provide interfaces to allow OXP's to define unique offenses and give those offenses a particular severity.
The example we're looking at is your participation in some altercation in Veanso. Now, some OXP whacked you with a 100 bounty, but, notably, did not give that bounty any description. From a coding point of view, this is the equivalent of doing this:
However, there is another way to change the player's bounty, like this:
Code: Select all
player.ship.setBounty(player.bounty + 100, "special reason");
What this will do is, again, increase the player's bounty by 100, but also give a reason for that increase. When that reason is supplied, the Bounty System can do something different. Otherwise, all it gets notified about is a bounty change.
If the OXP in question was to register a new offense, like this:
Code: Select all
worldScripts.BountySystem_Core._offenceTypes["special reason"] = {
description:"Bounty received while performing special functions",
severity:1
};
then, what you would have ended up with is a 100 credit bounty of severity 1. Severity 1 bounties aren't visible to bounty scanners past 5ly. So, you would still be a fugitive in Veanso, but at Artesore, Reonen, Xeer, Soleuser and Cebeor everything would be fine. You would arrive, police could scan you and nothing would happen. Not at Usesen, though, as it's only 4.8 LY from Veanso.
So, in summary: to get greater refinement out of the Bounty System, the OXP's which are setting player bounty need to potentially adjust a couple of things to make it work. And that would go for any future OXP tweaks (like the plans for escaped miners).
Hopefully that explains how the Bounty system works in a bit more detail. (And I realised while writing this that I haven't actually documented this process anywhere!)