LandSandBoat / server

:sailboat: LandSandBoat - a server emulator for Final Fantasy XI
https://landsandboat.github.io/server/
GNU General Public License v3.0
296 stars 595 forks source link

Ensure elegy songs have a potency cap v2 #884

Open zach2good opened 3 years ago

zach2good commented 3 years ago

Following on from https://github.com/LandSandBoat/server/pull/873

Replaced your comment with this issue @ShiyoKozuki

ShiyoKozuki 1 hour ago
Contributor

https://www.bg-wiki.com/ffxi/Battlefield_Elegy
Attack Speed reduction caps at 25% (256/1024) before Elegy-enhancing gear.
Not 50%

Attack Speed reduction caps at 25% (256/1024) before Elegy-enhancing gear.

But we account for gear in the spell script, via the mods that are applied to power.

https://github.com/LandSandBoat/server/blob/base/scripts/globals/spells/battlefield_elegy.lua#L15-L53

local iBoost = caster:getMod(xi.mod.ELEGY_EFFECT) + caster:getMod(xi.mod.ALL_SONGS_EFFECT)
power = power + iBoost * 100

^ These boosts come from gear

Without the new cap in Battlefield Elegy, it would be possible to stack a couple of bits of song+ or elegy+ and SV, and surpass the 50% elegy cap.

https://www.bg-wiki.com/ffxi/Category:Elegy

https://www.bg-wiki.com/ffxi/Battlefield_Elegy https://ffxiclopedia.fandom.com/wiki/Battlefield_Elegy

https://www.bg-wiki.com/ffxi/Carnage_Elegy https://ffxiclopedia.fandom.com/wiki/Carnage_Elegy

image

image

Carnage Elegy is set to 50% starting power and 50% hard cap, that's fine.

Battlefield Elegy is set to 25% starting power and 50% hard cap based on both wikis, which seems fine to me?

Additional Information (Steps to reproduce/Expected behavior) :

TeoTwawki commented 3 years ago

ok maybe I'm not understanding but reading wiki it looks like we're starting at the individual songs cap as our base power (are they ever LESS than 25 and 50 respectively?), and then the clamp we did based on Shiyo's suggested fix in the original issue report wasn't supposed to be "the elegy cap" but rather "the 50% Attack Speed reduction cap" which we should already be accounting for elsewhere. https://www.bg-wiki.com/ffxi/Attack_Speed#Caps The damn power isn't even variable atm and wiki is fukky - we have no formula for base

So basically the original issue report would have been both reporting and suggesting a fix to the wrong thing in the wrong place.

My thinking Those 2 songs should have a clamp that is their current base power before checking gear instead of after, and the current base power shoudl change from a static number to calculated by skill. Again, the damn power isn't even variable atm and wiki is fukky - we have no formula for base And overall attack speed changes -should- be already clamped in core if I am not mistaken. we limit positive speed buff, but not the negative debuff of the same modifiers

image

Problem: wiki pages have seemingly contradictory information

TeoTwawki commented 3 years ago

base potency and cap can't be the same thing? one page says cap, one page says base. which the F is it??? The damn power isn't even variable atm and wiki is fukky - we have no formula for base it would also help if our information sources weren't clearly just copy pasting shit from each other without verification (thanks a bunch wiki editors)

ShiyoKozuki commented 3 years ago

As long as you can't scale battlefield past 25% with +song/string/singing and only with 2 hr or +elegy/all songs and then even with those things it's capped at 50% as well as not scaling carnage past 50% EVER, it's fine.

TeoTwawki commented 3 years ago

yeah its not exceeding any caps right now. But boy did I go down a rabbit hole trying to sort out wtf wiki was saying and if anyone ever even verified shitWikiSays (spoiler: doesn't look like wiki verified what it says, let alone anyone who used it as a source in ye olden days)

elegies either have a static power that doesn't change outside of gear/ja's in (in which case we're all set) or starts lower than we have it scaling up to where we do. In both cases we cap it off correctly.

ShiyoKozuki commented 3 years ago

The shit wiki should basically be ignored, it was abandoned by any good theorycrafter/good player around '06.