PathOfBuildingCommunity / PathOfBuildingCommunity/PathOfBuilding
Poison DPS is misleading (per LocalIdentity's YouTube comment)
Personne n'a encore pris cette issue.
- Langage dominant
- Lua
- Étoiles
- 5.4k
- Forks
- 2.4k
- Merge moyen
- 1 j 12 h
- PR mergées (30 j)
- 26
Description
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.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par examiner les calculs de poison existants et la zone Calcs, que l’issue identifie comme l’emplacement prévu pour les résultats. Déterminez ensuite comment le DPS de poison actuel est représenté, puis définissez les cas de vie du monstre requis ainsi que les résultats moyens et du pire cas avant d’estimer une implémentation. Aucun fichier ni test n’est nommé dans l’issue.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- lua
- Domaine
- game-dev
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100