Discovery Gaming Community
How it works - PVE Controller - Printable Version

+- Discovery Gaming Community (https://discoverygc.com/forums)
+-- Forum: Discovery Development (https://discoverygc.com/forums/forumdisplay.php?fid=7)
+--- Forum: Discovery Developers Forum (https://discoverygc.com/forums/forumdisplay.php?fid=183)
+--- Thread: How it works - PVE Controller (/showthread.php?tid=189067)



How it works - PVE Controller - Skorak - 07-25-2021

And another one for this series. This time after noticing that people do not, and cannot, understand the way pve bounties are paid out.

The plugin for this system is called pvecontroller and is responsible for both bounties as well as extra drops from npcs.



Some basics that are configurable are:

The maximum reputation a player can have for the bounties to still be paid out.

maximum_reward_rep = 0.0
Makes it so that if you hit something above full neutral rep, you don't get a bounty

Also configurable is the reward timer. The time it takes from the first kill to pay out your bounties.

pool_payout_timer = 600
Makes it so that it takes 10 minutes for bounties to be paid out to you. This can be force paid out by docking for example



Now to the more interesting settings.

One thing that is always a debate is: How many people do I want to bring to farm something?
There is a modifier depending on how many people are in your group(and in the same system). They reduce the payout for the individual.

group_scale = 2, 0.8
group_scale = 3, 0.6
group_scale = 4, 0.4
group_scale = 5, 0.33
group_scale = 6, 0.25
group_scale = 7, 0.2
group_scale = 8, 0.175
group_scale = 9, 0.15
group_scale = 10, 0.125

This makes it so that if you normally get a 1,000,000 bounty, you instead get 800,000 when you kill something with a friend in your group.



I'm sure people are also highly interested in how payouts work exactly.
First there is a base bounty amount per class. The ship classes you can find in FLStat or I might put them somewhere later. Discovery uses classes 0-19.

class = 0, 50000
class = 1, 60000
class = 2, 60000
class = 3, 60000
class = 4, 80000
class = 5, 70000
class = 6, 35000
class = 7, 35000
class = 8, 40000
class = 9, 40000
class = 10, 60000
class = 11, 900000
class = 12, 900000
class = 13, 4250000
class = 14, 4250000
class = 15, 2000000
class = 16, 3250000
class = 17, 3750000
class = 18, 4250000
class = 19, 40000

So for example a class 18, a heavy battleship, has a base payout of 4,250,000



Now these were ship classes. To make things easier for calculation, some of these are grouped. Small craft, transports, various caps.

class_type = 1, 1, 2, 3, 4, 5, 19
class_type = 2, 6, 7, 8, 9, 10
class_type = 3, 11, 12
class_type = 4, 13, 14
class_type = 5, 15
class_type = 6, 16, 17, 18

So our 'group' 6 here for example are 16(light BS), 17(Zoner carrier), 18(Heavy BS)

We need these classes to calculate 'difficulty' modifiers. These work by checking the difference between your classes.

class_diff = -3, 0.4
class_diff = -2, 0.6
class_diff = -1, 0.8
class_diff = 0, 1.2
class_diff = 1, 1.2
class_diff = 2, 1.35
class_diff = 3, 1.5

So if you have a bomber, which is group one, and you destroy a battleship, the difference is 3 or larger. Meaning your payout will be multiplied by 1.5
So your 1,000,000 bounty turns into 1,500,000.

Now that is not the only multiplier. Another one are armor upgrades. Fighter NPCs do get those though they're usually not visible.

armor_multiplier = armor_scale_2, 2.0
armor_multiplier = armor_scale_6, 3.5
armor_multiplier = armor_scale_8, 7.0
armor_multiplier = armor_scale_10, 10.0

According to this, killing something equipped with a normal(2.5x HP) armour upgrade(armor_scale_10) multiplies your bounty by 10. Turning your 1,000,000 bounty into 10,000,000



In addition there is the option to make specific ship's override the entire calculation from before.

ship = dsy_pitrain_npc, 500000

This makes it so that killing ANY npc pirate train pays out 5,000,000 credits



There is also the option of modifying the multipliers per system.

system_multiplier = li06, 0

Causes npc bounties in li06(Connecticut) to be multiplied by 0 - disabled. But It'd be very well possible to buff these payouts in a specific system or nerf them.



Now we come to additional rewards.

One setting here is how the crates look that npcs drop, irrelevant really.

[NPCDrops]
enabled = 1
drop_crate = lootcrate_ast_loot_metal

More important is the following:

class = 11, commodity_sciencedata, 0.03
class = 12, commodity_sciencedata, 0.03
class = 13, dsy_codecr_blaster, 0.0025
class = 13, dsy_codecr_ionblaster, 0.0025
class = 13, dsy_codecr_mauler, 0.005
class = 13, dsy_codecr_repeater, 0.005
class = 14, dsy_codecr_blaster, 0.005
class = 14, dsy_codecr_ionblaster, 0.005
class = 14, dsy_codecr_mauler, 0.005
class = 14, dsy_codecr_repeater, 0.005
class = 15, commodity_sciencedata, 0.05
class = 16, commodity_sciencedata, 0.06
class = 17, commodity_sciencedata, 0.06
class = 18, commodity_sciencedata, 0.06

Let's pick out one example
class = 15, commodity_sciencedata, 0.05
This makes it so that when you kill a class 15(battlecruiser) there is a 5% chance for it to drop a unit of Science Data.



RE: How it works - PVE Controller - Lord_Helmet - 07-31-2021

I don't understand the armor_scale part. Are missions different? For example killing an Destroyer in a mission gives me 2.55mill, which I can calculate as follows: Me a Dreadnaught -> class type 6 vs. Destroyer -> class type 4 --> class diff is -2, therefore multiplier of 0.6 => 4,250,000 * 0.6 = 2.55mill.
However, the Destroyer comes with 1,376,998 health, but has a base health of 810,000. So no bonus for mission generated health increase?


RE: How it works - PVE Controller - Skorak - 07-31-2021

The armor reward is only for fighters. So for class 0-4 only.