Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #############################################################
- # Autosurf #
- # Autor : Bezier #
- # Compatible con Essentials 16.3 #
- # #
- # Este script plug&play permite surfear de forma automática #
- # cuando se entra en contacto con un terrain tag surfeable #
- #############################################################
- # Poner a true si Surf se activa con las medallas
- AUTOSURF_USEBADGES = false
- # Poner a true si Surf se activa con un objeto
- AUTOSURF_USEITEM = false
- # Objeto que permite hacer autosurf
- AUTOSURF_ITEM_KEY = :SURF_ITEM
- def pbAutoSurf
- x=$game_player.x
- y=$game_player.y
- currentTag=$game_map.terrain_tag(x,y)
- facingTag=Kernel.pbFacingTerrainTag
- if !$PokemonGlobal.surfing && PBTerrain.isSurfable?(facingTag)
- # Cancela el Surf si está activo por medallas y no se cumple la condición para surf
- return if AUTOSURF_USEBADGES && !(HIDDENMOVESCOUNTBADGES ? $Trainer.numbadges>=BADGEFORSURF : $Trainer.badges[BADGEFORSURF])
- # Cancela el Surf si está activo por objeto pero no se posee el objeto que permite surfear
- return if AUTOSURF_USEITEM && !(hasConst?(PBItems,AUTOSURF_ITEM_KEY) && $PokemonBag.pbQuantity(AUTOSURF_ITEM_KEY)>0)
- # Compatibilidad con PokémonFollow para hacer desaparecer al pokémon
- $PokemonTemp.dependentEvents.check_surf(true) if defined?($PokemonTemp.dependentEvents.check_surf)
- pbStartSurfing
- return true
- end
- return false
- end
- # Redefine los movimientos del player para poder usar el autosurf
- class Game_Player < Game_Character
- def move_down(turn_enabled = true)
- if turn_enabled
- turn_down
- end
- if passable?(@x, @y, 2)
- return if pbLedge(0,1)
- return if pbEndSurf(0,1)
- turn_down
- @y += 1
- $PokemonTemp.dependentEvents.pbMoveDependentEvents
- increase_steps
- elsif !pbAutoSurf
- if !check_event_trigger_touch(@x, @y+1)
- if !@bump_se || @bump_se<=0
- pbSEPlay("bump"); @bump_se=10
- end
- end
- end
- end
- def move_left(turn_enabled = true)
- if turn_enabled
- turn_left
- end
- if passable?(@x, @y, 4)
- return if pbLedge(-1,0)
- return if pbEndSurf(-1,0)
- turn_left
- @x -= 1
- $PokemonTemp.dependentEvents.pbMoveDependentEvents
- increase_steps
- elsif !pbAutoSurf
- if !check_event_trigger_touch(@x-1, @y)
- if !@bump_se || @bump_se<=0
- pbSEPlay("bump"); @bump_se=10
- end
- end
- end
- end
- def move_right(turn_enabled = true)
- if turn_enabled
- turn_right
- end
- if passable?(@x, @y, 6)
- return if pbLedge(1,0)
- return if pbEndSurf(1,0)
- turn_right
- @x += 1
- $PokemonTemp.dependentEvents.pbMoveDependentEvents
- increase_steps
- elsif !pbAutoSurf
- if !check_event_trigger_touch(@x+1, @y)
- if !@bump_se || @bump_se<=0
- pbSEPlay("bump"); @bump_se=10
- end
- end
- end
- end
- def move_up(turn_enabled = true)
- if turn_enabled
- turn_up
- end
- if passable?(@x, @y, 8)
- return if pbLedge(0,-1)
- return if pbEndSurf(0,-1)
- turn_up
- @y -= 1
- $PokemonTemp.dependentEvents.pbMoveDependentEvents
- increase_steps
- elsif !pbAutoSurf
- if !check_event_trigger_touch(@x, @y-1)
- if !@bump_se || @bump_se<=0
- pbSEPlay("bump"); @bump_se=10
- end
- end
- end
- end
- end
Add Comment
Please, Sign In to add comment