最終更新日 2024-09-25
AS条件::戦争::突撃受動者死亡可否
int カスタム::On_カスタム条件(string 条件名, カスタム条件パラメタ型 パラメタ) { if ( 条件名 == "AS条件::戦争::突撃受動者死亡可否" ) { } // 変更しない場合-1 return -1; }
引数の補足
-
パラメタ.整数1:
整数1は突撃した武将の武将番号 -
パラメタ.整数2:
整数2は突撃された武将の武将番号 -
パラメタ.整数3:
現在予定されている死亡結果
タイミング
- このカスタム条件は、戦闘中いずれかの武将が「突撃」をした際の、死亡判定時に呼び出される。
突撃の種類は問わない。騎馬突撃など複数回の攻撃を伴うものは、その度に呼び出される。
一般的用途
- 突撃の死亡確率や死亡結果の制御・変更を目的として使用する。
例①
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; // 上杉謙信が突撃すると、受動者側が戦才80以上(天翔記の表示上で160以上)無いと、死亡確定 // 攻撃側は上杉謙信の顔番号 if ( p武将戸籍情報[i武番A【配】].顔番号==26 ) { // 防御側戦才 80 未満(天翔記表示で160未満) if ( p武将情報[i武番B【配】].最大戦才 < 80 ) { // 結果を受動側死亡とする。 return true; } } } // 条件に見合わなかった場合は、「AS条件::戦争::突撃受動者死亡可否」は元々の判定結果に委ねる。 } // それ以外は条件を変えない。 return -1; }