- Pokémon Essentials Version
- v18.1 ➖
To make things easier with egg hatching, Extreme Speed is reset not when the player transfers to a new map, but if the player goes indoors!
In Game_Character, find this line:
Ruby:
self.move_speed_real = (val == 6) ? 64 : (val == 5) ? 32 : (2 ** (val + 1)) * 0.8
Ruby:
self.move_speed_real = (val == 7) ? 128 : (val == 6) ? 64 : (val == 5) ? 32 : (2 ** (val + 1)) * 0.8
In Game_PlayerVisuals, find this section:
Ruby:
def update_command
if PBTerrain.isIce?(pbGetTerrainTag)
self.move_speed = 4 # Sliding on ice
elsif !moving? && !@move_route_forcing && $PokemonGlobal
if $PokemonGlobal.bicycle
self.move_speed = 5 # Cycling
elsif pbCanRun? || $PokemonGlobal.surfing
self.move_speed = 4 # Running, surfing
else
self.move_speed = 3 # Walking, diving
end
end
super
end
Ruby:
def update_command
if PBTerrain.isIce?(pbGetTerrainTag)
self.move_speed = 4 # Sliding on ice
elsif !moving? && !@move_route_forcing && $PokemonGlobal
#extremespeed
if $PokemonGlobal.bicycle
if $PokemonMap.extremespeedUsed
self.move_speed = 7
else
self.move_speed = 5 # Cycling
end
elsif pbCanRun? || $PokemonGlobal.surfing
if $PokemonMap.extremespeedUsed
self.move_speed = 6
else
self.move_speed = 4 # Running, surfing
end
else
if $PokemonMap.extremespeedUsed
self.move_speed = 5
else
self.move_speed = 3 # Walking, diving
end
end
end
super
end
In PField_Metadata, find this section:
Ruby:
class PokemonMapMetadata
attr_reader :erasedEvents
attr_reader :movedEvents
attr_accessor :strengthUsed
attr_accessor :blackFluteUsed
attr_accessor :whiteFluteUsed
Ruby:
attr_accessor :extremespeedUsed
Ruby:
def clear
@erasedEvents = {}
@movedEvents = {}
@strengthUsed = false
@blackFluteUsed = false
@whiteFluteUsed = false
end
Ruby:
if $game_player==true
if !pbGetMetadata($game_map.map_id,MetadataOutdoor)
@extremespeedUsed = false
end
end
And at the end of PField_FieldMoves, add this:
Ruby:
#===============================================================================
# Extreme Speed
#===============================================================================
HiddenMoveHandlers::CanUseMove.add(:EXTREMESPEED,proc { |move,pkmn,showmsg|
if $PokemonMap.extremespeedUsed
if pbConfirmMessage(_INTL("Extreme Speed is already being used. Slow down?"))
$PokemonMap.extremespeedUsed=false
end
next false
end
next true
})
HiddenMoveHandlers::UseMove.add(:EXTREMESPEED,proc { |move,pokemon|
if !pbHiddenMoveAnimation(pokemon)
pbMessage(_INTL("{1} used {2}!",pokemon.name,PBMoves.getName(move)))
end
pbMessage(_INTL("{1} gave {2} a burst of speed!",pokemon.name,$Trainer.name))
$PokemonMap.extremespeedUsed=true
next true
})
Looking for more field moves?
- Weather-summoning moves
- Camouflage
- Bounce
- Recovery moves
- Move Reminder Field Move
- Sketch
- Future Sight
- Credits
- Credits to TechSkylander1518, please!