【ポケモンMATLABダメ計】ダメージ補正リスト
本記事は以下リンクの補足として扱う。
以下内容を示す。
以下,コードにダメージ補正を記述する
・func01
・func_calBlock
※分類について
7.1 すばやさ補正
7.2 わざ威力変更
7.2.1 Zわざ
7.2.2 ダイマックスわざ
7.3 わざタイプ変更
7.4 物理特殊判定
7.5 わざ威力補正
7.6 攻撃実数値補正
7.7 防御実数値補正
7.8 +2前補正
7.9 +2後補正
7.10 タイプ相性・一致補正
7.11 ダメージ補正
7.12 スリップダメージ補正
7.13 回復ソース補正
7.x1 あとがき
7.x2 更新履歴
※RT-Mode実装に伴う変更
→配列の判別時に同じコードを何度も回すのが面倒
→コード自体増設箇所が多すぎる
→関数処理できないか検討
※ダメージ補正係数追加に伴う火力指数,耐久指数計算の再設定
→Simulink上のブロックを追加,削除する
switch,if文などの関数化
before
通常フロー内のコードにswitch,if構文を記述
→for文で何度も計算を繰り返すのが困難
After
上記コードを関数化
結果,通常フローのコードは下記のようになり,for文にも容易に対応できるようになる。
当処理を補正リスト全てに適用する。
【コード:】
【コード:】
【コード:】
※Zわざ,ダイマックスによるわざ威力変更は別途記載予定
【コード:】
→実装先送り※DMはダイマックス時に補正を受けるか否かの判別
【コード:】※とうそうしんの場合は1.25で固定(使用率の低い特性のため)
【コード:】
【コード:】
【コード:】
【コード:】
【コード:】
【コード:】
【コード:】
※現状特性補正とわざ補正を同じ構造体で処理している。
【コード:】
【コード:】
【コード:】
【コード:】
【コード:】
【コード:】
以下内容を示す。
7.ダメージ補正の概要
ダメージ補正は以下式の計算家庭において,わざ,特性,もちもの,天候,フィールドなどの各要素によって係数が変わる補正を指すこととする。以下,コードにダメージ補正を記述する
・func01
・func_calBlock
※分類について
7.1 すばやさ補正
7.2 わざ威力変更
7.2.1 Zわざ
7.2.2 ダイマックスわざ
7.3 わざタイプ変更
7.4 物理特殊判定
7.5 わざ威力補正
7.6 攻撃実数値補正
7.7 防御実数値補正
7.8 +2前補正
7.9 +2後補正
7.10 タイプ相性・一致補正
7.11 ダメージ補正
7.12 スリップダメージ補正
7.13 回復ソース補正
7.x1 あとがき
7.x2 更新履歴
※RT-Mode実装に伴う変更
→配列の判別時に同じコードを何度も回すのが面倒
→コード自体増設箇所が多すぎる
→関数処理できないか検討
※ダメージ補正係数追加に伴う火力指数,耐久指数計算の再設定
→Simulink上のブロックを追加,削除する
switch,if文などの関数化
before
通常フロー内のコードにswitch,if構文を記述
→for文で何度も計算を繰り返すのが困難
After
上記コードを関数化
結果,通常フローのコードは下記のようになり,for文にも容易に対応できるようになる。
当処理を補正リスト全てに適用する。
7.1 すばやさ補正
すばやさに関する補正内容を以下に示す。7.1.1 特性補正(cal.sp.A)
7.1.2 もちもの補正(cal.sp.B)
【コード:】
7.1.3 状態補正(cal.sp.C)
7.1.4 状態補正2(cal.sp.C2)
上表に同じ
7.1.5 フィールド補正(cal.sp.D)
【コード:】
7.2 わざ威力変更
わざ威力変更に関する補正内容を以下に示す。
【コード:】
【コード:】
7.3 わざタイプ変更
わざタイプ変更に関する補正内容を以下に示す。
※へんげんじざい,リベロによるわざタイプ変更補正は行わない
代わりにタイプ一致補正においてコード記述を行う。
【コード:】
7.4 物理特殊判定
物理特殊判定に関する補正内容を以下に示す。
【コード:】
【コード:】
7.5 わざ威力補正
わざ威力補正に関する補正内容を以下に示す。
【コード:】
7.5.1 特性補正At(cal.move.B)
【コード:】
7.5.2 特性補正Df(cal.move.B_df)
※ダメージではなく威力を半減と書いてある特性
あついしぼうなどはダメージを半減となっているため,防御側の特性補正を追記した。
【コード:】
7.5.3 もちもの補正(cal.move_C)
【コード:】
7.5.4 フィールド補正(cal.move_D)
※防御側のフィールド補正はダメージに関する補正のため後述する。
7.6 攻撃実数値補正
攻撃実数値補正に関する補正内容を以下に示す。
【コード:】
7.6.1 特性補正(cal.at_A)
7.6.2 もちもの補正(cal.at_B)
7.6.3 やけど補正(cal.at_C)
7.6.4 おやこあい補正(cal.at_F)
7.6.5 わざ補正(cal.at_G)
【コード:】
7.7 防御実数値補正
防御実数値補正に関する補正内容を以下に示す。
【コード:】
【コード:】
7.7.1 特性補正(cal.df_A)
7.7.2 もちもの補正(cal.df_B)
【コード:】
7.7.3 天候補正(cal.df_D)
7.8 +2前補正
+2前補正に関する補正内容を以下に示す。7.8.1 壁補正(cal.cor_be_A)
7.8.2 複数攻撃補正(cal.cor_be_B)
7.8.3 天候補正(cal.cor_be_C)
【コード:】
7.9 +2後補正
+2後補正に関する補正内容を以下に示す。
7.9.1 いのちのたま補正
7.9.2 攻撃回数補正補正
特定のわざのとき攻撃回数を変更する。
※現在は手動だが自動で最大値設定を行えるように考慮
7.9.3 急所補正
急所倍率1.5倍を適用する。
※At側:ランク-6〜-1のとき,ランク0に補正
※Df側:ランク+6〜-+1のとき,ランク0に補正
7.10 タイプ相性・一致補正
タイプ相性・一致補正に関する補正内容を以下に示す。
【コード:】
7.10.1 タイプ一致補正(cal.cor_fn_A)
【コード:】
7.10.2 タイプ相性補正(cal.cor_fn_B)
→問題が発生したら分別を考慮
【コード:】
【コード:】
7.10.3 もちもの補正(cal.cor_fn_C)
7.10.4 タイプ一致特性補正At(cal.cor_fn_B2)
7.10.5 タイプ一致わざ補正(cal.cor_fn_B)
※cal.cor_fn_Bをswitch構文として活用する。
【コード:】
【コード:】
7.11 ダメージ補正
ダメージ補正に関する補正内容を以下に示す。
【コード:】
7.11.1 特性補正(cal.cor_fn_D)
7.11.2 フィールド補正(cal.cor_fn_F)
7.11.3 わざ補正(cal.cor_fn_G)
7.11.4 特性補正_At(cal.cor_fn_E)
7.12 スリップダメージ補正
メイン記事の3.6節,スリップダメージAに関してまとめる。
【コード:】
7.13 回復ソース補正
考え中
7.x1 あとがき
・ちょっとした考察
ダイマックス時に適応される特性について
攻撃能力値に影響を与える特性とわざの威力を倍率補正する特性で判別しているのかな?と思っただけです。
・ダイマックス適用可否について
引用ツイート,あくまでも参考程度で適用しています。
本記事は随時更新予定です。
ダイマックス時に適応される特性について
攻撃能力値に影響を与える特性とわざの威力を倍率補正する特性で判別しているのかな?と思っただけです。
・ダイマックス適用可否について
引用ツイート,あくまでも参考程度で適用しています。
ダイマックス技の威力と特性の関係(暫定)— ゆった/RdF ノーマル統一 (@Yutta1535774) December 8, 2019
〇=上昇する ✕=無補正
・はりきり 〇
自身の攻撃力1.5倍
・ちからもち 〇
自身の攻撃力2倍
・ごりむちゅう ✕
技威力1.5倍
・ちからづく ✕
技威力1.3倍
・各種スキン ✕(タイプ変化のみ〇)
技威力1.2倍、タイプ変化
・すいほう 〇
自身の攻撃力2倍
本記事は随時更新予定です。
コメント
コメントを投稿