summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/acr.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-06-30 14:32:21 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-06-30 14:32:21 +0000
commit0e65534b50e40a32611842551af39a089eff48af (patch)
treebd03973481f7ac07748fc1d15a119d680982f0ac /crawl-ref/source/acr.cc
parentf69da63b88187593335b68ac29356b561662997c (diff)
downloadcrawl-ref-0e65534b50e40a32611842551af39a089eff48af.tar.gz
crawl-ref-0e65534b50e40a32611842551af39a089eff48af.zip
Enable Chaos Knights of Lugonu starting out in the Abyss.
I've marked these characters with GDT_GAME_START, so that * the player starts out on an altar to Lugonu * there's an exit back to the Dungeon near-by * returning into the Dungeon always places them into the entry vault on level 1 * no abyssal runes are ever generated * item generation matches that of level 1 * monster spawn rates are that of the orb run to enforce a quick return into the Dungeon Once the player returns to the Dungeon (via an exit or with Lugonu's first power) char_direction is properly set to GDT_DESCENDING and from then on the game continues as if they had started in the Dungeon. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6245 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/acr.cc')
-rw-r--r--crawl-ref/source/acr.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/crawl-ref/source/acr.cc b/crawl-ref/source/acr.cc
index 8bf0afedfb..539350f581 100644
--- a/crawl-ref/source/acr.cc
+++ b/crawl-ref/source/acr.cc
@@ -4023,6 +4023,12 @@ static bool _initialise(void)
run_map_preludes();
+ if (newc && you.char_direction == GDT_GAME_START)
+ {
+ // Chaos Knights of Lugonu start out in the Abyss.
+ you.level_type = LEVEL_ABYSS;
+ you.entry_cause = EC_UNKNOWN;
+ }
load( you.entering_level? you.transit_stair : DNGN_STONE_STAIRS_DOWN_I,
you.entering_level? LOAD_ENTER_LEVEL :
newc ? LOAD_START_GAME : LOAD_RESTART_GAME,
@@ -4321,8 +4327,8 @@ static void _move_player(int move_x, int move_y)
you.running = RMODE_CONTINUE;
if (you.level_type == LEVEL_ABYSS
- && (you.x_pos <= 15 || you.x_pos >= (GXM - 16)
- || you.y_pos <= 15 || you.y_pos >= (GYM - 16)))
+ && (you.x_pos <= 15 || you.x_pos >= (GXM - 16)
+ || you.y_pos <= 15 || you.y_pos >= (GYM - 16)))
{
area_shift();
if (you.pet_target != MHITYOU)