attacking via applied polearm now honors the "confirm" option
engulfer under influence of conflict or confusion could swallow monster at
water/lava/trap spot and not be affected by destination til next move
+unicorn horn restoration no longer overrides sustain ability characteristic
Platform- and/or Interface-Specific Fixes
/* collect attribute troubles */
for (idx = 0; idx < A_MAX; idx++) {
+ if (ABASE(idx) >= AMAX(idx)) continue;
val_limit = AMAX(idx);
/* don't recover strength lost from hunger */
if (idx == A_STR && u.uhs >= WEAK) val_limit--;
+ if (Fixed_abil) {
+ /* potion/spell of restore ability override sustain ability
+ intrinsic but unicorn horn usage doesn't */
+ unfixable_trbl += val_limit - ABASE(idx);
+ continue;
+ }
/* don't recover more than 3 points worth of any attribute */
if (val_limit > ABASE(idx) + 3) val_limit = ABASE(idx) + 3;
-/* SCCS Id: @(#)potion.c 3.5 2007/02/05 */
+/* SCCS Id: @(#)potion.c 3.5 2007/05/29 */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
pline("Ulch! This makes you feel mediocre!");
break;
} else {
+ /* unlike unicorn horn, overrides Fixed_abil */
pline("Wow! This makes you feel %s!",
(otmp->blessed) ?
(unfixable_trouble_count(FALSE) ? "better" : "great")
-/* SCCS Id: @(#)pray.c 3.5 2007/03/19 */
+/* SCCS Id: @(#)pray.c 3.5 2007/05/29 */
/* Copyright (c) Benson I. Margulies, Mike Stephenson, Steve Linhart, 1989. */
/* NetHack may be freely redistributed. See license for details. */
context.botl = 1;
break;
case TROUBLE_COLLAPSING:
+ /* override Fixed_abil; uncurse that if feasible */
+ You_feel("%sstronger.",
+ (AMAX(A_STR) - ABASE(A_STR) > 6) ? "much " : "");
ABASE(A_STR) = AMAX(A_STR);
context.botl = 1;
+ if (Fixed_abil) {
+ if ((otmp = stuck_ring(uleft,
+ RIN_SUSTAIN_ABILITY)) != 0) {
+ if (otmp == uleft) what = leftglow;
+ } else if ((otmp = stuck_ring(uright,
+ RIN_SUSTAIN_ABILITY)) != 0) {
+ if (otmp == uright) what = rightglow;
+ }
+ if (otmp) goto decurse;
+ }
break;
case TROUBLE_STUCK_IN_WALL:
Your("surroundings change.");
update_inventory();
break;
case TROUBLE_POISONED:
+ /* override Fixed_abil; ignore items which confer that */
if (Hallucination)
pline("There's a tiger in your tank.");
else
You_feel("in good health again.");
- for(i=0; i<A_MAX; i++) {
+ for (i = 0; i < A_MAX; i++) {
if(ABASE(i) < AMAX(i)) {
ABASE(i) = AMAX(i);
context.botl = 1;