Bugs and complaints on current master
Collapse
X
-
PWMAngband variant maintainer - check https://github.com/draconisPW/PWMAngband (or http://www.mangband.org/forum/viewforum.php?f=9) to learn more about this new variant! -
A new build is up on the nightlies page which (at least)...
Please report any problems.
Edit: Three crashes so far, one was while killing a troll, another was when a monster breathed down a hallway, killing some monsters in the process. It makes me suspect something to do with drops, but haven't been able to duplicate them, so no savefile yet.Last edited by Ingwe Ingweron; December 6, 2016, 16:14.“We're more of the love, blood, and rhetoric school. Well, we can do you blood and love without the rhetoric, and we can do you blood and rhetoric without the love, and we can do you all three concurrent or consecutive. But we can't give you love and rhetoric without the blood. Blood is compulsory. They're all blood, you see.”
― Tom Stoppard, Rosencrantz and Guildenstern are DeadComment
-
Revision - The crash is something to do with monster breath and spells. Several crashes from hound breaths, a druj spell, and Medusa breath.“We're more of the love, blood, and rhetoric school. Well, we can do you blood and love without the rhetoric, and we can do you blood and rhetoric without the love, and we can do you all three concurrent or consecutive. But we can't give you love and rhetoric without the blood. Blood is compulsory. They're all blood, you see.”
― Tom Stoppard, Rosencrantz and Guildenstern are DeadComment
-
New build up which fixes the lore issue. For the others, I note that Medusa doesn't breathe, so I guess that was a bolt or ball spell. What type of hounds are you seeing this with?One for the Dark Lord on his dark throne
In the Land of Mordor where the Shadows lie.Comment
-
“We're more of the love, blood, and rhetoric school. Well, we can do you blood and love without the rhetoric, and we can do you blood and rhetoric without the love, and we can do you all three concurrent or consecutive. But we can't give you love and rhetoric without the blood. Blood is compulsory. They're all blood, you see.”
― Tom Stoppard, Rosencrantz and Guildenstern are DeadComment
-
Here's a savefile with Curse weirdness and CRASH on Remove Curse. Belwether.zip
Curse Weirdness: @ has found Aiglos, which was identified as cursed when found, but on initially trying ?Remove Curse while in @'s pack, was informed "you have no curses to remove". ?Identify indicate "you have nothing to identify". @ must wield the weapon. Oddly enough, the curse can disappear when examining the weapon (not the "??", but the steelskin description, in this case. Go up or down stairs, or some other action that causes a refresh and the curse description would reappear. In addition, why are artifacts not normally cursed by their nature subject to these regular curses attaching to them? I think artifacts should be immune from such regular curses.
Remove Curse CRASH: Now, to the CRASH. When the curse is shown on Aiglos, @ reads ?Remove Curse, successfully removing the Steelskin curse, but, then on examination of the weapon a whole host of curse descriptions appears. Take one step to the right and CRASH. Or, <Esc> from the descriptions and CRASH. Basically, CRASH!
Hopefully the above description is clear enough to explain the curse/remove curse problems inherent in the attached savefile. Though, I'm very tired and think maybe I'm just rambling.“We're more of the love, blood, and rhetoric school. Well, we can do you blood and love without the rhetoric, and we can do you blood and rhetoric without the love, and we can do you all three concurrent or consecutive. But we can't give you love and rhetoric without the blood. Blood is compulsory. They're all blood, you see.”
― Tom Stoppard, Rosencrantz and Guildenstern are DeadComment
-
I'm just looking at the commit about curses (a222ddd). When they were a linked list, there was no problem because a curse would exist or not depending on whether or not it was a "link". With arrays, a curse exists if its power is nonzero in the array. However, when a curse is appended, its power is calculated from the object level... and the result can be zero. An easy fix would be to ensure that the power of the curse is at least 1 when it is appended to the object.PWMAngband variant maintainer - check https://github.com/draconisPW/PWMAngband (or http://www.mangband.org/forum/viewforum.php?f=9) to learn more about this new variant!Comment
-
Oh yes, arrays of curses are browsed using a "for" loop that sometimes starts with 0 and sometimes starts with 1. Since the Steelskin curse is the last in the txt file, it is the first one in the "curses" array. That could explain the crash.PWMAngband variant maintainer - check https://github.com/draconisPW/PWMAngband (or http://www.mangband.org/forum/viewforum.php?f=9) to learn more about this new variant!Comment
-
Also inside those "for" loops, all curses with power = 0 should be excluded. For example (item_tester_uncursable):
Code:for (i = 1; i < z_info->curse_max; i++) { if (c[i].power < 100) return true; }
Code:for (i = 0; i < z_info->curse_max; i++) { if (c[i].power == 0) continue; if (c[i].power < 100) return true; }
PWMAngband variant maintainer - check https://github.com/draconisPW/PWMAngband (or http://www.mangband.org/forum/viewforum.php?f=9) to learn more about this new variant!Comment
-
From the same commit, it seems like all randomization of curses has been lost: combat values (tohit, todam, toac) and modifiers. Since the "object" part of the curse has been removed, I'm not even sure curses do anything anymore (except the obvious ones).PWMAngband variant maintainer - check https://github.com/draconisPW/PWMAngband (or http://www.mangband.org/forum/viewforum.php?f=9) to learn more about this new variant!Comment
-
Summary of my understanding of curse problems:- Loops starting from 0 or 1 should (in general) both be fine, as curses[0] is a blank one
- Curse objects have not been removed as far as I'm aware; variability is certainly gone, and the whole of curse.txt needs to be overhauled
- Being able to generate curses with power 0 is indeed an oversight
- The crash is caused by freeing the object curse array but not setting the pointer to 0
I should get to fixing on the weekend.One for the Dark Lord on his dark throne
In the Land of Mordor where the Shadows lie.Comment
-
Another change: the "Oops! It feels deathly cold!" message has been removed. To warn the player when wielding a cursed item, maybe keep the sound effect (using MSG_CURSED instead of MSG_WIELD if the item is cursed)?PWMAngband variant maintainer - check https://github.com/draconisPW/PWMAngband (or http://www.mangband.org/forum/viewforum.php?f=9) to learn more about this new variant!Comment
-
I feel like there should be a message on wielding a cursed object, just not the old "Oops! It feels deathly cold!" message, which is too strongly associated with the traditional sticky curse. Maybe "A dark aura surrounds you" or something like that?Last edited by Nomad; December 9, 2016, 01:37.Comment
-
Just a little code improvement (object_runes_known):
Code:for (i = 0; i < z_info->curse_max; i++) { if (!curses_are_equal(obj, obj->known)) return false; }
PWMAngband variant maintainer - check https://github.com/draconisPW/PWMAngband (or http://www.mangband.org/forum/viewforum.php?f=9) to learn more about this new variant!Comment
Comment