一定確率で行動が強制的にキャンセルされるステートの作成

p-sight: Annex - Make Cant Act Sometimes State

Tag: 戦闘関連 / ステート

説明

一定の確率で「行動が出来ない」状態になり、強制的に行動がキャンセルされるステートを作成します。

設定可能な項目

CANT_ACT_STATES_HASH

一定確率で行動不可能になるステートを設定するハッシュです。

CANT_ACT_STATES_HASH = {"麻痺"=>60, "重度の麻痺"=>80}

上記のように設定した場合、「麻痺」のステートに掛かっていれば60%の確率で行動不可能に、 「重度の麻痺」のステートに掛かっていれば80%の確率で行動不可能になります。

CANT_ACT_STATES_TEXT

このステートに掛かってしまって行動できない場合は、コマンドを入力したのに行動できないまま無視されてしまいます。
そのため、それを何らかの形で説明しないと混乱が生じると思われるので、 ヘルプウィンドウに行動できなかった旨の説明を表示するようにします。

このとき、「name」は行動不可能になっているキャラクター名に、 「state」はその原因となったステート名に置き換えられます。

CANT_ACT_STATES_TEXT = "nameはstateのため行動できなかった"

上記のように設定した場合、「アルシェス」が「麻痺」のステートに掛かって行動できなかった場合、 下記のようにヘルプウィンドウに表示されます。

アルシェスは麻痺のため行動できなかった

また、空文字列 "" を指定すれば(CANT_ACT_STATES_TEXT = "")ヘルプウィンドウは表示されません。

使い方

上記で設定した名前のステートを作成してください。そうすると、そのステートに掛かった際に行動が出来るかどうかを行動のたびに計算されます。

また、二つ以上のステートに同時に掛かっている場合は行動可能になる確率はかけあわせになります
例えば、上記の例として「麻痺」と「重度の麻痺」に同時に掛かっている場合、 まず「麻痺」の計算を行い、行動できるとなっても、さらに「重度の麻痺」によって行動できるかどうかを計算します。
そのため、行動が成功する確率は「重度の麻痺」のそれよりも低くなります。

他のスクリプトとの競合について

再定義しているメソッド

なし

aliasを使って再定義しているメソッド

正常に動作しない場合は、以下のメソッドが他のRGSS素材で再定義されていないかなどを確認してください。

class Scene_Battle
 def update_phase4_step2

ソースと導入方法

導入方法

スクリプトの「Scene_Battle 4」より下、「Main」よりも上に以下のソースを丸々挿入してください。

ソースと更新履歴

Make Cant Act Sometimes State: ソース

更新履歴

2006 06/29 公開。


2007 05/12 行動不能になっても内部的に行動が終了したことになっていたバグを修正。
一つのメソッドを全て書き換え、新たにメソッドを追加したため、お手数ですが上書きしてください。


This page is written in Japanese(Shift_JIS)
(c) T-Akf, in p-sight