BaseMod Plugin

Supports: Diablo II versions 1.13c, 1.13d, 1.14d & D2SE

- UberQuests & World Event
- Minions for UberQuest & World Event
- Custom Red Portals from Cube
- AutoPickup Gold with Sound and In Town options
- AutoPickup Options for Runes, Gems, Jewels, Rings, Amulets, Scrolls, Keys, and Quivers.
- AutoPickup Options for Belt Potions
- Perfect Drops, a Drop Mod feature for item collectors
- Gamble Refresh
- Trade Refresh
- Merc Mod - Hireling can equip boots, gloves, belt, amulet and 2 rings
- Merc Mod - Options for Act 1 Hireling to equip cross bows and Amazon Bows
- Tyrael can sell Axe Wielding Barbarians in Act 4
- Ctrl Left Click Item extended to Inventory, Stash, Cube & Ground Drop
- Shift Left Click Beltable Item extended to Stash & Cube
- Ctrl Shift RClick Items to Cube
- Ctrl RClick - Transmute Cube Items
- Bypass 25 FPS limit for single player
- D2 CPU Fix - with option to disable
- Infinite: Imbue, Socket, Respec, and Personalize Item with Charge Gold
- Animated Life/Mana Orbs Support
- Animated Inventory Items support
- Allow user to load 3 extra Dlls
- Load a Custom mpq file if present
- MPQINI allows for setting Ini options inside a Custom mpq
- Option for Linear Magic Find Drop Rates
- CharmZone
- Extended Objects - starts at ID#586
- Extended Levels support [255 levels]
- Extended Sounds & Music support
- Display Item Level and Item Max Sockets
- CustomStringTable for storage and use of UTF8 strings in the game.
- Spawn All Missing SuperUniques - not map based
- Fix for Shadow Master - disappears much less for most maps
- Fix for NecroMancer revives so they don't wander off
- Dynamic Health Bar
- Patch for the Treasure Goblin plugin
- HyperJoin - fast loading for multiplayer
- MultiCopy Enabled
- Enable Ladder Only RuneWords in SP games
- Start game with nopickup console option
- Players X can be specified before startup
- Players 127 patch
- Secret Cow level can be entered even if Cow King has been killed
- Nilathek Portal Fix
- Ethereal Armor Socket Bug Fix
- Anya Bug Fix
- NERF D2 Fire Enchant bug to have the same fractional damage for all difficulties
- Countess always drops 3 runes, and she can drop highest runes available for each difficulty

Should work with PlugY, but don't enable the same features in both plugins at the same time.
Choose one or the other.



Thanks to Kaladann [Casual Nostalgia] for initial testing and suggestions.
Thanks to DarkQuake [Grail] for followup testing and suggestions.
Thanks to Zekken [Content Update Mod] for testing pre-release versions.

  • View media
  • View media
  • View media
  • View media
  • View media
  • View media
RSS Articles

BaseMod v1139

News 5 comments

-Add Charms to [AutoPickup]
-Add LinearAffix option to [PerfectDrops]
-Add EthDropPercent to [PerfectDrops]
-Add cube recipes to roll charms
-Add cube recipes to simplify socketing for normal and superior items
-Add cube recipe for simple unsocket

-Add [RClickExt] (NEW)

; Right Click Extensions
; Ctrl Shift RClick - "Items to Cube" from Inventory/stash
; Ctrl RClick - Transmute Cube Items - works from Inventory & Cube grids - Cube must be open

-[CtrlLClick] renamed to [LClickExt]

; Left Click Extensions (revised)
; Ctrl LClick Item extends to Inventory/Stash/Cube/Ground Drop*
; Ctrl LClick "Screen to Ground" works from Inventory*, only when no other screen is active
; -This is the (OLD) way people are use to using it, so we will keep it optional
; Ctrl Shift LClick - item to ground (NEW). This works from Inventory/Stash/Cube

-Fix bug with PerfectItems on set|unique|runewords
-Fix bug with PotionMatch variable name in [AutoPickup2]
-Fix a bug with -direct -txt preventing fontfix from working as expected
-Ctrl Lclick Inventory Item will no longer send items to ground when the Anvil screen is active
-Fix a bug that caused hirelings to cost more than max stash gold under certain conditions
-Put Tyrael hirelings into a separate name pool in the hireling.txt example for Tyrael

Thanks to MariusDiablo2, tteaguewilliams, jaKiTo, Justability and others for reporting problems.
Thanks to ryzen1006, ModDBro5, MariusDiablo2 and others for suggestions.

2 feature sets, or about 50% of the code, in this update was removed. There were other code
updates and features planned, using encryption to protect intellectual property. The update was tested with encryption and within 2 days this turned into 30 false positives by AV vendors. This has become an unrealistic burden due to 100% false positives from AV vendors. BaseMod 1.13.9 (unencrypted) is likely to be the final version. BugFixes and installer updates are allowed.

BaseMod v1138

BaseMod v1138


BaseMod v1.13.8 changes - Tyrael Hire menu in Act 4 - Vendor Refresh

BaseMod v1137

BaseMod v1137


BaseMod v1.13.7 -Auto Pickup Options for Runes, Gems, Jewels, Rings, Amulets, Scrolls, Keys, and Quivers. -Auto Pickup Options for Belt Potions

BaseMod v1.13.6 updates

BaseMod v1.13.6 updates


BaseMod v1.13.6 adds the following: World Event Monster Pack with Minions. Hardcodes UberQuest minions. Extends Quest Rewards to expand one time only...

RSS Files


Full Version 12 comments

BaseMod is a plugin for Diablo II Mods. It enhances the original game with new code.

Comments  (0 - 10 of 446)
tchillyho - - 1 comments

I am trying to revert inventory size to the base game size.
The Installation.txt file says to "download the BaseMod Mpq Pack and choose a different mpq setup for your game."
However, I can't find this pack.
Could someone show me where I can get other mpq files ?
Thanks !

Reply Good karma Bad karma+1 vote
Guest - - 695,345 comments

This comment is currently awaiting admin approval, join now to view.

Guest - - 695,345 comments

This comment is currently awaiting admin approval, join now to view.

Guest - - 695,345 comments

This comment is currently awaiting admin approval, join now to view.

VixyPlaying - - 68 comments

Hello Devurandom.

I have a suggestion for the future, would it be possible to have an option in the BaseMod so that the "randtransform bug" from D2Client.dll is fixed?

The game uses 30 randtransform.dat color palettes for Champion/Unique/Super-Unique monsters, in the txt files it begins from the code number 8 and goes to 37.

The bug was introduced accidentally after the Lord of Destruction expansion pack - the last 8 palettes are omitted by the game, as a result purple colored special monsters (also 2 red color palettes) can't spawn in the game, it also makes the Super-Uniques that used these palettes appear as their default monster type appearance (for example Pitspawn Fouldog is supposed to be purple in-game but it defaults to no palette because of the bug).

Reply Good karma Bad karma+1 vote
BearAndTheMaidenFair - - 8 comments

Hello there!

I suppose it would be better to have it fixed like this for everyone, but it actually is quite easy to do without any mod's intervention, once I realized how. This is how I did it:

On 1.13d:
- open D2Client.dll in hex editor
- search for '83FF 1E' (only the 6 characters, with the space), there should be 5 entries like this in the .dll on this patch, it is the 4th entry we are looking for
- change '1E' into '26' and save

On 1.14d:
- open Game.exe in hex editor
- search for '83FF 1E' - this time it is the first entry
- change '1E' into '26' and save

I used the following info to learn this:

You can check it on Dac Farren for example, that he actually has his true red colouration after the edit. First backup the files of course, should the entry be different - it certainly is one of them though, somewhere in D2Client.dll for everything prior to 1.14, then in the Game.exe (black square icon).

Maybe You knew all this already, but You could simply include it as a guide in the files of Your mod, I thought, or the file already fixed beforehand.

Reply Good karma Bad karma+1 vote
VixyPlaying - - 68 comments

Yeah I knew it already but thanks anyway.
From what I know is that the game .dll files aren't allowed by Blizzard to be included in mods. I fixed it a long time ago for myself but I don't know how to create new .dll files so that other people can have this bug fixed.

That's a good idea to include the guide in the files, if I'll do another patch for my Mod I will do so.

Reply Good karma Bad karma+1 vote
BearAndTheMaidenFair - - 8 comments

Hello again Devurandom,

Some time ago, You have recommended to me the Diablo II Extended mod. I thank You for that so very much! Vixy actually made the Act V pre-1.10 restoration possible, and coupled with other enhancements from D2 Extended, BaseMod and PlugY, the perfect Diablo II experience is nigh upon me.

There is but one problem, and I thought either You, or someone You know might actually help with this one.

There used to be two monster tables in pre-1.10 times - one for base and one for champion/unique packs - for all difficulties. Now there are three, with N/H difficulty having base and CH/U monsters all jumbled together, since guest monsters became a thing. This is a pity, as especially Act V uses a lovely trick, where an area is populated with some base monster types, and then all of a sudden, You see a pack of other, perhaps higher-tier champion monsters.

We've chatted about this on the D2 Extended mod page, so refer to that if I explained it insufficiently, though You probably knew about this all along anyway.

I wish to ask - would it be possible to create a .dll which changes the game's behaviour into pulling from two monster tables for all three difficulties yet again? This would allow Vixy to perfect the Act V restoration into its true form and I would be overjoyed.

All the best

Reply Good karma Bad karma+1 vote
devurandom96 Creator
devurandom96 - - 424 comments


The next update will focus on bug fixes. Some new code will be held back for further compatibility testing, so that will be a different update. Its possible to look into this after next release is done and feedback from that.

Thanks for the suggestion!

Reply Good karma+3 votes
Guest - - 695,345 comments

Hello and thank you for this mod.

I have a couple of questions:

1. When I use this mod (both D2GS AND SP) the socketing and personalization costs are wrong. I have them set at max (500k) and they only cost 41k in-game. I've set it to many values and it's always under 50k at random numbers.

2. Is there any way to make this mod 'fully' work with D2GS? I have put the mod in D2GS folder and it seems to load BaseMod.dll through the d2win.dll (I gathered this by scrounging the internet for info), is this correct? However only some features work when running in D2GS. The main thing is that the extra DLL loader function not work in D2GS. Therefore running additional custom mods is very difficult that require DLLs to work. Do you have any recommendation how you can load other DLLs in D2GS as you did for basemod through, presumably, d2win.dll, or if there's a way to make the extra DLL function work with D2GS?

Thanks for any info you can provide!

Reply Good karma Bad karma0 votes
devurandom96 Creator
devurandom96 - - 424 comments

Socketing and Personalization costs are based on player percent of level 99. as the player increases levels the cost is more.

BaseMod has only EXPERIMENTAL SUPPORT for D2GS. I never use it myself, and have no interest in private servers. For the next release I will add a minor improvement support for custom versions of D2GS, instead of only supporting the pre-canned versions 1.13c and 1.13d.


With D2GS it doesn't load additional DLL's. The Rational was I didn't want 100 people asking why they cant get PlugY to work in D2GS.

Reply Good karma+1 vote
sharpwg - - 6 comments

65K is the max I can get the price. Setting anything above 65K gets makes the price go random (always under 50K though). This is for socketing/personalization. Imbuing calculates fine.

Reply Good karma Bad karma+1 vote
sharpwg - - 6 comments

It is worth noting in some more testing that the imbue calculation is correct, just not personalization/socketing (For me anyways, and I cant figure out why)

Reply Good karma Bad karma+1 vote
sharpwg - - 6 comments

I appreciate the info!

I am level 89 but, in the ini file I have put 500k for the price of the socketing/personalization (ini file says this is max). However it only costs 41k. I am not sure why this is happening. The ini says it is is a fixed price so I would expect 500k, definitely not 41k at level 89. I have tested on a fresh install, and it persists.

For the loading additional DLLs, makes sense. Is there any simple way to "change" it so that the additional DLL loading does work through D2GS?

Last question I promise: The extended stash on a non-expansion (classic) character is working but the stashed gold box appears in the middle of the stash. Is this fixable?

Reply Good karma Bad karma+1 vote
devurandom96 Creator
devurandom96 - - 424 comments

socketing/personalization, it seems like a similar issue was fixed 3 or 4 versions prior to the current version. What version are you using?

That could also be caused by conflict in values between BaseMod.bin to BaseMod.ini, if your using that as a leftover, because values in BaseMod.bin over-rides the values in BaseMod.ini, if its present.

Additional DLL's with D2GS. It can be changed to allow extra DLL's to load, but not many plugins support D2GS. Just don't expect a lot of support if the plugin doesn't work. My testing environment for D2GS is a 20 year old lap top, that's long over due to for the trash can.

Classic version. Not many people play classic, but if you find any issues with that version feel free to post them, and I'll resolve that in the next release.

Reply Good karma+1 vote
sharpwg - - 6 comments

Can you confirm the costs are bugged? If so can you confirm it will be fixed next release? Lastly, do you have any estimated timing for next release?

Reply Good karma Bad karma+1 vote
sharpwg - - 6 comments

I am using BaseMod contained within BaseMod1139_1.zip.

I am actually using the BaseMod MPQ for everything (.ini baked in) and everything works fine besides that interesting socket/personalization cost. I have put a new BaseMod.bin file from a fresh .txt with the confirmed proper values, but it has not changed anything unfortunately.

As far as classic, the only thing I have noticed so far is the gold button/text in the stash ends up in the middle of the stash (since in classic, of course thats where the button is, as the stash is tiny originally).

Reply Good karma Bad karma+1 vote
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.