AS条件::戦争::捕虜処遇登用可否
int カスタム::On_カスタム条件(string 条件名, カスタム条件パラメタ型 パラメタ) {
if ( 条件名 == "AS条件::戦争::捕虜処遇登用可否" ) {
}
// 変更しない場合-1
return -1;
}
一般的用途
- 特定の武将や特定条件を満たす武将について、捕虜処遇で登用の成否を制御する目的として使用する。
- 捕虜処遇時の登用成否アルゴリズム全体の変更を目的として使用する。
(例① 登用が必ず失敗するの例)
int カスタム::On_カスタム条件(string 条件名, カスタム条件パラメタ型 パラメタ) {
if ( 条件名 == "AS条件::戦争::捕虜処遇登用可否" ) {
int i処断される側BushouID = パラメタ.整数1 -1;
int i処断する側BushouID = パラメタ.整数2 -1;
int i予定成否結果 = パラメタ.整数3;
if ( 0 <= i処断される側BushouID && i処断される側BushouID < 最大数::武将情報::配列数 &&
0 <= i処断する側BushouID && i処断する側BushouID < 最大数::武将情報::配列数 ) {
デバッグ出力 << "処断される側:" << Get_名字(i処断される側BushouID) << Get_名前(i処断される側BushouID) << endl;
デバッグ出力 << "処断する側:" << Get_名字(i処断する側BushouID) << Get_名前(i処断する側BushouID) << endl;
デバッグ出力 << "予定されてる結果:" << i予定成否結果 << endl;
// (何も条件で絞っていないため)登用は必ず失敗する。
return false;
}
}
// 変更しない場合-1
return -1;
}
例② 特定の条件を満たす時、登用結果をコントロールする例
int カスタム::On_カスタム条件(string 条件名, カスタム条件パラメタ型 パラメタ) {
if ( 条件名 == "AS条件::戦争::捕虜処遇登用可否" ) {
int i処断される側BushouID = パラメタ.整数1 -1;
int i処断する側BushouID = パラメタ.整数2 -1;
int i予定成否結果 = パラメタ.整数3;
if ( 0 <= i処断される側BushouID && i処断される側BushouID < 最大数::武将情報::配列数 &&
0 <= i処断する側BushouID && i処断する側BushouID < 最大数::武将情報::配列数 ) {
// 相性がかなり悪ければ、必ず失敗する。
if ( Get_武将相性差( i処断される側BushouID, i処断する側BushouID ) >= 7 ) {
return false;
}
// 処断される側が僧侶だと必ず失敗する。
if ( p武将情報[i処断される側BushouID].職業 == 職業::僧侶 ) {
return false;
}
// 処断される側が茶人だと必ず成功する。
else if ( p武将情報[i処断される側BushouID].職業 == 職業::茶人 ) {
return true;
}
}
}
// 変更しない場合-1
return -1;
}