From: Pasi Kallinen Date: Sat, 8 Oct 2016 18:09:31 +0000 (+0300) Subject: Give quest guardians some equipment X-Git-Tag: NetHack-3.6.1_RC01~577 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=710f5ed235548eaf5dfc114b3694a8bcba6e5e61;p=nethack Give quest guardians some equipment --- diff --git a/doc/fixes36.1 b/doc/fixes36.1 index 3cb943939..47995a24f 100644 --- a/doc/fixes36.1 +++ b/doc/fixes36.1 @@ -344,6 +344,10 @@ don't show monster vs. monster attack message, if the message refers to a monster that cannot be sensed by the hero umber hulk gazing at hidden mimic forces mimic to unhide show some timed hero properties in wizard-mode #timeout +give quest guardians some equipment +hero polyed into ghoul can only eat non-veggy corpses or eggs +kicking activates statue traps +pets start with apport equal to your charisma Fixes to Post-3.6.0 Problems that Were Exposed Via git Repository diff --git a/src/makemon.c b/src/makemon.c index a058cb16c..3422cb2bf 100644 --- a/src/makemon.c +++ b/src/makemon.c @@ -269,6 +269,58 @@ register struct monst *mtmp; } else if (mm == PM_NINJA) { /* extra quest villains */ (void) mongets(mtmp, rn2(4) ? SHURIKEN : DART); (void) mongets(mtmp, rn2(4) ? SHORT_SWORD : AXE); + } else if (ptr->msound == MS_GUARDIAN) { + /* quest "guardians" */ + switch (mm) { + case PM_STUDENT: + case PM_ATTENDANT: + case PM_ABBOT: + case PM_ACOLYTE: + case PM_GUIDE: + case PM_APPRENTICE: + if (rn2(2)) + (void) mongets(mtmp, rn2(3) ? DAGGER : KNIFE); + if (rn2(5)) + (void) mongets(mtmp, rn2(3) ? LEATHER_JACKET : LEATHER_CLOAK); + if (rn2(3)) + (void) mongets(mtmp, rn2(3) ? LOW_BOOTS : HIGH_BOOTS); + if (rn2(3)) + (void) mongets(mtmp, POT_HEALING); + break; + case PM_CHIEFTAIN: + case PM_PAGE: + case PM_ROSHI: + case PM_WARRIOR: + (void) mongets(mtmp, rn2(3) ? LONG_SWORD : SHORT_SWORD); + (void) mongets(mtmp, rn2(3) ? CHAIN_MAIL : LEATHER_ARMOR); + if (rn2(2)) + (void) mongets(mtmp, rn2(2) ? LOW_BOOTS : HIGH_BOOTS); + if (!rn2(3)) + (void) mongets(mtmp, LEATHER_CLOAK); + if (!rn2(3)) { + (void) mongets(mtmp, BOW); + m_initthrow(mtmp, ARROW, 12); + } + break; + case PM_HUNTER: + (void) mongets(mtmp, rn2(3) ? SHORT_SWORD : DAGGER); + if (rn2(2)) + (void) mongets(mtmp, rn2(2) ? LEATHER_JACKET : LEATHER_ARMOR); + (void) mongets(mtmp, BOW); + m_initthrow(mtmp, ARROW, 12); + break; + case PM_THUG: + (void) mongets(mtmp, CLUB); + (void) mongets(mtmp, rn2(3) ? DAGGER : KNIFE); + if (rn2(2)) + (void) mongets(mtmp, LEATHER_GLOVES); + (void) mongets(mtmp, rn2(2) ? LEATHER_JACKET : LEATHER_ARMOR); + break; + case PM_NEANDERTHAL: + (void) mongets(mtmp, CLUB); + (void) mongets(mtmp, LEATHER_ARMOR); + break; + } } break;