PathOfBuildingCommunity / PathOfBuildingCommunity/PathOfBuilding

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

オープン
#4,147 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

enhancement
主要言語
Lua
スター
5.4k
フォーク
2.4k
平均マージ
1日 12時間
マージ済み PR(30日)
26

説明

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.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、既存の毒計算と、issue が結果を配置する想定の場所として示している Calcs 領域を確認します。現在の毒 DPS がどのように表現されているかを確認し、その後、必要なモンスターのライフのケースと平均ケース/最悪ケースの出力を定義してから、実装を見積もります。issue ではファイルやテストは指定されていません。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
lua
領域
game-dev
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。