[core, sql] Fix HP Latent Calculations and Minstrel's Ring#8751
[core, sql] Fix HP Latent Calculations and Minstrel's Ring#87519001-Sols wants to merge 1 commit intoLandSandBoat:basefrom
Conversation
|
|
||
| -- Minstrel's Ring | ||
| INSERT INTO `item_latents` VALUES (13295,455,25,2,75); -- Song Spellcast -25% while HP <=75% and TP <=100% | ||
| INSERT INTO `item_latents` VALUES (13295,455,25,2,76); -- Song Spellcast -25% while HP <76% and TP <=100% |
There was a problem hiding this comment.
X <= 75 is the same as X < 76
The calculations use <= so the number needed is 75
Revert this
There was a problem hiding this comment.
The calculations aren't flooring the result though, they're cast to a float.
((float)m_POwner->health.hp / m_POwner->GetMaxHP()) * 100That prevents 75.01 from triggering the latent, when the JP wiki states it should be active while the HP % is between 75 and 76.
https://wiki.ffo.jp/html/7159.html
なお、[HP]が76%未満かつ75%よりも多ければ[HP]白色状態のまま[潜在能力]が発動する。
I pattern matched the Sorc Ring implementation already in LSB - although the more proper implementation would likely be to floor the result. But this has implications as some gear hasn't been proven to use the floor value (Carapace set I think?)
|
This is going to need a round of retail testing accounting for all types of HP based latents because I'm not convinced they all work the same way (evidenced by the fact these rings are documented in multiple different ways on each wiki). |
|
Keep this open for now |
I affirm:
What does this pull request do?
This PR fixes latent HP and MP calculations to use total HP/MP after gear and buffs, instead of total Base HP/MP. It also changes the Minstrel's Ring to match the Sorcerer's Ring, which activates when HP < 76%, JP wiki source: https://wiki.ffo.jp/html/7159.html
Steps to test these changes
Unable to test
HP_OVER_TP_UNDER_100