Merge branch 'NetHack-3.7' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.7

This commit is contained in:
nhmall
2021-07-27 15:37:18 -04:00
5 changed files with 50 additions and 11 deletions

View File

@@ -1,4 +1,4 @@
NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.596 $ $NHDT-Date: 1626390626 2021/07/15 23:10:26 $
NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.609 $ $NHDT-Date: 1627414178 2021/07/27 19:29:38 $
General Fixes and Modified Features
-----------------------------------
@@ -573,6 +573,9 @@ for "a" vs "an", add ukulele and uke as exceptions for "an u<anything>"
add new extended command #retravel
remove special doinv key, functionality was equal to BIND=0:inventory
some monsters should not have been scared of bugle playing
monsters that drowned would never leave a corpse (holdover from decades ago
when it wasn't possible to recover anything from a water location)
give alternate message if hero is blind when throne gives "your vision clears"
Fixes to 3.7.0-x Problems that Were Exposed Via git Repository

View File

@@ -1,4 +1,4 @@
/* NetHack 3.7 mhitm.c $NHDT-Date: 1625838646 2021/07/09 13:50:46 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.198 $ */
/* NetHack 3.7 mhitm.c $NHDT-Date: 1627412283 2021/07/27 18:58:03 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.199 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Robert Patrick Rankin, 2011. */
/* NetHack may be freely redistributed. See license for details. */
@@ -636,9 +636,13 @@ gazemm(struct monst *magr, struct monst *mdef, struct attack *mattk)
&& mattk->adtyp == AD_BLND),
altmesg = (archon && !magr->mcansee);
/* bring target out of hiding even if hero doesn't see it happen (this
is already done in pre_mm_attack() and shouldn't be needed here) */
if (mdef->data->mlet == S_MIMIC && M_AP_TYPE(mdef) != M_AP_NOTHING)
seemimic(mdef);
mdef->mundetected = 0;
if (g.vis) {
if (mdef->data->mlet == S_MIMIC && M_AP_TYPE(mdef) != M_AP_NOTHING)
seemimic(mdef);
Sprintf(buf, "%s gazes %s",
altmesg ? Adjmonnam(magr, "blinded") : Monnam(magr),
altmesg ? "toward" : "at");

View File

@@ -1,4 +1,4 @@
/* NetHack 3.7 mon.c $NHDT-Date: 1620923921 2021/05/13 16:38:41 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.375 $ */
/* NetHack 3.7 mon.c $NHDT-Date: 1627413528 2021/07/27 19:18:48 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.382 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Derek S. Ray, 2015. */
/* NetHack may be freely redistributed. See license for details. */
@@ -732,7 +732,7 @@ minliquid_core(struct monst* mtmp)
if (mtmp->mhpmax > dam)
mtmp->mhpmax -= dam;
if (DEADMONSTER(mtmp)) {
mondead(mtmp);
mondied(mtmp);
if (DEADMONSTER(mtmp))
return 1;
}
@@ -768,7 +768,7 @@ minliquid_core(struct monst* mtmp)
case is not expected to happen (and we haven't made a
player-against-monster variation of the message above) */
if (g.context.mon_moving)
mondead(mtmp);
mondead(mtmp); /* no corpse */
else
xkilled(mtmp, XKILL_NOMSG);
} else {
@@ -776,7 +776,7 @@ minliquid_core(struct monst* mtmp)
if (DEADMONSTER(mtmp)) {
if (cansee(mtmp->mx, mtmp->my))
pline("%s surrenders to the fire.", Monnam(mtmp));
mondead(mtmp);
mondead(mtmp); /* no corpse */
} else if (cansee(mtmp->mx, mtmp->my))
pline("%s burns slightly.", Monnam(mtmp));
}
@@ -815,7 +815,7 @@ minliquid_core(struct monst* mtmp)
Monnam(mtmp), hliquid("water"));
}
if (g.context.mon_moving)
mondead(mtmp);
mondied(mtmp); /* ok to leave corpse despite water */
else
xkilled(mtmp, XKILL_NOMSG);
if (!DEADMONSTER(mtmp)) {

View File

@@ -1,4 +1,4 @@
/* NetHack 3.7 sit.c $NHDT-Date: 1596498210 2020/08/03 23:43:30 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.70 $ */
/* NetHack 3.7 sit.c $NHDT-Date: 1627414178 2021/07/27 19:29:38 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.73 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Robert Patrick Rankin, 2012. */
/* NetHack may be freely redistributed. See license for details. */
@@ -245,7 +245,30 @@ dosit(void)
do_mapping();
}
} else {
Your("vision becomes clear.");
/* avoid "vision clears" if hero can't see */
if (!Blind) {
Your("vision becomes clear.");
} else {
int num_of_eyes = eyecount(g.youmonst.data);
const char *eye = body_part(EYE);
/* note: 1 eye case won't actually happen--can't
sit on throne when poly'd into always-levitating
floating eye and can't polymorph into Cyclops */
switch (num_of_eyes) { /* 2, 1, or 0 */
default:
case 2: /* more than 1 eye */
eye = makeplural(eye);
/*FALLTHRU*/
case 1: /* one eye (Cyclops, floating eye) */
Your("%s %s...", eye, vtense(eye, "tingle"));
break;
case 0: /* no eyes */
You("have a very strange feeling in your %s.",
body_part(HEAD));
break;
}
}
HSee_invisible |= FROMOUTSIDE;
newsym(u.ux, u.uy);
}

View File

@@ -4967,6 +4967,15 @@ passive(struct monst *mon,
} else if (aatyp == AT_BITE || aatyp == AT_BUTT
|| (aatyp >= AT_STNG && aatyp < AT_WEAP)) {
break; /* no object involved */
} else {
/*
* TODO: #H2668 - if hitting with a ring that has a
* positive enchantment, it ought to be subject to
* having that enchantment reduced. But we don't have
* sufficient information here to know which hand/ring
* has delived a weaponless blow.
*/
;
}
passive_obj(mon, weapon, &(ptr->mattk[i]));
}