08-30-2024, 01:25 AM
Non Kombatant XP
Version 0.3.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?

RMXP Script
Code:
# * Non Kombatant XP * #
# Scripter : Kyonides Arkanthes
# v0.3.0 - 2024-12-29
# 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 :actors_full :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 : actors_full
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
Terms & Conditions
Free


Due credit is mandatory.
That's it!
