[Tool] [Updated for v1.2] GDModdingTool: Tool for making personal customized Mods

Small Background/Intro

I have been looking at mods to change gameplay a bit and couldn’t find something as exactly as I wanted. Also many of the mods weren’t up to date. After messing around with game files a bit I realized that Grim Dawn’s game files are way more structural than some other games I ve tried to make mods and it is actually easy to automate changes. So I want to thank Crate for that :). After spending more hours to develop the tool than I ve spent playing game :smiley: first usable version is here!

What is this?

GDModdingTool is a tool that allows making personal, customized mods with 2 main goals:

  1. Make modding (modifying thousands of game files) easy and fast
  2. Make mods affected less, preferably none at all, by game updates

You can use it to modify both base game and an existing mod.

How is this a tool? I can simply modify files myself, can’t I?

That is correct. Tool part comes from the fact that it can do this on thousands of files in less than couple of minutes. And you don’t need to learn what fields do what or what changes are valid etc. I did that part for you :slight_smile:

It basically reads all game files, makes necessary changes (changes determined by you) and saves changed files. Here you can see an example with thousands of files read and modified in under a minute:

How it is not affected by game updates?

The difference here is that a mod requires update if a game file overriden by the mod has changed in an update. This is the case even when the part changed has nothing to do with mod. Unless you update mod yourself by hand, you would need to wait for mod author to update it.

If you use this tool instead and same change happens, all you would need to do is run the program again after game updated. Nothing more! In very rare cases you would need to wait for an update to the tool.

What can it do/change?

You can change following:

Player Related
  • Player run speed
  • Maximum player level
  • Amount of EXP gained / required per level / death penalty
  • Amount of skill points gained per level
  • Amount of attribute points gained per level
  • Amount of attributes gained per attribute point
  • Amount of life/energy gained per attribute
  • Amount of reputation required for factions and discounts
  • Amount of Devotion points per shrine
  • Maximum number of Devotion points a player can have
  • Stack limit for specific item types
Loot Related
  • Chances of rare drops with any specific affix combination (rare/normal/only prefix etc)
  • Amount of gold drops
  • Amount of total loot
  • Amount of loot with any specific combination (Combination of type (Amulet, Armor, Blueprint etc) and class/rarity (Epic, Legendary, Quest etc))
Monster Related
  • Chances of encountering champion and above class monsters
  • Amount (min/max) of spawned champion and above class monsters
  • Amount (min/max) of spawned normal monsters
  • Chances of encountering a monster type (Champion, Hero etc)
  • Limit of monster spawns from a monster type (Most of Heros limited to 1 per pool for ex.)
  • Monster level scaling (monsters always scale to player level)
  • Max/min player level a monster type can spawn

List of customizations in detail can be found here.

Updates
V0.2 Nov 26, 2023
  • Updated Caravan Extreme
  • Added new commands for adjusting:
    • Player run speed
    • Gained XP
    • Death penalty
    • Faction shop discounts
  • Updated existing commands for 1.2
V0.1.3.1 Feb 6, 2021
  • Fixed SetMonsterClassMaxPlayerLevel and SetMonsterClassMinPlayerLevel not working correctly
  • Added New Caravan & Inventory (Extreme Edition) mod by tt300
V0.1.3 Jun 22, 2019
  • Added configuration option for subdirectories of additional source files
  • Fixed bugs related to missing/unknown files
  • Errors that wouldn’t prevent producing usable result are now logged instead of stopping execution
V0.1.2 May 22, 2019
  • Added Player levelling related customizations
  • Added new customizations to allow modifying spawn pool amounts separately
  • Improved configuration file parsing to allow less strictly structured files
V0.1.1 May 21, 2019
  • Added additional optional mods:
    • Added a small mod that gives all 5 inventory bags at start
  • Added additional source path that overrides base game files. This should make modifying other mods easier
  • Fixed a bug that prevented adding new fields

How can I download/install/use?

All of this explained in github page: https://github.com/azakhi/GDModdingTool

Does this come with Stasher, Caravan & Inventory (Extreme Edition) etc?

Yes! Currently it comes with Caravan & Inventory (Extreme Edition) and a small mod that makes very first quest give 5 inventories. These are optional. Check here for how to.

I have questions/problems

Feel free to ask here or on Github Page

Thank you tt300 for granting me permission to share both stasher and new caravan mod with the tool! They also have another mod you should check out

6 Likes

Very nice! I am sure this took a lot of effort to make. Thanks for sharing.

Hi, I have a question.

Maybe I didn’t read it correctly, but the tool only allows you to mod an existing mod right? Eg: Diablo 3 classes

Or you can mess around with the base game too?

You can make changes to both base game and other mods. Main target was the base game and I didn’t test with other big mods. But basically all you would need to do is change paths and subdirectories in configuration file. As long as mod files follow file templates of base game, it should be fine.

This is absolutely brilliant for a casual modder like myself, thank you!

What I would like to see are a few more options, such as incrementing/decrementing the number of skill points per level or attribute points per level, changing the spawn min or max of common/champion mobs instead of multiplying both, if possible.

Those are possible and I will add them to my to-do list. I was making this tool for myself at first and current list of options are things I wanted. Wanted to put it out there as early as possible but many more can be added. So feel free to request options.

Guys,
I don’t see any amazing here.

It’s named ModdingTool, but what it do? Just repack/compile existing mods. If anyone want make own mod from scratch tool will not help. If anyone want merge some mods or parts, it may not work because mods might modify same files.
Is it not affected by game updates? 99% of modded files not affected by game updates! Sure it may not work if base structure will changed, but then you will have update it manually anyway.

I’m sure you make great work and someone find it helpful, but “Tool” have very narrow usage that’s fact.

I think you got what it does wrong. That might be on my part, not being able to explain it very well. I am sorry for that if that s the case. It is a 100% free and open source tool so it doesn’t need to satisfy anything/anyone’s needs. If it helps anyone I am happy :slight_smile: If it doesn’t, it doesn’t harm anyone either.

azakhi,

will this program work if my game is installed somewhere else, having that in mind should I change paths?

Yes, you would just need to change paths. It doesn’t matter where the game is located. Here I tried to explain how to setup and run the program. If you have any problems, I am happy to help.

And you had to drop by and tell all of us that you do not understand it? That would have been fine, but offering your OPINION on what you do not understand and acting like a TOOL, well. Fact my ass!

Sorry OP, I will be back later to delete my post, his and your reply, as well as any other OT nonsense my reply will cause. But it was just too much to resist knowing how much time can get invested in this kind of stuff to let this go.

Ive just created this forum account to comment on this thread. Thank you for making this tool, it is super useful for making these changes easily.

I cant seem to get the champion/hero spawn right. Maybe Im too used to Grimmest Mod which even on the lowest settings fills the screen with champion/hero spawns.

Keep it up!

Thanks! Remember that Hero monsters generally have a limit of 1 spawn per pool. So increasing spawn amount of heroes may not always help. You can use IncreaseMonsterClassLimit option to change that. Also if the pool has 0 champion spawn amount multiplying it with high numbers doesn’t help. Or if the pool doesn’t have any hero or monster defined, there is no option to add yet. These things are in my to-do list though.

Hi! And thank you for creating this jewel of a tool.
I was wondering when someone would have the time to create this :).

I’m having a bit of an issue during the execution of the config file.
In your github page it said

‘After you have done required setup, you can run program simply by double-clicking it. Based on your system (and sometimes when the program runs first time), it might take a while for it to complete all operations. It shows information on progress and when done, exit program simply by hitting Enter.’

for me it just ends by itself and none of the recource files have been modified.

did i maybe miss something?

I put all the file inside the base game folder and used the extractor as said in the github guide.

cheers!

It might be giving an error and closing immediately. To see output in such situations you can call it from command line. Search for cmd in windows and run Command Promt (might be something else in your PC language) as Administrator. Then change directory to where tool is located using following command:

cd path	o\directory\here

You can paste path with right clicking after you copy it. After this simply call program by name like:

GDModdingTool.exe

This should print an error on console if that is the case. If you can share this error, your config and the log file named something like Logs_DATE_HERE.txt with me, I can check if I can figure out the problem.

Hi again, and thank you for your response :slight_smile: .

Unfortunatly, the log file only shows weired arrow signs (that point upwards) and the error log is empty.

i used the following command.

GDModdingTool.exe > log.txt 2> errorlog.txt

(this ofcourse is done in the grim dawn directory)

I seem to be missing the actual exe file you’re meant to run to make the changes from the config file. All I have is a GDModdingTool.sln file.

Am I missing something obvious?

Sorry for late reply, I added some error reporting code to help with situations like this. New release is here: https://github.com/azakhi/GDModdingTool/releases/tag/V0.1.2.1

Could you please try again with this one and see if anything meaningful shows up this time?

Also you don’t need to put any file in game folder. Just maybe ExtractFiles.bat if you don’t wanna bother copying folder path.

If you use this tool to edit base game values do all your vanilla main campaign characters just gel right into the new mod without any tinkering?

I don’t know what kind of tinkering is needed for other mods but mods made with this tool are no different than others in that regard I am afraid. The end result is same with a packed mod you would find in here or on Nexus.