実現したいこと
Smash Ultimate CalculatorのTotal KBの計算結果と一致させたい
リンク内容https://rubendal.github.io/SSBU-Calculator/
ゲームの仕様が関わってくるので、ゲームの掲示板などで聞いたのですが、全然分かる方がいなかったので、ここでも質問させていただきました。
発生している問題・分からないこと
計算結果がSmash Ultimate Calculatorhttps://rubendal.github.io/SSBU-Calculator/のTotal KBと一致しない。
ルイージ(重量97)が30%の時に、マリオが0%の時の上強(5.5ダメージ)、BKB=28、KBG=130を初めて当てる時のKBを求めたいのですが、SSBU計算のTotal KBの計算結果と異なり、困っています。手を貸してくださると、助かります。
私の計算 77.09716434010153
SSBU 76.460932
ふっとばし力 - スマブラSPECIAL 検証wiki - atwiki(アットウィキ):https://w.atwiki.jp/smashsp_kensyou/pages/58.htmlによると、KBの計算は、
KB = (((0.1+ダメージ*0.05)敵%/W1.4+18)KBG0.01+BKB)*補正値
※W = (100 + 敵重量) / 200
補正値にはほかほか補正などが入りますが、今回はマリオが0%の時なので1.0倍で構いません。
敵%には、「1on1補正(1.2倍)が適用されなかったと仮定した場合における、攻撃ヒット後の敵の蓄積ダメージ」を使用します。
また、wikiによると基本計算式内のダメージの部分は実戦では ワンパターン相殺を考慮する必要があり、以下のように計算した値を用いるらしいです。
ダメージ(ワンパターン補正有) = ダメージ * (1 + 0.3 * (ワンパターン補正倍率 - 1))
今回は初めて技を当てるので、ワンパターン補正倍率は1だと思うのですが、wikiによるとワンパターン補正倍率が1の場合、OPボーナスにより、ダメージが1.05倍になるそうです。
従って、マリオの上強(5.5)のダメージは
5.5*1.05 = 5.775
になると思います。
ここに1on1補正1.2倍を加えると、
5.775×1.2 = 6.93
となり、このダメージはSSBU計算と一致します。しかし、冒頭にも述べたように、KBの計算における敵%には1on1補正なしのダメージを与えた場合の蓄積%が適用されるので、ルイージの蓄積%は35.775として計算されると思います。
これらを考慮して、以下のプログラミングしてみました。
しかし、初めにも述べたように、SSBU計算とはTotal KBの値
が異なり、よく分かりません。
なので、どなたか分かる方いましたら、教えてくださると助かります。
該当のソースコード
Luigi_W = 97 #ルイージの重量 Luigi_P = 30 #ルイージの蓄積% Mario_Up = 5.5 #上強のダメージ BKB = 28 #上強のBKB KBG = 130 #上強のKBG Op = 1 #OP補正倍率 Hoka = 1 #ほかほか補正 35%以下では常に1.0倍 W = (100+Luigi_W)/200 #print(f"W={W}") if Op == 1: #OP補正倍率が1の時 D_OP = Mario_Up * 1.05 #OPボーナス1.05 print(f"マリオの上強(OPボーナス)={D_OP}") Hit_P = D_OP + Luigi_P #敵%は1on1補正なしの攻撃がヒットした後の蓄積% print(f"ルイージの蓄積%{Hit_P}%") KB = ((0.1 + D_OP * 0.05) * Hit_P/W * 1.4 + 18) * KBG * 0.01 + BKB #補正値なしKB TKB = KB #Total KB print(f'マリオの上強({Mario_Up})', f"ルイージ({Luigi_W})", f"{Luigi_P}%の時", f"Total KB={TKB}") #TKB=77.09716434010153 #SSBUは76.460932 #1on1補正1.2倍込みのダメージ D_on = D_OP * 1.2 print(f"マリオの上強1on1込み{D_on}")
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
ダメージや蓄積%の値をfloorしたりすると、値が近くなったりしました。しかし、値が異なることには変わりないので、何が正しいかはよく分かりません。
補足
ちなみに、
76.460932/77.09716434010153=0.9917476557594921
あなたの回答
tips
プレビュー