-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Milestone
Description
幕末ソーサリアンも本格的に始まり、連作シナリオに関する問題も出てきています。
本Issueでは、それら問題の改善案をまとめ、対策していきます。
非互換な問題もあり、一朝一夕には対応できないものもありますが、備忘録の意味も含め、列挙しておきます。
series属性の導入
- scenario要素のseries属性にシリーズidを指定した場合、連作共通のセーブデータを作成する。
- series属性を持つシナリオは、ひとつのセーブデータを連作で共有する
- セーブデータにscenerioプロパティ(現在のシナリオid)を追加
- (課題)バックアップ/リストア管理に影響あり。scenario.xmlにもseries属性を追加要?
- (課題)シナリオ途中で他のシナリオを開いた場合、無条件にそちらを開始しても良い?
- scenarioプロパティと等しいかどうかで判定?
- (課題)現在のシナリオ個々のセーブデータは無効化される(自動移行は辛いので、最初からになってしまうか...)
nexts属性の廃止 ★非互換★
series属性の導入に伴い、nexts属性は廃止する。
- 現在、不特定多数の回に引き継ぐ場合、nexts属性に連作全てのシナリオidを列挙する必要がありますが、これが不要になります(自由に連作を追加可能)。
- 不要なセーブデータが大量にできる問題が解消する。
end属性のシーンの仕様変更
- series属性の導入に伴い、happy、badエンドの処理を変更する。
- scenario=空文字列、その他はnexts属性での処理に準ずる
次シナリオ開始時のルール
地味に結構複雑になりそうなので、要検討
- scenario is empty
+ [既存キャラで開始]:********************************
+ [新規キャラで開始]:******************************** - scenario not empty
+ scenario=現シナ
+ [つづきから]:********************************
+[既存キャラで最初から]:********************************
+[新規キャラで最初から]:********************************
+ scenario=他シナ(alert:冒険途中のデータが消えます)
+[既存キャラで開始]:********************************
+[新規キャラで開始]:********************************
再開時の確認
[最初から]のボタンをクリックした場合に、ダイアログによる確認を追加(冒険途中のデータが消えますが、宜しいですか?)
- (課題)連作以外でも適用する?
2021-08-17 更新メモ
series属性の導入
- scenario要素のseries属性にシリーズidを指定した場合、連作共通のセーブデータを作成する。
- 作成タイミングはhappy/bad問わず、end属性ありのシーン
- 現在のnexts属性の仕様に即して、エンディング時のセーブデータを複製
- 本来のセーブデータは従来通り、シナリオ個々のセーブデータとして管理(バックアップの互換性維持)
- 【課題】連作バックアップはUtilページからのみ(ok?)
- 連作セーブデータにはplayingフラグを追加(冒険中シナリオを記録。クリア時は空)
シナリオ開始時の仕様
- series属性なし:従来と同じ
- series属性あり
- 連作sdなし:従来と同じ
- 連作sdあり:連作sdの複製(以下は追加処理)
- playingが空
- 個別sdあり:sceneのみコピー(ただし、本来ないもの)
- 個別sdなし:×
- playingが現在のシナ
- 個別sdあり
- [はじめから]:
- [つづきから]:
- 個別sdなし:×
- 個別sdあり
- playingが現在のシナ
- 個別sdあり:
- 個別sdなし:
- playingが空