RPGツクールVXには毒などの状態管理を行うための「ステート」という機能がある。
その中にステート同士の関係を制御する「解除するステート」というものがあり、マニュアル47ページに以下のように書かれている。
このステートが付加されたときに、同時に解除されるステートです。解除したいステートのチェックボックスを有効にしてください。
この記述から、ステートA、Bがあり、Bの解除するステートにAを登録した場合、以下のような挙動を普通想定する。
- ステートAが有効な状態で、ステートBが発生した場合、Aは無効となり、Bが有効になる。
- ステートAが無効、ステートBが有効な状態で、Aが発生した場合、AB共に有効になる。
しかし、上記の挙動は誤りであり、実際は以下のような挙動となっている。
- ステートAが有効な状態で、ステートBが発生した場合、Aは無効となり、Bが有効になる。
- ステートAが無効、ステートBが有効な状態で、Aが発生した場合、Aは無視されBのみが有効のままとなる。
これはデフォルトで定義されている、ステート「戦闘不能」とステート「毒」の関係からも説明できる。
毒状態から攻撃を受けて戦闘不能状態になった場合、以後毒状態は解除され毒によるダメージが無くなるように定義されている。
戦闘不能状態から何らかの毒を受ける攻撃を受けた場合、戦闘不能かつ毒状態になるのは不自然であり、実際にそのように動作することはない。
したがって、マニュアルの記述は以下のように加筆するのが妥当と考える。
このステートが付加されたときに、同時に解除されるステートです。解除したいステートのチェックボックスを有効にしてください。
また、このステートが付加されている間、チェックボックスを有効にしたステートは付加されません。
Tags: RPGツクールVX
Comments are closed here.