ItemHandlers::UseOnPokemon.add(:EXPCANDYXS,proc{|item,pokemon,scene|
if pokemon.level>=PBExperience::maxLevel || (pokemon.isShadow? rescue false)
scene.pbDisplay(_INTL("It won't have any effect."))
next false
else
experience=100 if isConst?(item,PBItems,:EXPCANDYXS)
experience=800 if isConst?(item,PBItems,:EXPCANDYS)
experience=3000 if isConst?(item,PBItems,:EXPCANDYM)
experience=10000 if isConst?(item,PBItems,:EXPCANDYL)
experience=30000 if isConst?(item,PBItems,:EXPCANDYXL)
newexp=PBExperience.pbAddExperience(pokemon.exp,experience,pokemon.growthrate)
newlevel=PBExperience.pbGetLevelFromExperience(newexp,pokemon.growthrate)
curlevel=pokemon.level
pbSEPlay('Item Used',100,100)
scene.pbDisplay(_INTL("Your Pokémon gained Exp. Points!"))
if newlevel==curlevel
pokemon.exp=newexp
pokemon.calcStats
scene.pbRefresh
else
attackdiff=pokemon.attack
defensediff=pokemon.defense
speeddiff=pokemon.speed
spatkdiff=pokemon.spatk
spdefdiff=pokemon.spdef
totalhpdiff=pokemon.totalhp
oldlevel=pokemon.level
pokemon.level=newlevel
pokemon.changeHappiness("levelup")
pokemon.calcStats
scene.pbRefresh
pbSEPlay('Pkmn exp full',100,100)
Kernel.pbMessage(_INTL("\\se[Pkmn level up]{1} was elevated to Level {2}!",pokemon.name,pokemon.level))
attackdiff=pokemon.attack-attackdiff
defensediff=pokemon.defense-defensediff
speeddiff=pokemon.speed-speeddiff
spatkdiff=pokemon.spatk-spatkdiff
spdefdiff=pokemon.spdef-spdefdiff
totalhpdiff=pokemon.totalhp-totalhpdiff
pbTopRightWindow(_INTL("Max. HP<r>+{1}\r\nAttack<r>+{2}\r\nDefense<r>+{3}\r\nSp. Atk<r>+{4}\r\nSp. Def<r>+{5}\r\nSpeed<r>+{6}",
totalhpdiff,attackdiff,defensediff,spatkdiff,spdefdiff,speeddiff))
pbTopRightWindow(_INTL("Max. HP<r>{1}\r\nAttack<r>{2}\r\nDefense<r>{3}\r\nSp. Atk<r>{4}\r\nSp. Def<r>{5}\r\nSpeed<r>{6}",
pokemon.totalhp,pokemon.attack,pokemon.defense,pokemon.spatk,pokemon.spdef,pokemon.speed))
movelist=pokemon.getMoveList
for i in movelist
if i[0]>oldlevel && i[0]<=pokemon.level
pbLearnMove(pokemon,i[1],true)
end
end
newspecies=pbCheckEvolution(pokemon)
if newspecies>0
pbFadeOutInWithMusic(99999){
evo=PokemonEvolutionScene.new
evo.pbStartScreen(pokemon,newspecies)
evo.pbEvolution
evo.pbEndScreen
}
end
pokemon.exp=newexp
scene.pbRefresh
end
next true
end
})
ItemHandlers::UseOnPokemon.copy(:EXPCANDYXS,:EXPCANDYS,:EXPCANDYM,:EXPCANDYL,:EXPCANDYXL)