Allow random mimics to mimic more furniture

In addition to stairs, allow altar, grave, throne, and sink.
This commit is contained in:
Pasi Kallinen
2020-04-12 22:08:06 +03:00
parent 37c17ab1f4
commit ecc1ceb581
2 changed files with 5 additions and 3 deletions
+1
View File
@@ -127,6 +127,7 @@ it's possible to wish for tins of the Riders in wizard mode; eating one is
revival via undead turning of corpse carried by hero said "your <mon> corpse revival via undead turning of corpse carried by hero said "your <mon> corpse
comes alive" even when revived monster was undead comes alive" even when revived monster was undead
prevent searching or waiting next to a hostile monster - override with 'm' prevent searching or waiting next to a hostile monster - override with 'm'
allow random mimics to show up mimicing more furniture than just stairs
Fixes to 3.7.0-x Problems that Were Exposed Via git Repository Fixes to 3.7.0-x Problems that Were Exposed Via git Repository
+4 -3
View File
@@ -2130,7 +2130,7 @@ struct monst *mtmp;
} }
static const NEARDATA char syms[] = { static const NEARDATA char syms[] = {
MAXOCLASSES, MAXOCLASSES + 1, RING_CLASS, WAND_CLASS, WEAPON_CLASS, MAXOCLASSES, MAXOCLASSES, RING_CLASS, WAND_CLASS, WEAPON_CLASS,
FOOD_CLASS, COIN_CLASS, SCROLL_CLASS, POTION_CLASS, ARMOR_CLASS, FOOD_CLASS, COIN_CLASS, SCROLL_CLASS, POTION_CLASS, ARMOR_CLASS,
AMULET_CLASS, TOOL_CLASS, ROCK_CLASS, GEM_CLASS, SPBOOK_CLASS, AMULET_CLASS, TOOL_CLASS, ROCK_CLASS, GEM_CLASS, SPBOOK_CLASS,
S_MIMIC_DEF, S_MIMIC_DEF, S_MIMIC_DEF, S_MIMIC_DEF,
@@ -2223,9 +2223,10 @@ register struct monst *mtmp;
} else { } else {
s_sym = syms[rn2((int) sizeof(syms))]; s_sym = syms[rn2((int) sizeof(syms))];
assign_sym: assign_sym:
if (s_sym == MAXOCLASSES || s_sym == MAXOCLASSES + 1) { if (s_sym == MAXOCLASSES) {
const int furnsyms[] = { S_upstair, S_dnstair, S_altar, S_grave, S_throne, S_sink };
ap_type = M_AP_FURNITURE; ap_type = M_AP_FURNITURE;
appear = (s_sym == MAXOCLASSES) ? S_upstair : S_dnstair; appear = furnsyms[rn2(SIZE(furnsyms))];
} else { } else {
ap_type = M_AP_OBJECT; ap_type = M_AP_OBJECT;
if (s_sym == S_MIMIC_DEF) { if (s_sym == S_MIMIC_DEF) {