#============================================================================== # ■ RGSS3 戦闘不能バトラー出現時の致命的不具合修正 Ver1.01 by 星潟 #------------------------------------------------------------------------------ # VXAceデフォルトでは、イベントコマンドの敵キャラのHPの増減等で # 既にHPを0にしたエネミーに対して敵キャラの出現を実行すると # そのエネミーに行動順が回ってきた際、コスト支払い時に戦闘不能になる事により # 行動内容が消滅してしまい、ターゲットの作成に失敗してエラーになります。 # # このスクリプトでは根本的に「HP0のまま普通に出現する」という現象を # 起きないように変更します。 # (あくまで戦闘不能状態にするか、HPが回復して出現するかを設定項目で選択) # # なお、あらかじめ出現前に回復させる等の処置を行ったり # そもそも出現前に戦闘不能になりうるダメージを与える等の処理をしなければ # 特にこの不具合に遭遇する事はないと思われます。 #============================================================================== module AppearRevive #出現時蘇生効果のタイプを指定。 #Type = 1の場合、出現時にHPが0以下ならHP1で出現する。 #Type = 2の場合、出現時にHPが最大値以下ならHP最大値で出現する。 #Type = 0等、1と2以外の場合、出現時にHPが0でも戦闘不能のままにする。 Type = 2 end class Game_BattlerBase #-------------------------------------------------------------------------- # 現れる #-------------------------------------------------------------------------- alias appear_with_refresh appear def appear flag = @hidden appear_with_refresh if flag && !@hidden case AppearRevive::Type when 1 @hp = 1 if @hp <= 0 when 2 v = self.mhp @hp = v if @hp < v end end refresh end end