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.
|