PathOfBuildingCommunity / PathOfBuildingCommunity/PathOfBuilding

[Feature Request] Add option to calculate Elemental Overload damage based on expected uptime

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

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

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

説明

Check for duplicates
  • I've checked for duplicate issues by using the search function of the issue tracker
Is your feature request related to a problem?

Currently, the damage calculator assumes that Elemental Overload has 100% uptime when it is allocated, regardless of a skill's critical strike chance. This is unrealistic and misleading for skills with low hit frequencies and critical strike chance, or skills supported by Controlled Destruction. When sorting support gems by DPS gain, Controlled Destruction is listed highly despite being a damage loss in reality.

Describe the solution you'd like

Add a toggle in the config tab that allows users who have allocated Elemental Overload (EO) to select between two options for EO estimation: "Always active" and "Expected uptime". "Always active" should replicate current behaviour. "Expected uptime" should scale the modifier from EO based on the following (or a similar) formula:

EO = 40% * min[1; Hit Rate * Effective Crit Chance * 8 * (1 + Total EO Increase)]

wherein Effective Crit Chance respects accuracy for attacks, and Total EO Increase refers to effects like temporal chains on the player.

"Expected uptime" should be the default selection, so users unaware of the mechanism of EO are not misleadingly pointed to options like Controlled Destruction.

This calculation is still not accurate for builds that involve a rotation of multiple skills, like Hexblast, and for any other situation in which players are not hitting for any period of time, but it's no longer as misleading as the current behaviour.

Describe alternatives you've considered

No response

Additional context

No response

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

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

はじめの一歩

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

調査の方向性

configタブとElemental Overloadのダメージ計算のエントリポイントから始めます。payloadでは特定のファイルやテストは指定されていません。現在EOが常にアクティブとして扱われている方法を追跡し、次に選択可能な2つの推定モードを定義し、期待稼働時間の式が要求どおりダメージとデフォルト設定に影響することを確認します。

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

評価

技術スタック
lua
領域
game-dev
issue の種類
機能追加
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

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

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