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

void カスタム::On_戦争開始(戦争開始パラメタ型 パラメタ) {
}
  • 引数の補足

    • パラメタ:

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

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

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

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

  • 一般的用途

    • どこで戦争が発生し、どの勢力同士が戦っているのかといった情報を、
      別のメソッドで使用するために、ここで情報を保存する、など。
    • 戦争関係のフラグ等の設定など。
    • 戦争中に値が変化してしまうのを、「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];
        }
      }
    }