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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user