PathOfBuildingCommunity / PathOfBuildingCommunity/PathOfBuilding
Poison DPS is misleading (per LocalIdentity's YouTube comment)
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Lua
- Sterne
- 5.4k
- Forks
- 2.4k
- Ø Merge
- 1 T. 12 Std.
- Gemergte PRs (30 T.)
- 26
Beschreibung
Per LocalIdentity's comment on YouTube ( https://www.youtube.com/watch?v=gzeNUY868vA&lc=UgxPMYfdY6504PLfhrV4AaABAg ), he's interested in suggestions for a "better way to represent poison DPS in PoB".
Monster life can predict how long a creature will be subject to damage given a certain poison curve. Ignoring any other effects, poison DPS can be represented as (DPS per poison {DPSp} * number of poison stacks {Pn}), with DPS per poison staying constant and number of poison stacks increasing linearly up to a maximum (Pn = min(tP/s, durationP/s)). For a given monster life L, L = integral (0-t) (DPSp * min(P/sx, durationP/s)) dx, which for values of t below poison duration is L = 1/2 * DPSp * P/s * t^2, and for times above poison duration is L = 1/2 * DPSp * P/s * d^2 + DPSp * P/s * (t-d). This could be used to provide time to kill monsters at specific life totals as well as effective DPS against monsters with specific life totals. Useful to provide accurate DPS against specific endgame bosses as well as a time to kill for general map mobs at certain tiers. I'd include the information in Calcs, providing both an average-case performance and worst-case performance (resistant enemies in a resistant map) for each tier of enemies {normal, magic, rare}.
For a more correct solution, PoB could simulate each poison stack given certain monster stats (since both poison DPS and poison duration vary depending on number of poisons inflicted recently), but I think it'll be a bit more involved than necessary, and may affect performance. Simplifying it so that each poison stack acts as if it's been fully ramped up is a reasonable assumption in general mapping, and is likely close to base truth for bosses.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit der Überprüfung der bestehenden Giftberechnungen und des Bereichs Calcs, den das Issue als den vorgesehenen Ort für die Ergebnisse bezeichnet. Ermittle, wie der aktuelle Gift-DPS dargestellt wird, und definiere anschließend die erforderlichen Fälle für die Monster-Lebenspunkte sowie die Ausgaben für den Durchschnitts- und Worst-Case, bevor du eine Implementierung abschätzt. Im Issue werden keine Dateien oder Tests genannt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- lua
- Bereich
- game-dev
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100