This page describes the Debug mode available in Pokémon Essentials.
What is Debug mode?
Debugging refers to playing a game with the aim of making sure everything works properly in it, and finding and fixing any problems that may arise before the game is made publicly available.
To help with this, games will often have a Debug mode, which is a mode only accessible by the game's developers. This mode provides additional commands and options that allow the developers to play through the game more easily and see what is going on behind the scenes. These commands can include the ability to modify stats, warp to maps, and change game variables.
Pokémon Essentials is no different.
Enabling Debug mode
A game run from RPG Maker XP (rather than run by itself) is automatically in Debug mode. The Debug mode can be toggled on and off by setting the variable
$DEBUG to TRUE or FALSE respectively.
The term "playtest" is used to refer to playing a game in Debug mode.
Gameplay changes in Debug mode
Debug mode changes a number of features in the game, and enables several more options. These changes are:
- The splash and title screens are skipped, and the Continue/New Game menu is shown straight away.
- Pressing "F7" will open the debug console.
- The Pause menu contains an extra option: Debug. This opens the main Debug menu. See below for details.
- This Debug menu can also be accessed by pressing "F9".
- In the Party screen and the Pokémon storage screen, the interact menu for Pokémon/eggs contains an extra option: Debug. This opens a menu with debugging commands that apply to that Pokémon. See below for details.
- In the Bag, the interact menu for items contains an extra option: Make Mystery Gift. This lets the player create a Mystery Gift containing that item.
- The player can throw away important items such as Key Items.
- Pokémon can forget HM moves.
- The player can use any field moves at any time, even without the required badge.
- If the field move can be used by interacting with something in the overworld (e.g. a small tree for "Cut", water for "Surf"), then the player can use that move even if none of their Pokémon knows it.
- Field moves that can only be used by selecting it from a Pokémon's menu in the party screen (e.g. "Teleport", "Sweet Scent", "Fly") still need to be known by a Pokémon in order to select it in the first place. Badge requirements are still ignored, though.
- Holding Ctrl while moving around lets the player pass over every tile regardless of passability.
- Holding Ctrl while using the Poké Radar will ignore its low battery.
- Holding Ctrl while using Fly will let the player go to all possible Fly destinations, including ones that haven't yet been visited (note that the unvisited locations will not be marked as Fly destinations).
- In the Mining mini-game, holding Ctrl while hitting with either tool will not lower the wall's durability.
There are some other debug features too, mainly additional messages that are displayed when errors occur.
- Holding Ctrl while moving around prevents wild Pokémon battles from occurring.
- Holding Ctrl while attempting to begin a trainer battle will skip that battle and treat it as a win.
- Holding Ctrl when opening the "Fight" menu will cause the Mega Evolution option to be accessible (if the Pokémon has a Mega form), regardless of whether the player has a Mega Ring item or whether they have already Mega Evolved in this battle. The Pokémon must still hold the appropriate item required for its Mega Evolution, though.
- Holding Ctrl while using an attack will guarantee that the attack's additional effect occurs (if it has one).
- Holding Ctrl while throwing a Poké Ball to catch a Pokémon will guarantee that the capture is successful.
- Holding Ctrl while using the "Run" command will allow certain escape, even if the player shouldn't be able to flee. This also applies to trainer battles, in which case, the player can choose whether to treat the battle as a win or a loss.
The Debug menu contains features useful for debugging or configuring a Pokémon game. You can access it from the pause menu, or by pressing "F9" during a playtest.
The options in the Debug menu are as follows:
|Switches||Displays a list of all defined Game Switches and allows them to be modified.|
|Variables||Displays a list of all defined Game Variables and allows them to be modified.|
|Refresh Map||Makes all events on the current map refresh themselves and recheck their page conditions.|
|Warp to Map||Transfers the player to a random passable spot on a chosen map.|
|Heal Party||Fully heals all Pokémon in the player's party.|
|Add Item||Adds a chosen number of a chosen item to the player's Bag.|
|Fill Bag||Adds a chosen number of every item to the player's Bag.|
|Empty Bag||Removes all items from the Bag.|
|Add Pokémon||Gives the player a Pokémon of a chosen species and level. It will be sent to the PC if the player's party is full. The player is the original owner.|
|Fill Storage Boxes||Fills all Pokémon storage boxes with one Pokémon of each species, all at level 50. All forms of all these species will also be marked as seen.|
|Clear Storage Boxes||Removes all Pokémon from the Pokémon storage.|
|Use PC||Boots up a PC, from which the Pokémon storage and the player's PC can be accessed.|
|Set Player Character||Sets the player's character.|
|Rename Player||Renames the player.|
|Randomise Player's ID||Randomises the player's ID.|
|Change Player Outfit||Sets the player's outfit.|
|Set Money||Sets the player's money to a chosen value.|
|Set Coins||Sets the player's Coins to a chosen value.|
|Set Badges||Toggles which Gym badges the player has.|
|Give Demo Party||Fills the player's party with a set of predefined Pokémon.|
|Toggle Running Shoes Ownership||Sets whether the player owns a pair of running shoes.|
|Toggle Pokégear Ownership||Sets whether the player owns a Pokégear.|
|Toggle Pokédex Ownership||Sets whether the player owns a Pokédex.|
|Dex List Accessibility||Sets which regional/national Pokédex lists have been unlocked.|
|Ready Phone Rematches||All trainers registered in the phone are set to be awaiting their next rematch.|
|Manage Mystery Gifts||Edits the contents of the master Mystery Gift file, and creates Gift files for uploading.|
|Day Care Options...||A variety of options related to the Pokémon deposited in the Day Care:
|Quick Hatch||Makes all eggs in the player's party require only one more step to hatch.|
|Roaming Pokémon Status||Displays information on all defined roaming Pokémon, including whether they are roaming and where.|
|Advance Roaming||Makes all roaming Pokémon roam, as if the player had changed maps. In this case, roamers ignore where the player has been, and so can advance to the map the player is currently on.|
|Set Encounters||Allows the Pokémon encounters for each map to be modified.|
|Set Metadata||Allows each map's metadata to be defined, as well as the global metadata.|
|Set Terrain Tags||Allows the terrain tags of each tile in each tileset to be defined. This feature is necessary because of the terrain tag limit set by RPG Maker XP.|
|Edit Trainer Types||Allows the details of each trainer type to be edited.|
|Reset Trainers||Resets the Self Switches of all trainers on the current map.|
|Test Wild Battle||Starts a battle with a wild Pokémon of a chosen species and level.|
|Test Double Wild Battle||Starts a double battle with two wild Pokémon of chosen species and levels.|
|Test Trainer Battle||Starts a single battle with a chosen Pokémon trainer.|
|Test Double Trainer Battle||Starts a double battle with two separate chosen Pokémon trainers.|
|Relic Stone||Uses the Relic Stone to purify a chosen Shadow Pokémon.|
|Purify Chamber||Opens the Purify Chamber to purify Shadow Pokémon.|
|Extract Text||Extracts all text in the game for localisation.|
|Compile Text||Compiles a text file into a localised format.|
|Compile Data||Compiles all data from the PBS files.|
|Map Connections||Lets the user visually connect maps together.|
|Animation Editor||Opens the Animation Editor.|
|Debug Console||Opens the Debug console. This is useful when debugging the game's scripts. To send text to the console, call |
|Toggle Battle Logging||Sets whether the game will log various messages in battle.|
The Pokémon Debug menu is accessible from the Party screen and the Pokémon storage screen. It contains options that edit aspects of the chosen Pokémon.
Most of the options are self-explanatory, and often display information related to the selected option (e.g. the Pokémon's Hidden Power when "Set IVs" is selected).
The options in the Pokémon Debug menu are as follows
|HP/Status||Allows you to set the Pokémon's HP and status condition. You can also make it fainted or heal it completely. The Heal option also restores all PP.|
|Level||Sets the Pokémon's level. However, there is no way to directly manipulate Exp points.|
|Species||Allows you to change the Pokémon's species, e.g. Pikachu, Charmander, Diglett.|
|Moves||Allows you to change the Pokémon's moveset. You can teach any Pokémon (except Shadow Pokémon) any move, even ones the Pokémon couldn't otherwise learn. You can also reset the Pokémon's moveset to what it would have by default, and record the Pokémon's current moveset as its initial moveset (for Move Relearner purposes).|
|Gender||Allows you to change the Pokémon's gender. You cannot make a Pokémon a gender it couldn't naturally be (e.g. male Chansey). You can also remove the gender override created by this option.|
|Ability||Allows you to change the Pokémon's ability. You can choose any ability available to that Pokémon, including hidden abilities. You can also remove the ability override created by this option.|
|Nature||Allows you to change the Pokémon's nature. You can also remove the nature override created by this option.|
|Shininess||Allows you to make the Pokémon shiny or not shiny. You can also remove the shininess override created by this option.|
|Form||Allows you to change the Pokémon's form, by inputting a number. Note that you can choose any number for this, not just ones that correspond to defined alternate forms.|
|Happiness||Allows you to change the Pokémon's happiness value from 0 to 255.|
|Pokérus||Allows you to give the Pokémon a random strain of Pokérus, make it non-infectious, or clear the Pokémon of Pokérus entirely.|
|Ownership||Allows you to change the details of the Pokémon's original owner, including their name, gender and Trainer ID. You can also make the Pokémon yours.|
|Nickname||Allows you to change or erase the Pokémon's nickname.|
|Poké Ball||Allows you to change the Poké Ball that the Pokémon is in.|
|Ribbons||Allows you to change the Pokémon's owned ribbons.|
|Egg||Allows you to convert the Pokémon between an egg and a Pokémon. A warning message will appear if the Pokémon couldn't naturally be an egg, but this doesn't prevent it from becoming one. You can also change an egg's remaining steps to 1.|
|Shadow Pokémon||Allows you to turn the Pokémon into a Shadow Pokémon. You can also lower the heart gauge. You still have to use a Purify Chamber or Purification Stone to completely remove the Shadow status.|
|Mystery Gift||Allows you to create a Mystery Gift containing the Pokémon. You can set the name and ID of the gift, and set the Pokémon's obtain text. The gift will be added to the "MysteryGiftMaster.txt" file.|
|Duplicate||Duplicates the Pokémon. If the party is full, the duplicate will be stored in the PC.|
|Delete||Deletes the Pokémon. This is irreversible.|