Skip to content

修正三倍射程下拋射物射短打不到目標的問題#6

Closed
nojackno2-ctrl wants to merge 1 commit into
主要開發from
claude/remote-hit-rate-itjh3r
Closed

修正三倍射程下拋射物射短打不到目標的問題#6
nojackno2-ctrl wants to merge 1 commit into
主要開發from
claude/remote-hit-rate-itjh3r

Conversation

@nojackno2-ctrl

Copy link
Copy Markdown
Owner

問題

使用者回報:開啟 RangedRange3x(三倍射程)後,弓箭等拋射物「根本射不到」連站著不動、原版可以直接命中的敵人。這與先前修過的視野/鎖定問題(AI_HANDOFF 已記錄)是不同的第二個問題

根因(彈道幾何)

docs/reverse-engineering/projectile-ballistics.md 的靜態逆向模型:

  • 拋射物水平速度隨距離放大,因此水平抵達時間是與距離無關的常數 4/ISF(原版 ISF 1.5 → 約 2.67 秒)。
  • 垂直落地時間為 2×emit/ysub(弓箭約 2.47 秒),同樣與距離無關。
  • 兩者不匹配,導致每一箭都固定落在目標距離的約 T_fall/T_arrival ≈ 92.5%,形成「射短 ≈ 7.5% × 距離」的系統性偏差。

原版射程下 7.5% 的射短尚在傷害半徑(弓箭 w_drad = 45)之內,敵人被打中;三倍射程時射短距離同步變三倍、遠超傷害半徑,箭落在敵人前方 → 「根本射不到」。

修法(依使用者要求,不更動傷害半徑)

RangedRange3x 啟用時,EparaPatchercl_epara.ini[ProjectileInitSpeedFactor] 乘以 InitSpeedReachMultiplier = 1.08(1.5 → 1.62),使 4/ISF 下降對齊弓箭飛行時間,射短比例趨近 0,拋射物即可覆蓋放大後的射程(並縮短飛行時間、降低移動目標閃避)。

  • EparaPatcher.GetPatchedBytes 新增 rangedRange3x 參數,重構為可獨立套用 variance / init-speed 兩個區段。
  • PatchEngine 傳入 options.RangedRange3x
  • 偵測不受影響RangedRange3x 由 objdef 射程欄位回讀,不讀 epara(與既有 variance 補丁一致)。

測試

  • 新增 Epara_range3x_raises_init_speed_so_projectiles_reach_extended_range round-trip 測試。
  • 更新既有 Epara_accuracy_patch_... 測試簽章(未開三倍射程時 ISF 維持 1.5)。

待辦 / 注意

  • 本 PR 未在開發環境本地編譯(該 session 網路政策擋掉 .NET SDK 下載源),改由本 CI 驗證 build 與測試。
  • 1.08 屬靜態逆向推導(與 ArcEmitMultiplier 同性質),正式倍率仍待實機校準——三倍射程的命中窗口很窄(弓箭約 ISF 1.62 ± 0.05)。此常數集中於 EparaPatcher.InitSpeedReachMultiplier,易於調整。

🤖 Generated with Claude Code


Generated by Claude Code

開啟 RangedRange3x 後弓箭等拋射物「根本射不到」站著不動的敵人。
根因為彈道幾何:水平抵達時間為與距離無關的常數 4/ISF(約 2.67 秒),
垂直飛行落地時間為 2×emit/ysub(弓箭約 2.47 秒),因此每箭固定落在
目標距離的約 92.5%,形成「射短≈7.5%×距離」的系統性偏差。原版射程下
7.5% 尚在傷害半徑內,三倍射程時射短距離同步三倍、遠超傷害半徑。

依使用者要求不更動傷害半徑(w*_drad),改以提高拋射初速解決:
RangedRange3x 啟用時 EparaPatcher 將 cl_epara.ini
[ProjectileInitSpeedFactor] 乘以 InitSpeedReachMultiplier=1.08
(1.5→1.62),使 4/ISF 對齊弓箭飛行時間、射短比例趨近 0,拋射物
即可覆蓋放大後的射程(並縮短飛行時間降低移動目標閃避)。偵測不受影響
(RangedRange3x 由 objdef 射程欄位回讀,不讀 epara)。1.08 屬靜態逆向
推導,正式倍率仍待實機校準。新增 round-trip 測試並更新既有 epara 測試。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Brrn8kwp6d2HX3nZzBhGAc
@nojackno2-ctrl
nojackno2-ctrl deleted the claude/remote-hit-rate-itjh3r branch July 14, 2026 23:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants