#============================================================================== # ■ RGSS3 イベントコマンド「HPの増減」 # 「敵キャラのHP増減」不具合修正 Ver1.00 by 星潟 #------------------------------------------------------------------------------ # イベントコマンド「敵キャラのHP増減」実行時 # 対象が敵全体で、敵先頭インデックスの敵キャラが戦闘不能になっている場合 # 後続インデックスの敵に対して処理が行われない不具合を修正します。 # # また、ステート無効化で「戦闘不能」を無効化したアクター/敵キャラの # HPを0にした後、イベントコマンド「HPの増減」/「敵キャラのHP増減」を実行し # 操作で「減らす」を選択、「戦闘不能を許可」のチェックをしない場合 # HPが0から1に回復してしまう不具合を修正します。 #============================================================================== class Game_Interpreter #-------------------------------------------------------------------------- # 敵キャラの HP 増減 #-------------------------------------------------------------------------- def command_331 #途中まで通常処理で進める。 value = operate_value(@params[1], @params[2], @params[3]) iterate_enemy_index(@params[0]) do |enemy| #ここだけ変更。returnをnextへ。 next if enemy.dead? #以降は通常処理。 enemy.change_hp(value, @params[4]) enemy.perform_collapse_effect if enemy.dead? end end end class Game_BattlerBase #-------------------------------------------------------------------------- # HP の増減(イベント用) #-------------------------------------------------------------------------- alias change_hp_no_h1 change_hp def change_hp(value, enable_death) #現在HPが0以下で変動値が負の値(ダメージ)の場合は何もしない。 return if self.hp <= 0 && value < 0 #本来の処理を実行。 change_hp_no_h1(value, enable_death) end end