最終更新日 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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
  // 城番号(配)→都道府県番号への変換
  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年の「建武」の時代から、現在の「平成」の時代まで対応されている。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
和暦型 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の中身を眺めて、なんとなく把握してください。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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人称の関係により、以下のようにメッセージが変格する。

1
2
3
4
5
6
7
8
9
信繁、商人に
米を売ろう
 
ははは、信繁
一度の失敗では
懲りぬようじゃな
 
おのれ、信繁
覚えておれ!
1
2
3
4
5
6
7
8
9
兄上、商人に
米を売りましょう
 
ははは、兄上
一度の失敗では
懲りぬようですな
 
おのれ、晴信
覚えておれ!
1
2
3
4
5
6
7
8
9
政虎様、商人に
米を売りましょう
 
わはは、政虎様
一度の失敗では
懲りぬようですな
 
おのれ、くそ坊主
覚えておれ!

v2.3.7.5→v2.4.0.1

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