Undertale/Debug Mode
This is a sub-page of Undertale.
To do:
|
To do: Offset is wrong for v1.08 Mac. |
A debug mode can be activated by using a hex editor: change 00725B24 (in version 1.0), 00725D8C (in version 1.001), 00725DDC (in version 1.001 Linux), or 007748C4 (in 1.08) to 01 in data.win (Windows versions), game.unx (Linux), or game.ios (Mac OS X).
A slow but friendlier way to enable/disable Debug Mode is to download UndertaleModTool, open the aforementioned data file with it, and run the builtin EnableDebug script; this works for almost every version of Undertale.
In the Windows 1.00 version, data.win can be extracted from UNDERTALE.exe with any decent archiving tool like 7-Zip or WinRAR. It's actually a self-extracting .cab containing all the game's resources along with the real executable, which can be run normally from wherever you extract the files to. game.ios can be found in the OS X version by browsing into the Undertale application using "Show Package Contents".
If you are playing the Steam version, you should delete steam_api.dll (or if you're extracting v1.00, extract every file except that), or the debug mode won't be activated.
For some mysterious reason, the Xbox One version almost purged all of these, invalidating a good chunk of this page. Keybinds that still work will be denoted with "works on Xbox".
General
- Since v1.001-4 (consoles)/v1.05 (PC), the run time of the currently loaded save file (by seconds) is shown on the top-left of the screen. The code for drawing it is present from the very start, but obj_time, the object responsible for drawing it, wasn't made visible until v1.05.
- Debug messages regarding the saving and loading functionality are also shown on consoles.
- All Gaster Follower encounters will be triggered, as well as Sans's fridge phone call and Alphys' pizza phone call.
Keyboard Shortcuts
Key | Effect |
---|---|
G | Opens dimensional box. |
O | Opens a normally unused dialog to take items out of a dimensional box. |
I | Same as above, but to put away. |
0-4 | Changes the save file slot from 0 to 4. The game utilizes this feature only for temporary saves (slot 9), or for the autosave before Photoshop Flowey (slot 8). |
S | Opens the save dialog. |
L | Instantly loads your save file. |
M | Increase murder level by 1. |
F | Sets game speed to 200, for the duration of a room. Does not affect sound. (works on Xbox) |
W | Slows game down to 10 FPS. (works on Xbox) |
P | Toggle room speed between fast and normal. |
R | When pressed seven times in quick succession, restarts the game. (works on Xbox) |
U | Toggles Undyne phone calls. Turns the player blue if enabled, yellow if disabled. |
V | Make room collision solids (without slopes) visible. |
Backspace | Increases walk speed when held down. (works on Xbox - right and down only) |
Pg Up | Increase encounterer "steps" by 100. |
Pg Down | Sets AT in the STAT menu to 989. As AT is recalculated every time you enter a battle, this is essentially cosmetic-only. |
End | Plays the next monster (Flowey if in a genocide run) dialogue from New Home. |
Home | Starts a battle with the current battle group. Default is 140 (So Sorry) in version 1.0, 80 (Mettaton third encounter) in version 1.001, and 57 (Mettaton second encounter) in later versions.
Target battle group can be changed with the ChangeHomeBattlegroup script in UndertaleModTool. Alternatively, with a hex editor, modify 009F553C (in version 1.0), 009EB414 (in version 1.001), 009EB918 (in version 1.001 Linux) or 00BD8200 (in version 1.06) in data.win, game.unx or game.ios to change. List of battle groups here. If the battle group is invalid, the last dialogue script is shown in the battle box under the YOU WON! text. The battle ends if you spare, flee, try to use an item, or act. The game crashes if you try to fight. |
5 | Increase the ID of the battle group used by the Home key by 1. Does not roll over to 0 after 256. For some reason, this is the only debug key that is handled even if debug mode is disabled. |
Insert | Teleport to the next room in the room list. Places you in whatever position Toby put you at in his room editor. |
Del | Teleport to the previous room. |
F3 | Places a file system_information_962 in your save folder, making the game think you've sold your soul to Chara. |
F7 | Adds 500 gold. |
F9 | Stops all sounds and music currently playing. |
F10 | Toggle collision with walls. |
F11 | Teleport to the room after Papyrus's boss fight (room_water1/id:82). |
F12 | Sets the game to act as if you're at the True Pacifist ending and restarts the current room. (works on Xbox) |
6 + R | Teleport to Ruins tile puzzle room (room_ruins2/id:7). |
6 + T | Teleport to outside of Ruins exit (room_tundra1/id:44). |
6 + W | Same as F11. |
6 + F | Teleport to Hotlands water cooler room (room_fire2/id:138). |
6 + E | Teleport to New Home entrance (room_castle_front/id:219). |
6 + Y | Teleport to True Lab entrance (room_truelab_elevator/id:244). |
Debug Flags
Flag | Line in savefile | Description |
---|---|---|
28 | 59 | If set to 1, holding C in dialogues will skip through them quickly. |
26 | 57 | Overrides murder level when set to a non-zero value. |
4 | 5 | If set to 1, before Undyne's fight, her monologue will act as if you've killed no monsters if you kill only one. |
69 | 100 | If set to 1, changes Burgerpants' intro dialogue slightly. This appears to be once applicable to all shops, but only effective on Burgerpants' in the final game. No longer makes any difference since v1.001-4/v1.05. |
Overworld Specific
First Sans Encounter
Press J to zoom in on Sans and make a rimshot sound. Note that this could crash the game.
Alternate Reflection
The reflections of yourself in the puddles in Waterfall are replaced with a sprite of an unknown character when Space is pressed. According to the game's files, the character seems to be Chara, but they also look like Kris from Deltarune. The related variable in the code that controls showing this alternate reflection is called death
, which may indicate that this was once used after you sold Chara your soul.
Monster Kid Climb
Two numbers will appear over the player's head, starting at -1 and 0. The first number indicates the frames left before progression to the next "con", while the second number indicates Monster Kid's state.
Undyne Second Spear Chase
Pressing K sets HP to 999. (works on Xbox)
Fight Specific
Key | Effect |
---|---|
1 | Halves game speed. Cannot go below 1 FPS, or game crashes. |
2 | Doubles game speed. Cannot go past 2x normal game speed. Crashes game if pressed too many times. |
8 | Shortens current enemy turn. |
9 | Extends current enemy turn. |
Space | Shortens current enemy turn to 2 frames. |
Delete | Sets HP to 999 for the current fight. (works on Xbox) |
F6 | Sets attack to 999 and enables fleeing. |
P + O | Sets mercy to 9999, enabling the spare option instantly. Some enemies that cannot be normally spared turn into Aaron. |
Lesser Dog
Key | Effect |
---|---|
J | Increases mercy progress, and consequently head height. (works on Xbox) |
Dogamy & Dogaressa
Key | Effect |
---|---|
J | During the "heart hoops" attack, toggles clipping bullets in the arena. |
Greater Dog
Key | Effect |
---|---|
Space | Makes the enemy act as if it has been ignored 3 times. |
Papyrus
Key | Effect |
---|---|
Space | Sets Papyrus's next attack and dialogue to "THE KING WILL TRIM A HEDGE IN THE SHAPE OF MY SMILE!!!" |
O | Decreases the turn counter by 1. (works on Xbox) |
P | Increases the turn counter by 1. (works on Xbox) |
Shyren
Key | Effect |
---|---|
3 | Increases the emotion variable, used during the fight to affect her status. |
Mad Dummy
A red number starting from 300 appears attached to the right of the Mad Dummy, indicating its health. Pressing A will set the number to 180, make the dummy float around, and make its next attack the "FINAL ATTACK!"
Undyne
Note: Undyne cannot be spared with the key combination O+P.
This needs some investigation. Discuss ideas and findings on the talk page. Specifically: What is the deal with A? |
In the Xbox One version, the current attack pattern (lesson
) is shown during an green soul attack.
Key | Effect |
---|---|
7 | Sets the player's HP to 999. |
A | Decreases turn counter by 1. |
A (during green soul enemy turn???) | Increases turn counter by 1. |
S (during green soul enemy turn???) | Decreases turn counter by 1. |
C | Slows down the spawning of green soul spears. |
U | Sets Undyne's HP to 2. |
Near-Death Effect
Hold Space and one of these keys to modify the effect:
Key | Effect |
---|---|
Right | Increases wave intensity. |
Left | Decreases wave intensity. |
Up | Increases wave width. As the effect attempts to approach an "ideal" value, the change doesn't persistent for long. |
Down | Decreases wave width. Has the same caveat as Up. |
Muffet
Key | Effect |
---|---|
D | Increases turn counter by 1. |
A | Decreases turn counter by 1. |
Mettaton Quizzler
To do: When was N added? |
Key | Effect |
---|---|
N | (post-v1.00) Changes the selected question to "What monster is this?" The next question to this is "Would you smooch a ghost?" |
Space | Makes the quiz prompt ask the next question. |
Mettaton EX
Key | Effect |
---|---|
S | Increases turn counter by 1. |
A | Decreases turn counter by 1. |
Asgore
A turn counter counts up from 0 in the top left corner of the screen. The higher the counter is, the harder Asgore's attacks are and the less defense Asgore has. Press A to decrease, press S to increase. If above 20, it is set back to 20 each time Asgore does his orange-blue attack. If set manually to above 22 or below 1, crashes the game when Asgore attacks.
There's unused code in User Event 12 of obj_asgore_finalintro, which simply increases the cutscene's con value by 1 if debug is enabled. What this could be for is unknown.
Flowey
The text "debug" in yellow comes down on the right side of the screen alongside Flowey. The intro and game over screens are skipped after the first death.
Key | Effect |
---|---|
Home | Attack Flowey instantly. Does 6000 damage if all soul indicators are darkened. |
Pg Up | Darkens the soul indicators in order, increasing damage and affecting the next soul battle. Disables darkening when all are darkened, and the next time a soul battle occurs, the game will crash. |
Shift/X | Darkens the soul indicators in order, increasing damage and affecting the next soul battle. |
Q | Starts the battle instantly during the intro. Does not stop the intro, so you cannot move and the attacks miss you until Flowey is closer. |
W | Slows game down to 10 FPS. If used in Flowey's death state, starts the attack after Flowey's health is restored. |
E | One burst of three stars from each eye. |
R | One burst of seven stars from each eye. |
I | Makes Flowey laugh and restart his attacks, including in a soul battle. |
O | Purple Soul fight (books) |
P | Green Soul fight (frying pan) |
A | Toggle flamethrower |
S | Saves battle state. Shows "FILE 2 SAVED" at bottom left corner. |
F | Doubles game speed. Lock on pellet attack. |
G | Orange Soul fight (glove) |
H | One hand-gun attack |
J | Yellow Soul fight (gun) |
K | Aqua Soul fight (knives) |
L | Loads battle state. Shows "FILE 2 LOADED" at bottom left corner. If there is no save, crashes game. |
C | Toggles Flowey's mouth flap waving around. |
V | Single vine attack. |
N | Single F-Bomb. |
M | Ball of teeth/dentata attack. |
Shift | Deactivates souls one at a time. |
B | Resets unused bullet obj_chaosbomb. (works on Xbox?!) |
Asriel
Phase 1
Key | Effect |
---|---|
C | Toggles Asriel's floating around and staying still above the middle of the screen. (works on Xbox) |
Space | Same as above, but closer to the top. Asriel must be still for any of the below keys to work. Attacks stack and start instantly. (works on Xbox) |
I | Increases turn counter by 1 |
U | Decreases turn counter by 1 |
G | Chaos Buster/Chaos Blaster |
B | Shocker Breaker/Shocker Breaker II |
W | Chaos Saber/Chaos Slicer, slows the game down to 10 FPS. |
S | Star Blazing/Galacta Blazing |
H | H Y P E R G O N E R |
Phase 2
During an "ultima" attack, Space spawns a bullet.
Undyne the Undying
Note: Undyne cannot be spared with the key combination O+P.
In the Xbox One version, the current attack pattern (lesson
) is shown during an green soul attack.
Key | Effect |
---|---|
7 | Sets HP to 999. |
A | Decreases turn counter by 1. |
A (during green soul enemy turn???) | Increases turn counter by 1. |
S (during green soul enemy turn???) | Decreases turn counter by 1. |
C | Slows down the spawning of green soul spears. |
Sans
Key | Effect |
---|---|
E | Sets Sans' next attack to his special attack. |
W (v1.00)/Q | Sets Sans' next attack to the part where he spares you. |
Shop-Specific
Key | Effect |
---|---|
G | Sets gold to 5000. |
Bratty & Catty
Key | Effect |
---|---|
Space | Increases expression value of both shopkeepers by 1. |
B | Advances flag indicating how much you've talked with Burgerpants and these two about each other. |
K | Puts you into Burgerpants' shop. |
MTT-Brand Burger Emporium (Burgerpants)
Key | Effect |
---|---|
B | Advances flag indicating how much you've talked with him and Bratty & Catty about each other. |
L | Puts you into Bratty & Catty's shop. |
Miscellaneous
Undertale Logo Before Entering Snowdin
For some reason, setting global.debug
to 999 allows you to rotate the Undertale logo with the Left and Right keys if you didn't kill any monster, like in the Demo. (works on Xbox?!)
Cast Roll Splitter
Setting splitter
to 1 in gml_Object_obj_castroll_Create_0 shows a list of frame numbers on the top-left side of the screen, with a new number being added when you enter a new room in the scene, representing how long you've been in them. This likely was used by Toby to adjust the timing of the scene. (works on Xbox)