Autor: Kyonides Arkanthes

Introducción

Pueden utilizar este script para curar o dañar aleatoriamente a sus héroes o monstruos mediante el uso de técnicas especiales. Incluso podrían llamarla “Cura de la suerte”. 😄

# * KPointsLotto XP
#   Scripter : Kyonides Arkanthes
#   2019-10-25

# Este script les permite definir técnicas que curen o dañen a sus objetivos
# o recobren o quemen su mana dependiendo únicamente de la suerte.
# Podrían ser buenas técnicas para los jefes...

module KPLotto
  LIFE_SKILL_ID = 3
  MANA_SKILL_ID = 4
  LIFE_RANGE = -40..25 # Porcentaje de vida que pueden ganar o perder
  MANA_RANGE = -35..10 # Porcentaje de mana que pueden ganar o perder
end

class Range
  def random() rand(4) % 2 == 0 ? -rand(self.first) : rand(self.last) end
end

class Game_Battler
  alias :kyon_plotto_gm_battler_se :skill_effect
  def skill_effect(user, skill)
    result = kyon_plotto_gm_battler_se(user, skill)
    if result
      if KPLotto::LIFE_SKILL_ID == skill.id
        @damage = @hp * KPLotto::LIFE_RANGE.random / 100
        self.hp += @damage
      elsif KPLotto::MANA_SKILL_ID == skill.id
        @damage = @sp * KPLotto::MANA_RANGE.random / 100
        self.sp += @damage
      end
    end
    result
  end
end

Términos de Uso

Deben incluir mi seudónimo y el URL del sitio del que lo copiaron.
Es gratuito para demos y juegos no comerciales.

11 días más tarde
kyonides cambió el título a KPointsLotto XP VX & ACE .

Script para VX

# * KPointsLotto VX
#   Scripter : Kyonides Arkanthes
#   2019-11-07

# Este script les permite definir técnicas que curen o dañen a sus objetivos
# o recobren o quemen su mana dependiendo únicamente de la suerte.
# Podrían ser buenas técnicas para los jefes...

module KPLotto
  LIFE_SKILL_ID = 3
  MANA_SKILL_ID = 4
  LIFE_RANGE = -40..25 # Porcentaje de vida que pueden ganar o perder
  MANA_RANGE = -35..10 # Porcentaje de mana que pueden ganar o perder
end

class Range
  def random() rand(4) % 2 == 0 ? -rand(self.first) : rand(self.last) end
end

class Game_Battler
  alias :kyon_plotto_gm_battler_modv :make_obj_damage_value
  def make_obj_damage_value(user, obj)
    if obj.is_a?(RPG::Skill)
      if KPLotto::LIFE_SKILL_ID == obj.id
        return @hp_damage = @hp * KPLotto::LIFE_RANGE.random / 100
      elsif KPLotto::MANA_SKILL_ID == obj.id
        return @mp_damage = @mp * KPLotto::MANA_RANGE.random / 100
      end
    end
    kyon_plotto_gm_battler_modv(user, obj)
  end
end

Script para VX Ace

# * KPointsLotto ACE
#   Scripter : Kyonides Arkanthes
#   2019-11-07

# Este script les permite definir técnicas que curen o dañen a sus objetivos
# o recobren o quemen su mana dependiendo únicamente de la suerte.
# Podrían ser buenas técnicas para los jefes...

module KPLotto
  LIFE_SKILL_ID = 3
  MANA_SKILL_ID = 4
  LIFE_RANGE = -40..25 # Porcentaje de vida que pueden ganar o perder
  MANA_RANGE = -35..10 # Porcentaje de mana que pueden ganar o perder
end

class Range
  def random() rand(4) % 2 == 0 ? -rand(self.first) : rand(self.last) end
end

class Game_Battler
  alias :kyon_plotto_gm_battler_modv :make_obj_damage_value
  def make_obj_damage_value(user, obj)
    if obj.is_a?(RPG::Skill)
      if KPLotto::LIFE_SKILL_ID == obj.id
        @hp_damage = @hp * KPLotto::LIFE_RANGE.random / 100
        return##self.hp += @hp_damage
      elsif KPLotto::MANA_SKILL_ID == obj.id
        @mp_damage = @mp * KPLotto::MANA_RANGE.random / 100
        return##self.mp += @mp_damage
      end
    end
    kyon_plotto_gm_battler_modv(user, obj)
  end
end