If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!
This article has a talk page!

Mortal Kombat: Deception

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Mortal Kombat: Deception

Also known as: Mortal Kombat: Mystification (FR)
Developer: Midway Games
Publisher: Midway Games
Platforms: PlayStation 2, Xbox, GameCube
Released in US: October 4, 2004 (PS2/Xbox), February 28, 2005 (GCN)
Released in EU: November 19, 2004 (PS2/Xbox), March 1, 2005 (GCN)

CharacterIcon.png This game has unused playable characters.
DevTextIcon.png This game has hidden development-related text.
GraphicsIcon.png This game has unused graphics.
SoundIcon.png This game has unused sounds.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.
Carts.png This game has revisional differences.

ProtoIcon.png This game has a prototype article
PrereleaseIcon.png This game has a prerelease article

To do:
  • According to the linker map, the debug functions display_debug_damage and trial_debug_mission_list appear to be still in the GameCube release. Create an Action Replay code for them if possible and document.
  • pfx_debug.ssf is present in all releases of the game. Find out what it goes to.
  • Look at the Premium/Kollector bonus discs.

Mortal Kombat: Deception is the second installment of the Mortal Kombat series on sixth generation consoles and has a far darker tone than the previous game.


Read about prototype versions of this game that have been released or dumped.
Prototype Info
Read about prerelease information and/or media for this game.
Prerelease Info

Unused Characters

The characters Drahmin, Frost, Kitana, and Nitara are present in the game's files, yet they are not utilized in fights. It is likely that they were planned to be in Konquest missions but ended up being unused. The Action Replay codes for replacing Player 1 with these characters in the GameCube release have been provided below.

Character Action Replay code
Drahmin 003AE747 0000002B
Frost 003AE747 00000029
Kitana 003AE747 0000002A
Nitara 003AE747 00000027

Kitana and Frost would later become playable in Mortal Kombat Unchained, a PSP port of Deception.

Unused Graphics

Locked Character Icons

Dairou, Kabal, and Kobra have unused locked icons despite being unlocked by default.

MKD head dairou locked.pngMKD head kabal locked.pngMKD head kobra locked.png

E3 End Screen

attract.ssf has a leftover end screen from the E3 demo.

MKD endscreen.png

Video Placeholders

Most of the unlockable videos from the Krypt have placeholder images present in krypt_art.ssf.

Konquest Items


key_jade is an image of a jade-colored key that was meant to be found during Konquest mode.

MKD sec key jade.png


icon_chicken is an icon of a chicken leg. It may have been intended for a scrapped mission.

MKD icon chicken.png
(Source: MattJ155)

Unused Sounds



Before Noob and Smoke were merged into one character, Smoke was given his own ending. Only the narration remains.


Onaga was intended to be an unlockable character at some point and was going to have an ending. While the stills for it can be unlocked in the Krypt, the narration was left unused.

Announcer Dialogue

Audio Transcription Usage
"My goodnessǃ" Unknown. Possibly a scrapped soundbyte for Konquest mode or one of the mini-games.
"Hari-kiri" An alternate soundbyte for Hara-Kiri, featuring a different spelling of the word.
"Suicide" Another alternate soundbyte for Hara-Kiri.
"Noob" A leftover character selection soundbyte from when Noob was a separate character.
"Smoke" A leftover character selection soundbyte from when Smoke was a separate character.
"Smoke-Noob" An alternate name for Noob-Smoke.
"Smoke-Noob Win" A soundbyte that addresses Smoke-Noob as plural.
"Smoke-Noob Wins" A soundbyte that addresses Smoke-Noob as singular, like the rest of the characters.
"Noob-Smoke Win" A soundbyte that addresses Noob-Smoke as plural.
"The Dragon King Wins" A soundbyte that was used before Onaga was given a proper name.

Apep Dialogue

Audio Transcription Usage
"The bridge is blocked off, so you will have to break the boards if you want cross." One of Shujinko's tasks while at the Earthrealm village was to break some boards to progress to the next lesson.
"What you waiting for? Smash the boards." More dialogue that was intended to be used for this scrapped task.
"This wayǃ Hurry upǃ" Apep originally urged the player to follow him if they strayed from his path.
"Hurry upǃ"
"Come onǃ"
"Let's goǃ"

Konquest Mission Dialogue

Audio Transcription Usage
"One moment, it seems we have a visitorǃ I am master Bo' Rai Choǃ And who might you be? " There was originally a cutscene where Shujinko meets Bo' Rai Cho before their first lesson.
"My name is Shujinko. I did not mean to interrupt."
"Nonsenseǃ Would you like to train in the art of kombat?"
"You mean... you can teach me martial arts?"
"Of courseǃ I always have room for newer students."
"I'm not sure. It looks like fun, but I doubt I can ever be good at it."
"Hahahaǃ Then you underestimate... my skills as a teacher."
"Why don't you visit each one of my classrooms. If you like what you see, I will take you on as my student."
"Okay, I will give it a try."
"Just wait outside and I will send someone to help you. Goodbyeǃ"

Kid Shujinko Dialogue

Audio Transcription Usage
"Good job." You might have been able to train as yourself in Konquest mode at some point in development.
"You learn quickly."
"That was easy."
"You were great."
"Try again."
"You have failed."
"No, that was wrong."
"Better luck next time."

Menu Sounds

Leftover sounds from Mortal Kombatː Deadly Alliance.

Debug Functions

Game Version

To do:
Document the version numbers from the international releases.
MKDeception PS2VersionNumber.png

In order to enable this debug function, go to game options and select the gameplay menu. Hold L+Attack 1 for about six seconds and then it should display the game version. It appears to only work for the Xbox and PlayStation 2. The function would later be disabled in the GameCube release, though the version number is still referenced in its executable.

Release Version Number
Xbox (USA) 0.098
GameCube (USA) 0.142_gc
PlayStation 2 (USA) 0.098

Unused Text

Internal Names

Once again, some files and code refer to debuting characters and arenas with their internal names.

Internal name Actual name
cassius Darrius
freak Monster
kollapsing_kliffs Falling Cliffs
monk Shujinko
netherbelly Nethership Interior
skab Havik


Scrapped Items

Descriptions of three scrapped items are referenced in konquest_common.ssf.

Hmmm.... very mysterious...
Cyborg CPU
A prototype technology to turn warriors into cyborgs.
Treasure Note
Treasure is located between the prison and the ruins.
(Source: MattJ155)

Placeholder Text

NIS NEEDED (ermac and ashrah fight discover netherrealm kamidugu)
generic fighting mission - intro text
generic straight fight
generic straight fight - failure
The WEAPON1 is an elegant weapon. I will teach you to train your body and your mind to harness it's power.
Finally, the WEAPON1 basic low attacks.
Finally, I will teach you these devastating WEAPON1 power and pop-up attacks.
Finally, show me you can handle WEAPON1 basic combos.
Next you will practice WEAPON1 advanced combos.


The scrapped Earthrealm village objective is also referenced in text.

Press } to break the boards

The scrapped cutscene where Bo' Rai Cho meets Shujinko is referenced in text as well.

One moment -- it seems we have a visitor!
I am Master Bo' Rai Cho. And who might you be?
Would you like to train in the art of kombat?
Of course! I always have room for new students.
Ha ha! Then you underestimate my skills as a teacher!
Why don't you visit each one of my classrooms? If you like what you see, I will take you on as my student.
Just wait outside and I will send someone to help you.
My name is Shujinko.
I did not mean to interrupt.
You mean... you can teach me martial arts?
I'm not sure. It looks like fun, but I doubt I could ever be good at it.
OK, I will give it a try.

Repository Log

Starting at 0x39D7C0 and scattered throughout the Xbox executable are fragments of a log pulled from a Renderware SDK source code repository.

@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/hanim/rphanim.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/hanim/stdkey.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/matfx/rpmatfx.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/matfx/xbox/effectPipesXbox.c#2 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/matfx/xbox/multitexxbox.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/matfx/multiTex.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/matfx/multiTexEffect.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/batextur.c#2 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/plcore/bastream.c#1 $   wb  ab
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/plcore/babinary.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/baraster.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/bacamera.c#2 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/baimage.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/baframe.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/plcore/bamatrix.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/badevice.c#2 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/batypehf.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/pipe/p2/baim3d.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/plcore/bafsys.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/baimras.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/plcore/batkbin.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/babinfrm.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/plcore/baerr.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/plcore/batkreg.c#2 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/plcore/baresour.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/driver/xbox/xbcache.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/driver/xbox/xbrendst.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/plcore/bavector.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/plcore/bamemory.c#2 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/pipe/p2/p2core.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/driver/xbox/xbdevice.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/driver/xbox/xbmemory.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/driver/xbox/xbraster.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/pipe/p2/bapipe.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/babintex.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/baresamp.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/plcore/rwstring.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/babbox.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/basync.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/os/xbox/osintf.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/plcore/bacolor.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/pipe/p2/p2heap.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/pipe/p2/xbox/im3dpipe.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/plcore/resmem.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/pipe/p2/p2dep.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/pipe/p2/p2renderstate.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/driver/xbox/xb2drend.c#2 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/driver/xbox/xbtexdic.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/driver/xbox/xbsprite.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/driver/xbox/xbconvrt.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/pipe/p2/xbox/nodeXBoxSubmitNoLight.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/pipe/p2/p2resort.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/driver/common/palquant.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/baclump.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/balight.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/baworobj.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/bageomet.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/baworld.c#2 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/bamatlst.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/pipe/p2/xbox/xblights.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/bamateri.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/pipe/p2/xbox/xbpipe.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/pipe/p2/xbox/nodeXBoxAtomicAllInOne.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/pipe/p2/xbox/xbvtxfmt.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/pipe/p2/xbox/xbpixelshader.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/pipe/p2/xbox/nodeXBoxWorldSectorAllInOne.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/bamesh.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/pipe/p2/xbox/native.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/pipe/p2/bapipew.c#2 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/babinwor.c#2 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/basector.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/pipe/p2/xbox/wrldpipe.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/skin2/rpskin.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/skin2/xbox/skinxboxrender.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/skin2/xbox/skinxboxconstantmode.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/skin2/xbox/skinxboxformat.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/skin2/xbox/skinxbox.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/skin2/xbox/skinxboxinstance.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/skin2/bsplit.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/skin2/xbox/skinplatform.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/skin2/xbox/skinxboxplain.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/tool/quat/rtquat.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/anisot/rpanisot.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/tool/anim/rtanim.c#2 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/babincam.c#1 $

Build Date

Present at 0x39DDE0 in the Xbox executable is a build date for RenderWare.

Core built at May 31 2004 18:49:12

Acid Bath

permanent_strings.ssf has a reference to Acid Bath, an arena from the previous game. Considering that it is not unlockable, it might have ended up getting cut in favor of bringing back Dead Pool from Mortal Kombat II.


Placeholder Move List

The move list will display some placeholder text when you play as an NPC.


Partial Script Output

Most of the characters in the GameCube release have some leftover text that seems to have been from a script that generates art assets.

isc\menu\buttons\gc\eng\buttonc�ncel.tga not found
isc\menu\buttons\gc\eng\buttont�yagain.tga not found
isc\konquest\eng\outstanding.tg� not found�ound


A file that lists sound assets from an early build of the game is present only in the Xbox release. It also provides further evidence that Acid Bath was a playable arena at some point during development.


Development Leftovers

ELF Executable

Just like the previous game, an executable with debug symbols named mk6gc_release.elf is present inside the root folder from the GameCube release.

Linker Map

Additionally, a linker map for the ELF executable named mk6gc_release.MAP is present only in the GameCube release.

Download.png Download Mortal Kombatː Deception Linker Map
File: MKDeception_LinkerMap.zip (629KB) (info)

Revisional Differences

The GameCube port has a few revisional differences due to coming out several months after the game's initial release.

  • Goro and Shao Kahn are included as exclusive playable characters.
  • Hotaru, Havik, Jade, Kira, Li Mei, and Noob-Smoke are unlocked by default, unlike in other releases.
Xbox GameCube
  • The Xbox port has a variation of konquest.sfd with footage from an unfinshed version of Konquest mode. Old Shujinko was not implemented yet, so Kid Shujinko's model was being used as a placeholder. This video was later replaced with gameplay of the final version.