PathOfBuildingCommunity / PathOfBuildingCommunity/PathOfBuilding

Hit Rate with Max Unleash Seals is incorrect when Cast Rate is high enough

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

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

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

説明

Check version
  • I'm running the latest version of Path of Building and I've verified this by checking the changelog
Check for duplicates
  • I've checked for duplicate open and closed issues by using the search function of the issue tracker
Check for support
  • I've checked that the calculation is supposed to be supported. If it isn't please open a feature request instead (Red text is a feature request).
What platform are you running Path of Building on?

Windows

What is the value from the calculation in-game?

In-game when waiting for Max Unleash Seals, I believe Hit Rate should be calculated as the lower of the following two:

  1. 1 / Time to Gain Max Seals
  2. Cast Rate / (1 + Max Seals * 0.1)

So the value would be (with placeholder stats):

  • Time to Gain Max Seals = 1.5s
  • Cast Rate = 3/s
  • Max Seals = 8
  • 1 / Time to Gain Max Seals = 1 / 1.5 = 0.67 Hit Rate
  • Cast Rate / (1 + Max Seals * 0.1) = 3 / (1 + 8 * 0.1) = 1.67 Hit Rate
  • 0.67 is the lower of the two, so that should be the Hit Rate used
What is the value from the calculation in Path of Building?

In PoB, when config is set to Wait for Max Unleash Seals, PoB calculates Hit Rate as whichever is lower:

  1. 1 / Time to Gain Max Seals
  2. 1 / (Cast Rate * 1.1)

So it calculates the incorrect value (with placeholder stats):

  • Time to Gain Max Seals = 1.5s
  • Cast Rate = 3/s
  • Max Seals = 8
  • 1 / Time to Gain Max Seals = 1 / 1.5 = 0.67 Hit Rate
  • 1 / (Cast Rate * 1.1) = 1 / (3 * 1.1) = 0.30 Hit Rate
  • 0.30 is the lower of the two, so it chooses that (and so higher cast speed = lower hit rate and DPS currently)
How to reproduce the issue
  1. Select Arc as the main skill
  2. Add Unleash Support to Arc
  3. Tick on Do you wait for Max Unleash Seals?
  4. Increase cast speed until (Cast Rate * 1.1) > Time to Gain Max Seals (On new file, 100% increased cast speed is enough)
  5. See incorrect Hit Rate based on inverse of 110% of Case Rate
PoB for PoE1 build code
https://pobb.in/-OiTWyTB33fj
Screenshots

When Time to Gain Max Seals is greater than 110% of Cast Rate:
Image

When 110% of Cast Rate is greater than Time to Gain Max Seals:
Image

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

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

はじめの一歩

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

調査の方向性

リンクされたPoE1ビルドコードを使用し、Arc、Unleash Support、および「Do you wait for Max Unleash Seals?」を設定して問題を再現します。その設定に対するヒット率の計算を追跡し、Max Seals を含むシール獲得率と詠唱速度の式のうち、低い方が使用されていることを確認します。高い詠唱速度で結果を確認します。

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

評価

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

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

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