PathOfBuildingCommunity / PathOfBuildingCommunity/PathOfBuilding

Poison DPS is misleading (per LocalIdentity's YouTube comment)

Ouverte
#4,147 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

enhancement
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

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. 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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.