Mortal Kombat: Deception is the second installment of the Mortal Kombat series on the PS2, Xbox, and GameCube. It has a far darker tone than the previous game.
Sub-Pages#
Unused Arenas#
Katakombs#

Katakombs.ssf is an ice-themed arena that is normally inaccessible given that the executable is missing the file table needed to load the level. It can be patched back in by using Ermaccer's MKDHook.
(Source: ermaccer)
pfx_debug#

A test arena with a checkerboard floor and a green cube at the center. It does not appear to be playable, as the startup script referenced in the level's ssf file seems empty.
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. They're unlocked by default in the final game, suggesting a different set of available characters were available at one point in development.
|
E3 End Screen#
attract.ssf has a leftover end screen from the E3 demo. 
Video Placeholders#
Most of the unlockable videos from the Krypt have placeholder images present in krypt_art.ssf.












Konquest Items#
key_jade#
key_jade is an image of a jade-colored key that was meant to be found during Konquest mode.
icon_chicken#
icon_chicken is an icon of a chicken leg. It may have been intended for a scrapped mission.
(Source: MattJ155)
Unused Sounds#
Endings#
Smoke#
Before Noob and Smoke were merged into one character, Smoke was given his own ending. Only the narration remains.
Smoke had been reprogrammed to serve Noob Saibot, who had brought him to the Netherrealm. Noob believed that Smoke had no soul. Smoke still had a small amount of good left in him, however, which made his presence in Hell incapacitating. Smoke was immobilized by the input his sensors translated as pain.
To protect Smoke from harm, his nanotech systems worked furiously to counter the evil forces that were unleashed upon his body. When they were finally brought into balance, Smoke became much more than a mere cyborg ninja...
Onaga#
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. |
|
"Fierceǃ" |
||
"Fabulousǃ" |
||
"Yummyǃ" |
||
"Toastyǃ" |
||
"Wonderfulǃ" |
||
"Hari-kiri" |
An alternate soundbyte for Hara-Kiri, featuring a mispronunciation of the term. |
|
"Suicide" |
Another alternate and very blunt soundbyte for Hara-Kiri. |
|
"Noob" |
A leftover character selection soundbyte from when Noob was a separate character. He's notably addressed as just "Noob" rather than his full name of "Noob Saibot." |
|
"Smoke" |
A leftover character selection soundbyte from when Smoke was a separate character. |
|
"Smoke-Noob" |
An alternate name for Noob-Smoke, with Smoke at the forefront. |
|
"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ǃ" |
||
"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." |
||
"Success." |
||
"Try again." |
||
"You have failed." |
||
"No, that was wrong." |
||
"Unsuccessful." |
||
"Better luck next time." |
Menu Sounds#
shell_1 |
Leftover sounds from Mortal Kombatː Deadly Alliance. |
|
|---|---|---|
shell_2 |
||
shell_3 |
Debug Functions#
Game Version#
|
|
To do: |

The game version can be displayed by going to game options and selecting the gameplay menu. Hold L+Attack 1 for about six seconds and it should appear on the bottom-right corner. This functionality is disabled by default in the GameCube port, though it can toggled back on with an AR code.
Release |
Version Number |
|---|---|
Xbox (USA) |
0.098 |
GameCube (USA) |
0.142_gc |
PlayStation 2 (USA) |
0.098 |
Release |
Action Replay code |
|---|---|
GameCube (USA) |
041AD0C0 41820048 |
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 |
Konquest#
Scrapped Items#
Descriptions of three scrapped items are referenced in konquest_common.ssf.
Artifact
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#
konquest_common.ssf
NIS NEEDED
NIS NEEDED (ermac and ashrah fight discover netherrealm kamidugu)
kq_er2_fight.ssf
NEED TEXT. STANDARD FIGHT.
generic fighting mission - intro text
generic straight fight
generic straight fight - failure
kq_cr1_fight.ssf
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.
Miscellaneous#
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?
Nonsense!
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.
Goodbye.
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.
Goodbye!
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.
ACIDBATH
Placeholder Move List#
The move list will display some placeholder text when you play as an NPC.
STYLE ONE ATTACK ONE
STYLE ONE COMBO ONE
STYLE TWO ATTACK ONE
STYLE TWO COMBO ONE
STYLE THREE ATTACK ONE
STYLE THREE COMBO ONE
SPECIAL MOVES NAME
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
MK6BANKS.mmb#
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.
announcr.msb
announcr_names.msb
bg_acid_bath.msb
bg_beetle_lair.msb
c_jax.msb
c_scorpion.msb
chess.msb
fighter_eb.msb
fighter_jax.msb
fightfx1.msb
fs_concrete.msb
fs_dirt.msb
fs_marble.msb
konq_lipsynch_test.msb
konquest_intro.msb
konquest_mk6.msb
mk5tune1.msb
music_fatality.msb
pf_fat_crusher.msb
pf_fat_grinder.msb
pf_fat_weight.msb
pf_fightfx1.msb
pf_jax.msb
pf_scorpion.msb
puzzle.msb
shell.msb
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 Mortal Kombatː Deception Linker Map File: MKDeception_LinkerMap.zip (629KB) (info) |
Regional Differences#
In France, the game is sold under the title of Mortal Kombat: Mystification, as the word "DÉCEPTION" in French translates to "disappointment." A game called Mortal Kombat: Disappointment would be a rather hard sell indeed.
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 as a sort of apology for the lack of online play.
- 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.
Bonus Disc#
|
|
To do: |
The Premium Pack (PS2) / Kollector's Edition (Xbox) adds a second disc containing an emulated arcade version of Mortal Kombat and bonus videos.
|
The Mortal Kombat series | |
|---|---|
|
Arcade |
Mortal Kombat • Mortal Kombat II • Mortal Kombat 3 (Ultimate) • Mortal Kombat 4 |
|
SNES |
Mortal Kombat • Mortal Kombat II (Prototype) • Mortal Kombat 3 (Ultimate) |
|
Genesis |
Mortal Kombat • Mortal Kombat II • Mortal Kombat 3 (Prototype, Ultimate) |
|
32X |
|
|
Game Boy (Color) |
Mortal Kombat (Prototype) • Mortal Kombat II • Mortal Kombat 3 • Mortal Kombat 4 |
|
Sega Master System |
|
|
Game Gear |
|
|
Sega Saturn |
|
|
Dreamcast |
|
|
PlayStation |
Mortal Kombat II • Mortal Kombat 3 • Mythologies: Sub-Zero • Special Forces |
|
PlayStation 2, Xbox |
Deadly Alliance • Deception (Prototype) • Shaolin Monks • Armageddon |
|
PlayStation 3, Xbox 360 |
|
|
PlayStation Vita |
|
|
Game Boy Advance |
Mortal Kombat Advance • Deadly Alliance • Tournament Edition |
|
Nintendo 64 |
|
|
GameCube |
|
|
Wii |
|
|
Windows |
Mortal Kombat 4 • Mortal Kombat • Mortal Kombat X • Mortal Kombat 1 |
|
PlayStation 5, Xbox Series X, Nintendo Switch |
|
|
Compilations | |
|
Game Boy |
|
|
Game.com |
|
|
Sega Saturn |
|
|
PlayStation |
|
|
Nintendo 64 |
|
|
Windows |
|