[Mod] [Tool] Grim Dawn Enemy and Item Randomizer

Does exactly what the title suggests.

Randomizing Enemies
Non-boss enemies, including Heroes, are removed on spawn and instead create a new proxy on their spawn location that spawns a different random enemy. The enemy rarity is taken into account, as well as the proxy type (whether it is an ambush or not).

Randomizing Bosses
Running “1 RandomizeBosses.ps1” switches all boss entries around, quest and script related information is kept so that nothing breaks. You can optionally set a custom seed.

Randomizing Scale and Shaders
“4 RandomizeScaleShader.ps1” lets you randomize the scale (height) of enemies in a set range, and randomly apply different pre-selected shaders based on a set chance.

Extra Spawns
By default, each enemy spawn can trigger two additional ones with a 10% chance each. Going into “Randomizer/resources/scripts/randomizer/creatures.lua” lets you modify the chance and times an extra spawn can potentially trigger. After modifying any values, run the included “6 Update archive.bat”.

Randomizing Items
“2 RandomizeItems.ps1” randomizes all items either within their rarity or their whole category. Guaranteed drops are then less predictable. By default, all materials and faction items are shuffled around too (for materials, this means that some rare materials will turn common, and the other way around).

Randomizing Loot
“3 RandomizeLoot.ps1” adds all unique items to their respective basic loot tables, meaning all uniques can drop anywhere, such as the Totally Normal … items. In addition to this, all uniques have now a low chance to roll affixes (can be disabled).

Item Randomizer


Expansions are required!

LATEST PATCH NOTES

Alternative Site to Download: NEXUS MODS

You do the randomization process yourself through PowerShell scripts, which also lets you customize it a bit.

Installation guide

    1. Extract the contents into the Grim Dawn installation directory where the Grim Dawn.exe is located. There should now be a templates folder inside “Grim Dawn/database/”.
    1. Go to “Grim Dawn/mods/Randomizer/”.
    1. Double left-click on each “[1-4] Randomize*.ps1” script to change the randomization rules.
    1. Right-click “1 RandomizeBosses.ps1”, click Run with PowerShell. Do this with scripts 2 to 4, in the right order. Wait for each one to finish first!
    1. You can change the chance for extra spawns happening here: “Randomizer/resources/Scripts/randomizer/creatures.lua”. Afterwards, run “6 Update archive.bat”.
    1. Go to “Grim Dawn/”, start the AssetManager.exe and set it properly up so that the working, build and tools directories each point to the installation directory.
    1. Inside the Asset Manager, do the following:
    • 7.1. Mod > Select > Randomizer.
    • 7.2. Database > Right-click on Randomizer/database > Build. The building process takes quite a while to finish.
    1. Load the mod in-game through Custom Game.

You can run “0 ResetRandomizer.ps1” to fully start over, in case you want something not to be randomized anymore (e.g. faction items). If you only want to re-randomize something (e.g. bosses), then you only have to run the specific script again. Note: Randomizing items again also changes your equipped items!

If you want to play with only randomized loot, delete the database folder and the resource folder, run scripts 2 and 3 afterwards and build the mod.

Celestials (super bosses) are not randomized by default. To add them to the pool, move all files from “Grim Dawn/files/creatures/specialbosses/” to “Grim Dawn/files/creatures/boss&quest/” and run the script afterwards.

Download Grim Dawn Randomizer


Merging with other mods (low conflict potential)

    1. Extract the contents of the Randomizer into the Grim Dawn installation directory where the Grim Dawn.exe is located. There should now be a templates folder inside “Grim Dawn/database/”.
    1. Move the contents of the Randomizer mod folder over to the other mod folder. Do not overwrite.
    1. Follow points 3 to 8 from the installation guide, but also run both “5 Merge with other mod.*” scripts too (before “6 Update archive.bat”!).

New enemies or items won’t be randomized.

I tested this with my Lightweight mod, and it worked fine. Great combination by the way, since it speeds up the early game, which might normally be a bit slow with all the randomized enemies.

Merging with Diablo 3 Classes

    1. Install the Diablo 3 Classes mod.
    1. Delete the folders inside “Diablo_III/database/”.
    1. Extract the contents of the Randomizer into the Grim Dawn installation directory where the Grim Dawn.exe is located. There should now be a templates folder inside “Grim Dawn/database/”.
    1. Move the contents of the Randomizer mod folder over to the Diablo_III mod folder. Do not overwrite.
    1. Go to “Diablo_III/files/” and copy the files inside the diablo3 folders as it says in their name.
    1. Run “0 ResetRandomizer.ps1”, type yes.
    1. Run all the other scripts in order, including the “5 Merge with other mod.*” scripts.
    1. If you chose to play with Affixes for Uniques, go to “Diablo_III/files/diablo3 [copy content over to ‘items’ and overwrite]/affixesUniques/loottables/” and copy the contents over to “Diablo_III/database/records/items/loottables/”.
    1. Follow points 6 to 8 from the installation guide.
2 Likes

image
Hi, What is the difference between these two compression packages?

The number inside the brackets is their specific seed.

Randomizer Version 2.0

Changes

  • Refined Boss Randomizer script
    • Previously different versions of a boss for each difficulty could potentially replace every other boss, meaning a Ultimate version could be encountered while playing on Normal → This is now taken into account
    • Bosses can now be excluded from being randomized
      • Super Bosses are excluded by default
    • Log file now also includes the actual names of the bosses for better tracking
  • Added Item Randomizer script
    • Option A: Shuffles all items of each category → For example a common item (a01_hands) will always be replaced by the same legendary item (d015_hands)
      • This makes certain uniques very common
      • Uniques that replace a common item can roll their affixes
    • Option B (default): Shuffles all items of each tier/rarity → For example a legendary item (d102_hands) will always be replaced by the same legendary item (d015_hands)
      • This makes guaranteed drops less predictable
    • Customizable script
      • Categories can be removed from the list to exclude them from being randomized
      • By default, materials and faction equipment are randomized too
      • By default, normal items (non-uniques) are not randomized
  • Added Loot Randomizer script
    • All items of a rarity (and inside a level range) are added to their respective base loot tables → All items can drop anywhere (e.g. “Totally Normal …” items)
    • Customizable script
      • Uniques can be set to also roll affixes (with a low chance)
  • Added a script to fully reset the randomizer to its default state
  • Added a script that merges the randomizer with any other mod
1 Like

Question: Is there a way to make this run on the steam deck?

You need PowerShell to run the relevant scripts, which you could get on the SteamDeck too.

But I will try to upload one or two already randomized mods tomorrow, you could simply play these instead of putting any work into it!

1 Like

I just wanted to add that I have yet to play more than just the beginning. So there might be issues, feedback is much appreciated.

I might also do random boss ambushes and maybe shuffle around some sound effects in the future, cause that would be really funny.


Here are two already built mods. Faction items and non-uniques were not randomized. Uniques can drop with affixes.

Grim Dawn Randomizer (1440435017).zip (2.7 MB)

Grim Dawn Randomizer (1578302078).zip (2.7 MB)

1 Like

I still don’t understand what the numbers behind these two MOD file names mean. :melting_face:

I think those are the seeds used when generating the pregenerated mod file using the script

Awesome! Thank you very much for the mods!