PathOfBuildingCommunity / PathOfBuildingCommunity/PathOfBuilding

Fix issues around scaleability and Runegraft of the Bound

Offen
#8,980 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

bug: calculation
Vorherrschende Sprache
Lua
Sterne
5.4k
Forks
2.4k
Ø Merge
1 T. 12 Std.
Gemergte PRs (30 T.)
26

Beschreibung

Revisiting this code when looking over this PR makes me realize there are a few more hidden gotchas here.

  1. Making a mod unscalable in a LIST mod doesn't do anything. An example of this would be "banners also cause enemies to take (%d+)%% increased damage". This code only checks for unscalable at the LIST level, not for each subMod: https://github.com/PathOfBuildingCommunity/PathOfBuilding/blob/78326a60910b00739c5f33be69cb140cd164a12c/src/Classes/ModStore.lua#L37-L50
  2. Unscaleable mods get added twice. I tested "take no extra damage from critical strikes" and saw the value double (even though there is a hard cap on a lot of these unscalable mods
image

In short, I'll merge this PR but I needed to write this down somewhere so it can be refactored again, with proper test cases added for all these corner cases.

Originally posted by @Wires77 in https://github.com/PathOfBuildingCommunity/PathOfBuilding/issues/8977#issuecomment-3251710545

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne in src/Classes/ModStore.lua bei der verlinkten scaleability logic und verfolge, wie LIST mods und unscalable mods verarbeitet werden. Füge Testfälle für die Behandlung von unscalable pro subMod und die doppelte Anwendung hinzu und überprüfe anschließend, dass die betroffenen modifiers die erwarteten Werte erzeugen, ohne doppelt gezählt zu werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
lua
Bereich
game-dev
Issue-Typ
Refactoring
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.