最終更新日 2024-09-25
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; }