Supremcía elemental

 avatar
unknown
ruby
2 years ago
1.1 kB
3
Indexable
# Definición de la habilidad
class SupremaciaElemental < Ability
  def on_status_change(user, target, status)
    # Si el usuario de la habilidad es el que causa el estado y el estado no es volátil
    if user == self.battler && !status.volatile?
      # Se establece un estado especial para indicar que este estado no se puede curar
      status.supremacy = true
    end
    return status
  end
end

# Modificación de la clase de estado para incluir la propiedad 'supremacy'
class PokeBattle_PokemonStatus
  attr_accessor :supremacy

  # Redefinición del método 'cured?' para tener en cuenta el estado 'supremacy'
  alias :essentials_cured? :cured?
  def cured?
    return false if @supremacy
    return essentials_cured?
  end
end

# Modificación de la clase de Pokémon para tener en cuenta el estado 'supremacy'
class PokeBattle_Pokemon
  # Redefinición del método 'status' para tener en cuenta el estado 'supremacy'
  alias :essentials_status :status
  def status
    return @status if @status && !@status.supremacy
    return PokeBattle_PokemonStatus.new(:NONE)
  end
end
Editor is loading...