d2_cheat_sheet
d2_cheat_sheet copied to clipboard
Monster types
Please add monster types (demon/undead/animal) to area 85 table. It acts as a second immunity layer. FoH Paladins would find it useful.
This is a good idea -- assuming all three don't show up in most of them. :-)
You wouldn't happen to have a resource handy that lists these by chance?
I have the data - from data files, from monstats.txt (monster resistances and types) and levels.txt (monsters per level), to be precise. I'm trying to do it myself actually, but I don't understand what upper- and lowercase letters in immunities table mean. Also, do you count monsters from all of the "monX", "nmonX" and "umonX" columns?
I added a Legend for the immunities in the tooltip in version 1.69.
F = Fire Immune
C = Cold Immune
L = Lightning Immune
p = Poison Immune
p = Physical Immune
m = Magic Immune
I see monstats.txt
has these headers:
- DamageResist (I'm assuming this is Physical?)
- MagicResist
- FireResist
- LightResist
- ColdResist
- PoisonResist
For the monster pack I just used the data that others had. i.e. https://diablo2.diablowiki.net/Guide:Level_85_Magic_Find_Areas_v1.10
It probably wouldn't hurt to go over the levels.txt data.
I know the letter abbreviations, but, for example, Abaddon has lowercase “p” for poison, whereas Pit of Acheron has uppercase “P” in the same column. I thought it is related to if the immunity can be broken (with Conviction or Lower Resist) or just a partial resistance. Or if for a given element immune monsters always spawn or only there is a chance (if multiple monsters can spawn in the area and not all of them are immune). Or it may be just a typo and letter case doesn't matter at all 🤷🏻 .
For breakability here is a nice chart. Example for the monster spawning:
- 6 monsters can spawn in the level and 6 are (say) Poison Immune - all will be PI; poison build is useless there
- 6 monsters can spawn in the level and 4 are PI - not always all will be PI, but in each game at least one will be, so poison build won't be able to clear the area.
- 6 monsters can spawn in the level and 2 are PI - not always there will be PI, but poison-based build will be able to clear the area only if no PIs spawn (not always).
- 6 monsters can spawn and none of them are PI - perfect for farming with poison build.
It may be worth to somehow display both immunity breakability and spawning.
For monster resistances, refer to those columns in monstats.txt: ResDm(H)
, ResMa(H)
, ResFi(H)
, ResLi(H
, ResCo(H)
, ResPo(H)
- physical, magic, fire, lightning, cold, poison resistances in Hell. We are interested in values ≥ 100.
For monster types there are columns lUndead
, hUndead
, demon
- low undead (such as skeleton), high undead (such as greater mummy) and demon. The first two flags can be merged for immunity (Holy Bolt and FoH) purposes. If no flag is checked, the monster is an "animal", not affected by those skills.
There is also MonType
column, which is a hierarchical type defined in montype.txt.
I don't know yet which is used by Holy Bolt or FoH skills, but it is possible that data in these columns are consistent, so it doesn't matter for our purposes.
I created a Python script that reads both CSV files and creates nice wrappers (which I can share if you want).
And please use D2R data files, not the legacy ones. You can extract them with CascView. Feel free to use these guides: monstats, levels.
Thanks for the info, links, and CascView. I didn't realize Blizzard had migrated away from their .mpq
container.
I was also surprised that Blizz still supports text files. It could have released just binary client-side data, just like some mods do (those which I know do it for a reason: they focus on online content).
For monster types there are columns
lUndead
,hUndead
,demon
- low undead (such as skeleton), high undead (such as greater mummy) and demon. The first two flags can be merged for immunity (Holy Bolt and FoH) purposes. If no flag is checked, the monster is an "animal", not affected by those skills. There is alsoMonType
column, which is a hierarchical type defined in montype.txt. I don't know yet which is used by Holy Bolt or FoH skills, but it is possible that data in these columns are consistent, so it doesn't matter for our purposes.
Update: "holy" skills' efficiency is definitely not determined MonType
. Example: wisps are of willowisp
type which has no supertypes (especially no demon
or undead
supertypes), yet they can be killed by Holy Bolt, because they have lUndead
flag on. OTOH, vipers are of type clawviper
which is a subtype of demon
, yet they are immune, because the demon
flag is off.