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