cursed potion of levitation
Reported directly to devteam 7-Jan-2016, two issues with cursed potion of levitation: 1) the go-up-stairs effect for cursed potion still let you choose not to escape the dungeon if it occurred on level 1 stairs. I've left that as-is; perhaps there's a gate across the entrance. 2) both the go-up-stairs and bonk-head-on-ceiling effects were skipped if the hero was already levitating. I don't know whether that was intentional but there was no comment explaining why, so I've changed it to happen regardless of whether already levitating. In the process, I changed the head-bonk case to do more damage when a helmet is worn: old: no helmet 1..10 hp, any helmet 1 hp damage; new: no helmet 1..10 hp, soft hat 1..6 hp, hard helmet 1..3 hp. Also, not in the report: when you aren't already levitating you get the "you float up" message, but for cursed potion there was never any corresponding "you float down" message because you ended up not levitating. Now you'll levitate for 1 turn and float down on the next, landing in a trap if one is present.
This commit is contained in:
@@ -1950,8 +1950,8 @@ boolean pick;
|
||||
turn, allowing it to do so could give the perception
|
||||
that a trap here is being triggered twice, so adjust
|
||||
the timeout to prevent that */
|
||||
if (trap && (HLevitation & TIMEOUT) == 1L && !ELevitation
|
||||
&& !(HLevitation & ~TIMEOUT)) {
|
||||
if (trap && (HLevitation & TIMEOUT) == 1L
|
||||
&& !(ELevitation || (HLevitation & ~(I_SPECIAL | TIMEOUT)))) {
|
||||
if (rn2(2)) { /* defer timeout */
|
||||
incr_itimeout(&HLevitation, 1L);
|
||||
} else { /* timeout early */
|
||||
|
||||
Reference in New Issue
Block a user