#============================================================================== # ■ RGSS2 行動終了まで戦闘不能禁止 Ver1.00 by 星潟 #------------------------------------------------------------------------------ # このスクリプトを導入すると、行動終了まで戦闘不能にならなくなります。 # 〜が倒れた!〜を倒した!といった、戦闘不能ステート表示も無効となります。 # 主に、一部の多段HIT攻撃を作成するスクリプトを # 補助する意味合いが強いスクリプトとなっています。 #============================================================================== module SUB_DEATH_STATE #ダミー用の戦闘不能ステートを作成します。 #ここで指定したIDのステートをスキルやアイテムで付与すると #行動終了時に即死扱いとなり、戦闘不能になります。 DEATH_STATE = 17 end class Game_Battler #-------------------------------------------------------------------------- # ● 公開インスタンス変数 #-------------------------------------------------------------------------- attr_accessor :immortal2 # 不死身フラグ #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- alias initialize_immortal2 initialize def initialize initialize_immortal2 @immortal2 = false end end class Scene_Battle < Scene_Base #-------------------------------------------------------------------------- # ● 戦闘行動の処理 #-------------------------------------------------------------------------- alias process_action_immortal process_action def process_action sds_st_id = SUB_DEATH_STATE::DEATH_STATE for i in $game_party.existing_members if i.immortal i.immortal2 = true else i.immortal2 = false i.immortal = true end end for i in $game_troop.existing_members if i.immortal i.immortal2 = true else i.immortal2 = false i.immortal = true end end process_action_immortal for i in $game_party.existing_members if i.immortal2 i.immortal2 = false if i.state?(sds_st_id) i.hp = 0 i.remove_state(sds_st_id) end else i.immortal = false if i.hp == 0 or i.state?(sds_st_id) i.hp = 0 i.perform_collapse i.remove_state(sds_st_id) if i.state?(sds_st_id) end end end for i in $game_troop.existing_members if i.immortal2 i.immortal2 = false if i.state?(sds_st_id) i.hp = 0 i.remove_state(sds_st_id) end else i.immortal = false if i.hp == 0 or i.state?(sds_st_id) i.hp = 0 i.perform_collapse i.remove_state(sds_st_id) if i.state?(sds_st_id) end end end end end