モノトーンの伝説日記

Apex Legends, Splatoon, Programming, and so on...

30-30リピーターのシャッターキャップの増幅バリケードのダメージがおかしいなって思ったら用いている計算方法が違ったみたいです

 これは想定外。

1. 前提事項

 いつものようにこの記事を読むには Apex Legends 世界のダメージ法則を知っている必要があります。

mntone.hateblo.jp

 もちろん小数点ダメージもありませんし,

mntone.hateblo.jp

ボセックに関しては,通常弾 5パターン,拡散弾 3パターン全てこの世界法則に一致しています。

mntone.hateblo.jp

2. 計算方法

 30-30リピーターは ×1.36 という ADS 倍率を持ちます。これは通常弾でもシャッターキャップをつけた拡散弾でも同じで,

  • 通常弾: 42 × 1.36 = 57.12 → 57
  • 拡散弾: 8 × 1.36 = 10.88 → 11

であるはず!?

 しかし,増幅バリケードの計算だけ実測と計算値が違うぶっ壊れが発生していまして,その結果を再現することができないという……

 例によって手持ちの調べたデータを OneNote から Markdown に変換して貼り付けておきます。カッコ内は 1 ペレットあたりのダメージに換算したものです。

2.1 拡散弾 Minimum

Hlm0 Hlm1 Hlm2 Hlm3 Body Leg
通常 70 (10) 70 (10) 63 (9) 63 (9) 56 (8) -
+増幅 91 (13) 91 (13) 84 (12) 77 (11) 70 (10) -
鉄壁 63 (9) 63 (9) 56 (8) 56 (8) 49 (7) -
+増幅 77 (11) 70 (10) 70 (10) 63 (9) 63 (9) -

2.2 拡散弾 Maximum

Hlm0 Hlm1 Hlm2 Hlm3 Body Leg
通常 98 (14) 91 (13) 91 (13) 84 (12) 77 (11) -
+増幅 126 (18) 119 (17) 112 (16) 112 (16) 98 (14) -
鉄壁 84 (12) 77 (11) 77 (11) 70 (10) 63 (9) -
+増幅 105 (15) 98 (14) 98 (14) 98 (14) 84 (12) -

3. 謎すぎる現象からの仮説

 増幅バリケードを経由しない方は正常に動作していますし,増幅バリケードまわりについて詳しく検討します。ボセックは固定ダメージを 5 つ持つので,この計算値のズレが現れないが,30-30リピーターは可変のダメージを持つために引き起こされているということでしょう。計算では出ない明らかに大きな数値が出ているので,多分計算方法が間違っているということ。

 ここである仮説を立てます。増幅バリケードとADS倍率の計算順序を入れ替えること。つまり,

  1. 増幅バリケード経由倍率 ×1.2
  2. ADS倍率 ×1.36
  3. (以後同じ)

 この方式で計算すると,増幅バリケード経由胴体ダメージは,

  • 通常キャラ: round(round(8 × 1.2) × 1.36) = 14
  • 鉄壁キャラ: round(round(round(8 × 1.2) × 1.36) × 0.85) = 12

となります。正しくなりました!!

まとめ

 30-30リピーターの buggy 動作だと書こうとしたら,なんかよく見たら計算順序の問題だった!! そんな記事に着地しましたw 多分これ,通常弾でもおそらく同じ計算順序が本来の形だと思うので,直しておきます。