環境の物理方面に固いポケモンを吹っ飛ばす火力指数

カイリュー以外HB特化で計算。
左の指数から乱数で落とせて、右の指数で確定一発になる (最高乱数~ 最低乱数の範囲)
後述のスクリプトで計算。
もはや物理耐久ランキング。

クレベース 118316 ~ 139507

H202
B259

ディンルー 115078 ~ 135800

H262
B194

ヘイラッシャ 106473 ~ 125605

H257
B183

テツノカイナ 104000 ~ 122800

H261
B176

H252カイリュー(マルスケ込み) 102978 ~ 121796

H198
B115

ポリゴン2(進化のきせき) 101578 ~ 120191

H192
B156 * 1.5


チオンジェン(特性込み) 96658 ~ 114370

H192
B167

ガチグマ(アカツキ) 94071 ~ 110823

H220
B189

キョジオーン 93637 ~ 110455

H207
B200

カバルドン 90950 ~ 107525

H215
B187


ママンボウ 89307 ~ 105455

H272
B145

ブリジュラス 89091 ~ 105000

H197
B200



ブラッキー 81314 ~ 95878

H202
B178

アーマーガー 79746 ~ 94210

H205
B172

ドヒドイデ 79419 ~ 93673

H157
B224

ハッサム 64800 ~ 76582

H: 177
B: 162



実際に計算してみると、耐久指数のランキングでは見えなかった硬さがわかって良い。

ドヒドイデってこんなに柔らかかったのか。
あとカイリューバグってる。


  `

使ったスクリプト



function caclulateDamageRange(powerIndex, defenceStatus) {
  // 攻撃側のレベル×2÷5+2→切り捨て
  let p1 = Math.floor((50 * 2) / 5 + 2);
  // * 物理技(特殊技)の威力×攻撃側のこうげき(とくこう)÷防御側のぼうぎょ(とくぼう)→切り捨て
  const p2 = Math.floor((p1 * powerIndex) / defenceStatus);
  // / 50 + 2 切り捨て
  const p3 = Math.floor(p2 / 50) + 2;
  //  ×乱数(0.85, 0.86, …… ,0.99, 1.00 のどれか)→切り捨て
  return [Math.floor(p3 * 0.85), p3];
}

function caclulateDamageLine(hp, defence) {
  let result = {};
  for (let power = 0; power < 1000000; power++) {
    const [minDamage, maxDamage] = caclulateDamageRange(power, defence);

    if (!result.max && maxDamage > hp) {
      result.max = power;
    }

    if (!result.min && minDamage > hp) {
      result.min = power;
    }

    if (result.min && result.max) {
      break;
    }
  }
  console.log(`${result.max} ~ ${result.min}`);
}

// 例ハッサム
caclulateDamageLine(177, 162);

ダメージ計算式はここを参考。

ダメージ計算ツールと一致したのであってそう。

この記事が気に入ったらサポートをしてみませんか?