最終更新日 2024-09-25

ScenarioModVer2 更新履歴 v2.4.0.0~v2.5.0.0

v2.4.1.6 ⇒ v2.4.1.7

v2.4.1.5 ⇒ v2.4.1.6

戦場にて、「ターン変更時」に指定武将が退却を試みるコマンドが加えられた。

v2.4.1.4 ⇒ v2.4.1.5

v2.4.1.3 ⇒ v2.4.1.4

フラグ関連の関数の返り値が、厳密過ぎて常に複雑な記述を強いられていたため
実用シーンを考慮して、簡易な記述で済む返り値とした。

v2.4.1.2 ⇒ v2.4.1.3

ランダムな武将姓名、姫名を得る関数が追加された。

v2.4.1.1→v2.4.1.2

v2.4.1.1追記

は、いずれも「表示カラムを絞る」機能を持っている。

v2.4.0.7→v2.4.1.1

v2.4.0.7追記

v2.4.0.5 ⇒ v2.4.0.7

v2.4.0.4→v2.4.0.5

現代の時代の「都道府県」情報と天翔記とをリンクさせるための関数が数点追加された。

  {
    // 城番号(配)→都道府県番号への変換
    int 県番号 = Get_城都道府県番号(城配列番号::春日山城);

    デバッグ出力 << "春日山城所在:" << Get_都道府県名(県番号) << endl; // 番号→文字列にしてModDebuggerへ出力
  }

  {
    int 県番号 = Get_城都道府県番号(城配列番号::室町御所);
    デバッグ出力 << "室町御所の場所の所在:" << Get_都道府県名(県番号) << endl; // 番号→文字列にしてModDebuggerへ出力


  }

  {
    デバッグ出力 << "北海道(南部)の今日のリアル天気:" << Get_都道府県天気(都道府県::北海道) << endl;
    デバッグ出力 << "沖縄の今日のリアル天気:" << Get_都道府県天気(都道府県::沖縄県) << endl;

    // 城番号(配)→都道府県番号への変換
    int 県番号 = Get_城都道府県番号(城配列番号::堺);
    デバッグ出力 << "堺の場所の今日のリアルお天気:" << Get_都道府県天気(県番号) << endl;

  }

v2.4.0.3→v2.4.0.4

とある年月日から「和暦」を得る関数が実装された。
1334年の「建武」の時代から、現在の「平成」の時代まで対応されている。

    和暦型 wa1 = Get_和暦(); // 引数に何も指定しなかったら、進行ゲーム中の現在の西暦年が指定されたとみなす。
    デバッグ出力 << wa1.元号 << endl;
    デバッグ出力 << wa1.年 << endl; // 和暦上で何年かの「数値」
    デバッグ出力 << wa1.年漢字 << endl; // 和暦上で何年かの「漢字」。

    // 西暦1600年の和暦を出す。天翔記と同じで、年のどこかで元号が変わっていたとしたら、新元号が常に返ってくる。
    和暦型 wa2 = Get_和暦(1600);
    デバッグ出力 << wa2.元号 << endl;
    デバッグ出力 << wa2.年 << endl; // 和暦上で何年かの「数値」
    デバッグ出力 << wa2.年漢字 << endl; // 和暦上で何年かの「漢字」。

    // 西暦1570年2月1日の和暦を出す。引数指定はあくまで西暦の新暦ベースであり旧暦ベースではない。
    // 月を指定した場合は、天翔記より厳密な元号を弾き出すこととなるので、天翔記の画面上の表示とは当然ズレることがある。
    和暦型 wa3 = Get_和暦(1570, 2, 1);
    デバッグ出力 << wa3.元号 << endl; // 年号の文字列。
    デバッグ出力 << wa3.年 << endl; // 和暦上で何年かの「数値」
    デバッグ出力 << wa3.年漢字 << endl; // 和暦上で何年かの「漢字」。

v2.4.0.2→v2.4.0.3

以下のイベントハンドラや関数に渡す値、及び、渡ってくる値仕様が変更された。

これまでこれらの関数は、「TSMod.iniのBGM分布」や神パッチの「BGM分布」より1つ小さな値でやり取りされていた。
しかし、それでは常に1つずれた番号となるため、使用しづらい。

そこで、今バージョンからは、将来の使いやすさも見据えて、BGM分布番号と一致させた。
既存でBGM番号を数値にて直接指定して使用している場合は、指定番号の修正が必要となるので注意。

v2.4.0.1→v2.4.0.2

言葉遣い自動変格活用のAPIが追加された。
概ねこちらの概念を実装したものである。

これらのAPIは、不定な人物同士の会話メッセージを作成する際に、「自分・相手」の呼称や、語尾変化等をサポートするAPIです。
後述のソース中の、i1stBushouID, i2ndBushouID を、様々な武将で試し、一体どのような概念なのか理解して使いましょう。
男性・女性、上司・部下、年寄と若君主、様々な職業など、考慮されたメッセージへと変格活用されます。

非常に多数の関数に渡るため、ここでは、1つ1つピックアップしない。
言葉遣い情報型.hと、言葉遣い情報型.cppの中身を眺めて、なんとなく把握してください。

  int i1stBushouID = Get_武将番号【配列用】(顔番号::武田晴信); // 武田信玄
  int i2ndBushouID = Get_武将番号【配列用】(顔番号::武田信繁); // 武田信繁

  if ( 0 <= i1stBushouID && i1stBushouID < 最大数::武将情報::配列数 && 0 <= i2ndBushouID && i2ndBushouID < 最大数::武将情報::配列数 ) {
    string message1 = %相手%(i1stBushouID, i2ndBushouID)+"、商人に\x0A"
             "米を売"+%りましょう%(i1stBushouID, i2ndBushouID);

    string message2 = %ははは%(i1stBushouID, i2ndBushouID)+"、"+%相手%(i1stBushouID, i2ndBushouID)+"\x0A"
              "一度の失敗では\x0A"
              "懲りぬよう"+%です%(i1stBushouID, i2ndBushouID)+%な(2)%(i1stBushouID, i2ndBushouID);

    string message3 = "おのれ、"+%罵倒相手%(i1stBushouID, i2ndBushouID)+"\x0A"
              "覚えておれ!";


    デバッグ出力 << message1 << endl;
    デバッグ出力 << endl;
    デバッグ出力 << message2 << endl;
    デバッグ出力 << endl;
    デバッグ出力 << message3 << endl;
  }

1人称と2人称の関係により、以下のようにメッセージが変格する。

信繁、商人に
米を売ろう

ははは、信繁
一度の失敗では
懲りぬようじゃな

おのれ、信繁
覚えておれ!
兄上、商人に
米を売りましょう

ははは、兄上
一度の失敗では
懲りぬようですな

おのれ、晴信
覚えておれ!
政虎様、商人に
米を売りましょう

わはは、政虎様
一度の失敗では
懲りぬようですな

おのれ、くそ坊主
覚えておれ!

v2.3.7.5→v2.4.0.1

セーブデータにも反映されるフラグ管理のためのAPIが追加された。