Fandom

Pokémon Essentials Wiki

Getting around

227pages on
this wiki
Add New Page
Talk0 Share

This article describes the various ways the player can move around the maps.

See also

Map transfers

  • For how to get from one place to another (except by walking).

Connecting maps

  • For how to show two maps can be joined together seamlessly.

Obstacles

  • For things that temporarily prevent the player from going wherever they want.

Using moves outside battle

  • Some moves that can be used outside battle are related to player movement (e.g. Surf, Fly).

Encounters

  • Wild Pokémon encounters can occur at any time while the player is surfing or diving, or in caves.

Walking and running

The player can walk around from the start of the game. Running, however, requires a pair of running shoes. These are not an item, but rather a switch that allows running in the game. To allow the player to run, give them the running shoes by using the following line of code:

$PokemonGlobal.runningShoes=true

To run, press and hold the run button while moving. While running, the player's graphic changes (see the article Player for how to define which graphic this is). The player can run anywhere (except if they are cycling, surfing or diving, obviously).

Walking, running and cycling speeds are set in the script section Walk_Run, in the def update. By default, walking speed is 3.8 (10 frames per movement), running speed is 4.8 (5 frames), and cycling speed is 5.2 (4 frames). The speed formula is: frame per movement = 128/2^speed, always rounded up. The highest speed that Essentials supports without messing with other things (like touch events) is 6.9 (2 frames).

Cycling

Riding a bicycle is quicker than running, and is mandatory on some maps (e.g. Cycling Road). Such maps will have the "BicycleAlways" metadata set.

The player can only cycle in outdoor maps, and also in any maps that have the "BicycleAlways" or "Bicycle" metadata set to TRUE. The player will automatically dismount if they enter a map in which they cannot cycle, and at the end of each battle. The player cannot cycle into really tall grass, and cannot mount their bicycle while in it. Also, the player cannot mount their bicycle if they have a dependent event.

While cycling, the player's graphic changes (see the article Player for how to define this graphic). While cycling, the variable $PokemonGlobal.bicycle is TRUE.

You can force the player to get on their bicycle by using pbMountBike, and force them off again with pbDismountBike (although you shouldn't ever need to).

When entering a "BicycleAlways" map, mounting is done automatically. Note that the player will mount a bicycle even if they don't have one in their Bag. Because of this, the player's transfer onto that map should include a check (e.g. by an NPC) to see whether the player has a bicycle, and to only let them through to the "BicycleAlways" map if they do.

Walking, running and cycling speeds are set in the script section Walk_Run, in the def update. By default, walking speed is 3.8, running speed is 4.8, and cycling speed is 5.2.

Surfing

Surfing is the only way to travel over water. This is done by having a party Pokémon use the move Surf, which requires that the player have the appropriate Gym Badge that allows it. The player cannot surf if they have any dependent events (e.g. partner trainers).

Water is defined as any tiles with a terrain tag of either 5 (deep water), 6 (still water), 7 (normal water), 8 (waterfall) or 9 (waterfall crest).

While surfing, the player's graphic changes (see the article Player for how to define this graphic). The surfing speed is the same as walking speed. While surfing, the variable $PokemonGlobal.surfing is TRUE.

A special method is needed to allow the player to transfer to a different map while remaining surfing. Information about this is in the article Map transfers.

Diving

The player can go underwater by diving into deep patches of water. This is done by having a party Pokémon use the move Dive (while surfing), which requires that the player have the appropriate Gym Badge that allows it. The player must also be on a tile with a terrain tag of 5 (deep water).

While underwater, the player can use the move Dive to surface again. When the player is able to do so depends on the setting DIVINGSURFACEANYWHERE in the script section Settings. If it is TRUE, then the player will always be able to surface, no matter where underwater they are. If it is FALSE, they will only be able to surface if the corresponding spot on the surface map is a place they could dive down from.

While diving, the player's graphic changes (see the article Player for how to define this graphic). The diving speed is the same as walking speed.

See the article Obstacles for more information on how to set up diving areas.

A special method is needed to allow the player to transfer to a different map while remaining diving (e.g. entering an underwater cave). Information about this is in the article Map transfers.

Other movement

Main article: Map transfers

The player may also change their location by using a move (e.g. Teleport, Fly), using an item (e.g. Escape Rope), by passing through a door into a building, by stepping onto a warp tile and so forth.

When entering some maps, a message window will appear in the upper left of the screen announcing the name of the map. This is the location signpost.

Tips

  • You could make the run button a toggle switch, i.e. press it to switch between walking and running, rather than having to keep it held in order to run.
  • Allow running from the very start of the game, because it seems silly that you cannot run until you have a particular pair of shoes (or at least, that you would have left on a journey without them).
  • Allow the use of the run button while cycling, to allow faster cycling.
Related tutorials

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.