Throne room's throne is occupied by a king

Based on a patch by Leon Arnott
This commit is contained in:
Pasi Kallinen
2017-08-04 23:15:30 +03:00
parent b6d1ee3320
commit 4d7d63814a
2 changed files with 22 additions and 1 deletions

View File

@@ -406,6 +406,7 @@ fix the 'A' command to have the 'D' command's fix for C331-1 (quirk for
followup menu asking to choose specific items)
eating 1 tin from stack of N (for N >= 2) on shop's floor forced hero to buy 2
using a cursed whistle in a vault will summon the guard immediately
throne room's throne is occupied by a king
Fixes to Post-3.6.0 Problems that Were Exposed Via git Repository

View File

@@ -239,6 +239,26 @@ int type;
}
}
void
mk_zoo_thronemon(x,y)
int x,y;
{
int i = rnd(level_difficulty());
int pm = (i > 9) ? PM_OGRE_KING
: (i > 5) ? PM_ELVENKING
: (i > 2) ? PM_DWARF_KING
: PM_GNOME_KING;
struct monst *mon = makemon(&mons[pm], x, y, NO_MM_FLAGS);
if (mon) {
mon->msleeping = 1;
mon->mpeaceful = 0;
set_malign(mon);
/* Give him a sceptre to pound in judgment */
(void) mongets(mon, MACE);
}
}
void
fill_zoo(sroom)
struct mkroom *sroom;
@@ -265,7 +285,7 @@ struct mkroom *sroom;
ty = mm.y;
} while (occupied((xchar) tx, (xchar) ty) && --i > 0);
throne_placed:
/* TODO: try to ensure the enthroned monster is an M2_PRINCE */
mk_zoo_thronemon(tx, ty);
break;
case BEEHIVE:
tx = sroom->lx + (sroom->hx - sroom->lx + 1) / 2;