AS条件::戦争::非戦死攻撃受動者兵士消失時死亡可否

int カスタム::On_カスタム条件(string 条件名, カスタム条件パラメタ型 パラメタ) {
  if ( 条件名 == "AS条件::戦争::非戦死攻撃受動者兵士消失時死亡可否" ) {
  }

  // 変更しない場合-1
  return -1;
}
  • 引数の補足

    • パラメタ.整数1:

      整数1は攻撃をした武将の武将番号
    • パラメタ.整数2:

      整数2は攻撃されて兵数が0となった武将の武将番号
    • パラメタ.整数3:

      現在予定されている死亡結果
    • パラメタ.浮動小数1:

      その時の、攻撃者の「攻撃方法番号」。
      「攻撃方法::攻撃」もしくは「攻撃方法::一斉攻撃」が入っている。
  • タイミング

    • このカスタム条件は、戦闘中いずれかの武将が「本来天翔記の仕様では死亡することがない攻撃方法」で、
      兵数が0になった際に呼び出される。
      「本来天翔記の仕様では死亡することがない攻撃方法」とは、
      「通常攻撃」「一斉攻撃」と、その跳ね返りダメージである。
  • 一般的用途

    • 特定の武将の、通常攻撃・一斉攻撃などの死亡確率を変更を目的として使用する。
    • 武将全体の、通常攻撃・一斉攻撃などの死亡確率を、
      「武将同士」「戦況全体」「対象武将達の隣接状況」を総合的に判断し、変更することを目的として使用する。
  • 例①

    int カスタム::On_カスタム条件(string 条件名, カスタム条件パラメタ型 パラメタ) {
    
        if (条件名 == "AS条件::戦争::非戦死攻撃受動者兵士消失時死亡可否") {
            int iBushouID = パラメタ.整数1 -1;
            int iDefendID = パラメタ.整数2 -1;
            BOOL b死亡予定 = パラメタ.整数3;
            int n攻撃方法 = (int)パラメタ.浮動小数1;
            if (n攻撃方法 == 攻撃方法::攻撃) {
                デバッグ出力 << "通常攻撃によって" << Get_名前(iDefendID) << "の兵は消失" << endl;
                if (rand() % 2 == 0) {
                    デバッグ出力 << "TSMod処理をさらに上書き、この武将を死亡へ" << endl;
                    return true;
                }
                else {
                    デバッグ出力 << "元のTSMod死亡判定に委譲" << endl;
                    return b死亡予定;
                }
            }
            else if (n攻撃方法 == 攻撃方法::一斉攻撃) {
                デバッグ出力 << "一斉攻撃によって" << Get_名前(iDefendID) << "の兵は消失" << endl;
                if (rand() % 2 == 0) {
                    デバッグ出力 << "TSMod処理をさらに上書き、この武将を死亡へ" << endl;
                    return true;
                }
                else {
                    デバッグ出力 << "元のTSMod死亡判定に委譲" << endl;
                    return b死亡予定;
                }
            }
        }
    
        // 変更しない場合-1
        return -1;
    }