コマンドの習得を判定するタイミングに関する仕様変更の話です。
コマンドの習得タイミングは現在、ゲームロード時、キャラクタ作成時、成長ポイント割り振り時、レベル変化時、転向時、能力値やステートが変化した時に判定するようにしています。
能力値の変化時にコマンドの習得判定をせず、各ターンの最後で判定する
能力値やステートが変化した際に習得判定している部分については、判定を無くそうと考えています。
かわりに、各ターンの最後で判定を入れようと思います。
このように変更する主な理由は、動作パフォーマンスによるものです。今のままではHPを1減らすだけでも全コマンドの習得条件をチェックしなければならず、とても動作効率が悪いのです。今の動作水準を維持できるなら問題ないのですが、将来的に判定機能を強化することができません。イベントを複雑化できないことになります。
この結果、判定する箇所は以下の通りになります。
- ゲームロード時
- キャラクタ作成時
- 成長ポイント割り振り時
- レベル変化時
- 転向時
- 各ターンの最後(ステートの影響後)
この変更によって、既存シナリオの中ではDiseardryに微妙に影響が出るかもしれません。イベントでの能力値の変化によって習得判定しているため、若干、習得メッセージが表示されるタイミングがずれる可能性があります。
コマンドの習得を計算手順で判定
上の件とは別に、コマンドの習得は計算手順の計算結果によっても判定できるようにします。計算手順で判定することができれば、必要能力値の制限数が問題にならなくなったり、標準値以外の能力値(例えば最終値。ステート込みの能力値など)で習得を判定できるようになります。
計算手順のような動作コストへの影響が想定できない判定をするとなると、現状の動作パフォーマンスが問題になります。だから前述の対応を入れることになりました。
いずれ、詳細なイベントを指示できるようになった際に、「コマンドの習得を判定する」命令を盛り込もうと思っています。
コマンドの排他機能
ステートの排他機能と同様、コマンド習得時に他のコマンドを忘れる機能を足します。
今でもコマンド習得条件に「他のコマンドレベル必要値」を指定できるようになっていて、そのとき条件にしているコマンドを忘却させる機能があります。これを使うと、コマンドの世代交代(アップグレード)ができます。
現在は2世代までしか対応できないアップグレードですが、この機能をコマンド全体に広げるような感じです。条件の有無に関係なく、Aを習得するとBやCを忘れるような設定ができるようになります。