void カスタム::On_戦争開始(戦争開始パラメタ型 パラメタ)

void カスタム::On_戦争開始(戦争開始パラメタ型 パラメタ) {
}

引数の補足

  • パラメタ:

    攻め込み先となった「城番号」や、「守備側の軍団番号・軍団長の武将番号」、「攻撃側の軍団番号・軍団長の武将番号」などが渡ってくる。

タイミング

  • 戦争が開始された時に、このメソッドが実行される。
    PC/NPC、戦場見る/見ないなどは無関係に実行される。

    PC戦闘の場合は、下画像のように戦争を「実行」した直後から戦闘開始とみなす。

    よって、このメソッド実行の段階では、援軍関係がどうなるのかは定まっていない。

    PICTURE

一般的用途

  • どこで戦争が発生し、どの勢力同士が戦っているのかといった情報を、
    別のメソッドで使用するために、ここで情報を保存する、など。
  • 戦争関係のフラグ等の設定など。
  • 戦争中に値が変化してしまうのを、「On_戦争終了()」にて復元するため、このメソッドで保存しておくなど

例①

void カスタム::On_戦争開始(戦争開始パラメタ型 パラメタ) {

  int iCastleID = パラメタ.城番号-1;
  デバッグ出力 << "攻撃対象の城:" << Get_城名(iCastleID) << endl;
  int iDefBushouID = パラメタ.守備側軍団長【武将番号】-1;
  デバッグ出力 << "守備側の軍団長" << Get_名字(iDefBushouID)+Get_名前(iDefBushouID) << endl;

  int iAtkBushouID = パラメタ.攻撃側軍団長【武将番号】-1;
  デバッグ出力 << "守備側の軍団長" << Get_名字(iAtkBushouID)+Get_名前(iAtkBushouID) << endl;
}

例②

int 武将戦闘熟練値リスト[最大数::武将情報::配列数];
void カスタム::On_戦争開始(戦争開始パラメタ型 パラメタ) {

  // 戦争が始まる前に、武将全員分の戦闘熟練値をコピー
  for ( int iBushouID=0; iBushouID < 最大数::武将情報::配列数; iBushouID++ ) {
    武将戦闘熟練値リスト[iBushouID] = p武将情報[iBushouID].戦闘熟練値;
  }

}

void カスタム::On_戦争終了() {

  // 戦争終了時に戦闘熟練値を全部復元。
  // 戦争によってアップした戦闘値はなかったことに。
  for ( int iBushouID=0; iBushouID < 最大数::武将情報::配列数; iBushouID++ ) {
    if ( p武将戸籍情報[iBushouID].状態 != 状態::死亡 ) {
      p武将情報[iBushouID].戦闘熟練値 = 武将戦闘熟練値リスト[iBushouID];
    }
  }
}