venom12314

BallSelection v1.3

Mar 30th, 2018
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.93 KB | None | 0 0
  1. def pbCallBall(pokemon,level=nil,seeform=true)
  2. @viewport = Viewport.new(0,0,Graphics.width,Graphics.height)
  3. @viewport.z = 99999
  4. @sprites = {}
  5. @commands=[]
  6. @select=0
  7. @oldsel=0
  8. x=0 ; y=0
  9. @thispocket=$PokemonBag.pockets[3]
  10. @sprites["black"]=Sprite.new(@viewport)
  11. @sprites["black"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/helpbg")
  12. @sprites["black"].x=0
  13. @sprites["black"].y=0
  14. @sprites["black"].opacity=0
  15. @sprites["black"].color=Color.new(-255,-255,-255)
  16. @commands.push("#{i}")
  17. @sprites["balls_#{i}"]=Sprite.new(@viewport)
  18. @sprites["balls_#{i}"].bitmap=BitmapCache.load_bitmap(sprintf("Graphics/Icons/item%03d",@thispocket[i][0]))
  19. @sprites["balls_#{i}"].x=36+(x*48)
  20. @sprites["balls_#{i}"].y=70+(y*48)
  21. @sprites["balls_#{i}"].opacity=0
  22. x+=1
  23. y+=1 if x>8
  24. x=0 if x>8
  25. y=0 if y>4
  26. end
  27. baseColor=Color.new(255,255,255)
  28. shadowColor=Color.new(12*6,12*6,12*6)
  29. @sprites["overlay"]=BitmapSprite.new(Graphics.width,Graphics.height,@viewport)
  30. pbSetSystemFont(@sprites["overlay"].bitmap)
  31. @sprites["overlay"].opacity=0
  32. overlay=@sprites["overlay"].bitmap
  33. overlay.clear
  34. @adapter=PokemonMartAdapter.new
  35. [email protected](@thispocket[@select][0])
  36. if pokemon.is_a?(String) || pokemon.is_a?(Symbol)
  37. pokemon = getID(PBSpecies,pokemon)
  38. end
  39. pokename=PBSpecies.getName(pokemon)
  40. textPositions=[
  41. [_INTL("#{name}"),234,202,0,baseColor,shadowColor],
  42. [_INTL("Choose the ball for #{pokename}"),84,22,0,baseColor,shadowColor],
  43.  
  44. ]
  45. pbDrawTextPositions(overlay,textPositions)
  46. @sprites["pokeicon"]=Sprite.new(@viewport)
  47. @sprites["pokeicon"].bitmap=BitmapCache.load_bitmap(sprintf("Graphics/Icons/icon%03d",pokemon))
  48. @sprites["pokeicon"].x=22
  49. @sprites["pokeicon"].y=0
  50. @sprites["pokeicon"].src_rect.set(0,0,64,64)
  51. @sprites["pokeicon"].opacity=0
  52. 10.times do
  53. @sprites["black"].opacity+=15.5
  54. @sprites["pokeicon"].opacity+=15.5
  55. @sprites["overlay"].opacity+=25.5
  56. @sprites["balls_#{i}"].opacity+=15.5
  57. end
  58. pbWait(1)
  59. end
  60. loop do
  61. Graphics.update
  62. Input.update
  63. @sprites["balls_#{@oldsel}"].opacity=155
  64. @sprites["balls_#{@select}"].opacity=255
  65. overlay.clear
  66. [email protected](@thispocket[@select][0])
  67. textPositions=[
  68. [_INTL("#{name}"),234,202,0,baseColor,shadowColor],
  69. [_INTL("Choose the ball for #{pokename}"),84,22,0,baseColor,shadowColor],
  70. ]
  71. pbDrawTextPositions(overlay,textPositions)
  72. @oldsel=@select
  73. if Input.repeat?(Input::RIGHT)
  74. @select += 1
  75. @select = 0 if @select > @commands.length - 1
  76. pbSEPlay("SE_Select1")
  77. elsif Input.repeat?(Input::LEFT)
  78. @select -= 1
  79. @select = @commands.length - 1 if @select < 0
  80. pbSEPlay("SE_Select1")
  81. elsif Input.repeat?(Input::UP)
  82. @select-=9
  83. @select=0 if @select<0
  84. elsif Input.repeat?(Input::DOWN)
  85. @select+=9
  86. elsif Input.trigger?(Input::C)
  87. 10.times do
  88. @sprites["black"].opacity-=15.5
  89. @sprites["pokeicon"].opacity-=15.5
  90. @sprites["overlay"].opacity-=25.5
  91. @sprites["balls_#{i}"].opacity-=@sprites["balls_#{i}"].opacity=255 ? 25.5 : 15.5
  92. end
  93. pbWait(1)
  94. end
  95. @sprites["pokeicon"].dispose
  96. @sprites["black"].dispose
  97. poke=PokeBattle_Pokemon.new(pokemon,level,$Trainer)
  98. poke.ballused=pbGetBallType(@thispocket[@select][0])
  99. @sprites["balls_#{i}"].dispose
  100. end
  101. overlay.dispose
  102. pbAddPokemon(poke,level,seeform)
  103. $PokemonBag.pbDeleteItem(@thispocket[@select][0])
  104. return true
  105. elsif Input.trigger?(Input::B) && $DEBUG
  106. @sprites["balls_#{i}"].dispose
  107. end
  108. overlay.dispose
  109. return false
  110. end
  111. end
  112. end
  113.  
  114. def pbCallBallSel(pokemon,level=nil,seeform=true)
  115. if $PokemonBag.pockets[3].length>0
  116. pbCallBall(pokemon,level,seeform)
  117. else
  118. Kernel.pbMessage(_INTL("There are no poke ball in your pocket."))
  119. return false
  120. end
  121. end
Advertisement
Add Comment
Please, Sign In to add comment