fix #H9374 - initial rendering of guardian angel
Creation of guardian angel bypasses tamedog() and marks it tame directly but it wasn't updating the map after changing the monster. So if 'hilite_pet' was On when entering the Astral Plane level, the angel appeared to be ordinary monster rather than a tame one until it moved or the screen was redrawn. Also, the message about it appearing was issued before marking it tame, so a tiny bit of code reordering has been done to get the sequence correct.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.149 $ $NHDT-Date: 1572141706 2019/10/27 02:01:46 $
|
||||
$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.151 $ $NHDT-Date: 1572530225 2019/10/31 13:57:05 $
|
||||
|
||||
This fixes36.3 file is here to capture information about updates in the 3.6.x
|
||||
lineage following the release of 3.6.2 in May 2019. Please note, however,
|
||||
@@ -208,6 +208,8 @@ parsing for the argument to 'scores' option was sloppy; "3a/o" (slash) and
|
||||
"3a 1o" (space and digit one, not lowercase L) both worked but "3a o"
|
||||
(just space) was supposed to but didn't
|
||||
wizmakemap could leave genocided monsters on map
|
||||
when entering Astral level, initial rendering of guardian angel didn't show
|
||||
it as tame; noticeable if the level was entered with 'hilite_pet' On
|
||||
|
||||
|
||||
Fixes to Post-3.6.2 Problems that Were Exposed Via git Repository
|
||||
|
||||
15
src/minion.c
15
src/minion.c
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 minion.c $NHDT-Date: 1561061319 2019/06/20 20:08:39 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.42 $ */
|
||||
/* NetHack 3.6 minion.c $NHDT-Date: 1572530226 2019/10/31 13:57:06 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.43 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/*-Copyright (c) Robert Patrick Rankin, 2008. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -481,15 +481,18 @@ gain_guardian_angel()
|
||||
&& (mtmp = mk_roamer(&mons[PM_ANGEL], u.ualign.type, mm.x, mm.y,
|
||||
TRUE)) != 0) {
|
||||
mtmp->mstrategy &= ~STRAT_APPEARMSG;
|
||||
/* guardian angel -- the one case mtame doesn't imply an
|
||||
* edog structure, so we don't want to call tamedog().
|
||||
* [Note: this predates mon->mextra which allows a monster
|
||||
* to have both emin and edog at the same time.]
|
||||
*/
|
||||
mtmp->mtame = 10;
|
||||
/* for 'hilite_pet'; after making tame, before next message */
|
||||
newsym(mtmp->mx, mtmp->my);
|
||||
if (!Blind)
|
||||
pline("An angel appears near you.");
|
||||
else
|
||||
You_feel("the presence of a friendly angel near you.");
|
||||
/* guardian angel -- the one case mtame doesn't
|
||||
* imply an edog structure, so we don't want to
|
||||
* call tamedog().
|
||||
*/
|
||||
mtmp->mtame = 10;
|
||||
/* make him strong enough vs. endgame foes */
|
||||
mtmp->m_lev = rn1(8, 15);
|
||||
mtmp->mhp = mtmp->mhpmax =
|
||||
|
||||
Reference in New Issue
Block a user