diff --git a/dat/data.base b/dat/data.base index 4046259a2..6baf9df7b 100644 --- a/dat/data.base +++ b/dat/data.base @@ -1,5 +1,5 @@ # NetHack 3.6 data.base -# $NHDT-Date: 1545359287 2018/12/21 02:28:07 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.87 $ +# $NHDT-Date: 1581206724 2020/02/09 00:05:24 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.93 $ # Copyright (c) 1994, 1995, 1996 by the NetHack Development Team # Copyright (c) 1994 by Boudewijn Wayers # NetHack may be freely redistributed. See license for details. @@ -5539,6 +5539,15 @@ whistle flat on his back upon a cold stone with his hands on his breast. [ The Fellowship of the Ring, by J.R.R. Tolkien ] +win +winner +winning + ... the rules of Brockian Ultra Cricket, as played in the higher + dimensions. A full set of rules is so massively complicated ... + A brief summary, however, follows: + ... + /Rule Six/: The winning team shall be the first team that wins. + [ Life, the Universe and Everything, by Douglas Adams ] # note: need to convert player character "gnomish wizard" into just "wizard" # in the lookup code to avoid conflict with the monster of that same name ~gnomish wizard diff --git a/dat/engrave.txt b/dat/engrave.txt index 05650ce41..222d1e5a9 100644 --- a/dat/engrave.txt +++ b/dat/engrave.txt @@ -1,4 +1,4 @@ -# NetHack 3.6 engrave.txt $NHDT-Date: 1524689579 2018/04/25 20:52:59 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.2 $ +# NetHack 3.6 engrave.txt $NHDT-Date: 1581206725 2020/02/09 00:05:25 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.4 $ # Copyright (c) 2015 by Pasi Kallinen # NetHack may be freely redistributed. See license for details. # Random engravings on the floor @@ -23,7 +23,8 @@ You won't get it up the steps Lasciate ogni speranza o voi ch'entrate. # Prisoner Well Come -# So Long... +# God's Final Message to His Creation (from "So Long, and Thanks for All +# the Fish" by Douglas Adams): We apologize for the inconvenience. # Thriller See you next Wednesday diff --git a/src/mhitm.c b/src/mhitm.c index ba19dc957..65f23c82a 100644 --- a/src/mhitm.c +++ b/src/mhitm.c @@ -22,6 +22,7 @@ static int FDECL(mdamagem, (struct monst *, struct monst *, static void FDECL(mswingsm, (struct monst *, struct monst *, struct obj *)); static void FDECL(noises, (struct monst *, struct attack *)); +static void FDECL(pre_mm_attack, (struct monst *, struct monst *)); static void FDECL(missmm, (struct monst *, struct monst *, struct attack *)); static int FDECL(passivemm, (struct monst *, struct monst *, @@ -44,14 +45,10 @@ register struct attack *mattk; } } -static -void -missmm(magr, mdef, mattk) -register struct monst *magr, *mdef; -struct attack *mattk; +static void +pre_mm_attack(magr, mdef) +struct monst *magr, *mdef; { - const char *fmt; - char buf[BUFSZ]; boolean showit = FALSE; /* unhiding or unmimicking happens even if hero can't see it @@ -80,7 +77,21 @@ struct attack *mattk; map_invisible(mdef->mx, mdef->my); else if (showit) newsym(mdef->mx, mdef->my); + } +} +static +void +missmm(magr, mdef, mattk) +register struct monst *magr, *mdef; +struct attack *mattk; +{ + const char *fmt; + char buf[BUFSZ]; + + pre_mm_attack(magr, mdef); + + if (g.vis) { fmt = (could_seduce(magr, mdef, mattk) && !magr->mcan) ? "%s pretends to be friendly to" : "%s misses"; @@ -530,39 +541,14 @@ struct attack *mattk; boolean weaponhit = ((mattk->aatyp == AT_WEAP || (mattk->aatyp == AT_CLAW && g.otmp))), silverhit = (weaponhit && g.otmp - && objects[g.otmp->otyp].oc_material == SILVER), - showit = FALSE; + && objects[g.otmp->otyp].oc_material == SILVER); - /* unhiding or unmimicking happens even if hero can't see it - because the formerly concealed monster is now in action */ - if (M_AP_TYPE(mdef)) { - seemimic(mdef); - showit |= g.vis; - } else if (mdef->mundetected) { - mdef->mundetected = 0; - showit |= g.vis; - } - if (M_AP_TYPE(magr)) { - seemimic(magr); - showit |= g.vis; - } else if (magr->mundetected) { - magr->mundetected = 0; - showit |= g.vis; - } + pre_mm_attack(magr, mdef); if (g.vis) { int compat; char buf[BUFSZ]; - if (!canspotmon(magr)) - map_invisible(magr->mx, magr->my); - else if (showit) - newsym(magr->mx, magr->my); - if (!canspotmon(mdef)) - map_invisible(mdef->mx, mdef->my); - else if (showit) - newsym(mdef->mx, mdef->my); - if ((compat = could_seduce(magr, mdef, mattk)) && !magr->mcan) { Sprintf(buf, "%s %s", Monnam(magr), mdef->mcansee ? "smiles at" : "talks to");