Guide to Modding
Prerequisite
- Visual Studio (for editing C# projects).
- DnSpy (for reviewing original code).
- Any text editor that can edit Json files.
Modding via Mod Editor (Character Mod)
- In the game’s main menu, go to Workshop -> Mod Editor (at left top).
- Input the mod name to create a new mod.
- In Basic -> Script, follow the instructions to create a C# project.
- In Character tab, input the character key to create a new character.
- Fill in the informations of the character.
- For images you can crop the png files in Image Factory tab.
- In Character -> Passive, you need to create a template passive class. After that go back to Visual Studio to edit the passive code.
- Create necessary skills for the character in Skill tab. Follow the similar procedure to fill in the necessary information.
- For skills Skill_Extended is required if your skill have special effects other than raw damage/heal. Create a template class in mod editor and go back to Visual Studio to edit the code.
- Create new Buffs if needed when filling Skill -> Skill Effect (similar procedure).
- When editing C# code for passives, skills, buffs, look for the entries that has similar effects in game and refer to their original code in DnSpy. You can search for the code in Basic -> Decompilation following the instructions there.
- You can hot-update your scripts after editing in Visual Studio in Basic -> Script.
- After hot-update, go to Basic -> Log Console to check if there is any error (dont choose the text in console as it will cause a crash).
- You can also set up a test battle in Basic -> Battle Preset (to use it you may need to disable mods like BattleRestart to avoid bugs).
- Don’t forget to save regularly.
Modding by Patching
Patching is a powerful method to edit the original code from the game.
You only need patching if you need to change the behavior of the original game or add a new checkpoint in original game’s process.
Refer to the Harmony documentation for details of patching.
There is also a mod which helps you add Harmony library to your project, subscribe it if needed:
Short guide: In your C# project there is a template class ModName_Plugin, you can start from there. Basically this class should inherit ChronoArkPlugin or ChronoArkPluginMonoBehaviour, and you will initialize your Harmony object in this class and implement patches.
Be the first to comment