The DSF Buglist for Diablo v1.09 - Printable Version +- The Lurker Lounge Forums (https://www.lurkerlounge.com/forums) +-- Forum: Lurker Games (https://www.lurkerlounge.com/forums/forum-6.html) +--- Forum: Diablo (https://www.lurkerlounge.com/forums/forum-15.html) +--- Thread: The DSF Buglist for Diablo v1.09 (/thread-12422.html) Pages:
1
2
|
RE: The DSF Buglist for Diablo v1.09 - qndel - 04-18-2021 Quote:BOSS LIGHT RADIIhttps://github.com/diasurgical/devilutionX/commit/c0f574972845b7e55bea874f192905b4b5b2dadd This was actually caused by a much more serious bug. RNG calls were diverging during entering the level for the first time and subsequent entries. First cause was calling GetRndSeed a few times during first entry and storing the seeds in variables that were only used in debug builds - it was as if they forgot calling that function alone modifies the seed. Code: if (firstflag || lvldir == ENTRY_LOAD || !plr[myplr]._pLvlVisited[currlevel] || gbMaxPlayers != 1) { These didn't happen on reentering the level = RNG desync cause #1 Second one was a bit more tricky. During first entry the game called Code: HoldThemeRooms(); Which set a flag that prevented monsters from spawning in some rooms. This was missing from next level entries, the flags were restored in a different function but it happened after the function that was responsible for generating monsters. Which means monsters saw different tiles as suitable spawn locations thus diverging the RNG calls even further. That sounds pretty serious right? And nobody noticed during all these years? Well, the game mostly fixes the effects of the desyncs above by "magically" warping monsters to the places they had when the level was generated for the first time, however light radius stays in the "new" location. That's why the light was so broken. It didn't break for quest monsters like Leoric and the Butcher, because their position was literally hardcoded, but issues with light are a material for another story Wink Quote:When at full stealth level (-80% light radius), walls sometimes cannot be mapped even when the character is right next to them. Also, portions of the map for a level will appear as revealed very far away from the character's position. And, last of all, you won't see a monster one square away from you if it's at a diagonal angle. It won't see you, either. Not seeing stuff diagonally is caused by light/vision shape being pretty much broken at 20% light https://imgur.com/a/BGcVjpn Here's original vs fixed Stray automap tiles are a different issue, but it was easier to spot it while having low light radius, because they ended up in unexplored parts more often. https://github.com/diasurgical/devilutionX/commit/e24f3c83debf0108ea4c144306f7610c5058409b Only took 25 years to find the cause, turns out to be a simple typo where they passed X/X coords to a function responsible for revealing automap instead of X/Y. This bug only happened in the call responsible for exploring the tile the player was standing at, that's why it mostly worked fine, only being easy to spot if the difference between X and Y coords was relatively big + it ended up exploring an unexplored part. Quote:When being hit by a creature with knockback power (or a character with a knockback weapon) such as Diablo or a charging beast, you can be knocked back physically, but your light radius does not move unless your character makes some form of move (either walking or attacking). Thus, you can eventually be knocked outside of your own light radius and all creatures will disappear. https://github.com/diasurgical/devilutionX/commit/6788d6a351d1a009a770a36f77690d07a2c9e7fb The fix turned out to be pretty simple, just update player's light/vision Quote:If you enter the caves via the cave mouth entrance near Wirt, you can run the mouse cursor over the stairs on level 9, and a small spot on the right side of the stairs will read "up to level 8." If you left click on that spot your character will begin walking towards the level 8 stairs (even if you can't see them on the map), unless the way is blocked by lava, grates, or some other obstacle. If you teleport onto that spot, your character will teleport all the way to the level 8 stairs and go up!https://github.com/diasurgical/devilutionX/pull/1583 dPiece 182 was the cause of that problem. It occurs both in warp to town and level up and only warp to town was checking distance. Code: /** Specifies the dungeon piece IDs which constitute stairways leading up from the caves. */ Whenever you put the mouse over dPiece 182 in stairs to town, the code matches that dPiece with "level up" trigger and replaces cursmx/cursmy without any check - that's why teleporting/clicking actually targetted the stairs up What is weird is that there actually was a distance check for most of the stairs that made sure the trigger that got matched was the one at that location but it wasn't used everywhere. Distance from trigger check: Crypt stairs up (first level) Catacombs stairs up Catacombs quick entrance Caves stairs down Caves quick entrance Nest stairs up(first level) Hell quick entrance Missing distance check: Church stairs up (Including ones to town) Church stairs down Crypt stairs up Crypt stairs down Catacombs stairs down Caves stairs up (was the one causing problems) Nest stairs up Nest stairs down Hell stairs up Hell stairs down Hell's entrance to dlvl 16 Applying the check to stairs up in caves fixes the issue Quote:GOING UP AND DOWN STAIRSI actually don't consider it a bug, but a feature! There's a hardcore Diablo 1 mod named Crucible which changes game's balance and makes monsters super deadly. It's not unusual to stand inside a town portal and keep attacking while facing a dangerous enemy - that way you can teleport away by just stopping your attacks. Quote:STEALTH EFFECTS This description is actually a bit wrong. https://github.com/diasurgical/devilutionX/commit/74131c26dee39c9fc81533653318139889e8e2d3 It's caused by code in CalcPlrItemVals which gets called whenever you equip/unequip items Code: if (lrad < 10) { Deleting the check solves the problem. RE: The DSF Buglist for Diablo v1.09 - Galbraith - 06-03-2022 A bug that was fixed later, but is available in 1.00: Wirt will let you buy his item, even if you don't have enough gold in your inventory to buy it. You only need 2/3 of the gold of the price shown by Wirt. (Wirt prices in Diablo are 150%). So if item normally costs 7500, Wirt list 11250. If you have 7500 + 50 as a tip for Wirt - you can make a deal. Please note: this doesn't mean Wirt will list items other than in 1.09 (as above his price cap - like GPoW). It only means he will sell items below price he shows. Here is a video from a Polish player - Procjon - from whom I found out about this bug a few years ago. https://youtu.be/z082-Xpckoo I've never heard of it before, so it's probably not well known or even unknown to the community. Tested in 1.05 - it is already fixed. (You may test 1.02, 1.03, 1.04 to check when exactly it was fixed). RE: The DSF Buglist for Diablo v1.09 - ismael. - 10-28-2022 Hello, recently (after many years) I was tinkering a bit w my old b(eyond)nm and found out that items with the Hyena's prefix (minus mana) actually have an above 1 value to Griswold, ie he will repair them (sort of complementary to the Sharp prefix for which it is the opposite). I haven't found this apparent bug listed here, am I mad or has anyone listed or noted this here anywhere before? RE: The DSF Buglist for Diablo v1.09 - Rudra - 10-31-2022 Hey, interesting. I tried a few things and came to a conclusion which explains the finding: Chapter 3.4 in Jarulf's guide lists the columns "Range", "Base-Max" and "Steps" for each prefix or suffix. Those are needed for calculating the price (and repair costs implicitly) of an item. All the cursed affixes don't have values there so that the price is always negative according to the price calculation formula for cursed items: C = Bp + Bs +Qp + Qs + I / (Mp + Ms). There is one exception though and it's Hyena's. You can see in the table that it does have those values which I think is an actual bug. If we apply the formula on a Hyena's Ring with -25 Mana, we get a buy price of C = 100 + 0 + 1000 / -2 = -400. A Hyena's Ring with -11 has a Buy price of C = 100 + 900 + 1000 / -2 = 500. The selling price is a quarter of that, so you should get 125 Gold for a -11 Mana Hyena's Ring. However, this is not true ingame. You can indeed sell a Hyena's Ring with -25 Mana for 125 Gold, but a Hyena's Ring with -11 Mana is worth only 1 gold (as you should expect it from a cursed item). The reason for that is that the succession of the quality steps for the Hyena's prefix is obviously inverted which I would call the second bug related to this prefix. The more cursed the quality level is, the more gold Griswold will offer you for it. You will get more than 1 gold from Griswold if you sell a Hyena's Ring with -18 Mana or worse or a Hyena's Amulet with -19 Mana or worse, otherwise he will offer only 1 gold. RE: The DSF Buglist for Diablo v1.09 - Drumar - 06-20-2024 Just a note here, I believe it's been commented on before, but it seems unrecorded here (The Lurker Lounge) presently. Did you know that in Single Player Diablo -- an I would assume someone could verify for multiplayer Diablo -- if you clear all the surrounds and rooms on Dlvl 16 EXCEPT the room containing Diablo, the Lord of Terror can be released from this fourth room WITHOUT throwing the two levers in the third room? I'm playing a Single Player Ironman Rogue using GOG Galaxy, which allows Single Player Diablo to be played on standard (post-Win7) operating systems. There seems to be a bug where if you throw just ONE lever in the third room and then leave Dlevel 16, if you then return to 16 the fourth room will be opened (and Diablo free to be released) while the second lever remains in its "un-thrown" position. Doesn't matter which lever you throw; works the same for either. AND there are three ways you can "leave" Dlevel 16 and return at another time: First, you can walk the stairs up to 15 and then return (via the pentagram) to 16. Second, you can take a town portal to town, and then return either via the town portal or the stairs -- the result is the same, an opened Diablo-room. And the third? If you "leave" by saving the game and re-open the same game to its saved position on Dlevel 16 at a future time, then the Diablo-room is again open! Can someone verify that the bug exists on multiplayer? Is this bug already well-known? RE: The DSF Buglist for Diablo v1.09 - Rudra - 06-21-2024 I don't remember knowing of this bug (possibly never noticed or forgot about it), but can confirm everything you say after doing some tests. The bug does not show up in multiplayer though. |