Advertisement
hikanh

Untitled

Oct 23rd, 2017
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.45 KB | None | 0 0
  1. class PokemonTemp #edit
  2. attr_accessor :fishingSpot
  3. attr_accessor :fishingStreak
  4. end
  5. FISHINGMAXSTREAK = 20 #edit
  6.  
  7. def pbFishing(hasencounter,rodtype=1)
  8. speedup=($Trainer.firstParty && !$Trainer.firstParty.isEgg? &&
  9. (isConst?($Trainer.firstParty.ability,PBAbilities,:STICKYHOLD) ||
  10. isConst?($Trainer.firstParty.ability,PBAbilities,:SUCTIONCUPS)))
  11. bitechance=20+(25*rodtype) # 45, 70, 95
  12. bitechance*=1.00+(0.33*checkBordering) #edit (I don't have the exact numbers)
  13. bitechance=100 if checkBordering == 3 #edit
  14. bitechance*=1.5 if speedup
  15. hookchance=100
  16. oldpattern=$game_player.fullPattern
  17. currentSpot=[$game_map.map_id,$game_player.x,$game_player.y,$game_player.direction] #edit
  18. if !$PokemonTemp.fishingSpot || $PokemonTemp.fishingSpot != currentSpot #edit
  19. $PokemonTemp.fishingSpot=currentSpot #edit
  20. $PokemonTemp.fishingStreak=0 #edit
  21. end #edit
  22. pbFishingBegin
  23. msgwindow=Kernel.pbCreateMessageWindow
  24. loop do
  25. time=2+rand(10)
  26. time=[time,2+rand(10)].min if speedup
  27. message=""
  28. time.times do
  29. message+=". "
  30. end
  31. if pbWaitMessage(msgwindow,time)
  32. pbFishingEnd
  33. $game_player.setDefaultCharName(nil,oldpattern)
  34. Kernel.pbMessageDisplay(msgwindow,_INTL("Not even a nibble..."))
  35. Kernel.pbDisposeMessageWindow(msgwindow)
  36. $PokemonTemp.fishingStreak=0 #edit
  37. return false
  38. end
  39. if (rand(100)<bitechance) && hasencounter
  40. frames=rand(21)+20
  41. if !pbWaitForInput(msgwindow,message+_INTL("\r\nOh! A bite!"),frames)
  42. pbFishingEnd
  43. $game_player.setDefaultCharName(nil,oldpattern)
  44. Kernel.pbMessageDisplay(msgwindow,_INTL("The Pokémon got away..."))
  45. Kernel.pbDisposeMessageWindow(msgwindow)
  46. $PokemonTemp.fishingStreak=0 #edit
  47. return false
  48. end
  49. if rand(100)<hookchance || FISHINGAUTOHOOK
  50. Kernel.pbMessageDisplay(msgwindow,_INTL("Landed a Pokémon!"))
  51. Kernel.pbDisposeMessageWindow(msgwindow)
  52. pbFishingEnd
  53. $game_player.setDefaultCharName(nil,oldpattern)
  54. $PokemonTemp.fishingStreak+=1 #edit
  55. $PokemonTemp.fishingStreak=[$PokemonTemp.fishingStreak,FISHINGMAXSTREAK].max #edit
  56. return true
  57. end
  58. # bitechance+=15
  59. # hookchance+=15
  60. else
  61. pbFishingEnd
  62. $game_player.setDefaultCharName(nil,oldpattern)
  63. Kernel.pbMessageDisplay(msgwindow,_INTL("Not even a nibble..."))
  64. Kernel.pbDisposeMessageWindow(msgwindow)
  65. $PokemonTemp.fishingStreak=0 #edit
  66. return false
  67. end
  68. end
  69. Kernel.pbDisposeMessageWindow(msgwindow)
  70. return false
  71. end
  72.  
  73. def checkBordering # of the bobber #edit
  74. p=$game_player
  75. ret=0
  76. case p.direction
  77. when 2 # down
  78. ret+=1 if !p.passable?(p.x,p.y+1,4)
  79. ret+=1 if !p.passable?(p.x,p.y+1,6)
  80. ret+=1 if !p.passable?(p.x,p.y+1,8)
  81. when 4 # left
  82. ret+=1 if !p.passable?(p.x-1,p.y,2)
  83. ret+=1 if !p.passable?(p.x-1,p.y,6)
  84. ret+=1 if !p.passable?(p.x-1,p.y,8)
  85. when 6 # right
  86. ret+=1 if !p.passable?(p.x+1,p.y,2)
  87. ret+=1 if !p.passable?(p.x+1,p.y,4)
  88. ret+=1 if !p.passable?(p.x+1,p.y,8)
  89. when 8 # up
  90. ret+=1 if !p.passable?(p.x,p.y-1,2)
  91. ret+=1 if !p.passable?(p.x,p.y-1,4)
  92. ret+=1 if !p.passable?(p.x,p.y-1,6)
  93. end
  94. return ret
  95. end
  96.  
  97. alias _fishing_pbGenerateWildPokemon pbGenerateWildPokemon #edit
  98.  
  99. def pbGenerateWildPokemon(*args) # Do the generating #edit
  100. wildpoke=_fishing_pbGenerateWildPokemon(*args)
  101. if $PokemonTemp.fishingStreak && $PokemonTemp.fishingStreak>0
  102. for i in 0...(2*$PokemonTemp.fishingStreak)
  103. break if wildpoke.isShiny?
  104. wildpoke.personalID=rand(65536)|(rand(65536)<<16)
  105. end
  106. end
  107. return wildpoke
  108. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement