Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
 Non Kombatant
#1
Non Kombatant
XP + VX
Version 0.2.0

by Kyonides

Introduction

This scriptlet allows you to prevent a certain hero from being present during battles.

This feature can also be disabled at any given time.

There are separate calls for party members and individual heroes. This lets you include or exclude any hero no matter if he has ever joined the party or has recently left it. How convenient that is, don't you agree? Winking

RMXP Script

Code:
# * Non Kombatant XP * #
#   Scripter : Kyonides Arkanthes
#   v0.2.0 - 2024-08-30

# This scriptlet allows you to prevent a certain hero from being present during
# battles. This feature can also be disabled at any given time.

# There are separate calls for party members and individual heroes. This lets
# you include or exclude any hero no matter if he has ever joined the party or
# has recently left it.

# Warning: Game_Party#actors method has been aliased.

# * Script Calls * #
# - Set Party Member as NPC - Disabling him during battles
# $game_party.actor_as_npc(Index)

# - Set Party Single Hero as NPC - Disabling him during battles
# $game_actors[ID].is_npc = true

# - Set Party Member as Combatant - Enabling him during battles
# $game_party.npc_as_actor(Index)

# - Set Hero as Combatant - Enabling him during battles
# $game_actors[ID].is_npc = false

class Game_BattleAction
  alias :kyon_non_kombat_gm_bta_dc_rand_tgt_act :decide_random_target_for_actor
  alias :kyon_non_kombat_gm_bta_dc_rand_tgt_act :decide_random_target_for_enemy
  def decide_random_target_for_actor
    kyon_non_kombat_gm_bta_dc_rand_tgt_act
    clear unless @target_index
  end

  def decide_random_target_for_enemy
    kyon_non_kombat_gm_bta_dc_rand_tgt_act
    clear unless @target_index
  end
end

class Game_Actor
  attr_accessor :is_npc
end

class Game_Party
  alias :kyon_non_kombat_gm_pty_rand_trgt_actor :random_target_actor
  alias :kyon_non_kombat_gm_pty_actors :actors
  def npcs
    @actors.select {|actor| actor.is_npc }
  end

  def actors_without_npcs
    @actors.reject {|actor| actor.is_npc }
  end

  def actors
    $game_temp.in_battle ? actors_without_npcs : kyon_non_kombat_gm_pty_actors
  end

  def actor_as_npc(n)
    @actors[n].is_npc = true
  end

  def npc_as_actor(n)
    @actors[n].is_npc = false
  end

  def random_target_actor(hp0=false)
    actor = kyon_non_kombat_gm_pty_rand_trgt_actor(hp0)
    return if !actor or actor.is_npc
    actor
  end
end

RMVX Script

Code:
# * Non Kombatant VX * #
#   Scripter : Kyonides Arkanthes
#   v0.2.0 - 2024-08-30

# This scriptlet allows you to prevent a certain hero from being present during
# battles. This feature can also be disabled at any given time.

# There are separate calls for party members and individual heroes. This lets
# you include or exclude any hero no matter if he has ever joined the party or
# has recently left it.

# Warning: Game_Party#members method has been aliased.

# * Script Calls * #
# - Set Party Member as NPC - Disabling him during battles
# $game_party.actor_as_npc(Index)

# - Set Party Single Hero as NPC - Disabling him during battles
# $game_actors[ID].is_npc = true

# - Set Party Member as Combatant - Enabling him during battles
# $game_party.npc_as_actor(Index)

# - Set Hero as Combatant - Enabling him during battles
# $game_actors[ID].is_npc = false

class Game_BattleAction
  alias :kyon_non_kombat_gm_bta_dc_rand_tgt :decide_random_target
  alias :kyon_non_kombat_gm_bta_dc_last_tgt :decide_last_target
  def decide_random_target
    kyon_non_kombat_gm_bta_dc_rand_tgt
    clear unless @target_index
  end

  def decide_last_target
    kyon_non_kombat_gm_bta_dc_last_tgt
    clear unless @target_index
  end
end

class Game_Actor
  attr_accessor :is_npc
end

class Game_Party
  alias :kyon_non_kombat_gm_pty_rand_trgt_actor :random_target_actor
  alias :kyon_non_kombat_gm_pty_members :members
  def npcs
    members.select {|actor| actor.is_npc }
  end

  def members_without_npcs
    members.reject {|actor| actor.is_npc }
  end

  def members
    $game_temp.in_battle ? actors_without_npcs : kyon_non_kombat_gm_pty_members
  end

  def actor_as_npc(n)
    members[n].is_npc = true
  end

  def npc_as_actor(n)
    members[n].is_npc = false
  end
end


Terms & Conditions

Free Beer for use in non commercial games but you gotta own a legal copy of the engine. Tongue sticking out
Due credit is mandatory.
That's it! Tongue sticking out
"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

During my playtests I noticed that there was a slight chance for the enemy troopers to make your game crash in no time. This happened whenever they had ever picked an actor that had been excluded via one of the script calls available here.

Version 0.2.0 includes:

Two methods in the Game_BattleAction class and one in the Game_Party class have been aliased.

If the enemy trooper still picks an actor that has the is_npc flag turned on, the trooper will do nothing at the end.
"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 }
#3
The Script Has Been Ported to RMVX!

Now RMVX users that might still exist Happy with a sweat can also let their heroes Slayne Ghim become lazy enough as to stay away from battle and live another day just like RMXP heroes can! Laughing
"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)