Ft.Ludios entrance (fort's entry, not level entry)
The code to apply an automatic annotation to the knox level was looking for a drawbridge like on the castle level, but knox doesn't have any drawbridge. Look for its door instead. (It's initially a secret door, so won't be revealed via magic mapping. It needs to be found or destroyed to get mapped as a door or empty doorway in order to trigger the annotation.) Also, give a tiny bit of variation to the knox level layout. It used to have both the throne and the secret door on the lower of two similar rows and the door into the treasure vault on the upper one. Now each of the three can be on either of those two rows (independently of each other), making eight possibilities. This doesn't accomplish much, other than to make the secret door locations not always be at the same fixed spot.
This commit is contained in:
20
dat/knox.des
20
dat/knox.des
@@ -6,6 +6,8 @@
|
||||
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
|
||||
----------------------------------------------------------------------------
|
||||
| |........|...............................................................|
|
||||
@@ -37,11 +39,27 @@ TELEPORT_REGION:(06,16,09,17),(0,0,0,0),up
|
||||
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"
|
||||
|
||||
@@ -216,6 +216,8 @@ for menustyles traditional or combination, 'A' (or object ID) followed by i
|
||||
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
|
||||
|
||||
@@ -2465,6 +2465,9 @@ recalc_mapseen()
|
||||
/* 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,
|
||||
@@ -2474,6 +2477,26 @@ recalc_mapseen()
|
||||
* 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 */
|
||||
@@ -2481,8 +2504,6 @@ recalc_mapseen()
|
||||
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;
|
||||
|
||||
Reference in New Issue
Block a user