lawful minions vs Demonbane

Back then Demonbane was a long sword, lawful Angels and Archons
could get either it or Sunsword as part of their starting equipment.
After it got changed into a mace instead, they could only get
Sunsword.  Rather than always giving them a long sword, sometimes
give them a mace so that they get back the chance to start with
Demonbane.

Since mace is quite a bit weaker that long sword against large
opponents, provide a better enchantment for maces given to lawful
minions.
This commit is contained in:
PatR
2024-10-11 23:34:26 -07:00
parent 11a4fe42de
commit c4a1f298e8

View File

@@ -329,20 +329,27 @@ m_initweap(struct monst *mtmp)
case S_ANGEL:
if (humanoid(ptr)) {
/* create minion stuff; can't use mongets */
otmp = mksobj(LONG_SWORD, FALSE, FALSE);
/* maybe make it special */
/* create minion stuff; can't use mongets;
weapon: long sword [rn2(5) > 1 == 60%] or mace [40%] */
otmp = mksobj((rn2(5) > 1) ? LONG_SWORD : MACE, FALSE, FALSE);
/* maybe promote weapon to an artifact */
if ((!rn2(20) || is_lord(ptr))
&& sgn(mtmp->isminion ? EMIN(mtmp)->min_align
: ptr->maligntyp) == A_LAWFUL)
/* [note: this used to have a 50:50 chance for Sunsword or
Demonbane, but Demonbane has been changed into a mace] */
otmp = oname(otmp, artiname(ART_SUNSWORD),
: ptr->maligntyp) == A_LAWFUL) {
/* Sunsword and Demonbane both used to be long swords and
Angels always got a long sword, so might get either of
the two artifacts; Demonbane has been changed to be a
mace; this deliberately makes an independent choice of
which artifact and if it picks the wrong name for 'otmp's
type, then 'otmp' won't be upgraded into an artifact */
otmp = oname(otmp, artiname((rn2(5) > 1) ? ART_SUNSWORD
: ART_DEMONBANE),
ONAME_RANDOM); /* randomly created */
}
bless(otmp);
otmp->oerodeproof = TRUE;
otmp->spe = rn2(4);
/* make long sword be +0 to +3, weaker mace be +3 to +6 */
otmp->spe = (otmp->otyp == LONG_SWORD) ? rn2(4) : rn1(4, 3);
(void) mpickobj(mtmp, otmp);
otmp = mksobj(!rn2(4) || is_lord(ptr) ? SHIELD_OF_REFLECTION