戦国名物事典型& カスタム::On_戦国名物事典要求時(int 家宝番号)

戦国名物事典型& カスタム::On_戦国名物事典要求時(int 家宝番号) {
  return NULL;
}
  • タイミング

    • このメソッドは家宝の列伝に相当する「戦国名物事典」が表示するタイミングで複数回呼び出される。

  • 一般的用途

    • 様々な状況に応じて、家宝の名前、あるいは、列伝等を変化させたい場合に使用する。
  • 例①

    戦国名物事典型& カスタム::On_戦国名物事典要求時(int 家宝番号) {
    
      // 家宝名は家宝番号が全てのシナリオを通じて固定である。
      // よって何番が何の家宝か? は決まっており、家宝列伝(戦国名物事典)とも一致する。
      int iKahouID = 家宝番号 - 1;
    
      if (0 <= iKahouID && iKahouID < 最大数::家宝情報::配列数) {
        // 孫子という文字列を含んだ家宝
        if ( Is_文字列マッチ( Get_家宝名(iKahouID), "孫子") ) {
          戦国名物事典型 rt
            (
            "ソンシカイ\x0A孫子改",
    
            "123456789101112131415161718\x0A"
            "123456789101112131415161718\x0A"
            "123456789101112131415161718\x0A"
            "123456789101112131415161718\x0A"
            );
          return rt;
        }
      }
    
      // 変更しない場合NULL
      return NULL;
    }
    
    
  • 例②

    戦国名物事典型& カスタム::On_戦国名物事典要求時(int 家宝番号) {
    
      int iKahouID = 家宝番号 - 1;
    
      if (0 <= iKahouID && iKahouID < 最大数::家宝情報::配列数) {
        if ( Is_文字列マッチ( Get_家宝名(iKahouID), "孫子") ) {
          戦国名物事典型 rt
            (
            "ソンシカイ\x0A孫子改",
    
            "" // 「""」にすると、該当部分は元の文字列のままとなる。
            );
          return rt;
        }
      }
    
      // 変更しない場合NULL
      return NULL;
    }
    
    
  • 例③

    戦国名物事典型& カスタム::On_戦国名物事典要求時(int 家宝番号) {
    
      int iKahouID = 家宝番号 - 1;
    
        // 蜻蛉切を本多忠勝が所持している時だけ、戦国名物事典の内容を変更する。
    
      if (0 <= iKahouID && iKahouID < 最大数::家宝情報::配列数) {
        デバッグ出力 << "家宝番号" << iKahouID << endl;
        // 60というのは蜻蛉切のこと、順番などを変えていなければ、この60固定で蜻蛉切である。
        if ( iKahouID == 60 ) {
          int iBushouID = p家宝情報[iKahouID].所有武将【武将番号】 - 1;
          if (0 <= iBushouID && iBushouID < 最大数::武将情報::配列数) {
            デバッグ出力 << "武将番号" << iBushouID << endl;
            if (Get_名字(iBushouID) == "本多" && Get_名前(iBushouID) == "忠勝") { // 本多忠勝だ
              戦国名物事典型 rt
                (
                "タダカツノホンボキリ\x0A忠勝の蜻蛉切",
    
                "123456789101112131415161718\x0A"
                "123456789101112131415161718\x0A"
                "123456789101112131415161718\x0A"
                "123456789101112131415161718\x0A"
                );
              return rt;
            }
          }
        }
      }
    
      // 変更しない場合NULL
      return NULL;
    }