KMustDie VX + ACE
#1
KMustDie VX + ACE

by Kyonides

[Image: up.gif] Imagine a game world where certain battles won't force you to kill ALL of the enemy troops on screen.
[Image: sweathappy.gif] Well, you can stop doing that right away because now you can make your battle dream come true! [Image: shocked.gif]
Just set which troops are mandatory to kill via a script call and that's it! [Image: thumbs.gif] 
You won't have to depend on a tough negotiator to deal with tyrants looking for free lands up for the grabs. [Image: wink.gif]

Script Call - Use natural index values like 1 upto 8 here:
Code:
$game_troop.must_die(EnemyIndex1, etc.)

VX Script
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

VX ACE Script
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

Terms & Conditions

Free as in [Image: beer.gif] beer for non-commercial games. [Image: gamer.gif]
Include my nickname in your game credits.
That's it! [Image: tongue.gif]
"For God has not destined us for wrath, but for obtaining salvation through our Lord Jesus Christ," 1 Thessalonians 5:9

Maranatha!

The Internet might be either your friend or enemy. It just depends on whether or not she has a bad hair day.

[Image: SP1-Scripter.png]
[Image: SP1-Writer.png]
[Image: SP1-Poet.png]
[Image: SP1-PixelArtist.png]
[Image: SP1-Reporter.png]

My Original Stories (available in English and Spanish)

List of Compiled Binary Executables I have published...
HiddenChest & Roole

Give me a free copy of your completed game if you include at least 3 of my scripts! Laughing + Tongue sticking out

Just some scripts I've already published on the board...
KyoGemBoost XP VX & ACE, RandomEnkounters XP, KSkillShop XP, Kolloseum States XP, KEvents XP, KScenario XP & Gosu, KyoPrizeShop XP Mangostan, Kuests XP, KyoDiscounts XP VX, ACE & MV, KChest XP VX & ACE 2016, KTelePort XP, KSkillMax XP & VX & ACE, Gem Roulette XP VX & VX Ace, KRespawnPoint XP, VX & VX Ace, GiveAway XP VX & ACE, Klearance XP VX & ACE, KUnits XP VX, ACE & Gosu 2017, KLevel XP, KRumors XP & ACE, KMonsterPals XP VX & ACE, KStatsRefill XP VX & ACE, KLotto XP VX & ACE, KItemDesc XP & VX, KPocket XP & VX, OpenChest XP VX & ACE
Reply
#2
Maintenance Update

I had to revisit these recent scripts because I had found a weird Bug on the VX port and confirmed in the VX ACE script as well. They failed to differentiate between normal battles and Must Die ones. This could lead the party to the victory scene without ever defeating any mobs on screen! Incredible What a Ghost monstrous disaster!

These releases address that issue by fully exterminating the darn bug! Killer
"For God has not destined us for wrath, but for obtaining salvation through our Lord Jesus Christ," 1 Thessalonians 5:9

Maranatha!

The Internet might be either your friend or enemy. It just depends on whether or not she has a bad hair day.

[Image: SP1-Scripter.png]
[Image: SP1-Writer.png]
[Image: SP1-Poet.png]
[Image: SP1-PixelArtist.png]
[Image: SP1-Reporter.png]

My Original Stories (available in English and Spanish)

List of Compiled Binary Executables I have published...
HiddenChest & Roole

Give me a free copy of your completed game if you include at least 3 of my scripts! Laughing + Tongue sticking out

Just some scripts I've already published on the board...
KyoGemBoost XP VX & ACE, RandomEnkounters XP, KSkillShop XP, Kolloseum States XP, KEvents XP, KScenario XP & Gosu, KyoPrizeShop XP Mangostan, Kuests XP, KyoDiscounts XP VX, ACE & MV, KChest XP VX & ACE 2016, KTelePort XP, KSkillMax XP & VX & ACE, Gem Roulette XP VX & VX Ace, KRespawnPoint XP, VX & VX Ace, GiveAway XP VX & ACE, Klearance XP VX & ACE, KUnits XP VX, ACE & Gosu 2017, KLevel XP, KRumors XP & ACE, KMonsterPals XP VX & ACE, KStatsRefill XP VX & ACE, KLotto XP VX & ACE, KItemDesc XP & VX, KPocket XP & VX, OpenChest XP VX & ACE
Reply




Users browsing this thread: 1 Guest(s)