Coalesced Mods
In this section I will be covering the mods that you can do using the Coalesced.ini file.
What is the Coalesced.ini file?
All MK games since MK1 use 3 files: TOC, Ini, ENG. These 3 files contain the list of files, the game configuration, and the translations. The TOC file is x64TOC in MK9 and MKX, but it is ContentValidationData.txt in MK11. It contains the list of files in the game as well Hashes for the files. MK9 didn't use hashes, MKX used hashes for the file names and for the data segment of the files, while MK11 uses hashing for the file names, and sha1 hashes for every n segment of the file until the entire file is hashed. This info is not important for this segment so I'm moving forward.
Coalesced.ENG contains the ENGlish mapping for item names, such as player names, gear names, icon names, warning messages...etc.
Coalesced.ini is the configuration file that contains everything in the game in regards to the engine: Hud on/off, console on/off, cheats on/off, blood on/off, blood color, player files, player skins, DLCs, unlock status.... etc
There is another file similar to the Coalesced.ini that contains your Save File, but it is useless in MK11.
Extracting the Coalesced files:
<Tutorial Needs Expansion>
Use dfpslayer to decrypt it then use user friendly coalesced tools in MKX forum to extract.
<Tutorial Needs Expansion>
Model Swap / Fatal Blow Swap Mod:
After extracting the coalesced, you will get a file called MK11Game.ini, this contains lots of things that we can tinker around with. The section I'm interested in is this:
Code: Select all
[CHAR.Template.mAssetDefinition]
mPaletteKey=#
mCharScript=CHAR_*.mko
mCharScriptAssetPackage=CHAR_#_ScriptAssets
mCharCommonScriptAssetPackage=CHAR_#_ScriptAssets
mCharacterAssetPath=Disk.Characters.CHAR.#.#_ASSET.#_CharacterAsset
mCAPDefinitionsPath=Disk.Characters.CHAR.#.#_ASSET.#_CapAsset
mAssetRootPath=Disk.Characters.CHAR
mDefaultPreset=#_DefaultPreset
mCAPPackages=("GearAssets_#_ScriptAssets")
mCharPackages=("CHAR_#_ScriptAssets")
This file is a template for characters that tells the game where to load the assets. Let's start with them one by one.
- mPaletteKey is used to tell the game what is the name of the Color Palette to load. It is going to be ignore no matter what you set here.
- mCharScript contains the Assets configuration (fatality, moveset, gear...etc) as well as the moveset. Swapping this is just like swapping the MKO file.
- mCharScriptAssetPackage does nothing, so far I haven't found a use for it.
- mCharCommonScriptAssetPackage The Packages that the game should load, it should be the same as mCharScript.
- mCharacterAssetPath this overrides mPaletteKey as well as Fatal Blows, so whatever you put here will be loaded as the Skin Color and the Fatal Blow.
- mCAPDefinitionsPath Model Path, this tells the game what model to load.
- mAssetRootPath Path to the file inside the files, doesn't matter as the game has a path already built in. Needed for DLC only and even there it doesn't matter.
- mDefaultPreset The Gear to use as default. All characters use the same default gear, GearA1, GearB1, GearC1, therefore no matter what you change here it won't make a difference. The only exception is KryptGuy as he doesn't use Gear, so you need to set it as PL1 for Krypt Mods.
- mCAPPackages Files to Load Gear & Models From
- mCharPackages Files to Load Assets From
# means "3 letter abbreviation", example: Subzero -> SUB. Terminator -> TRM.
* means "Character Files Name", example: subzero -> SubZero. Geras -> Terminas. You can find the names in the MKScript folder.
Now for the mods themselves. Let's say I wanted to do the following: Swap Subzero's Moveset with Scorpion, but at the same time I don't want Scorpion to be present, so that I can have Fire Subzero against Liu Kang for example.
First thing I would do is COPY THE SECTION, do not edit the template, just make a copy of it!
All modifications should be in the COPIED SECTION, and you should paste the section after the TEMPLATE section. So you will have something like this:
[CHAR.Template.mAssetDefinition]
text here
[CHAR.Template.mAssetDefinition] <- Your copied section here.
Now you need change the template to be the character you want edited. For me here it's subzero, so I would change it to:
[CHAR_SubZero.mAssetDefinition]
Now in the following sections, since I want to only change the moveset I would set the following.
Code: Select all
[CHAR_SubZero.mAssetDefinition]
mPaletteKey=SCO
mCharScript=CHAR_Scorpion.mko
mCharScriptAssetPackage=CHAR_SCO_ScriptAssets
mCharCommonScriptAssetPackage=CHAR_SCO_ScriptAssets
mCharacterAssetPath=Disk.Characters.CHAR.SUB.SUB_ASSET.SUB_CharacterAsset
mCAPDefinitionsPath=Disk.Characters.CHAR.SUB.SUB_ASSET.SUB_CapAsset
mAssetRootPath=Disk.Characters.CHAR
mDefaultPreset=SUB_DefaultPreset
mCAPPackages=("GearAssets_SUB_ScriptAssets")
mCharPackages=("CHAR_SUB_ScriptAssets", "CHAR_SCO_ScriptAssets")
Since I didn't change subzero's model, I didn't have to modify mCharacterAssetPath, nor mCapDefinitionsPath, nor mCapPackages. However I "added" Scorpion into mCharPackages so that now Subzero will Load scorpion with it everytime subzero is loaded, allowing me to use Scorpion's movesets whenever he's not present. Also now when you fight against scorpion the game will not load scorpion since he's already loaded, so you won't get huge memory usage.
Now what if I want to swap other things, like the model, so that Subzero uses Scorpion's model, but keep his moveset? It would be the other way around:
Code: Select all
[CHAR_SubZero.mAssetDefinition]
mPaletteKey=SUB
mCharScript=CHAR_Subzero.mko
mCharScriptAssetPackage=CHAR_SUB_ScriptAssets
mCharCommonScriptAssetPackage=CHAR_SUB_ScriptAssets
mCharacterAssetPath=Disk.Characters.CHAR.SUB.SUB_ASSET.SUB_CharacterAsset
mCAPDefinitionsPath=Disk.Characters.CHAR.SCO.SCO_ASSET.SCO_CapAsset
mAssetRootPath=Disk.Characters.CHAR
mDefaultPreset=SUB_DefaultPreset
mCAPPackages=("GearAssets_SUB_ScriptAssets", "GearAssets_SCO_ScriptAssets")
mCharPackages=("CHAR_SUB_ScriptAssets")
Now this will give me Subzero as Scorpion but using Subzero's Colors (Blue Scorpion). If I want to have Scorpion's colors then I would change mCharacterAssetPath to mCharacterAssetPath=Disk.Characters.CHAR.SCO.SCO_ASSET.SCO_CharacterAsset, however note that this will change the Fatal Blow as well.
Notice how I added "GearAssets_SCO_ScriptAssets" into the CapPackages, this is so that I can use Subzero's gear and colors as scorpion. However if you didn't have Subzero in mCharacterAssetPath then you don't need to add Subzero into the CapPackages. So the outcome will be like this:
Code: Select all
[CHAR_SubZero.mAssetDefinition]
mPaletteKey=SUB
mCharScript=CHAR_Subzero.mko
mCharScriptAssetPackage=CHAR_SUB_ScriptAssets
mCharCommonScriptAssetPackage=CHAR_SUB_ScriptAssets
mCharacterAssetPath=Disk.Characters.CHAR.SCO.SCO_ASSET.SCO_CharacterAsset
mCAPDefinitionsPath=Disk.Characters.CHAR.SCO.SCO_ASSET.SCO_CapAsset
mAssetRootPath=Disk.Characters.CHAR
mDefaultPreset=SUB_DefaultPreset
mCAPPackages=("GearAssets_SCO_ScriptAssets")
mCharPackages=("CHAR_SUB_ScriptAssets")
Now you understand when and why to add someone into the Cap/Char Packages. You add someone into CapPackages only if you load their gear/colors/models. You add someone into mCharPackages only if you load their Fatalities/Moveset/Friendship.
Now what if you wanted to swap with an NPC instead?
There's a limitation with NPCs that only allows to swap to certain characters, it is random and will crash otherwise. You also can't swap 2 NPCs of the same kind, so you can't have Sektor as Subzero vs Sektor as Scorpion in the same match.
The procedure is the same, but instead of DISK.Characters.CHAR it becomes Disk.Characters.NPC, everything else is the same.
For DLC characters it's the same thing but instead of DISK.Characters.CHAR it becomes DLC.(character full name).Characters.Char
However please note that DLC characters already have a section for them already prepared by the game at the end of the file, so if you make a copy for DLC characters it will be overridden by the copy at the end of the file.
What if you wanted to swap a character with the Krypt Guy? Krypt Guy is called PL1 and is loaded from Krypt, so you will have to change it to
Code: Select all
[CHAR_SUB.mAssetDefinition]
mPaletteKey=PL1
mCharScript=CHAR_Subzero.mko
mCharScriptAssetPackage=CHAR_SUB_ScriptASsets
mCharacterAssetPath=Disk.Characters.KRYPT.PL1.PL1_ASSET.PL1_CharacterAsset
mCAPDefinitionsPath=Disk.Characters.KRYPT.PL1.PL1_ASSET.PL1_CapAsset
mAssetRootPath=Disk.Characters.KRYPT
mDefaultPreset=SUB_DefaultPreset
mCAPPackages=("GearAssets_PL1_ScriptAssets")
mCharPackages=("Krypt_ScriptAssets", "CHAR_SUB_ScriptAssets")
This is an example to use Krypt Guy instead of Subzero. If it crashes then swap the CharacterAssetPath with Subzero's path instead of Krypt Guy. Notice that Krypt Guy's file names are different than other files, so just copy what I had above.
Now what if you wanted to swap a character into the Krypt? For example Sindel as the Krypt Guy? Then this is the only code that works
Code: Select all
[CHAR_PL1.mAssetDefinition]
mPaletteKey=SIN
mCharScript=KryptCharacter.mko
mCharScriptAssetPackage=Krypt_ScriptAssets
mCharacterAssetPath=DLC.Sindel.Characters.CHAR.SIN.SIN_ASSET.SIN_CharacterAsset
mCAPDefinitionsPath=DLC.Sindel.Characters.CHAR.SIN.SIN_ASSET.SIN_CapAsset
mAssetRootPath=DLC.Sindel.Characters.CHAR
mDefaultPreset=PL1_DefaultPreset
mCAPPackages=("GearAssets_PL1_ScriptAssets", "GearAssets_SIN_ScriptAssets")
mCharPackages=("Krypt_ScriptAssets", "CHAR_SIN_ScriptAssets")
Of course it works for any character.
You can use a mix of what I just taught you to give random characters random gear like
This Video.
FAQS:
What about Voice Line Swaps? They're swapped with the Colors.
My Character X is bigger/smaller than usual and is corrupted? Not all characters swap well.
Kano / Baraka Keep Crashing ? Kano can't be swapped, Baraka uses too much memory so close google chrome before opening the game.
What's the maximum number of files I can load? 6. 16GB of Ram supports 6 Files.
How to make Cyber Subzero Mod? Replace Subzero's Model with Sektor's model, refer to section above. Only swap the model, and add the model to the CapAssets list.
No HUD Mod:
If you want to disable the HUD completely then all you have to do is change bShowHud from True to False. It is under [Engine.HUD] section in MK11Game.ini
Blood Color Mod:
Unfortunately Blood Color can only be changed for Krypt Guy. However if you still want to change the blood color, then you have to search for this section in the MK11Engine.ini file:
[Engine.MK11CharacterAsset]
The value for colors are in RGBA Float format. So Full red would be 1f 0f 0f 0f while Full blue would be 0f 0f 1f 0f. If you want to turn off blood then set it to anything for RGB but 1f for Alpha.
mColorOverrides=(mKey="FX_BLOOD_COLOR", mValue=(R=0.5f,G=0.05f,B=0.02f,A=0.f))
This controls blood color.
mColorOverrides=(mKey="FX_DECAL_BLOOD_COLOR", mValue=(R=0.5f,G=0.05f,B=0.02f,A=0.f))
This controls blood color on the floor/clothes/walls.
Other Mods:
Choose Specific Meteor Tower To Appear. This ini mod allows you to choose what tower you want to appear each and every time you summon the meteor tower.
Here is a list of all tower names.
You can also use the same method to get infinite Time Crystals.
Click here for more info.
Updated Link with more tower names.
<Not Yet finished>