Glory of Arioch vs spellbook

From the newsgroup (reported for slash'em but applies to nethack too):
a chaotic monk was crowned and told he or she had been "chosen to
steal souls for My Glory!" while being given a spellbook of restore
ability which has nothing whatever to do with soul stealing.  There's
alternate wording for when Stormbringer can't be given because it
already exists; also use that for when it's not going to be given
because the character is discouraged against wielding weapons.
This commit is contained in:
PatR
2019-07-30 17:24:33 -07:00
parent c4a2f20af0
commit 6dffe52a27
2 changed files with 23 additions and 17 deletions
+4 -1
View File
@@ -1,4 +1,4 @@
$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.95 $ $NHDT-Date: 1564269131 2019/07/27 23:12:11 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.96 $ $NHDT-Date: 1564532667 2019/07/31 00:24:27 $
This fixes36.3 file is here to capture information about updates in the 3.6.x 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, lineage following the release of 3.6.2 in May 2019. Please note, however,
@@ -107,6 +107,9 @@ hero poly'd into nymph would steal gold along with other items
change wizard mode #panic to require "yes" if 'paranoid_confirm:quit' is set change wizard mode #panic to require "yes" if 'paranoid_confirm:quit' is set
add some additional validation checks when setting up a new timer (triggered add some additional validation checks when setting up a new timer (triggered
by an ancient source comment rather than by any observed problems) by an ancient source comment rather than by any observed problems)
if a chaotic monk or wizard gets crowned and is given a spellbook rather than
Stormbringer as the crowning gift, don't describe the hero as having
been "chosen to steal souls for [Arioch's] glory"
Fixes to Post-3.6.2 Problems that Were Exposed Via git Repository Fixes to Post-3.6.2 Problems that Were Exposed Via git Repository
+19 -16
View File
@@ -1,4 +1,4 @@
/* NetHack 3.6 pray.c $NHDT-Date: 1562462064 2019/07/07 01:14:24 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.116 $ */ /* NetHack 3.6 pray.c $NHDT-Date: 1564532667 2019/07/31 00:24:27 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.117 $ */
/* Copyright (c) Benson I. Margulies, Mike Stephenson, Steve Linhart, 1989. */ /* Copyright (c) Benson I. Margulies, Mike Stephenson, Steve Linhart, 1989. */
/* NetHack may be freely redistributed. See license for details. */ /* NetHack may be freely redistributed. See license for details. */
@@ -771,6 +771,20 @@ gcrownu()
HPoison_resistance |= FROMOUTSIDE; HPoison_resistance |= FROMOUTSIDE;
godvoice(u.ualign.type, (char *) 0); godvoice(u.ualign.type, (char *) 0);
class_gift = STRANGE_OBJECT;
/* 3.3.[01] had this in the A_NEUTRAL case,
preventing chaotic wizards from receiving a spellbook */
if (Role_if(PM_WIZARD)
&& (!uwep || (uwep->oartifact != ART_VORPAL_BLADE
&& uwep->oartifact != ART_STORMBRINGER))
&& !carrying(SPE_FINGER_OF_DEATH)) {
class_gift = SPE_FINGER_OF_DEATH;
} else if (Role_if(PM_MONK) && (!uwep || !uwep->oartifact)
&& !carrying(SPE_RESTORE_ABILITY)) {
/* monks rarely wield a weapon */
class_gift = SPE_RESTORE_ABILITY;
}
obj = ok_wep(uwep) ? uwep : 0; obj = ok_wep(uwep) ? uwep : 0;
already_exists = in_hand = FALSE; /* lint suppression */ already_exists = in_hand = FALSE; /* lint suppression */
switch (u.ualign.type) { switch (u.ualign.type) {
@@ -791,19 +805,13 @@ gcrownu()
already_exists = already_exists =
exist_artifact(RUNESWORD, artiname(ART_STORMBRINGER)); exist_artifact(RUNESWORD, artiname(ART_STORMBRINGER));
verbalize("Thou art chosen to %s for My Glory!", verbalize("Thou art chosen to %s for My Glory!",
already_exists && !in_hand ? "take lives" : "steal souls"); ((already_exists && !in_hand)
|| class_gift != STRANGE_OBJECT) ? "take lives"
: "steal souls");
break; break;
} }
class_gift = STRANGE_OBJECT; if (objects[class_gift].oc_class == SPBOOK_CLASS) {
/* 3.3.[01] had this in the A_NEUTRAL case below,
preventing chaotic wizards from receiving a spellbook */
if (Role_if(PM_WIZARD)
&& (!uwep || (uwep->oartifact != ART_VORPAL_BLADE
&& uwep->oartifact != ART_STORMBRINGER))
&& !carrying(SPE_FINGER_OF_DEATH)) {
class_gift = SPE_FINGER_OF_DEATH;
make_splbk:
obj = mksobj(class_gift, TRUE, FALSE); obj = mksobj(class_gift, TRUE, FALSE);
bless(obj); bless(obj);
obj->bknown = 1; /* ok to skip set_bknown() */ obj->bknown = 1; /* ok to skip set_bknown() */
@@ -818,11 +826,6 @@ gcrownu()
obj = uwep; /* to be blessed,&c */ obj = uwep; /* to be blessed,&c */
break; break;
} }
} else if (Role_if(PM_MONK) && (!uwep || !uwep->oartifact)
&& !carrying(SPE_RESTORE_ABILITY)) {
/* monks rarely wield a weapon */
class_gift = SPE_RESTORE_ABILITY;
goto make_splbk;
} }
switch (u.ualign.type) { switch (u.ualign.type) {