TheStonedTurtle / banked-experience

A RuneLite plugin used to calculate the experience you have banked
BSD 2-Clause "Simplified" License
15 stars 44 forks source link

Bone Shards with Zealot - Banked XP is not accurate. #147

Closed setter43 closed 5 months ago

setter43 commented 5 months ago

I appreciate the speed you rolled out the plugin update for this method, however, I think you have calculated the total number required and the use of the zealot outfit wrong.

According to the plugin I needed 120k shards from 98-99 I was already 8% of the way to 99 and I used my 126k shards. Using my calculations I needed close to 240k ( Can't remember if this was with Zealot or not).

I think the issue is: On click 100 bone shards are used, and on average we save 5% of that 100, (Basically each time 5+ shards are always saved) Rather than 5% of the time we save the 100 shards. I think your plugin calculates each 100 we save 5% of the time.

Hopefully, this makes sense

2024-04-14_12-25-28 2024-04-14_12-25-21 2024-04-14_12-25-02 2024-04-14_12-24-50 2024-04-14_12-24-35

setter43 commented 5 months ago

To add I am wearing full zealot Pictures go from bottom to top in order.

TheStonedTurtle commented 5 months ago

I think your plugin calculates each 100 we save 5% of the time.

Maybe I just don't understand the math here but if you save 100 5% of the time that means you have a 1/20 chance of saving 100.

If you save 5% per action after 20 actions you should also save 100? I guess the recursive nature of this is what matters?

TheStonedTurtle commented 5 months ago

Here's the formula it's using for this calculation, lets walk through this to see if you can find an issue, because it seems fine to me.

The calculated XP per Bone Shard = ActionXP/ConsumptionChance where: ActionXP is set for each bone shard by the activity (either 5 or 6 depending on wine type) The ConsumptionChance is calculated as: (1 - ChanceToSave) * ChanceToConsume

The ChanceToSave is for Additive effects, such as the Wildy Altar. The ChanceToConsume is for things that stack multiplicatively after the ChanceToSave is applied, which is done so Zealot Robes work with the Wildy Altar. The number used in the calculation is also reversed due to its multiplicative nature. This means if you have a 5% chance to save via the robes you also have a 95% chance to consume them. We use the Consumption number because

Zealot's robes are ... totalling 5% with the full set equipped. This bonus stacks multiplicatively with the bone-saving effect of the Chaos Temple altar.[1]

Source: https://oldschool.runescape.wiki/w/Zealot%27s_robes

The only two Consumption Modifiers that exist, currently, are the Wildy Altar & Zealots, and only Zealots are applicable here.

So if you only have all the Zealots Robes enabled this makes the ConsumptionChance = (1 - 0) * .95 which is .95. In this case there is no difference between if we calculated it as ChanceToSave or ChanceToConsume so that above is sorta irrelevant.

So now we have ActionXP/.95 as our formula where ActionXP is either 5 or 6. For 5/.95 we get 5.263... For 6/.95 we get 6.315...

We take this value and round using the HALF_UP method to the Hundredths place, making the values 5.26 and 6.32 respectively, which is what is displaying in the plugin: image image

TheStonedTurtle commented 5 months ago

Also your note of:

According to the plugin I needed 120k shards from 98-99 I was already 8% of the way to 99 and I used my 126k shards.

This plugin doesn't show what you need for a specific level range, it only shows what you have banked between all your items in the bank. You need to right-click ignore items if you want it to be based off just the shards.

120,000 shards at 6.23xp each, which is using Sunfire Wine with all zealot robes, is only 747,600 experience. Without photo evidence I don't believe that the plugin was showing you that 120,000 shards was enough for 99. That calculation would need to be nearly doubled, and the calculation matches exactly what I'm saying based off the images in my previous comments.