void カスタム::On_基本コマンド表示直前《戦争画面》(int 武将番号)
void カスタム::On_基本コマンド表示直前《戦争画面》(int 武将番号) {
}
例①
void カスタム::On_基本コマンド表示直前《戦争画面》(int 武将番号) {
int iBushouID = 武将番号-1; // 武将番号→武将番号【配列用】に
if ( 0 <= iBushouID && iBushouID < 最大数::武将情報::配列数 ) {
if ( p武将戸籍情報[iBushouID].顔番号 == 顔番号::武田晴信 ) { // 武田信玄の顔&列伝番号
Set_コマンド名(戦争画面::基本コマンド名::鼓舞, "虎の怒号");
}
else if ( p武将戸籍情報[iBushouID].顔番号 == 顔番号::長尾景虎 ) { // 上杉謙信の顔&列伝番号
Set_コマンド名(戦争画面::基本コマンド名::鼓舞, "龍の咆哮");
}
}
}
例②
void カスタム::On_基本コマンド表示直前《戦争画面》(int 武将番号) {
/*
* もしも上杉謙信と武田信玄が、接しているならば、
* 互いに一喝の命令が変化する。
*/
int iBushouID = 武将番号-1; // 武将番号→武将番号【配列用】に
if ( 0 <= iBushouID && iBushouID < 最大数::武将情報::配列数 ) {
番号リスト型 list = Get_出陣中の武将番号リスト【配列用】《表示中マップ》(); // 出陣中の
int BothOfExist = 0;
ヘックス位置型 Kn, Sn; // 謙信、信玄の位置
for each ( int iBushouID in list ) {
if ( p武将戸籍情報[iBushouID].顔番号 == 顔番号::武田晴信 ) { // 信玄が出陣している。
BothOfExist++;
// どのヘックスに居るのか覚えておく
if ( Is_野戦中() ) {
Sn = Get_武将の野戦ヘックス位置(iBushouID);
} else if ( Is_攻城戦中() ) {
Sn = Get_武将の攻城戦ヘックス位置(iBushouID);
}
}
else if ( p武将戸籍情報[iBushouID].顔番号 == 顔番号::長尾景虎 ) { // 謙信が出陣している。
BothOfExist++;
// どのヘックスに居るのか覚えておく
if ( Is_野戦中() ) {
Kn = Get_武将の野戦ヘックス位置(iBushouID);
} else if ( Is_攻城戦中() ) {
Kn = Get_武将の攻城戦ヘックス位置(iBushouID);
}
}
}
// 2人とも存在し、その距離はヘックス升で1つ。即ち隣接している。
if ( BothOfExist == 2 && Get_ヘックス間隔(Kn, Sn)==1 ) {
// 信玄なら
if ( p武将戸籍情報[iBushouID].顔番号 == 顔番号::武田晴信 ) {
Set_コマンド名(戦争画面::基本コマンド名::一喝, "龍撃虎");
Set_コマンド名(戦争画面::基本コマンド名::一喝, "龍撃虎");
// 謙信なら
} else if ( p武将戸籍情報[iBushouID].顔番号 == 顔番号::長尾景虎 ) {
Set_コマンド名(戦争画面::基本コマンド名::一喝, "虎破龍");
Set_コマンド名(戦争画面::基本コマンド名::一喝, "虎破龍");
}
}
}
}