MAZE:"knox",' '
FLAGS: noteleport
GEOMETRY:center,center
+# Fort's entry is via a secret door rather than a drawbridge;
+# the moat must be manually circumvented.
MAP
----------------------------------------------------------------------------
| |........|...............................................................|
TELEPORT_REGION:(06,16,09,17),(0,0,0,0),down
# Throne room, with Croesus on the throne
REGION:(37,08,46,11),lit,"throne"
-MONSTER:('@',"Croesus"),(43,10),hostile
+# 50% chance each to move throne and/or fort's entry secret door up one row
+IF [50%] {
+ MONSTER:('@',"Croesus"),(43,10),hostile
+} ELSE {
+ MONSTER:('@',"Croesus"),(43,09),hostile
+ TERRAIN:(43,09), '\'
+ TERRAIN:(43,10), '.'
+}
+IF [50%] {
+ TERRAIN:(47,09), 'S'
+ TERRAIN:(47,10), '|'
+}
# The Vault
# Using unfilled morgue for
# identification in mkmaze.c
REGION:(21,08,35,11),lit,"morgue",unfilled
+# Vault entrance also varies
+IF [50%] {
+ TERRAIN:(36,09), '|'
+ TERRAIN:(36,10), 'S'
+}
# Corner towers
REGION:(19,06,21,06),lit,"ordinary"
REGION:(46,06,48,06),lit,"ordinary"
exploding chest trap would destroy uchain while still worn if uball carried
if monster shapechange message "<foo> turns into <bar>!" was given, <bar>
could be "it" (if <foo> sensed telepathically and <bar> is mindless)
+automatic annotation for Ft.Ludios level got applied when a drawbridge became
+ mapped, but entry there is a secret door rather than a drawbridge
post-3.6.0: fix "object lost" panic during pickup caused by sortloot revamp
post-3.6.0: more sortloot revisions
/* An automatic annotation is added to the Castle and
* to Fort Ludios once their structure's main entrance
* has been seen (in person or via magic mapping).
+ * For the Fort, that entrance is just a secret door
+ * which will be converted into a regular one when
+ * located (or destroyed).
* DOOR: possibly a lowered drawbridge's open portcullis;
* DBWALL: a raised drawbridge's "closed door";
* DRAWBRIDGE_DOWN: the span provided by lowered bridge,
* the adjacent DBWALL has been seen.
*/
case DOOR:
+ if (Is_knox(&u.uz)) {
+ int ty, tx = x - 4;
+
+ /* Throne is four columns left, either directly in
+ * line or one row higher or lower, and doesn't have
+ * to have been seen yet.
+ * ......|}}}.
+ * ..\...S}...
+ * ..\...S}...
+ * ......|}}}.
+ * For 3.6.0 and earlier, it was always in direct line:
+ * both throne and door on the lower of the two rows.
+ */
+ for (ty = y - 1; ty <= y + 1; ++ty)
+ if (isok(tx, ty) && IS_THRONE(levl[tx][ty].typ)) {
+ mptr->flags.ludios = 1;
+ break;
+ }
+ break;
+ }
if (is_drawbridge_wall(x, y) < 0)
break;
/* else FALLTHRU */
case DRAWBRIDGE_DOWN:
if (Is_stronghold(&u.uz))
mptr->flags.castle = 1, mptr->flags.castletune = 1;
- else if (Is_knox(&u.uz))
- mptr->flags.ludios = 1;
break;
default:
break;