Thanks to my d2 colleagues.
1) Quest items Hardric cube item upgrade bug
For example Horadric staff can be upgrade to NM unique version creating an unique hand axe( Horadric staff Hand axe) which normaly should not exist and cannot drop.
2) Andariel Quest drop bug
Bug will occur if player kills Andariel as quest and game is ended without talking to npcs in town and going to act 2. If you go to act 2 after you kill her, drop is normal. If game is ended before going act 2, drop from her is forever worse.
3) Boss quest drop bug
If player who dont have completed quest joins game created by someone else, who has it already completed, drop is better than standard non q drop if player who doesnt have quest completed makes the kill.
4) Poison kill Bug
If you re-apply poison to a monster that is already poisoned the state ownership isn’t changed, if the previous poison was set by another player, that player will score the kill, even if its your poison that did the final damage.
5) Manaburn Bug
Monsters with Mana burn ability in some occasions burn more Mana than intended
6) Charge bug
Often causes Paladin to be frozen in place, useing W(weapon switch) help to unfrozen the character. I think thats not only bug , I believe sometimes animation is backward. Charge skill has more bugs than this btw.
7) Strafe/Fend bug
If playing an Amazon and allocating points to either Dodge, Avoid or Evade, and using Fend/Strafe, there’s a bug that the Fend/Strafe animation would go on however all following hits will automatically miss should any of the three dodging skills occur while Fending/using Strafe.
8) Druid Fury bug
Bug works similary as Fend bug, I am not 100% sure what is causing that, maybe block animation or something different.
9) Invisible Mercenary bug
Mercenaries sometimes disappear and are invisible, they still do attack and do dmg but you cant see them on screen.
10) Ethereal bugged armors
The ‘add sockets via tal thul ptopaz’ cube recipe for armors adds an additional 50% defense when used on ethereal armors.
11) Deadly strike bug
Deadly strike should double amount of damage character is doing, basicly roll between min-max, instead only maximum damage is used for final damage. Fixing this would probably make melee characters generaly weaker so it is for consideration if fixing is good idea.
12) Enhanced damage/+Max damage jewels Bug
Enhanced damage/+Max damage jewels don’t work properly in armor. There is another bug related to enhanced damage/max damage jewels. These jewels if they have both stats, do not give enhanced damage to the weapon if they are placed in anything other than a weapon. Consider fixing this or at least looking into it more.
13) Amazon Farcasting Bug
An amazon can ‘throw’ her charged strike by quickly swapping between a throw skill and using charged strike almost instantly afterwards.
14) Charged strike skill exploit
There is method which will allow using charged strike from distance, landing all charged strikes into the target. I dont want to describe how to do this to avoid people exploiting it. I can explain how to do this and how to fix it if devs will contact me.
15) Poison Vipers Bug
Tomb vipers in Nihlathak temple incorrectly applies physical damage on every frame with their poison cloud attack rather than thier poison damage resulting in huge damage if charcters moves in clouds.
16) Sound lag Bug
Sound lag appears when too many particles are on screen and stuff starts dissapearing, its actually from the sound effects. This was one of they ways duping was done.
17) Hirelings damage bug
Mercs doing more damage then intended. The code automatically assigns MONUMOD_HIREABLE to mercs, it causes them to deal more damage then what is shown on the screen. Editing BossMods.txt to disable MONUMOD_HIREABLE vanilla server calls should fix this.
18) Physic hammer skill bugs
This skill supossedly contains several bugs but I am not aware how they works.
19) Sand Leapers bug
Sand Leapers deal their leap damage before they leap.
20) Conversion skill bug
This skill supossedly contains several bugs in code.
21) Inferno skill bug
Inferno has hardcoded framecounts, they are different on the client/server (leading to stuckage bugs), the default seq_input of 10 is bad, it should be 9 (this causes several of the missiles to do no damage ). Also inferno range for monsters doesnt work properly, making it start further away rather then traveling further, this is noteable vs. diablo on hell which will never hit you with his lightning if you are within melee range.
22) Day/night cycles bug
Light settings, day night cycles are bugged. Time does randomly flow backwards
23) Will’O’Wisps bug
Will’O’Wispshave broken AI, they just walked around without first using their vanishing anim (instead they used it randomly) and have no anim for appearing again.
24) Arcane Tower and Desert Turret bug
Arcane Tower and Desert Turret missiles are desynced client-side.
25) Courtyard/outer Cloister doors bug
Bug with the courtyard/outer cloister doors, they dont handle their open/close animation properly client-side, which makes you able to walk thru them when they are closed.
26) Shifting corpse bug
Corpses rotating randomly at strange moments), this is supposed to be real performance killer, what happens is that the game frees the preloaded gfx when it checks if it is already loaded.
27) Armageddon bug
Armageddon is telling the client to launch missiles that it doesn’t launch server side.
28) Throwing mastery bug
Throwing mastery not being used by double throw properly.
29) Quantity bug
Related to quantity ( give yourself a javelin and depleat it until only 1 is left, throw that one, you’ll notice it deletes the item before anything is thrown! )
30) Holy bolt bug
Holy Bolt doesnt hit properly clientside if you change the skill before the missile hits.
31) Siege beast stomp bug
Siege beast stomp doesnt do damage due to checking for a missile its not using anyway.
32) Assassin traps bug
Some of the Traps (Death Sentry, Wake of Fire and Wake of Inferno) cast by the player OR his shadow will count as boss/champion monsters. This increases the boss counter for the area and because there is a limited amount of boss packs that can spawn it prevents more real boss packs from spawning.
When casting a few Death Sentries on the first tile of the map you will basically get almost no boss packs in the area.
33) Blade shield skill bug
Blade skill is supposed to be highly bugged, sadly I dint find proper info how.
34) Str/dex Items bug
Serious bug instroduced by v1.10, items that need extra str/dex to wear but give a bonus themselves dontt get unequipped if you no longer have enough str to wield them (because the player kept their bonus)
35) Molten boulder Bug
Molten boulder does not explode server side despite the fact it does on the client.
36) Open grave bug
Player cant get stuck ontop of an open grave. I belive there is several places in act 3 where it happens also.
UPDATE v. 1.03 - 27.7. 2021
37) Another Mercernary bug
Diablo 2 calls the levelup routine for mercs at gamestart, which gives them full healing, this has the side effect that it sends the levelup packet to the client before the client has properly entered the game.
38) Sand Maggot Eggs
Sand maggot egss are sometimes rendered immortal.
39) Vultures bug
Bug that could mess the entire game session up ( with enough work you can make a vulture fly out of the valid level region, placing it in a NULL room where it will proceed to perform ai calls that will most likely lead to random crashes as expected data no longer exists )
40) Items charges charges price
Price of charges is added to the item price twice, it gets added among the stats addition and in a separate routine for charges, this is probably why they’re always so expensive.
41) Telekinesis targeting bug
Telekinesis sometimes ignore objects/items even if you directly target them if used in conjunction with enemy monster being closed.
42) Exploding and poison potion shrine
The exploding and poison potion shrine drops potions at the player’s coordinates (looks very weird with telekinesis).
43) Taunt skill bugs
This skill has several issues
The target is overwritten in the wrong way, making the chance of it working properly extremely low.
If it does work, it assumes the monster has mode Attack1, independent of any txt checks or whenever its melee or ranged…
If the AI override fails it resets the AI to normal, but doesn’t remove the taunt state!
44) Diablo AI bug
Diablo’s AI has several bugs, especially with his broken running attack (which never worked properly, not even in v1.00), he is supposed to maul the player, but instead he just walks on his spot in melee range…
45) Duriel AI bug
His skills doesnt use damage from the correct damage columns in MonStats.txt, and his AI code overrides the aura level.
46) Asassin trap damage dipley bug
The damage of sentry traps is not effected by elemental mastery stats, despite the display showing it as being effected.
47) Intentory exchange function
The vendor trade screen is not excluded from the inventory item exchange function. If Items being sold by vendor occupy too much space, items sold by player cannot be bought back.
48) Item breaking bug
When an item breaks, the game doesnt updates the skill buttons accordingly if the present skill can’t be used without an item.
49) Last skill charge bug
The last skill charge for any given skill is not used properly and is deleting the skill before the skill is even cast.
50) Unbreakeable items
Bug is prevented items from breaking (even if their current durability hits 0) when you attack without pausing (ie, you keep the button pressed) There is another bug related to this where leaving the game mid attack, before the durability and quantity updates can be done, you can join the next game with an item that has 0 durability but isnt broken.
51) Socketed sets bug
Because unique and set items don’t get costs for their stats added, they also don’t recieve extra costs from anything socketed into them (except for the base price of the socket filler).
51)Picking up gold in groups
The game is supposed to stop piles dropped by a player to be shared with party members if someone picks them up, unfortunately this sometimes doesnt work correctly (if the original player left the game or you drop the surplus gold again the pile became shareable).
51) Jerhyn wrong message line
Jerhyn is supposed to not use the gossip message of “things are getting worse by the hour” after you’ve entered the arcane sanctuary, unfortunately its set to default to message # 2, which is the same bloody message.
52) Jamella opening inventory bug
The lag occurs when opening Jamella’s inventory.
53) Hireling damage bug
This is caused by the game trying to remain compatible with legacy behavior for classic (although it’s technically bugged there too), in legacy games hirelings recieve their damage from UMOD_HIREABLE which sets the value of STAT_MAXDAMAGE and STAT_MINDAMAGE equal to STAT_SECONDARY_MAXDAMAGE - 1 and STAT_SECONDARY_MINDAMAGE - 1, unfortunately the game tests the conditions leading up to this incorrectly and will bail if the initial value of STAT_MAXDAMAGE isn’t above 0. Hireling base damage is assigned using STAT_SECONDARY_MAXDAMAGE/MINDAMAGE and not the basic damage stats, weapon damage isn’t factored into your total damage (their damagerelated stats are disabled outside of combat), as a result the only way for this code to execute is when your hireling gets basic damage from a non-weapon item/skill. Rogues are excluded from the involved functions with a hardcode because their damage is calculated elsewhere.
54) Hireling skill bug
Hireling skills were not assigned correctly clientside, first of all the game doesn’t send the hireling type to the client, it instead tries to deduct it from the seed and name. This is done for the current difficulty level instead of the one the hireling was originally hired on, which results in the initial skills either being wrong (Act 2 NM mercs) or not assigned/assigned at the wrong levels (depending on the amount of slvl bonus per level they receive). Further, the game never updates the levels if the hireling gains levels later on. This among others causes the notorious hireling flashing bug where they go invisible after using a skill, it also fixes bugs where the number of charged bolts shot by act 3 lightning sorcerers is desynced between client/server.
55) Experience related bug
Due to the experience share distance being calculated from the monster and not the kill attribute it is possible that you don’t receive experience for your own kills.
56) Items not dropping from kills
There is a buf where monster being killed in certain place can result in not dropping the loost, because loot dropped outside of accessible places.
57) Accessible places outside of map
It is possible to teleport to certain places behind the walls. Mostly in outside areas of act 5 and Forgotten towers levels where countless is.
58) Kick Skills Part I
The result of this bug is that the skills will not perform an attack server side until you let go of the mouse button
59) Kick Skills Part II
It looks like it originally was supposed to factorize the mLvl and cLvl of target/attacker like other skills, but ends using the mLvl of the target for both factors (which means not matter what you attack with it, the outcome of this formula will be the same).
60) Kick Skills Part III
Due to incorrect code in the default melee damage creation func, kick skills will recieve elemental damage from weapons.
61) Another Psychic Hammer bug
Copy/pasted code from Dragon Talons knockback section, with the same formula bug on (using [acronym=“Monster Level”]mlvl[/acronym] twice).
62) Power strike skill bug
The power strike SrvStFunc ignores the attack rating bonus from skills.txt
63) Smite skill bugs
It wasen’t ever meant to hit all the time, they do call the attacker/defender routine :!:, the problem is that they ignore the results of this, probably because they confused AND with OR. Smite also does not set unitflag #64 which tells the game a skill has been executed successfully (which will cause all kinds of glitches that may seem irrelated), finally. Smite used by monsters uses the damage specified for mode A2, even if they didn’t use A2 to launch the skill (and even if they have no damage specified for A2).
64) The Hell Meteors
(stuff in river of flame) is entirely broken, that is meteors flash around the screen but never land, and when they land only rarely explode, and when they explode they spawn just 1 flame, instead of a fire patch (like meteor, and like they worked before v1.10)
65) Boos events and delayed timers
Boss events that are delayed by a timer (Poison Death, Cold Enchanted, Lightning Enchanted, Firegolem Explosion, Fire Enchanted, Lightning Nova on death and others) all use the same timeout Id, as a result each single time a timeout is being set, all of these events will execute their effects.
66) Problems with monster elemental damage
Monster elemental damage is completely broken, the function used to generate monster stats does not discriminate between the different elemental damage columns, as a result the game will use the damage from the first column for all elementally enchanted attacks the monster can do (=Gloam Bug), this is further complicated by the feature that elemental damage done by monsters is effected by their critical hit chance (eg. Fire Explosion can deal double damage).
67) Some monsters doing too much damage
Melee attacking monsters that do life, mana and stamina steal damage do twice the amount of damage indicated
68) Mana drain bug
Mana drain bosses actually do 512 times the proper damage!
69) SrcDamage
Skills that use SrcDamage values other then 128 do not have the proper amounts of damage as SrcDamage is incorrectly (and inconsistently) applied throughout the code which may lead to damage being reduced more then it should, on missiles the situation is worse as some damage types are not reduced at all.
70) ED% issue
This is more of a design flaw then a bug, the game will apply the ED% bonus after other damage bonus have been applied, this is not a bug because there is no way to change the check order in vanilla (weapon damage and extra weapon damage use the same stat, so changing the order would break ED% completely).
71) Poison stat/length issue
Problems with Poison_Count stat with Poison_Length when it comes to applying SrcDamage to the missile damage, as a result skills like Multishot (that have SrcDamage other then 128) will end up with invalid poison duration when you have more then one poison source (this is related to the above but deserves a seperate place)
72) Max hitpoints/regeneration issue
Monsters that are low on max hitpoints will end up having no life regeneration (value rounded down to 0)
73) Summoned monsters
Summoned monsters will recieve extra attack rating and defense equal to 100% of the value listed in MonLvl.txt for their mLvl (noratio is ignored)
74) Monster ranged attacks
Monsters that use ranged attacks that require attack rating (Quill Rats, Blow Pipers etc) have twice the attack rating they should have
75) Throwing and shooting skills
Throwing and shooting skills that add an attack rating bonus to the missiles do not add their bonus (it passes 0 to the function instead of reading the bonus of the missile)
75) Blessed aim/Penetrate skill issue
Blessed Aim and Penetrate use the same state, as a result the two skills can cancel each other out because they will replace each others state statlists
76) Problems in code I
There are many places in the code where Blizzard forgot to handle life and damage in 256ths, this results in 1/256 life assigned to units, which can cause all kinds of weird behavior
77) Evil urn
Evil Urn were not meant to spawn spiders
78) ObjGroup data
The ObjGroup data listed in levels.txt is very broken, some groups have a chance of 0% to spawn, other groups do not contain objects and thus just decimate the amount of objects spawning in the area
79) Curse resistance issue
Curse Resistance is checked in the same function that handles most time-based statlists assigned to units, except for a few cases that are handled specially it will be applied to every time-based statlist, which means it will reduce the duration of positive effects as well for Fade (assassin skill)
80) The Frozen Horror arctic blast bug
The Frozen Horror arctic blast incorrectly triggers events, which can lead to a sprite overflow when the skill is cast on a Sorceress using Chilling Armor
81) Problems with nMon/uMon
This isn’t a real bug, but then again it does cause some likely unintentional behavior (such as generating nests as bosses), the game uses nmon instead of umon to pick bosses after normal, which means they are picked out of the normal enemy pool instead of the special boss pool
82) Magic Pierce and Magic Skill Damage Stats
These stats, while not being used by vanilla, are inconsitently referenced by the code, so should they chose to use them in the future without fixing this mess, expect new bugs.
83) Boss monsters animation issues
Several boss death effects do not have NoMultishot set to true, as a result encountering and killing them if they have the Multishot UMod will spawn their death effect up to five times (Shenk et al.)
84) Oblivions Knights
Extra oblivion knights added by v1.10 and v1.11x do not recieve the proper components, which means they show up with mismatching glow around their hands, this is caused by them not checking the BaseId, but rather checking the HcIdx
85) Colors for Crafted Items
The game does not display affix-colors for Crafted Items because they were forgotten in the item-color function inside D2Client.dll
86) Issues with boss drops
The fix to the old chest glitch has broken some act boss drops, some act bosses were originally meant to drop 7 rather then 6 items
87) The target seeking flags
The target seeking flags used on the client and server for missiles that automatically seek a target (Guided Arrow etc) are not identical, this can sometimes lead to different units being targeted on both ends, which makes the missile vanish.
88) Trapped sould drop
Trapped souls that drop their items with a delay (those that go up in flames when you touch them), do not take into account your characters gold and magic find, they pass NULL to the tc function
89) Desert level for uber Quest
Desert level for the uber quest in v1.11x is copy/pasted, and forgot to set the Waypoint Id to -1 (255), waypoint lists are constructed clientside, and we all know what that means.
90) Uber Diablo/Diablo clone prolems
Uber Diablo (or the Clone, one of the two) doesn’t use the diablo-mode chart entry, instead he uses the same normal monsters use, which can cause unexpected problems.
91) Treasure Class Upgrade Bug
This is a critical bug, the function does not check whenever it is reading the last record inside the TCEX BinImage, as a result it can end up traversing random memory.
92) Poison clouds sound effect issue
Some poison clouds have invalid hitclass set in Missiles.txt, as a result they play the same sound like a javelin does when you walk into them, which can be very annoying. The trail left by Plague Javelin doesn’t do damage, because of a typo in the serverside movement function
93) Problems with new monsters from 1.11b
The guest monsters added in v1.11b (and also the Diablo Clone) have broken chains which will lead to various (but not really noteworthy) glitches
94) Broken runewords codes
Some of the property codes assigned to the v1.11x runewords are not spelled properly (which will make the game quit assigning stats after the bad property is reached, which in itself is a bug, it should just skip it, like it does elsewhere)
95) Walkable flags in the tiles are not properly set
There are several places where the walkable flags in the tiles are not properly set, allowing players to go to places they shouldn’t be able to (eg. teleporting into walls), this also applies to monsters spawning on inaccessable islands (for example in the Act III sewers or the summoned creatures at Gibbding location)
96) Items spaqwn tih wrong affixes
Some items spawn with affixes they shouldn’t recieve (such as circlets listed for both series of damage reduction, instead of only the first one meant for circlets, shields with AR), Small Charms should be able to recieve the Lucky prefix, instead the small charm version is assigned to large charms, some affixes have invalid itemtypes listed, which prevents them from spawning on those types (staves noteably listed as staff and not staf). There also are some problems with the qLvl and reqLvl of some affixes (ex. King’s and Master’s have the same qLvl and among the resistance affixes the strongest affixes have a lower level then a bunch of weaker ones available on the same items [IIRC] ), another incarnation of this is the Lizard’s prefix on small charms, there are two variants available at the same qLvl that add different values (rather then one affix only), the weaker one was meant to be replaced by the later (I assume this because thats how some others like this are set up, the masters of copy/paste just forgot to edit the line…)
97) The Uber Quest Items drops
The Uber Quest Items drop in single player as well, where they are completely useless (quest drops like these should be hardcoded…)
98) The AiParams
The AiParams for some monsters (Vampires noteably) are incorrect, leading to the earliest species being more aggressive then the end-game variants, the Guest Monsters do not have their Ai adjusted at all, which means most of them act like Act1-2 enemies.
99) Certain things are handled clientside
Certain things are handled clientside that should never be controlled by the client, for very obvious reasons I wont mention what, because these things are presently not known to the armies of seething scriptkiddiots and I have no intention to feed them. (copied with comment from author :slight_smile: )
100) Trang-Oul’s transformation bug
Trang-Oul’s transformation bug (which is even listed on the Arreat Summit) - that being locked as a Vampire locks everything from attack, cast, and open-things speed at a vampire’s, rather than the player’s actual. It’s really annoying to get “frozen” after kicking a barrel. Also there is Trang-Oul’s Avatar Cast Rate Bug (it slows down the player for no known reason)