Just the way battle processing works. Basically, the method is:
return if judge_win_loss # Determine win/loss results
update_scene_change
if @target_enemy_window != nil
update_target_enemy_selection # Select target enemy
elsif @target_actor_window != nil
update_target_actor_selection # Select target actor
elsif @skill_window != nil
update_skill_selection # Select skill
elsif @item_window != nil
update_item_selection # Select item
elsif @party_command_window.active
update_party_command_selection # Select party command
elsif @actor_command_window.active
update_actor_command_selection # Select actor command
else
process_battle_event # Battle event processing
process_action # Battle action
process_battle_event # Battle event processing
end
As you can see, the process_battle_event won't be run if judge_win_loss is true. And judge_win_loss returns true if the entire party is dead. Sorry.
To fix it, the best way is to alter judge_win_loss. Something like this plugged in below Materials and above Main might work:
class Scene_Battle
alias molg_jdg_winls_grfkl_irnwill_13dd3 judge_win_loss
def judge_win_loss
if $game_temp.in_battle
if $game_party.all_dead?
$game_party.members.each { |actor| return false if actor.states.include? ($data_states[i]) }
end
end
molg_jdg_winls_grfkl_irnwill_13dd3
end
end
I would need to test though. Some of the other stuff might mess up after all before it ever gets to processing. I imagine it will actually.
EDIT::
Hey look it's Zylos. He basically said what I just did.