Code:
# * KMustDie VX * #
# Scripter : Kyonides
# v1.0.1 - 2025-09-06
# This scriptlet allows you to set a given number of enemies that must die in
# battle before the player can be proclaimed as the victor there.
# * Script Call * #
# - Enter 1+ Enemy Indexes to set which enemies should die before battle ends.
# $game_troop.must_die(EnemyIndex1, etc.)
class Game_Troop
alias :kyon_must_die_gm_trp_init :initialize
attr_reader :hunt_targets
def initialize
kyon_must_die_gm_trp_init
@hunt_targets = []
end
def dead_now
@enemies.select {|e| e.dead? }
end
def hunt_targets_dead?
targets = dead_now.map {|e| e.index + 1 }
@hunt_targets.any? and targets.sort == @hunt_targets
end
def must_die(*targets)
@hunt_targets = targets.sort
end
end
class Scene_Battle
alias :kyon_must_die_scn_btl_judge :judge_win_loss
alias :kyon_must_die_scn_btl_blt_end :battle_end
def judge_win_loss
if $game_troop.hunt_targets_dead?
process_victory
return true
else
kyon_must_die_scn_btl_judge
end
end
def battle_end(result)
$game_troop.hunt_targets.clear
kyon_must_die_scn_btl_blt_end(result)
end
end
Code:
# * KMustDie ACE * #
# Scripter : Kyonides Arkanthes
# v1.0.1 - 2025-09-06
# This scriptlet allows you to set a given number of enemies that must die in
# battle before the player can be proclaimed as the victor there.
# * Script Call * #
# - Enter 1+ Enemy Indexes to set which enemies should die before battle ends.
# $game_troop.must_die(EnemyIndex1, etc.)
class Game_Troop
alias :kyon_must_die_gm_trp_init :initialize
attr_reader :hunt_targets
def initialize
kyon_must_die_gm_trp_init
@hunt_targets = []
end
def dead_now
members.select {|e| e.dead? }
end
def hunt_targets_dead?
targets = dead_now.map {|e| e.index + 1 }
@hunt_targets.any? and targets.sort == @hunt_targets
end
def must_die(*targets)
@hunt_targets = targets.sort
end
end
class << BattleManager
alias :kyon_must_die_btlman_judge :judge_win_loss
alias :kyon_must_die_btlman_blt_end :battle_end
def judge_win_loss
if $game_troop.hunt_targets_dead?
process_victory
return true
else
kyon_must_die_btlman_judge
end
end
def battle_end(result)
$game_troop.hunt_targets.clear
kyon_must_die_btlman_blt_end(result)
end
end