From 598563dac36303a6f8f032d772ab0f61bc175aed Mon Sep 17 00:00:00 2001 From: copperwater Date: Mon, 4 Feb 2019 22:45:45 -0500 Subject: [PATCH] Add a default message for chatting to gnomes Message is a reference to The Silver Chair. Most of the other races had their own messages already, but gnomes would just default to discussing dungeon exploration, which doesn't make that much sense most of the times when you would be chatting to them in their own mines. The quotation is edited from the source to reflect the dungeon environment, but the sentiment is actually pretty spot-on given the average player's win ratio. Note: this doesn't interfere with the South Park gnome speech added to 3.6 a while ago; that only occurs when hallucinating and this only occurs when not hallucinating. --- src/sounds.c | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/src/sounds.c b/src/sounds.c index 1b6650444..b38bdc2f8 100644 --- a/src/sounds.c +++ b/src/sounds.c @@ -805,18 +805,25 @@ register struct monst *mtmp; pline_msg = "talks about spellcraft."; else if (ptr->mlet == S_CENTAUR) pline_msg = "discusses hunting."; - else if (is_gnome(ptr) && Hallucination && (gnomeplan = rn2(4)) % 2) - /* skipped for rn2(4) result of 0 or 2; - gag from an early episode of South Park called "Gnomes"; - initially, Tweek (introduced in that episode) is the only - one aware of the tiny gnomes after spotting them sneaking - about; they are embarked upon a three-step business plan; - a diagram of the plan shows: - Phase 1 Phase 2 Phase 3 - Collect underpants ? Profit - and they never verbalize step 2 so we don't either */ - verbl_msg = (gnomeplan == 1) ? "Phase one, collect underpants." - : "Phase three, profit!"; + else if (is_gnome(ptr)) { + if (Hallucination && (gnomeplan = rn2(4)) % 2) { + /* skipped for rn2(4) result of 0 or 2; + gag from an early episode of South Park called "Gnomes"; + initially, Tweek (introduced in that episode) is the only + one aware of the tiny gnomes after spotting them sneaking + about; they are embarked upon a three-step business plan; + a diagram of the plan shows: + Phase 1 Phase 2 Phase 3 + Collect underpants ? Profit + and they never verbalize step 2 so we don't either */ + verbl_msg = (gnomeplan == 1) ? "Phase one, collect underpants." + : "Phase three, profit!"; + } + else { + verbl_msg = + "Many enter the dungeon, and few return to the sunlit lands."; + } + } else switch (monsndx(ptr)) { case PM_HOBBIT: