]> granicus.if.org Git - nethack/commitdiff
cursed destroy armor
authornethack.rankin <nethack.rankin>
Sat, 8 May 2004 03:36:37 +0000 (03:36 +0000)
committernethack.rankin <nethack.rankin>
Sat, 8 May 2004 03:36:37 +0000 (03:36 +0000)
     Fix the bug From a bug report.  Subsequently removing
the item caused those attributes to be returned to an incorrect value
which was higher than the character started out with.

doc/fixes34.4
src/read.c

index dd4edf02be018c2f0db0d85678d4f991b7f0c47b..8baad4733bb7436ddbd1d75830091dd401dc7234 100644 (file)
@@ -23,6 +23,7 @@ if your blindfold glows and you're not otherwise blinded, you can see it
 added strsubst() to hacklib
 be consistent with use of "removing" rather than "lifting" for encumber 
        messages associated with taking things out of a bag of holding
+cursed scroll of destroy armor damaging cursed armor didn't adjust attributes
 
 
 Platform- and/or Interface-Specific Fixes
index 9b0fbae50ced4d913309437dd5e766f29ea1a1f7..eb927bffa32a1c0ab511de715cd397cf94861f0a 100644 (file)
@@ -1,13 +1,9 @@
-/*     SCCS Id: @(#)read.c     3.4     2003/11/29      */
+/*     SCCS Id: @(#)read.c     3.4     2004/05/07      */
 /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
 /* NetHack may be freely redistributed.  See license for details. */
 
 #include "hack.h"
 
-/* KMH -- Copied from pray.c; this really belongs in a header file */
-#define DEVOUT 14
-#define STRIDENT 4
-
 #define Your_Own_Role(mndx) \
        ((mndx) == urole.malenum || \
         (urole.femalenum != NON_PM && (mndx) == urole.femalenum))
@@ -799,7 +795,10 @@ register struct obj        *sobj;
                        known = TRUE;
                } else {        /* armor and scroll both cursed */
                    pline("%s.", Yobjnam2(otmp, "vibrate"));
-                   if (otmp->spe >= -6) otmp->spe--;
+                   if (otmp->spe >= -6) {
+                       otmp->spe += -1;
+                       adj_abon(otmp, -1);
+                   }
                    make_stunned(HStun + rn1(10, 10), TRUE);
                }
            }