Advertisement
FuegoFatuo25

Surf Item

Feb 26th, 2019
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 2.20 KB | None | 0 0
  1. #===============================================================================
  2. # Surf
  3. #===============================================================================
  4. def Kernel.pbSurf
  5.   if $game_player.pbHasDependentEvents?
  6.     return false
  7.   end
  8.   if $PokemonBag.pbQuantity(:ITEM)>0
  9.     if Kernel.pbConfirmMessage(_INTL("El agua tiene buena pinta...\n¿Quieres surfear?"))
  10.         Kernel.pbMessage(_INTL("¡Has usado la Tabla de Surf!"))
  11.         surfbgm=pbGetMetadata(0,MetadataSurfBGM)
  12.         pbCueBGM(surfbgm,0.5) if surfbgm
  13.         pbStartSurfing()
  14.         return true
  15.       end
  16.     end
  17.   return false
  18. end
  19.  
  20. def pbStartSurfing()
  21.   Kernel.pbCancelVehicles
  22.   $PokemonEncounters.clearStepCount
  23.   $PokemonGlobal.surfing=true
  24.   Kernel.pbUpdateVehicle
  25.   Kernel.pbJumpToward
  26.   Kernel.pbUpdateVehicle
  27.   $game_player.check_event_trigger_here([1,2])
  28. end
  29.  
  30. def pbEndSurf(xOffset,yOffset)
  31.   return false if !$PokemonGlobal.surfing
  32.   x=$game_player.x
  33.   y=$game_player.y
  34.   currentTag=$game_map.terrain_tag(x,y)
  35.   facingTag=Kernel.pbFacingTerrainTag
  36.   if PBTerrain.isSurfable?(currentTag) && !PBTerrain.isSurfable?(facingTag)
  37.     if Kernel.pbJumpToward(1,false,true)
  38. #      Kernel.pbCancelVehicles
  39.       $game_map.autoplayAsCue
  40.       $game_player.increase_steps
  41.       result=$game_player.check_event_trigger_here([1,2])
  42.       Kernel.pbOnStepTaken(result)
  43.     end
  44.     return true
  45.   end
  46.   return false
  47. end
  48.  
  49. def Kernel.pbTransferSurfing(mapid,xcoord,ycoord,direction=$game_player.direction)
  50.   pbFadeOutIn(99999){
  51.      $game_temp.player_new_map_id=mapid
  52.      $game_temp.player_new_x=xcoord
  53.      $game_temp.player_new_y=ycoord
  54.      $game_temp.player_new_direction=direction
  55.      Kernel.pbCancelVehicles
  56.      $PokemonGlobal.surfing=true
  57.      Kernel.pbUpdateVehicle
  58.      $scene.transfer_player(false)
  59.      $game_map.autoplay
  60.      $game_map.refresh
  61.   }
  62. end
  63.  
  64. Events.onAction+=proc{|sender,e|
  65.    terrain=Kernel.pbFacingTerrainTag
  66.    notCliff=$game_map.passable?($game_player.x,$game_player.y,$game_player.direction)
  67.    if PBTerrain.isSurfable?(terrain) && !$PokemonGlobal.surfing &&
  68.       !pbGetMetadata($game_map.map_id,MetadataBicycleAlways) && notCliff
  69.      Kernel.pbSurf
  70.      return
  71.    end
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement