class PokemonTemp #edit attr_accessor :fishingSpot attr_accessor :fishingStreak end FISHINGMAXSTREAK = 20 #edit def pbFishing(hasencounter,rodtype=1) speedup=($Trainer.firstParty && !$Trainer.firstParty.isEgg? && (isConst?($Trainer.firstParty.ability,PBAbilities,:STICKYHOLD) || isConst?($Trainer.firstParty.ability,PBAbilities,:SUCTIONCUPS))) bitechance=20+(25*rodtype) # 45, 70, 95 bitechance*=1.00+(0.33*checkBordering) #edit (I don't have the exact numbers) bitechance=100 if checkBordering == 3 #edit bitechance*=1.5 if speedup hookchance=100 oldpattern=$game_player.fullPattern currentSpot=[$game_map.map_id,$game_player.x,$game_player.y,$game_player.direction] #edit if !$PokemonTemp.fishingSpot || $PokemonTemp.fishingSpot != currentSpot #edit $PokemonTemp.fishingSpot=currentSpot #edit $PokemonTemp.fishingStreak=0 #edit end #edit pbFishingBegin msgwindow=Kernel.pbCreateMessageWindow loop do time=2+rand(10) time=[time,2+rand(10)].min if speedup message="" time.times do message+=". " end if pbWaitMessage(msgwindow,time) pbFishingEnd $game_player.setDefaultCharName(nil,oldpattern) Kernel.pbMessageDisplay(msgwindow,_INTL("Not even a nibble...")) Kernel.pbDisposeMessageWindow(msgwindow) $PokemonTemp.fishingStreak=0 #edit return false end if (rand(100)0 for i in 0...(2*$PokemonTemp.fishingStreak) break if wildpoke.isShiny? wildpoke.personalID=rand(65536)|(rand(65536)<<16) end end return wildpoke end