KStatsRefill VX + ACE - kyonides -  09-15-2024
 
 
KStatsRefill VX + ACE 
 
by Kyonides 
 
 
Introduction 
 
From now on you can make certain skills heal your heroes or monsters by a specific percent of their maximum HP or SP (aka MP).    
Why!?   Well,   that might be because your monsters are kind of resistant to magic!?   Just go pick an excuse and make your game different from any other games uploaded to the net!     
 
VX Script 
Code: # * KStatsRefill VX 
#   Scripter : Kyonides Arkanthes 
#   2019-11-06 
 
# This scriptlet allows you to setup heroes or monsters that will earn some 
# Life or Mana by getting hit by certain skills only. 
 
module KStats 
  REFILL_SKILL_IDS = {}# Do Not Edit This Line! 
  # Type : :life or :mana 
  # Actors' List:  ActorID => { SkillID => [Type, percent], etc. }, etc. } 
  REFILL_SKILL_IDS[:actor] = { 
    1 => { 1 => [:life, 5], 2 => [:mana, 10] } 
  } 
  # Enemies' List: EnemyID => { SkillID => [Type, percent], etc. }, etc. } 
  REFILL_SKILL_IDS[:enemy] = { 
    1 => { 1 => [:life, 5], 2 => [:mana, 10] } 
  } 
end 
 
class Game_Battler 
  alias :kyon_stats_refill_gm_battler_se :skill_effect 
  def skill_effect(user, skill) 
    result = kyon_stats_refill_gm_battler_se(user, skill) 
    refill_stats(skill.id) if result 
    result 
  end 
 
  def refill_stats(skill_id) 
    data = KStats::REFILL_SKILL_IDS[self.kind] || {} 
    data = data[self.id] || {} 
    stype, percent = data[skill_id] 
    if stype == :life 
      self.hp += total = maxhp * percent / 100 
      @hp_damage = @hp_damage - total rescue -total 
    elsif stype == :mana 
      self.mp += total = maxmp * percent / 100 
      @mp_damage = @mp_damage - total rescue -total 
    end 
  end 
end 
 
class Game_Actor 
  def kind() :actor end 
end 
 
class Game_Enemy 
  def kind() :enemy end 
end
  
VX ACE Script 
Code: # * KStatsRefill ACE 
#   Scripter : Kyonides Arkanthes 
#   2019-11-06 
 
# This scriptlet allows you to setup heroes or monsters that will earn some 
# Life or Mana by getting hit by certain skills only. 
 
module KStats 
  REFILL_SKILL_IDS = {}# Do Not Edit This Line! 
  # Type : :life or :mana 
  # Actors' List:  ActorID => { SkillID => [Type, percent], etc. }, etc. } 
  REFILL_SKILL_IDS[:actor] = { 
    1 => { 1 => [:life, 5], 2 => [:mana, 10] } 
  } 
  # Enemies' List: EnemyID => { SkillID => [Type, percent], etc. }, etc. } 
  REFILL_SKILL_IDS[:enemy] = { 
    1 => { 1 => [:life, 5], 2 => [:mana, 10] } 
  } 
end 
 
class Game_ActionResult 
  alias :kyon_stats_refill_gm_ar_md :make_damage 
  def make_damage(value, item) 
    kyon_stats_refill_gm_ar_md(value, item) 
    return unless item.is_a?(RPG::Skill) 
    data = KStats::REFILL_SKILL_IDS[@battler.kind] || {} 
 
    data = data[@battler.id] || {} 
    stype, percent = data[item.id] 
    if stype == :life 
      @hp_damage -= @battler.mhp * percent / 100 
    elsif stype == :mana 
      @mp_damage -= @battler.mmp * percent / 100 
    end 
  end 
end 
 
class Game_Actor 
  def kind() :actor end 
end 
 
class Game_Enemy 
  def kind() :enemy end 
end
  
Terms & Conditions 
 
You must include my nickname and the current website's URL in your game credits. 
You are free to use it in non commercial games. 
Give me a free copy of your completed game if you include at least 2 of my scripts!  
 
 
 
 |