• The Eevee Expo Game Jam #10 has concluded, congratulations to all participants! Now it's time for the judges to play through the games, and you can play along to vote who deserves the community choice spotlight.
    You can check out the submitted games here!
    Play through the games and provide some feedback to the devs while you're at it!
  • Hi, Guest!
    Some images might be missing as we move away from using embedded images, sorry for the mess!
    From now on, you'll be required to use a third party to host images. You can learn how to add images here, and if your thread is missing images you can request them here.
    Do not use Discord to host any images you post, these links expire quickly!
Use SURF with any WATER type pokemon

Resource Use SURF with any WATER type pokemon 1.0

Tzeolon

Rookie
Member
Joined
Aug 9, 2023
Posts
6
Tzeolon submitted a new resource:

Use SURF with any WATER type pokemon - Surfing without SURF move (just the gym badge, and any WATER type pokemon)

With those simple scripts, the player can surf without teaching SURF to a pokemon in the party. He just needs to have the badge that allows him to surf, and a WATER type pokemon in his party.
  • First, edit the pbSurf method (Overworld_FieldMoves, line:737) in this way: View attachment 20876
  • Now just define the method "get_pokemon_with_type" in the Trainer script file (better if defined under the "get_pokemon_with_move" method(line:156), as the image...

Read more about this resource...
 

tammyclaydon

Novice
Member
Joined
Mar 21, 2022
Posts
35
does this still allow for non water types who can learn surf to still surf such as dragonite or mew?
 

LinKazamine

Champion
Member
Joined
May 24, 2023
Posts
662
Well, if you follow the steps as they are written, I think it would not. What you need to do is tell the game to allow surfing if the player has a pokémon who knows surf or is a water type in the team.
This would be the code of the pbSurf method instead:
Ruby:
Expand Collapse Copy
def pbSurf
  return false if $game_plaer.pbFacingEvent
  return false if !$game_player.can_ride_vehicle_with_follower?
  type = :WATER
  move = :SURF
  movefinder = $player.get_pokemon_with_move(move)
  movefinder = $player.get_pokemon_with_type(type) if !movefinder
  if !pbCheckHiddenMoveBadge(Settings::BADGE_FOR_SURF, false) || (!$DEBUG && !movefinder)
    return false
  end
  if pbConfirmMessage(_INTL("The water is a deep blue color... Would you like to use Surf on it?"))
    speciesname = (movefinder) ? movefinder.name : $player.name
    pbMessage(_INTL("{1} used {2}!", speciesname, GameData::Move.get(move).name))
    pbCancelVehicles
    pbHiddenMoveAnimation(movefinder)
    surfbgm = GameData::Metadata.get.surf_BGM
    pbCueBGM(surfbgm, 0.5) if surfbgm
    pbStartSurfing
    return true
  end
  return false
end
I think this should work. Haven't checked, so not sure. But as you see, is just one more line.

You can change the order of defining the "movefinder" like this:
Ruby:
Expand Collapse Copy
  movefinder = $player.get_pokemon_with_type(type)
  movefinder = $player.get_pokemon_with_move(move) if !movefinder
This code will check for water types before pokémon that know surf and use them instead. Be aware that the name used will be of the first pokémon that matches the conditions.
 
Back
Top