最終更新日 2024-09-25

AS条件::戦争::鉄砲受動者死亡可否

int カスタム::On_カスタム条件(string 条件名, カスタム条件パラメタ型 パラメタ) {
  if ( 条件名 == "AS条件::戦争::鉄砲受動者死亡可否" ) {
  }

  // 変更しない場合-1
  return -1;
}

引数の補足

タイミング

一般的用途

例①

int カスタム::On_カスタム条件(string 条件名, カスタム条件パラメタ型 パラメタ) {

  if ( 条件名=="AS条件::戦争::鉄砲受動者死亡可否" ) {

    デバッグ出力("AS条件::戦争::鉄砲受動者死亡可否");

    int i武番A【配】 = パラメタ.整数1 -1; // 整数1は鉄砲を撃った武将の武将番号
    int i武番B【配】 = パラメタ.整数2 -1; // 整数2は鉄砲を撃たれた武将の武将番号
    int 死亡結果 = パラメタ.整数3; // 現在予定されている死亡結果

    // 武将1をチェックする。範囲外であれば、処理しない。-1。
    if ( (0 <= i武番A【配】 && i武番A【配】< 最大数::武将情報::配列数) &&
      (0 <= i武番B【配】 && i武番B【配】< 最大数::武将情報::配列数) ) {

        デバッグ出力 << "能動武将番号:" << (int)i武番A【配】 << "," << "受動武将番号:" << (int)i武番B【配】 << endl;
        デバッグ出力 << "予定死亡結果:" << (int)死亡結果 << endl;

        // 鉄砲Sが撃つと、受動者側が戦才80以上(天翔記の表示上で160以上)無いと、死亡確定
        // 攻撃側の鉄砲適性がS
        if ( Get_鉄砲適性(i武番A【配】) == 鉄砲適性::S )
        {
          // 防御側戦才 80 未満(天翔記表示で160未満)
          if ( p武将情報[i武番B【配】].最大戦才 < 80 ) {

            // 結果を受動側死亡とする。
            return true;
          }
        }
    }

    // 条件に見合わなかった場合は、「AS条件::戦争::鉄砲受動者死亡可否」は元々の判定結果に委ねる。
  }


  // それ以外は条件を変えない。
  return -1;
}