From: PatR Date: Fri, 15 Sep 2017 11:34:05 +0000 (-0700) Subject: 'fix' #H5531 - breath damage X-Git-Tag: NetHack-3.6.1_RC01~360 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=782db48fb5a2695fbdf77380f64184c7340d94f7;p=nethack 'fix' #H5531 - breath damage For breath damage, the 'S' in NdS is ignored. 'N' for the number of dice is used, but for number of sides of those dice, 6 is used for most damage types. Add a comment to that effect to monst.c and change a few Nd8 to Nd6 so that viewing the monster definitions matches what they actually do. --- diff --git a/src/monst.c b/src/monst.c index b99e44531..2bd2b99ed 100644 --- a/src/monst.c +++ b/src/monst.c @@ -39,6 +39,9 @@ void NDECL(monst_init); * resistances, resistances conferred (both MR_* defines), * 3 * flag bitmaps (M1_*, M2_*, and M3_* defines respectively) * symbol color (C(x) macro) + * + * For AT_BREA attacks, '# sides' is ignored; 6 is used for most + * damage types, 25 for sleep, not applicable for death or poison. */ #define MON(nam, sym, lvl, gen, atk, siz, mr1, mr2, flg1, flg2, flg3, col) \ { \ @@ -253,7 +256,7 @@ NEARDATA struct permonst mons[] = { M2_NOPOLY | M2_WERE | M2_HOSTILE, M3_INFRAVISIBLE, CLR_BROWN), MON("winter wolf cub", S_DOG, LVL(5, 12, 4, 0, -5), (G_NOHELL | G_GENO | G_SGROUP | 2), - A(ATTK(AT_BITE, AD_PHYS, 1, 8), ATTK(AT_BREA, AD_COLD, 1, 8), NO_ATTK, + A(ATTK(AT_BITE, AD_PHYS, 1, 8), ATTK(AT_BREA, AD_COLD, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), SIZ(250, 200, MS_BARK, MZ_SMALL), MR_COLD, MR_COLD, M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_HOSTILE, 0, CLR_CYAN), @@ -1211,8 +1214,9 @@ NEARDATA struct permonst mons[] = { | M1_CARNIVORE, M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC, 0, CLR_ORANGE), + /* disintegration breath is actually all or nothing, not 1d255 */ MON("black dragon", S_DRAGON, LVL(15, 9, -1, 20, -6), (G_GENO | 1), - A(ATTK(AT_BREA, AD_DISN, 4, 10), ATTK(AT_BITE, AD_PHYS, 3, 8), + A(ATTK(AT_BREA, AD_DISN, 1, 255), ATTK(AT_BITE, AD_PHYS, 3, 8), ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK), SIZ(WT_DRAGON, 1500, MS_ROAR, MZ_GIGANTIC), MR_DISINT, MR_DISINT, @@ -2988,7 +2992,7 @@ struct permonst _mons2[] = { */ MON("Chromatic Dragon", S_DRAGON, LVL(16, 12, 0, 30, -14), (G_NOGEN | G_UNIQ), - A(ATTK(AT_BREA, AD_RBRE, 6, 8), ATTK(AT_MAGC, AD_SPEL, 0, 0), + A(ATTK(AT_BREA, AD_RBRE, 6, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0), ATTK(AT_CLAW, AD_SAMU, 2, 8), ATTK(AT_BITE, AD_PHYS, 4, 8), ATTK(AT_BITE, AD_PHYS, 4, 8), ATTK(AT_STNG, AD_PHYS, 1, 6)), SIZ(WT_DRAGON, 1700, MS_NEMESIS, MZ_GIGANTIC),