SkillAgentSearch skills...

D2modmaker

A program that lets you mod Diablo II from a config

Install / Use

/learn @tlentz/D2modmaker
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Github All Releases release Hits

This project is currently not being maintained.

You may want to check out https://github.com/mapron/d2modgen for a more up to date project that works with Diablo II: Resurrected.

<p align="center"> <img width="400" height="400" src="/images/D2_Mod_Logo_V3.png"> </p>

D2 Mod Maker

The idea behind this project is to play Diablo II the way that you want to play. Every option in the ModConfig is optional.

v0.5.0_ux

Links

PlugY and Things

This should be compatible with PlugY and other things such as:

Options

The mod config is located in cfg.json. You can change this config to your liking and run to produce a new data folder.

General Options

SourceDir string

  • Specifies the directory the source text files are read from
  • If this is omitted, or set to "", the built-in 113c data files will be used.

OutputDir string

  • Specifies the data directory to write files to.
  • If omitted it will default to creating the data file tree directly underneath
  • the current directory, i.e.

MeleeSplash bool

  • Enables spawning of jewels that have the added property "Melee Splash"
  • If the Generator is enabled it can generate items with this property.
  • The Randomizer does not produce items with Melee Splash, so you'll have to use jewels.

IncreaseStackSizes bool

  • Increases book of tp to 100
  • Increases book of id to 100
  • Increases arrows maxstack to 511
  • Increases bolts maxstack to 511
  • Increases key stack sizes to 100

IncreaseMonsterDensity float

  • Will increase the density of all areas by the given multiplier
  • MIN: 0.0
  • MAX: 30.0
  • Set to -1 to omit

EnableTownSkills bool

  • Enables all skills in town

BiggerGoldPiles bool

  • 10x bigger, fewer gold piles

NoFlawGems bool

  • (Mostly) Disables Flawed & Flawless gems from dropping on higher difficulties.

NoDropZero bool

  • Sets "NoDrop" = 0 (Monsters will always drop items)

QuestDrops bool

  • Enables quest drops for boss kills always

UniqueItemDropRate float

  • Will increase the rate in which uniques/sets drop
  • When using this setting, high values will prevent some monsters from dropping set items.
  • Act bosses at approximately 10
  • Mini bosses at approximately 85
  • Other special monsters at approximately 200
  • All other monsters at approximately 450
  • Set to -1 to omit

RuneDropRate float

  • Valid values are from 1 (vanilla drop rate) - 100 (even chance for all runes)
  • Does not change the maximum rune any enemy can drop.
  • Scales exponetially:
  • Each increase of 1 raises the drop rate of the highest runes by ~5% cumulatively
    • E.g. Zod is 12.5x more common at 50 (1/418), and 156x (1/33) more common at 100.

StartWithCube bool

  • Characters will start with cube when created

Cowzzz bool

  • Enables ability to kill cow king and still make cow portal
  • Adds ability to cube 1 town portal scroll to make the cow portal

RemoveLevelRequirements bool

  • Removes level requirements from items. (Oskill level requirements still apply!)

RemoveAttRequirements bool

  • Removes attribute requirements from items.

RemoveUniqCharmLimit bool

  • Allows to carry more than 1 unique charm of the same type.

UseOSkills bool

  • Will change class only skills to oskills

PerfectProps bool

  • All props will have the max value for min/max values

SafeUnsocket bool

  • Adds recipe (item + quiver) to unsocket an item, returning both the item and everything from its sockets.

PropDebug bool

  • Adds recipe health potion + socketable weapon => debugging weapon. General idea is to hand-edit the cubemain.txt file to add
  • the property you are trying to debug, create and test it.

EnterToExit bool

  • If this is true, this will require the user to press enter to close the program
  • If false, it will not prompt user input

RandomOptions RandomOptions

Randomize bool

  • Will randomize if set to true

UseSeed bool

  • Will use provided seed if set, generate random seed every run if not set

Seed int

  • Will use this seed for randomization
  • Set to -1 to generate a random seed

EnhancedSets bool

  • Removes all full set bonuses because they change on existing items every time d2mm is run

IsBalanced bool

  • Allows props only from items within 10 levels of the base item so that you don't get crazy hell stats on normal items, but still get a wide range of randomization

AllowDupeProps bool

  • If this value is false, the same prop type will not be placed on an item twice
  • E.g. two instances of all resist will not get stacked on the same randomized item

BalancedPropCount bool

  • Pick prop count on items based on counts from vanilla items
  • Picks from items up to 10 levels higher when randomizing
  • Enabling this setting will make MinProps and MaxProps unused

MinProps int

  • Minimum number of non blank props that spawn on an item
  • Set to -1 to omit

MaxProps int

  • Maximum number of non blank props that spawn on an item
  • Set to -1 to omit

ElementalSkills bool

  • Add the ability to spawn + to cold skills, poison skills etc, not just + fire skill.

GeneratorOptions GeneratorOptions

Generate bool

  • Set to turn on the Prop Generator

UseSeed bool

  • Will use provided seed if set, generate random seed every run if not set

Seed int

  • Will use this seed for randomization
  • Set to -1 to generate a random seed

EnhancedSets bool

  • Removes all full set bonuses because they change every time d2mm is run
  • Configures all sets to have more partial set bonuses

BalancedPropCount bool

  • Pick prop count on items based on counts from vanilla items
  • Generates up to 4 props more than vanilla if needed to match the vanilla item's score.
  • Enabling this setting will make MinProps and MaxProps unused

MinProps int

  • Minimum number of non blank props that spawn on an item
  • Set to -1 to omit

MaxProps int

  • Maximum number of non blank props that spawn on an item
  • Set to -1 to omit

NumClones int

  • Number of clone unique items to create. Clones will have
  • same name but different generated properties.

PropScoreMultipler int

  • The I Win lever. 1 = vanilla. 2 = 2x the score of the vanilla item.

ElementalSkills bool

  • Add the ability to spawn + to cold skills, poison skills etc, not just + fire skill.

Screenshots

Nagel

Nagel

Raven Claw

Raven Claw

Venom Ward

Venom Ward

Angelic Halo

Angelic Halo

Wall of Eyeless

Wall of Eyeless

MonsterDensity: 30

MonsterDensity: 30

Melee Splash

Melee Splash

How to use UI

  1. Launch d2modmaker binary
  2. Go to http://localhost:8148
  3. Press Load Config
  4. Change all the things
  5. Save Config
  6. Run

NOTE The d2modmaker binary must be in the same directory as the cfg.json, and both the templates and react-ui folders.

NOTE Load Config will read the cfg.json in the same directory as the d2modmaker binary into the UI.

NOTE Save Config will write cfg.json to the same directory as the d2modmaker binary

NOTE Run will run the program with the current cfg.json loaded into the UI. If you want to save the cfg that you just ran, you need to press Save Config

Support

<a href="https://www.buymeacoffee.com/tlentz" target="_blank"><img src="https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png" alt="Buy Me A Coffee" style="height: 41px !important;width: 174px !important;box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;-webkit-box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;" ></a> Donate

If you'd like to support the project, you can do so by buying me a coffee or donating via paypal!

Donations will help support development in the project whether that is new features or bug fixes.

Anyone who donates, will get recognition in the form of a role in the Discord.

Thanks!

Change Log

v0.6.1

  • Added code to safeguard against MinProps < MaxProps

v0.6.0

  • Preliminary support for different mods. Manual edit of cfg.json only for now.
  • Removed UseSetsSeed/SetsSeed options in favor of EnhancedSets.
  • Added debug cube recipes: axe + 1 health potion = axe with 1 each light,cold,fire,poison, magic skills. Not added to UI, this allows testing of new props to verify that they are working correctly.
  • Added Scorer & Generator modules from the -alpha- branch:
    • Scorer reads in Unique, Sets, Setitems
View on GitHub
GitHub Stars104
CategoryDevelopment
Updated6d ago
Forks18

Languages

Go

Security Score

100/100

Audited on Mar 23, 2026

No findings