summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-07-23 12:59:16 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-07-23 12:59:16 +0000
commit78367ed8343d077b7975873b4319efb6b749079c (patch)
treea1a25bae06f15e156d261e82a3bec9857c0f2ac7
parentc41c70ecb42a727329d3327678ae22919f46f6c7 (diff)
downloadcrawl-ref-78367ed8343d077b7975873b4319efb6b749079c.tar.gz
crawl-ref-78367ed8343d077b7975873b4319efb6b749079c.zip
[1756807] Rock stairs officially renamed to escape hatches.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1913 c06c8d41-db1a-0410-9941-cceddc491573
-rw-r--r--crawl-ref/source/acr.cc11
-rw-r--r--crawl-ref/source/dat/descript.txt14
-rw-r--r--crawl-ref/source/dat/float.des2
-rw-r--r--crawl-ref/source/dat/large.des2
-rw-r--r--crawl-ref/source/dat/mini.des4
-rw-r--r--crawl-ref/source/direct.cc6
-rw-r--r--crawl-ref/source/misc.cc32
7 files changed, 52 insertions, 19 deletions
diff --git a/crawl-ref/source/acr.cc b/crawl-ref/source/acr.cc
index cbe9a13471..3bcbd517bc 100644
--- a/crawl-ref/source/acr.cc
+++ b/crawl-ref/source/acr.cc
@@ -689,8 +689,11 @@ static void handle_wizard_command( void )
get_input_line( specs, sizeof( specs ) );
if (specs[0] != '\0')
- grd[you.x_pos][you.y_pos] =
- static_cast<dungeon_feature_type>( atoi(specs) );
+ {
+ if (const int feat = atoi(specs))
+ grd[you.x_pos][you.y_pos] =
+ static_cast<dungeon_feature_type>( feat );
+ }
break;
case ')':
@@ -702,7 +705,11 @@ static void handle_wizard_command( void )
if (feat == DNGN_UNSEEN)
canned_msg(MSG_OK);
else
+ {
+ mprf(MSGCH_DIAGNOSTICS, "Setting (%d,%d) to %s (%d)",
+ you.x_pos, you.y_pos, specs, feat);
grd(you.pos()) = feat;
+ }
}
break;
diff --git a/crawl-ref/source/dat/descript.txt b/crawl-ref/source/dat/descript.txt
index 7443a3ad98..2e0ff702dd 100644
--- a/crawl-ref/source/dat/descript.txt
+++ b/crawl-ref/source/dat/descript.txt
@@ -2038,19 +2038,23 @@ Floor
%%%%
An open door
-A plain door. You can close it by standing next to it and pressing 'c'.
+A wooden door. You can close it by standing next to it and pressing 'c'.
%%%%
A closed door
-A plain door. To open it, try simply walking into it, or press 'o'.
+A wooden door. To open it, try simply walking into it, or press 'o'.
%%%%
-A rock staircase leading down
+An escape hatch in the floor
+A spring-loaded one-way escape hatch set in the dungeon floor,
+allowing the adventurer beset by adversaries to exchange the perils of
+this level for the perils of the next.
%%%%
-A stone staircase leading down
+An escape hatch in the ceiling
+A spring-loaded one-way escape hatch set in the ceiling.
%%%%
-A rock staircase leading up
+A stone staircase leading down
%%%%
A stone staircase leading up
diff --git a/crawl-ref/source/dat/float.des b/crawl-ref/source/dat/float.des
index be7832281d..4922553783 100644
--- a/crawl-ref/source/dat/float.des
+++ b/crawl-ref/source/dat/float.des
@@ -254,7 +254,7 @@ SUBST: * = |:5 * .
SUBST: T = TU
SHUFFLE: xb/cc, ABC
: if crawl.coinflip() then
-KFEAT: X = rock staircase leading up / rock staircase leading down
+KFEAT: X = < / >
KITEM: X = any good_item
: else
SUBST: X=*, B=., C=.
diff --git a/crawl-ref/source/dat/large.des b/crawl-ref/source/dat/large.des
index e84d2b8295..3261f5b342 100644
--- a/crawl-ref/source/dat/large.des
+++ b/crawl-ref/source/dat/large.des
@@ -216,7 +216,7 @@ MONS: human simulacrum w:60/elf simulacrum/ogre simulacrum/centaur simulacrum
MONS: eye of draining/brain worm/death drake w:5/shadow/shadow dragon w:1
KITEM: A = potion of experience / any good_item
KMONS: A = Maud
-KFEAT: A = rock staircase leading down
+KFEAT: A = >
KFEAT: B = |
KMONS: B = neqoxec
KFEAT: C = b
diff --git a/crawl-ref/source/dat/mini.des b/crawl-ref/source/dat/mini.des
index 4ace0aeb67..bb0b679b8d 100644
--- a/crawl-ref/source/dat/mini.des
+++ b/crawl-ref/source/dat/mini.des
@@ -135,8 +135,8 @@ MONS: ice statue
MONS: ice devil w:5/blue devil w:5/ice dragon/freezing wraith/nothing w:30
MONS: white imp/ice beast w:30/polar bear/nothing w:50
MONS: white imp/ice beast w:30/polar bear/nothing w:50
-KFEAT: 2 = rock staircase leading down
-KFEAT: 4 = rock staircase leading down
+KFEAT: 2 = >
+KFEAT: 4 = >
MAP
T..................T
..WWW..........WWW..
diff --git a/crawl-ref/source/direct.cc b/crawl-ref/source/direct.cc
index 962bc0f82f..eaee6f37ea 100644
--- a/crawl-ref/source/direct.cc
+++ b/crawl-ref/source/direct.cc
@@ -1306,13 +1306,13 @@ std::string raw_feature_description(dungeon_feature_type grid,
case DNGN_OPEN_DOOR:
return ("open door");
case DNGN_ROCK_STAIRS_DOWN:
- return ("rock staircase leading down");
+ return ("escape hatch in the floor");
+ case DNGN_ROCK_STAIRS_UP:
+ return ("escape hatch in the ceiling");
case DNGN_STONE_STAIRS_DOWN_I:
case DNGN_STONE_STAIRS_DOWN_II:
case DNGN_STONE_STAIRS_DOWN_III:
return ("stone staircase leading down");
- case DNGN_ROCK_STAIRS_UP:
- return ("rock staircase leading up");
case DNGN_STONE_STAIRS_UP_I:
case DNGN_STONE_STAIRS_UP_II:
case DNGN_STONE_STAIRS_UP_III:
diff --git a/crawl-ref/source/misc.cc b/crawl-ref/source/misc.cc
index 6b07c4fcf6..94bf165bf4 100644
--- a/crawl-ref/source/misc.cc
+++ b/crawl-ref/source/misc.cc
@@ -757,6 +757,25 @@ void merfolk_start_swimming(void)
you.redraw_evasion = true;
}
+static void exit_stair_message(dungeon_feature_type stair, bool /* going_up */)
+{
+ if (grid_is_rock_stair(stair))
+ mpr("The hatch slams shut behind you.");
+}
+
+static void climb_message(dungeon_feature_type stair, bool going_up)
+{
+ if (grid_is_rock_stair(stair))
+ {
+ if (going_up)
+ mpr("A mysterious force pulls you upwards.");
+ else
+ mpr("You slide downwards.");
+ }
+ else
+ mpr(going_up? "You climb upwards." : "You climb downwards.");
+}
+
void up_stairs(void)
{
dungeon_feature_type stair_find = grd[you.x_pos][you.y_pos];
@@ -808,6 +827,9 @@ void up_stairs(void)
return;
}
+ // Checks are done, the character is committed to moving between levels.
+ exit_stair_message(stair_find, true);
+
int old_level = you.your_level;
// Interlevel travel data:
@@ -845,7 +867,6 @@ void up_stairs(void)
ouch(INSTANT_DEATH, 0, KILLED_BY_LEAVING);
}
- mpr("Entering...");
you.prev_targ = MHITNOT;
you.pet_target = MHITNOT;
@@ -885,7 +906,7 @@ void up_stairs(void)
mpr("You float upwards... And bob straight up to the ceiling!");
}
else
- mpr("You climb upwards.");
+ climb_message(stair_find, true);
load(stair_taken, LOAD_ENTER_LEVEL, was_a_labyrinth, old_level, old_where);
@@ -1006,6 +1027,9 @@ void down_stairs( int old_level, dungeon_feature_type force_stair )
return;
}
+ // All checks are done, the player is on the move now.
+ exit_stair_message(stair_find, false);
+
#ifdef DGL_MILESTONES
if (!force_stair)
{
@@ -1075,8 +1099,6 @@ void down_stairs( int old_level, dungeon_feature_type force_stair )
you.level_type = LEVEL_DUNGEON;
}
- if (!force_stair)
- mpr("Entering...");
you.prev_targ = MHITNOT;
you.pet_target = MHITNOT;
@@ -1209,7 +1231,7 @@ void down_stairs( int old_level, dungeon_feature_type force_stair )
break;
default:
- mpr("You climb downwards.");
+ climb_message(stair_find, false);
break;
}