| マロニーです。 シチュエーション的には十分にあり得る光景ですから、搭載されてもいいんじゃないかな。
リクエストするとなると、システム面での仕様をちゃんと決めておかないといけませんね。
共有パイロット(以下(共有))のIDはどうしましょうか。 統一するか、それとも別々に扱うか? 考えてると結構問題点が多く見つかりました。
[案1] パイロットがデータ上1つだけ存在
・(共有)のパイロットは一度だけCreate,Pilotコマンドで生成する。 作成した後は、Rideコマンド実行時に共有パイロットのパイロットIDがユニットに搭載される。
[問題点] ・Getoffコマンド実行時に支障あり。 (引数として指定できるのがメインパイロット名のみの為、個別におろすことができない。 また、一度に複数のユニットからパイロットを降ろすという予想しない動作になる。)
・一部の関数の動作に問題あり Unit()関数など
[案2] 異なるパイロットとして扱う。 (汎用)に機能を追加したような感じ 本体への搭載が比較的楽?
・(共有)のパイロットは複数生成可能。パイロットIDはそれぞれ異なる。 同一名称のパイロット間で以下のパラメータの共有が行われる ・SP,霊力,気力,レベル,経験値,パイロット特殊能力 SetSkill・ラーニング実行時に同一名称パイロットに一括して付加される。
ユニット側の"パイロット能力付加"で付加された能力は、そのユニットに搭載しているパイロットのみに有効 (パイロット能力をユニット固有の能力として扱いたい場合があるため)
・パイロットステータスの表示時に1体分だけ表示される。
・Getoffコマンド実行時はパイロットIDを引数にすれば問題ない。
・能力値の共有以外は(汎用)と同じなので、案1の問題は大体クリアしていると思います。
[問題点] ・ForEachの書式3でパイロットを選択する場合はどうしましょうか? そのままだと同じ(共有)が何度も選択されるという事態が発生する。 ((共有)が選択されるのは1回のみ。という追加事項を加えれば良い?)
・PilotコマンドやCreateコマンドの実行時にレベル指定した場合、どうなるのか? 指定したレベルが上書きされる?それとも先に生成されている(共有)に合わせる? (普通に考えて後者の動作が好ましいが、無意味な引数を指定する必要があり、気味が悪い。 新しいイベントコマンドをリクエストする?)
今のところ思いつくのはこれくらいです。
|