Upon request, here is a tutorial on making new affixes and getting them to drop in Grim Dawn! Sorry about the images potentially breaking tables in advance, looks like timg doesn’t work here.
Building your Affix and Affix Table
The first step to making a new Affix is creating a new affix table as shown below. Here, I’ve copied an existing affix table and renamed it for easy sorting. It is in here that we will eventually put the new affixes and start making some changes.
Next, we create our first affix, in this case, a new Rare Suffix. I’ve renamed the file to something that will also be able to sort and not get lost amid all the other preexisting affixes.
There are a few key things that can be changed:
FileDescription: - This will help you find it in the Asset Editor a lot more easily. Here, I’ve indicated that it is a new affix, the name it will have, and what level it will be (I later edited it to 15 from 20)
lootRandomizerName: This is the pointer to the tag file so that it gets the right name. More on that below.
lootRandomizerJitter: The % variance, up and down, that will be applied to the affix bonuses. The bigger the %, the wider range it will be.
lootRandomizerCost: This gets applied to the affix and goes in to the calculation for how much it will cost or sell for. Not 100% sure of the full formula, so I generally compare with other affixes.
levelRequirement: The min level needed for the item that this gets applied to.
Next, before we get too far, you want to update your Tag file in Text_EN to make sure that the affix’s name actually shows up in game. As shown below, I’ve created a new tag file that I am using for all my new additions so that it doesn’t interfere with the existing tag file. Here, I’ve set the tag for my new affix to be called “of Irzen’s Pyre” since it will be a Suffix. You can also see the groundwork for some of the Random Epics I’ve been using as test files
You will want to make sure to have the asset created in your mod folder by right clicking your tag file and selecting ‘Auto-Create’. If you get an error about and existing file, go to the ‘Assets’ tag and delete the older tag file there.
So, now I start adding the actual bonuses to the affix. To make sure you’ve removed all the old bonuses, you can sort by the righthand most column and scroll down to see all currently defined bonuses. After removing or editing those, you can add whatever you would like. The different types of bonuses that can be added and changed can be broken down on the lefthand side.
Below, I’ve made is so that this affix will give a 4% bonus to Spirit (I balanced this number down later), a 10% chance to do 20% more elemental damage, a 10% Burn and 10% Burn Duration modifier, and a Energy Leech DoT. I will probably tone more of these numbers down, but I general compare against existing affixes and Epics at the level I am making it for and go from there.
Skipping ahead, I created the other 4 levels of my affix in 15 level increments, ending at lvl 75. The easiest way to do this and keep consistent numbers was to comp the ‘a’ file, rename it to ‘b’ and adjust the stats. then ‘b’ to ‘c’, and so on. After that I go back to the affix tables area, the new suffix table I created in this case, and add all of my new affixes to it, setting the level ranges as appropriate.
Keep in mind, these suffix tables have a limit of 100 entries, so at 5 levels per affix , you can fix 20 new affix types in per table. Building off of that, when it comes to adding the affix tables to items (more on that below), you are limited to 10 per affix type, so 10 normal prefix tables, 10 normal suffix tables, 10 rare prefix tables, and 10 rare suffix tables. Been trying to get around this limitation by having nested tables (tables referring to other tables below it), but I haven’t been having any luck so far.
Getting it to drop in game - Loot Tables
Below is an example of a normal item and how it rolls suffixes. Each ‘randomizer’ as indicated on the left side points to a prefix or suffix table as defined on the right.
To test my new affix, I’ve created a dynamic loot table that is referenced by loot tables further up the chain (I can get into further depth a bit later). Basically, it makes it so that the critter I kill to test my drops, a player summoned raven that is killable (thanks rorschachrev!), will drop the items on this dynamic table. It is on the dynamic table that we control what affixes are rolled and the chance to get a rare affix vs a normal affix, or a combination of the two.
To be continued below since I hit my image limit for this post!