-/* NetHack 3.6 sounds.c $NHDT-Date: 1542765362 2018/11/21 01:56:02 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.81 $ */
+/* NetHack 3.6 sounds.c $NHDT-Date: 1570844005 2019/10/12 01:33:25 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.83 $ */
/* Copyright (c) 1989 Janet Walz, Mike Threepoint */
/* NetHack may be freely redistributed. See license for details. */
*verbl_msg = 0, /* verbalize() */
*verbl_msg_mcan = 0; /* verbalize() if cancelled */
struct permonst *ptr = mtmp->data;
- int msound = ptr->msound;
+ int msound = ptr->msound, gnomeplan = 0;
/* presumably nearness and sleep checks have already been made */
if (Deaf)
msound = mons[genus(monsndx(ptr), 1)].msound;
/* some normally non-speaking types can/will speak if hero is similar */
else if (msound == MS_ORC /* note: MS_ORC is same as MS_GRUNT */
- && (same_race(ptr, youmonst.data) /* current form, */
- || same_race(ptr, &mons[Race_switch]))) /* unpoly'd form */
+ && ((same_race(ptr, youmonst.data) /* current form, */
+ || same_race(ptr, &mons[Race_switch])) /* unpoly'd form */
+ || Hallucination))
msound = MS_HUMANOID;
/* silliness, with slight chance to interfere with shopping */
else if (Hallucination && mon_is_gecko(mtmp))
} else
verbl_msg = "I only drink... potions.";
} else {
- int vampindex;
static const char *const vampmsg[] = {
/* These first two (0 and 1) are specially handled below */
"I vant to suck your %s!",
"I vill come after %s without regret!",
/* other famous vampire quotes can follow here if desired */
};
+ int vampindex;
+
if (kindred)
verbl_msg =
"This is my hunting ground that you dare to prowl!";
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
switch (monsndx(ptr)) {
case PM_HOBBIT: