ArmorKlass VX + ACE - kyonides -  09-27-2024
 
 
ArmorKlass VX + ACE 
 
by Kyonides 
 
 
Introduction 
 
Change your Hero's class by changing his Body Armor!   
 
Setup Process 
- You will need to define a Default Class for the Hero.
 
 
- All body armors should be available for everybody.
 
 
- Leave a very specific note in all of the existing body armors!
 
 
 
 
VX Script 
 
Code: # * ArmorKlass VX * # 
#  Scripter : Kyonides Arkanthes 
#  2023-01-02 
 
# Change a Hero's Class by changing his Body Armor! 
# You will need to define a Default Class for the Hero. 
# All body armors should be available for everybody. 
 
# * Armor Note - N stands for a Class ID. 
# <class id: N> 
 
module ArmorKlass 
  REGEX = /<class id: (\d+)>/i 
  DEFAULT_CLASS_ID = 1 
end 
 
class Game_Actor 
  alias :kyon_armor_klass_gm_actor_ch_eq :change_equip 
  alias :kyon_armor_klass_gm_actor_disc_eq :discard_equip 
  def set_equip_class(equip_type, item, force=nil) 
    return if force.nil? and (item.nil? or equip_type != 3) 
    item.note[ArmorKlass::REGEX] unless force 
    klass_id = $1 ? $1.to_i : ArmorKlass::DEFAULT_CLASS_ID 
    self.class_id = klass_id if @class_id != klass_id 
  end 
 
  def change_equip(equip_type, item, test=false) 
    kyon_armor_klass_gm_actor_ch_eq(equip_type, item, test) 
    set_equip_class(equip_type, item) unless test 
  end 
 
  def discard_equip(item) 
    kyon_armor_klass_gm_actor_disc_eq(item) 
    return unless item.is_a?(RPG::Armor) and @armor2_id == item.id 
    set_equip_class(2, item, true)  
  end 
end
  
ACE Script 
 
Code: # * ArmorKlass ACE * # 
#  Scripter : Kyonides Arkanthes 
#  2023-01-02 
 
# Change a Hero's Class by changing his Body Armor! 
# You will need to define a Default Class for the Hero. 
# All body armors should be available for everybody. 
 
# * Armor Note - N stands for a Class ID. 
# <class id: N> 
 
module ArmorKlass 
  REGEX = /<class id: (\d+)>/i 
  DEFAULT_CLASS_ID = 1 
end 
 
class Game_Actor 
  alias :kyon_armor_klass_gm_actor_ch_eq :change_equip 
  alias :kyon_armor_klass_gm_actor_force_ch_eq :force_change_equip 
  alias :kyon_armor_klass_gm_actor_disc_eq :discard_equip 
  def set_equip_class(slot_id, item, force=nil) 
    return if force.nil? and (item.nil? or slot_id != 3) 
    item.note[ArmorKlass::REGEX] unless force 
    klass_id = $1 ? $1.to_i : ArmorKlass::DEFAULT_CLASS_ID 
    change_class(klass_id) if @class_id != klass_id 
  end 
 
  def change_equip(slot_id, item) 
    kyon_armor_klass_gm_actor_ch_eq(slot_id, item) 
    set_equip_class(slot_id, item) 
  end 
 
  def force_change_equip(slot_id, item) 
    kyon_armor_klass_gm_actor_force_ch_eq(slot_id, item) 
    set_equip_class(slot_id, item) 
  end 
 
  def discard_equip(item) 
    kyon_armor_klass_gm_actor_disc_eq(item) 
    set_equip_class(slot_id, item, true) if slot_id == 3 
  end 
end
  
 
 
Terms & Conditions 
 
Free for use anywhere. 
Just mention me in your game credits. 
I really hope this won't be the only script of mine that you will include in your game project.
 
 
 
 |