Skip to content

Update boss armour/evasion multipliers and add override fields to config#5620

Merged
LocalIdentity merged 10 commits into
PathOfBuildingCommunity:devfrom
ybbat:dev
Feb 18, 2023
Merged

Update boss armour/evasion multipliers and add override fields to config#5620
LocalIdentity merged 10 commits into
PathOfBuildingCommunity:devfrom
ybbat:dev

Conversation

@ybbat
Copy link
Copy Markdown
Contributor

@ybbat ybbat commented Jan 22, 2023

Basic implementation for #5619

As mentioned in issue it can be very useful to override the default monster evasion value due to many monsters/bosses having far more than the assumed amount, leading to misleading dps numbers.

Link to a build that showcases this PR:

https://pobb.in/WkrKXvXutsGZ GrimroFlameHaze

Before screenshot:

image

After screenshot:

Using value of lvl 84 Atziri for example
image
image
As expected, 91.93% rounded up to 92%
image

@QuickStick123
Copy link
Copy Markdown
Contributor

If the average evasion on bosses is higher across the board then consider setting up placeholders like for the other stats so these numbers are more realistic. You could also consider doing the same for armour if that is also significantly higher on bosses.

@QuickStick123 QuickStick123 added enhancement New feature, calculation, or mod bug: calculation Numerical differences labels Jan 23, 2023
Currently just hardcoded in the average evasion of all the main [pinnacle bosses](https://poedb.tw/us/Uber_pinnacle_boss) (uber variants have the same evasion).
@ybbat
Copy link
Copy Markdown
Contributor Author

ybbat commented Jan 23, 2023

If the average evasion on bosses is higher across the board then consider setting up placeholders like for the other stats so these numbers are more realistic. You could also consider doing the same for armour if that is also significantly higher on bosses.

I have added a quick placeholder for pinn+uber bosses, based on the average evasion of the 7 main pinnacle bosses.

Unfortunately it doesn't seem trivial to just "get all the pinnacle bosses" from the ggpk, is there a list that the previous placeholders are using, i.e. should elderslayers/guardians/elder guardians/atziri/uberatziri included in the pinnacle boss presets?

I hadn't looked into armour previously but it does seem similar in that the multiplier varies significantly between bosses, however there already seems to be a 33% more on armour in the pinnacle preset, and 100% more on armour for uber bosses. Is there more detail on what this more multiplier is based on?

I also may look into adding a field for the user to select to use the high end evasion/armour rating for monsters rather than average if that sounds reasonable.

@ybbat ybbat changed the title Add enemy base evasion input to config Update boss armour/evasion multipliers and add override fields to config Jan 24, 2023
@ybbat
Copy link
Copy Markdown
Contributor Author

ybbat commented Jan 24, 2023

I have updated the PR so that the evasion/armour multipliers are exported from the ggpk, currently I have populated ubers.txt and pinnacles.txt with a conservative list of bosses included in each category.
An armour multiplier field has also been added to the config.

I am fairly new to lua+the pob codebase so let me know if anything looks awry!

@QuickStick123
Copy link
Copy Markdown
Contributor

Overall looks excellent. It might be a nice idea to present these number as the raw flat numbers as that would be more useful to a user at a glance. This would require you to move around some calculations namely removing 495-497 in CalcSetup.lua and moving these numbers to the config tab as pre calculated values (probably just give base stat of levelTable * mult). Enemies also have accuracy so might be nice to check that as well and add if it different enough alongside evasion/armour.
image

@Regisle
Copy link
Copy Markdown
Member

Regisle commented Jan 25, 2023

what quick said is probs true,

but also to be nitpicky, you should be using camelCase as it makes it hard to read with everything lower case,

the ubers should probs be included in the same file with just a marker that its uber (particularly if they have the same evasion/armour) eg an example of exporting
#boss SynthesisVenarius Venarius {Uber}
and then your directive table.boss should be something like
directiveTable.boss = function(state, args, out) state.id, state.name = args:match("(%w+) (%w+)") local isUber = args:match("{Uber}")

This might be a good idea to combine with #5612 in some way, I could easily export the armour/evasion values there, Ill talk in the discord about it and see what people want

@Nightblade
Copy link
Copy Markdown
Contributor

I'll add ubers to the spell-checker

@ybbat
Copy link
Copy Markdown
Contributor Author

ybbat commented Jan 25, 2023

Thank you for the feedback!

image
Config now uses the flat evasion/armour value.

I looked at accuracy and it is almost always 100%, there are a couple of enemy types that have a different value but they are extremely rare and not on relevant monsters anyway, though if this should change in future it will be simple enough to add.

Pinnacles.txt and Ubers.txt has also been consolidated into Bosses.txt with an {Uber} arg as suggested by Regisle. This could also be updated to include other bosses such a breach/mapbosses/etc but this would involve manually finding all the relevant bosses and adding to this file.

@QuickStick123 QuickStick123 removed the bug: calculation Numerical differences label Jan 31, 2023
@LocalIdentity LocalIdentity merged commit 67a91de into PathOfBuildingCommunity:dev Feb 18, 2023
Dullson pushed a commit to Dullson/PathOfBuilding that referenced this pull request Dec 6, 2023
…fig (PathOfBuildingCommunity#5620)

* Add enemy base evasion input to config

* Add basic placeholder evasion for pinn+ bosses

Currently just hardcoded in the average evasion of all the main [pinnacle bosses](https://poedb.tw/us/Uber_pinnacle_boss) (uber variants have the same evasion).

* Add an armour multiplier override and switch evasion override to multiplier

* Extract evasion/armour mult from ggpk

* Fill placeholders using mean of exported mults

* Populate pinnacles.txt

Fill in pinnacles.txt with significant bosses

* Include updated \Data\ files

* Change config to use flat values of enemy defences

* Update data.lua locals with camelCase

* Include ubers as a tag, not separate file
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature, calculation, or mod

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants