]> granicus.if.org Git - nethack/commitdiff
kicker kicking
authornethack.rankin <nethack.rankin>
Mon, 16 Apr 2007 03:03:08 +0000 (03:03 +0000)
committernethack.rankin <nethack.rankin>
Mon, 16 Apr 2007 03:03:08 +0000 (03:03 +0000)
     Reported in Dec'04 by <email deleted>, an
unpoly'd hero or a hero poly'd into monster form which lacks a kick
attack both get bonus from rings of increase damage when kicking, but
a hero poly'd into monster form which has a kick attack did not.

doc/fixes34.4
src/uhitm.c

index 458cfb5c5d81d61fe582f352d56d467b54a3fef8..a87a86678dcdf3437148a6f92f5b4f38d2eedbc7 100644 (file)
@@ -344,6 +344,8 @@ likewise with casting stone-to-flesh on self for figurine of non-veggy monst
 format names of not yet id'd artifacts such that obj type shows for non-weapons
 make quest leader and nemesis be unlikely to be affected by traps
 use a more precise jumping path for far, non-straight line destinations
+increase damage bonus applies when kicking while polymorphed into a monster
+       form which has a kicking attack, just like for other kicks
 
 
 Platform- and/or Interface-Specific Fixes
index 18eb479de5877b12d3c0909bd36dc098d4e717f8..76f5496a2eb45a902814f9ad3bc257b1467f6578 100644 (file)
@@ -1,4 +1,4 @@
-/*     SCCS Id: @(#)uhitm.c    3.5     2006/12/02      */
+/*     SCCS Id: @(#)uhitm.c    3.5     2007/04/13      */
 /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
 /* NetHack may be freely redistributed.  See license for details. */
 
@@ -1369,6 +1369,16 @@ register struct attack *mattk;
                        } else
                            tmp = rnd(4); /* bless damage */
                    }
+                   /* add ring(s) of increase damage */
+                   if (u.udaminc > 0) {
+                       /* applies even if damage was 0 */
+                       tmp += u.udaminc;
+                   } else if (tmp > 0) {
+                       /* ring(s) might be negative; avoid converting
+                          0 to non-0 or positive to non-positive */
+                       tmp += u.udaminc;
+                       if (tmp < 1) tmp = 1;
+                   }
                }
                break;
            case AD_FIRE: