Ghast's Grotto

Welcome to my Diablo multiplayer fanpage.


- Ghast

Browse Page:

Dark Graphics
Superlatives
Blizzard FTP
Shrine Hunt
Horadrim
Shop Notes

The Dark Graphics Tool July 07, 2023

This is a guide to using The Dark Graphics Tool(TDG) to extract content from MPQ files in Diablo(and other games).

Downloads:

1 - Ladik's MPQ Editor.
2 - Download the listfiles from Ladislav Zezula.
3 - The Dark Graphics Tool.
4 - Download or view raw on github the monster data from the Devilution source.
5 - GIMP (GNU Image Manipulation Program)
6 - Diablo 1 Graphics Tool works better than TDG and can export all frames at once. Save to PNG so that you can skip the alpha channel steps 23 & 24.

Extraction:

1 - Extract the Diablo 1 listfile from it's zip file.
2 - Start Ladik's MPQ Editor.
3 - Open diabdat.mpq from the diablo installation folder or from the installation cd. Use the Diablo 1 listfile.
4 - Navigate to the monsters folder and extract it.
5 - Navigate to the levels folder and extract it.
6 - For items navigate to Data\Inv\Objcurs.CEL and extract that.

Item Extraction:

7 - Start TDG, click on "open cel" and navigate to the objcurs.cel. Open that and then click "open pal". Open "town.pal".
8 - Click the arrows to navigate the images and click "save bmp" to save the image as a bitmap image.

Monster Extraction:

9 - For monsters click "open cl2". Below is the monsdat.cpp info for an Advocate.

{128,2000,"Monsters\\Mage\\Mage%c.CL2",TRUE,"Monsters\\Mage\\Mage%c%i.WAV",FALSE,TRUE, "Monsters\\Mage\\Cnselbk.TRN",{12,1,20,8,28,20},{0,0,0,0,0,0},"Advocate",30,30,30,145,145,AI_COUNSLR,

10 - You can see in the line for the Advocate from the cpp file that the image location in the mpq files you extracted is "monsters\mage" there are several cl2 files there. Pick the one you want.
11 - Click on "open pal" and navigate to the level folder that corresponds to the location where your monster can spawn In this case it is "level 4"(for other monsters these apply: 1 - cathedral, 2 - catacombs, 3 - caves, 4 - hell). There are several palette files in the level folder. You can pick any one you want that ends with "_#" in the file name. # is a number.
11 - With TDG palettes and trns are persistent, so if you have one loaded it will be applied until you close the program. This can be confusing if you forget, having changed the base trn and there is still a leader trn applied.
12 - Click on "base trn" and navigate to the monsters\mage folder and pick the trn file which in this case is Cnselbk.TRN as we see in the line from the monsdat.cpp file. Normal monsters in Diablo 1 have only the base TRN.
13 - The advocate is one of a few monsters that do not render properly without adjusting the palette. You can see the belt is white in the image preview.
14 - In these cases, I hit the ampersand button("&" in the program, not your keyboard) to open the current palette. On the bottom right square, hover over to get a tooltip if you wish. Then hit ctrl+left mouse click. Select the black color to replace the white.
15 - Use the arrows to see which images you want to save. Each CL2 has a set of sprites for a different action of the monster. Each action has a set for each direction.
16 - For each image you want to create, you will need to click "save bmp". Save this as 1.bmp. Hit the arrow right and save that bmp until you have saved all the images for the action you want to create, naming the images in numerical order so that you can track that later in GIMP.

Boss Extraction:

17 - For boss monsters there is sometimes(maybe everytime) an extra step.
18 - Scroll down to the bottom of monsdat.cpp and you'll see something like this:

{MT_BZOMBIE,"Rotcarnage","RCRN",3,102,AI_ZOMBIE,3,9,24, IMMUNE_MAGIC|RESIST_LIGHTNING|IMMUNE_NULL_40,11,45,0,0},

19 - "MT_BZOMBIE" indicates the CL2 folder you use. "monsters/zombie" in this case. The "B" in front of zomie can mean you need to use the "bluered.trn" as the base trn. In the case of Rotcarnage, it definitely means use the bluered.trn. Some bosses have letters in the front of the mtype but it does not require two TRNs to be used. The letter in the front should match the first letter of the base trn from the normal monster folder.
20 - Now under "mTrnName" column you see "RCRN" which indicates the second TRN you need to use. Click on "leader TRN" and navigate to the monsters/monsters/ folder and pick the RCRN.trn file to use. You'll have to play around to see if this is the only TRN required. If only one is required you can put it as the base trn.

GIMP GIF Creation:

21 - open gnu image manipulation program (GIMP).
22 - click on "open as layers" and select all the bmp files you extracted with the dark graphics for the current monster action you are working on.
23 - Navigate to Layer>transparency>color to alpha. You can use the select tool next to the color if white from the background is not already selected.
24 - Click on each layer and press ctrl+Y to repeat the color to alpha process for each layer.
25 - Click on filters, animation, optimize for gif.
26 - For each layer rename based on how the speed of the animation from my list below. The first frame is at the bottom and named "1.bmp(100ms)". Rename this to 1.bmp(50ms), rename the next one "2.bmp(50ms)(replace)". Keep doing this for each layer.
27 - Now go to file>export as. Change the filename to whatever you desire and make the extension .gif. Click "export", check the "as animation" box and "loop forever" box. Hit export.

Animated Monster GIF ms:

These are the correct timings of animated gifs for each monster type.

Type ms
Balrogs 150
Fallen-spear 150
Fallen-sword 150
Goat Men 100
Goatmen Archers 150
Hiddens 100
Horned Demons 100
Knights 100
Lightning Demons 150
Mages 50
Magma Demons 100
Overlords 200
Scavengers 100
Skeleton Archers 200
Skeleton Captains 200
Skeletons 250
Spitting Terrors 50
Succubi 50
Vipers 100
Winged Demons 50
Winged Fiends 50
Zombies 200
The-Butcher 50
Skeleton King 100
The Dark Lord 50

- Ghast

Superlatives June 06, 2021

Here are the items I consider worth a special note.

Most Expensive:

A King's War Staff Of Blood Star with a 175% damage prefix and 60 charges is the most expensive item in the game. It sells for 228,000 gold. This is more gold than you can carry. If you could purchase it from Adria, it would cost 912,800 gold!

Most Powerful:

DreamFlange is by far the most powerful item in the game. With +30 to magic, +50 to mana, +1 to each spell level, and +50% magic resistance you can use this on any character class. In fact, the most efficient way to get to clvl 50 is by using magic, even with a warrior. Since magic is more powerful than physical, and this item gives you the most ability to utilize magic, it is the most powerful.

Most Rare:

The affix combination Emerald and Slaying has the lowest rate of dropping. This is because Dreadjudge is the only monster that can drop it. He does not appear in every game.

There are 25 different base items that can have this affix combination. Emerald has ten variations(Resist All: +41 - +50), while Slaying has three(Damage: +6 - +8). There are 750 different permutations when you multiply these all together.

Emerald and Slaying only drop together once in every 113,600 games. Each base item individually drops once in every 2,840,000 games. Any permutation of an Emerald Slaying item only drops once in every 85,200,000 games.

Diablo uses a 32bit seed that is generated based on your system time when the game is started. 32bit integers are limited to 4,294,967,296. Because only a single monster is able to drop this combination and no one in town can sell it, we can divide 4,294,967,296 by 85,200,000 to get ~50. Multiply 50 by 3(the number of difficulties) and we arrive at only 150 possible legit versions of each permutation of any Emerald Slaying item. Theoretically there are only 113,423 legit Emerald Slaying items.

Most Useless:

The affixes Useless and Corruption combine to make any one of the 25 possbile base items the least usable item in the game. Useless modifies damage by -100%. This removes the damage even from an equipped shield. You can still do damage, but it will not be modified beyond the base provided by your strength(+dex for rogue) and clvl.

Corruption removes all of your mana. Need I say more?


- Ghast

Blizzard FTP March 25, 2021

Blizzard used to have an FTP site that you could go to and download all the patches for Diablo. It was http://ftp.blizzard.com. I could have sworn it was a true FTP site, but I cannot find a historical link with the "ftp://" scheme. Maybe I just put that instead of "http://" because I assumed it was necessary and it just worked. It was a pretty simple layout, which I appreciated.

The site still exists. It no longer displays in the manner typical of FTP sites. It is almost non functional. You can see the original at archive.org. As you can see in this support article, Patching Classic Games,(Blizzard scrubbed this page. Link is now to the archive) the links still function properly. All you need is to know what link to use. You can browse the archive, copy the link for the file you want, paste it into your address bar, then remove the portion of the address preceding the "http://".


- Ghast

Shrine Hunting January 30, 2021

There are two shrines which are commonly sought for improving a character or items; Hidden and Enchanted. Which attribute these shrines affect is supposed to be random, but it is not. You can see more details at The DSF Buglist and the bottom of the Shrines page(Chapter 7) at JG Online.

To maximize the potential for getting the desired effect, you need to get these two shrines as soon as possible when you start a new game. My preferred method is to start a game, check Gris for items, and then enter the catacombs. Once there I look around the open area that I am in to see if there are shrines. If there are none, I start a new game.

The benefits of this method include getting to check Gris for items, avoiding black deaths(beware: they do exist on dlvl 5) which permanently reduce your life when they hit you, and the higher frequency that this particular spot in the dungeon produces shrines.

Tip: If you randomly come across a Hidden Shrine while traipsing about the dungeon, have another character join the game and come down via town portal. The new character should have the bugged shrine. If it is a Hidden Shrine, give the new character the items and hit the shrine.

Happy hunting!


- Ghast

The Horadrim Server/Discord January 5, 2021

If you are looking for the most active community of Diablo players, The Horadrim is it! Lothar hosts a b.net PvPGN server. You can play with the original retail version of the game(CD) or with the GoG classic version. If you cannot host games on b.net and are tired of trying to figure out how to forward ports, no worries! Lothar has you covered. You can install ZeroTier and connect with other ZeroTier players just like you would on b.net. In The Horadrim Discord you will find a tutorial for getting everything up and running, as well as other friendly players who are more than willing to assist in troubleshooting any problems that might arise. One benefit of playing there is the ability to use quality of life mods online without issue.

I look forward to seeing you there. GL HF DD!


- Ghast

Some Notes on Shopping for Items June 28, 2020

I have calculated some commonly sought after items that can be shopped in town. I do not know the probabilities of shopping items in town. Therefore, some of these might be easier to find in the dungeon. Others can only be found in shops. Some of these represent the assumed ideal level and others the lowest possible level. With Gris I am aiming for the maximum amount of slot availability at the lowest character level, and the minimum clvl at Wirt or Adria(except bountiful table). These may or may not be the most probable character level to find the items.

Most other sought after items not on this list are found in d15. This list is not exhaustive(yet!).

Ideal character levels for Bountiful staff shopping:

Spell Max Charges Clvl
Charged Bolt 240 1-9
Elemental 180 1-9
Fire Wall 48 1-9
Firebolt 240 1-9
Flash 120 1-9
Heal Other 120 1-9
Healing 120 1-9
Holy Bolt 240 1-9
Inferno 120 1-9
Lightning 180 1-9
Mana Shield 30 1-9
Phasing 240 1-9
Resurrect 30 1-9
Stone Curse 48 1-9
Telekinesis 120 1-9
Town Portal 36 1-9
Bone Spirit 180 10-11
Chain Lightning 180 10-11
Fireball 240 10-11
Flame Wave 120 12-13
Guardian 96 12-13
Golem 96 14-15
Nova 96 16-17
Teleport 96 20-21
Blood Star 180 22-23
Apocalypse 36 26-50
Various items from all vendors:

Item Vendor Clvl
Crimson Buckler of Blocking Wirt 5
Flaming Dagger of Swiftness Wirt 7
Garnet Buckler of Brilliance Wirt 10
Obsidian Chain Mail of the Mammoth Wirt 18
Champion's Bastard Sword of Haste Wirt 20
Emerald Shield of the Tiger
(up to 44/Tower/50 - $$$)
Wirt 20
Holy Tower Shield of the Tiger Wirt 20
Lightning Sword of Speed Gris 20
Obsidian Great Helm of the Mammoth Wirt 20
Massive LWB of Swiftness Gris 21
Garnet Shield of Brilliance
(Small Shield and above)
Gris 21
Arch-Angel's Staff of Wizardry Adria 22
Obsidian Helm/Armor of the Stars Gris 25
Obsidian Bow of the Heavens Gris 27
Lightning Bastard sword of Haste Gris 28
King's Bastard Sword of Haste Gris 29
Godly Chain Mail of the Whale Wirt 30
Merciless LWB of Burning Wirt 30
Merciless LWB of Thunder Wirt 30
Strange Sword of Haste/Heavens Wirt 30
Some dungeon drop probabilities(using Calculators):

Flaming Dagger of Swiftness
- n7 (weapon rack/brokenhead bangshield)
Gold jewel of Heavens
- n14 (Fangspier)(some monsters can drop in hell levels)
Garnet Buckler of Brilliance
- n11
Massive LWB of Swiftness
- n11
Savage LWB of the Heavens
- n15
Emerald LWB of the Heavens
- n15
Spiders Ring of Balance
- N1
Crimson Buckler of Blocking
- N5 (brokenhead bangshield)

- Ghast

Diablo® - ©1996 Blizzard Entertainment, Inc. All rights reserved. Diablo and Blizzard Entertainment are trademarks or registered trademarks of Blizzard Entertainment, Inc. in the U.S. and/or other countries.