Supremacía elemental

 avatar
unknown
ruby
2 years ago
1.8 kB
2
Indexable
class PokeBattle_Pokemon
  def pbAddSupremacyState(user, state)
    return false if fainted? || self.status != :NONE || @effects[PBEffects::GastroAcid]
    if hasActiveAbility?(:SUPREMACYELEMENTAL)
      if !user || user.index==@battle.side1.length || user.battle.side1 != self.battle.side1
        @battle.pbDisplay(_INTL("{1}'s {2} prevents {3}'s {4} from being cured!",
           pbThis,PBAbilities.getName(self.ability),user.pbThis,PBItems.getName(state.item)))
        return true
      end
    end
    return false
  end

  def pbCureThis(user,checkContact=true,checkItem=true)
    oldstate = @status
    return if fainted?
    if hasActiveAbility?(:SUPREMACYELEMENTAL) && [:BURN,:PARALYSIS,:POISON,:SLEEP,:FROZEN].include?(oldstate)
      if user && user.index!=@battle.side1.length && user.battle.side1 == self.battle.side1
        @battle.pbDisplay(_INTL("{1}'s {2} prevents {3} from being cured!",pbThis,
          PBAbilities.getName(self.ability),PBStats.getName(oldstate)))
      elsif checkItem
        @battle.pbDisplay(_INTL("{1}'s {2} prevents the {3} from being cured!",pbThis,
          PBAbilities.getName(self.ability),PBStats.getName(oldstate)))
      end
      return
    end
    @status = :NONE
    @statusCount = 0
    pbItemStatusCureCheck
    if oldstate!=@status && (checkContact || checkItem)
      if !checkContact && checkItem
        @battle.pbCommonAnimation("UseItem",self,nil)
      end
      @battle.pbDisplay(_INTL("{1}'s {2} healed its {3} problem using {4}!",
         pbThis,PBAbilities.getName(self.ability),PBStats.getName(oldstate),
         checkItem ? PBItems.getName(state.item) : self.itemName))
      if self.status == :NONE && self.statusCount == 0
        pbAbilityCureCheck
      end
    end
  end
end