summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/maps.cc
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2006-11-22 08:41:20 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2006-11-22 08:41:20 +0000
commit1d0f57cbceb778139ca215cc4fcfd1584951f6dd (patch)
treecafd60c944c51fcce778aa5d6912bc548c518339 /crawl-ref/source/maps.cc
parent6f5e187a9e5cd348296dba2fd89d2e206e775a01 (diff)
downloadcrawl-ref-1d0f57cbceb778139ca215cc4fcfd1584951f6dd.tar.gz
crawl-ref-1d0f57cbceb778139ca215cc4fcfd1584951f6dd.zip
Merged stone_soup r15:451 into trunk.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@452 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/maps.cc')
-rw-r--r--crawl-ref/source/maps.cc3744
1 files changed, 219 insertions, 3525 deletions
diff --git a/crawl-ref/source/maps.cc b/crawl-ref/source/maps.cc
index 3e99b298e1..68d851c596 100644
--- a/crawl-ref/source/maps.cc
+++ b/crawl-ref/source/maps.cc
@@ -3,6 +3,8 @@
* Summary: Functions used to create vaults.
* Written by: Linley Henzell
*
+ * Modified for Crawl Reference by $Author$ on $Date$
+ *
* Change History (most recent first):
*
* <2> 5/20/99 BWR Added stone lining to Zot vault,
@@ -13,112 +15,37 @@
#include "AppHdr.h"
#include "maps.h"
-#include <string.h>
-#include <stdlib.h>
+#include <cstring>
+#include <cstdlib>
+#include <errno.h>
+#include "dungeon.h"
#include "enum.h"
+#include "files.h"
#include "monplace.h"
+#include "mapdef.h"
#include "stuff.h"
+#include "levcomp.h"
-static char vault_1(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char vault_2(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char vault_3(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char vault_4(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char vault_5(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char vault_6(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char vault_7(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char vault_8(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char vault_9(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char vault_10(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-
-
-static char antaeus(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char asmodeus(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char beehive(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char box_level(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char castle_dis(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char elf_hall(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char ereshkigal(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char farm_and_country(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char fort_yaktaur(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char hall_of_Zot(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char hall_of_blades(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char gloorx_vloq(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-//static char mollusc(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char my_map(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char mnoleg(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char cerebov(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char orc_temple(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char lom_lobon(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char slime_pit(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char snake_pit(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char swamp(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char temple(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char tomb_1(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char tomb_2(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char tomb_3(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char vaults_vault(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char vestibule_map(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-
-
-static char minivault_1(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_2(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_3(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_4(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_5(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_6(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_7(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_8(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_9(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_10(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_11(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_12(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_13(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_14(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_15(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_16(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_17(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_18(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_19(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_20(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_21(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_22(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_23(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_24(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_25(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_26(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_27(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_28(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_29(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_30(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_31(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_32(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_33(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-
-//jmf: originals and slim wrappers to fit into don's non-switch
-static char minivault_34(char vgrid[81][81], FixedVector<int, 7>& mons_array, bool orientation);
-static char minivault_35(char vgrid[81][81], FixedVector<int, 7>& mons_array, bool orientation);
-static char minivault_34_a(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_34_b(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_35_a(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char minivault_35_b(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-
-static char rand_demon_1(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char rand_demon_2(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char rand_demon_3(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char rand_demon_4(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char rand_demon_5(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char rand_demon_6(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char rand_demon_7(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char rand_demon_8(char vgrid[81][81], FixedVector<int, 7>& mons_array);
-static char rand_demon_9(char vgrid[81][81], FixedVector<int, 7>& mons_array);
+static int write_vault(const map_def &mdef, map_type mt,
+ FixedVector<int,7> &marray,
+ vault_placement &);
+static int apply_vault_definition(
+ const map_def &def,
+ map_type map,
+ FixedVector<int,7> &marray,
+ vault_placement &);
+static void resolve_map(map_def &def);
+//////////////////////////////////////////////////////////////////////////
+// New style vault definitions
-/* ******************** BEGIN PUBLIC FUNCTIONS ******************* */
+static std::vector<map_def> vdefs;
+/* ******************** BEGIN PUBLIC FUNCTIONS ******************* */
// remember (!!!) - if a member of the monster array isn't specified
// within a vault subroutine, assume that it holds a random monster
@@ -127,3515 +54,282 @@ static char rand_demon_9(char vgrid[81][81], FixedVector<int, 7>& mons_array);
// make sure that vault_n, where n is a number, is a vault which can be put
// anywhere, while other vault names are for specific level ranges, etc.
-char vault_main( char vgrid[81][81], FixedVector<int, 7>& mons_array, int vault_force, int many_many )
-{
-
- int which_vault = 0;
- unsigned char vx, vy;
- char (*fnc_vault) (char[81][81], FixedVector<int, 7>&) = 0;
-
-// first, fill in entirely with walls and null-terminate {dlb}:
- for (vx = 0; vx < 80; vx++)
+int vault_main(
+ map_type vgrid,
+ FixedVector<int, 7>& mons_array,
+ vault_placement &place,
+ int which_vault,
+ int many_many )
+{
+#ifdef DEBUG_DIAGNOSTICS
+ mprf(MSGCH_DIAGNOSTICS, "Generating level: %s",
+ vdefs[which_vault].name.c_str());
+#endif
+
+ // first, fill in entirely with walls and null-terminate {dlb}:
+ for (int vx = 0; vx < MAP_SIDE; vx++)
{
- for (vy = 0; vy < 80; vy++)
+ for (int vy = 0; vy < MAP_SIDE; vy++)
vgrid[vx][vy] = 'x';
- vgrid[80][vx] = '\0';
- vgrid[vx][80] = '\0';
- }
-
- // next, select an appropriate vault to place {dlb}:
- for (;;)
- {
- which_vault = ( (vault_force == 100) ? random2(14) : vault_force );
-
- // endless loops result if forced vault cannot pass these tests {dlb}:
- if ( which_vault == 9 )
- {
- // if ( many_many > 23 || many_many > 12 )
- if (many_many > 12)
- break;
- }
- else if (which_vault == 11 || which_vault == 12)
- {
- if (many_many > 20)
- break;
- }
- else
- break;
+ vgrid[MAP_SIDE][vx] = 0;
+ vgrid[vx][MAP_SIDE] = 0;
}
- // then, determine which drawing routine to use {dlb}:
- fnc_vault = ( (which_vault == 0) ? vault_1 :
- (which_vault == 1) ? vault_2 :
- (which_vault == 2) ? vault_3 :
- (which_vault == 3) ? vault_4 :
- (which_vault == 4) ? vault_5 :
- (which_vault == 5) ? vault_6 :
- (which_vault == 6) ? vault_7 :
- (which_vault == 7) ? vault_8 :
- (which_vault == 8) ? vault_9 :
- (which_vault == 9) ? ( (many_many > 23) ? my_map : orc_temple ) :
- (which_vault == 10) ? vault_10 :
- (which_vault == 11) ? farm_and_country :
- (which_vault == 12) ? fort_yaktaur :
- (which_vault == 13) ? box_level :
-
- // the hell vaults:
- (which_vault == 50) ? vestibule_map :
- (which_vault == 51) ? castle_dis :
- (which_vault == 52) ? asmodeus :
- (which_vault == 53) ? antaeus :
- (which_vault == 54) ? ereshkigal :
-
- // the pandemonium big demonlord vaults:
- (which_vault == 60) ? mnoleg : // was nemelex
- (which_vault == 61) ? lom_lobon : // was sif muna
- (which_vault == 62) ? cerebov : // was okawaru
- (which_vault == 63) ? gloorx_vloq : // was kikubaaqudgha
-
- //(which_vault == 64) ? mollusc :
- (which_vault == 80) ? beehive :
- (which_vault == 81) ? slime_pit :
- (which_vault == 82) ? vaults_vault :
- (which_vault == 83) ? hall_of_blades :
- (which_vault == 84) ? hall_of_Zot :
- (which_vault == 85) ? temple :
- (which_vault == 86) ? snake_pit :
- (which_vault == 87) ? elf_hall :
- (which_vault == 88) ? tomb_1 :
- (which_vault == 89) ? tomb_2 :
- (which_vault == 90) ? tomb_3 :
- (which_vault == 91) ? swamp :
- (which_vault == 200) ? minivault_1 :
- (which_vault == 201) ? minivault_2 :
- (which_vault == 202) ? minivault_3 :
- (which_vault == 203) ? minivault_4 :
- (which_vault == 204) ? minivault_5 :
- (which_vault == 205) ? ( (many_many > 15) ? minivault_6 : minivault_1 ) :
- (which_vault == 206) ? ( (many_many > 10) ? minivault_7 : minivault_2 ) :
- (which_vault == 207) ? ( (many_many > 15) ? minivault_8 : minivault_3 ) :
- (which_vault == 208) ? ( (many_many > 15) ? minivault_9 : minivault_4 ) :
- (which_vault == 209) ? minivault_10 :
- (which_vault == 210) ? minivault_11 :
- (which_vault == 211) ? minivault_12 :
- (which_vault == 212) ? minivault_13 :
- (which_vault == 213) ? minivault_14 :
- (which_vault == 214) ? minivault_15 :
- (which_vault == 215) ? minivault_16 :
- (which_vault == 216) ? minivault_17 :
- (which_vault == 217) ? minivault_18 :
- (which_vault == 218) ? minivault_19 :
- (which_vault == 219) ? minivault_20 :
- (which_vault == 220) ? minivault_21 :
- (which_vault == 221) ? minivault_22 :
- (which_vault == 222) ? minivault_23 :
- (which_vault == 223) ? minivault_24 :
- (which_vault == 224) ? minivault_25 :
- (which_vault == 225) ? minivault_26 :
- (which_vault == 226) ? minivault_27 :
- (which_vault == 227) ? minivault_28 :
- (which_vault == 228) ? minivault_29 :
- (which_vault == 229) ? minivault_30 :
- (which_vault == 230) ? minivault_31 :
- (which_vault == 231) ? minivault_32 :
- (which_vault == 232) ? minivault_33 :
- (which_vault == 233) ? minivault_34_a :
- (which_vault == 234) ? minivault_34_b :
- (which_vault == 235) ? minivault_35_a :
- (which_vault == 236) ? minivault_35_b :
- (which_vault == 300) ? rand_demon_1 :
- (which_vault == 301) ? rand_demon_2 :
- (which_vault == 302) ? rand_demon_3 :
- (which_vault == 303) ? rand_demon_4 :
- (which_vault == 304) ? rand_demon_5 :
- (which_vault == 305) ? rand_demon_6 :
- (which_vault == 306) ? rand_demon_7 :
- (which_vault == 307) ? rand_demon_8 :
- (which_vault == 308) ? rand_demon_9
- : 0 ); // yep, NULL -- original behaviour {dlb}
-
// NB - a return value of zero is not handled well by dungeon.cc (but there it is) 10mar2000 {dlb}
- return ( (fnc_vault == 0) ? 0 : fnc_vault(vgrid, mons_array) );
+ return write_vault( vdefs[which_vault], vgrid, mons_array, place );
} // end vault_main()
-/* ********************* END PUBLIC FUNCTIONS ******************** */
-
-/*
- key:
- x - DNGN_ROCK_WALL
- X - DNGN_PERMAROCK_WALL -> should always be undiggable! -- bwr
- c - DNGN_STONE_WALL
- v - DNGN_METAL_WALL
- b - DNGN_GREEN_CRYSTAL_WALL
- a - DNGN_WAX_WALL
- . - DNGN_FLOOR
- + - DNGN_CLOSED_DOOR
- = - DNGN_SECRET_DOOR
- @ - entry point - must be on outside and on a particular side - see templates
- w - water
- l - lava
- >< - extra stairs - you can leave level by these but will never be placed on them from another level
- }{ - stairs 82/86 - You must be able to reach these from each other
- )( - stairs 83/87
- ][ - stairs 84/88
- I - orcish idol (does nothing)
- ^ - random trap
-
- A - Vestibule gateway (opened by Horn). Can also be put on other levels for colour, where it won't do anything.
- B - Altar. These are assigned specific types (eg of Zin etc) in dungeon.cc, in order.
- C - Random Altar.
- F - Typically a Granite Statue, but may be Orange or Silver (1 in 100)
- G - Granite statue (does nothing)
- H - orange crystal statue (attacks mind)
- S - Silver statue (summons demons). Avoid using (rare).
- T - Water fountain
- U - Magic fountain
- V - Permenantly dry fountain
-
- Statues can't be walked over and are only destroyed by disintegration
-
- $ - gold
- % - normal item
- * - higher level item (good)
- | - acquirement-level item (almost guaranteed excellent)
- O - place an appropriate rune here
- P - maybe place a rune here (50%)
- R - honeycomb (2/3) or royal jelly (1/3)
- Z - the Orb of Zot
-
- 0 - normal monster
- 9 - +5 depth monster
- 8 - (+2) * 2 depth monster (aargh!). Can get golden dragons and titans this way.
- 1-7 - monster array monster
- used to allocate specific monsters for a vault.
- is filled with RANDOM_MONSTER if monster not specified
-
- note that a lot of the vaults are in there mainly to add some interest to the
- scenery, and are not the lethal treasure-fests you find in Angband
- (not that there's anything wrong with that)
-
- Guidelines for creating new vault maps:
-
- Basically you can just let your creativity run wild. You do not have
- to place all of the stairs unless the level is full screen, in which
- case you must place all except the extra stairs (> and <). The <> stairs
- can be put anywhere and in any quantities but do not have to be there. Any
- of the other stairs which are not present in the vault will be randomly
- placed outside it. Also generally try to avoid rooms with no exit.
-
- You can use the templates below to build vaults, and remember to return the
- same number (this number is used in builder2.cc to determine where on the map
- the vault is located). The entry point '@' must be present (except
- full-screen vaults where it must not) and be on the same side of the vault
- as it is on the template, but can be anywhere along that side.
-
- You'll have to tell me the level range in which you want the vault to appear,
- so that I can code it into the vault management function. Unless you've
- placed specific monster types this will probably be unnecessary.
-
- I think that's all. Have fun!
-
- ps - remember to add one to the monster array value when placing monsters
- on each map (it is 1-7, not 0-6) {dlb}
- */
-
-static char vault_1(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // my first vault
- strcpy(vgrid[0], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[1], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[2], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[3], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[4], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[5], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[6], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[7], "xxxxxxxxxxxx....x........x........x.................................xxxxxxxxxxxx");
- strcpy(vgrid[8], "xxxxxxxxxx|=8...x........+........x......x....x1...x2...x2...x3...x...xxxxxxxxxx");
- strcpy(vgrid[9], "xxxxxxxxxx|x....x........x........x....................................xxxxxxxxx");
- strcpy(vgrid[10], "xxxxxxxxxxxxxxxx+xxx+xxxxxxxxxxxxxx..................................xxxxxxxxxxx");
- strcpy(vgrid[11], "xxxxxxxxx.......x.................+...................................8xxxxxxxxx");
- strcpy(vgrid[12], "xxxxxxxxx.......x.................x..................................xxxxxxxxxxx");
- strcpy(vgrid[13], "xxxxxxxxx.......+........3........xx+xx................................xxxxxxxxx");
- strcpy(vgrid[14], "xxxxxxxxx.......x.................x...x..x....x1...x2...x2...x3...x...xxxxxxxxxx");
- strcpy(vgrid[15], "xxxxxxxxx.......x.................x...x.............................xxxxxxxxxxxx");
- strcpy(vgrid[16], "xxxxxxxxxx+xxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[17], "xxxxxxxxx.........................x.S.x...xxxxxx..................|||||xxxxxxxxx");
- strcpy(vgrid[18], "xxxxxxxxx....xxxxxxxxxxxxxxxxxx...x...x......xxxxxx..................||xxxxxxxxx");
- strcpy(vgrid[19], "xxxxxxxxx....x...$$$$x****.999x...x...x.........xxxxxx.................xxxxxxxxx");
- strcpy(vgrid[20], "xxxxxxxxx....+...$$$$x****....x...x...+............xxxxxx.........8....xxxxxxxxx");
- strcpy(vgrid[21], "xxxxxxxxx....x...$$$$x****....+...x...x...............xxxxxx...........xxxxxxxxx");
- strcpy(vgrid[22], "xxxxxxxxx....x...$$$$x****....x...x999x..................xxxxxx........xxxxxxxxx");
- strcpy(vgrid[23], "xxxxxxxxx....xxxxxxxxxxxxxxxxxx...x...xxx...................xxxxxx.....xxxxxxxxx");
- strcpy(vgrid[24], "xxxxxxxxx.........................x...xxxxxx...................xxxxxx..xxxxxxxxx");
- strcpy(vgrid[25], "xxxxxxxxxxxxx+xxxxxxxx+xxxxxxx+xxxx...xxxxxx+xxxxxxxx+xxxxxxxx+xxxxxxx=xxxxxxxxx");
- strcpy(vgrid[26], "xxxxxxxxx.........x.......x.......x...x.........x........x.............xxxxxxxxx");
- strcpy(vgrid[27], "xxxxxxxxx.........x.......x.......x...x.........x........x.............xxxxxxxxx");
- strcpy(vgrid[28], "xxxxxxxxx.........x.......x.......x...x.........x........x.............xxxxxxxxx");
- strcpy(vgrid[29], "xxxxxxxxx....1....x...2...x...3...x...x....3....x....2...x......1......xxxxxxxxx");
- strcpy(vgrid[30], "xxxxxxxxx.........x.......x.......x...x.........x........x.............xxxxxxxxx");
- strcpy(vgrid[31], "xxxxxxxxx.........x.......x.......x...x.........x........x.............xxxxxxxxx");
- strcpy(vgrid[32], "xxxxxxxxx.........x.......x.......x...x.........x........x.............xxxxxxxxx");
- strcpy(vgrid[33], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[34], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[35], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- mons_array[0] = MONS_SHAPESHIFTER;
- mons_array[1] = MONS_SHAPESHIFTER;
- mons_array[2] = MONS_GLOWING_SHAPESHIFTER;
-
- return MAP_NORTH;
-}
-
-
-static char vault_2(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // cell vault
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[1], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[2], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[3], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[4], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[5], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[6], "xxxxxxxxcccccccccccccccccccccccccccccccc");
- strcpy(vgrid[7], "xxxxxxxxccw......^......w......^......wc");
- strcpy(vgrid[8], "xxxxxxxxcc.ccccccccccccc.ccccccccccccc.c");
- strcpy(vgrid[9], "xxxxxxxxcc.c....c.c....c.c....c.c....c.c");
- strcpy(vgrid[10], "xxxxxxxxcc.c.8..+.c....c.c....+.c..9.c.c");
- strcpy(vgrid[11], "xxxxxxxxcc.c....c.+..9.c.c.9..c.+....c.c");
- strcpy(vgrid[12], "xxxxxxxxcc.c....c.c....c.c....c.c....c.c");
- strcpy(vgrid[13], "xxxxxxxxcc.cccccc.cccccc.cccccc.cccccc.c");
- strcpy(vgrid[14], "xxxxxxxxcc^c....c.c....c.c....c.c....c.c");
- strcpy(vgrid[15], "xxxxxxxxcc.c....c.c....c.c....+.c....c.c");
- strcpy(vgrid[16], "xxxxxxxxcc.c8...+.+..8.c.c.8..c.+....c.c");
- strcpy(vgrid[17], "xxxxxxxxcc.c....c.c....c.c....c.c....c.c");
- strcpy(vgrid[18], "xxxxxxxxcc.cccccc.cccccc.cccccc.cccccc.c");
- strcpy(vgrid[19], "xxxxxxxxcc.c....c.c....c.c....c.c....c.c");
- strcpy(vgrid[20], "xxxxxxxxcc.c....+.c....c.c.0..c.c....c.c");
- strcpy(vgrid[21], "xxxxxxxxcc.c..9.c.+.8..c^c....+.+.0..c.c");
- strcpy(vgrid[22], "xxxxxxxxcc.c....c.c....c.c....c.c....c.c");
- strcpy(vgrid[23], "xxxxxxxxcc.cccccc.cccccc.cccccc.cccccc.c");
- strcpy(vgrid[24], "xxxxxxxxcc.c....c.c....c.c....c.c....c.c");
- strcpy(vgrid[25], "xxxxxxxxcc.c.0..+.+.0..c.c....+.+....c.c");
- strcpy(vgrid[26], "xxxxxxxxcc.c....c.c....c.c.0..c.c.8..c.c");
- strcpy(vgrid[27], "xxxxxxxxcc.cccccc.c....c.c....c.cccccc.c");
- strcpy(vgrid[28], "xxxxxxxxcc.c....c.cccccc.cccccc.c....c^c");
- strcpy(vgrid[29], "xxxxxxxxcc.c....c.c....c.c..9.+.+....c.c");
- strcpy(vgrid[30], "xxxxxxxxcc.c.0..+.+....c.c9...c.c.0..c.c");
- strcpy(vgrid[31], "xxxxxxxxcc.c....c.c.8..c.c....c.c....c.c");
- strcpy(vgrid[32], "xxxxxxxxcc.cccccc^cccccc.cccccc^cccccc.c");
- strcpy(vgrid[33], "xxxxxxxxccw.......Twwwwc.cwwwwT.......wc");
- strcpy(vgrid[34], "xxxxxxxxcccccccccccccccc.ccccccccccccccc");
- strcpy(vgrid[35], "xxxxxxxxxxxxxxxxxxxxxxxc@cxxxxxxxxxxxxxx");
-
- return MAP_NORTHWEST;
-}
-
-
-static char vault_3(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // little maze vault
- UNUSED( mons_array );
-
- for (unsigned char i = 0; i < 81; i++)
- strcpy(vgrid[i], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- strcat(vgrid[0], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[1], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[2], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[3], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[4], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[5], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[6], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[7], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[8], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[9], "x900x..............x..........xxxxxxxxxx");
- strcat(vgrid[10], "x999x.xxxxxxxxxxxx.x.xxxxxxxx.xxxxxxxxxx");
- strcat(vgrid[11], "x000x.x............x.x......x.xxxxxxxxxx");
- strcat(vgrid[12], "xx.xx.xxxxxxxxxxxxxx.x.xxxx.x.xxxxxxxxxx");
- strcat(vgrid[13], "xx.x..............xx.x.88|x.x.xxxxxxxxxx");
- strcat(vgrid[14], "xx.x.x.xxxxxxxxxx.xx.xxxxxx.x.xxxxxxxxxx");
- strcat(vgrid[15], "xx.x.x.x........x...........x.xxxxxxxxxx");
- strcat(vgrid[16], "xx.x.x.x.xxxxxx.xxxxxxxxxxxxx.xxxxxxxxxx");
- strcat(vgrid[17], "xx.xxx.x.x$$$$x...............xxxxxxxxxx");
- strcat(vgrid[18], "xx.....x.x$$$$x.xxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[19], "xxxxxxxx.x$$$$x...............xxxxxxxxxx");
- strcat(vgrid[20], "x........x$$$$x.xxxxxxxxxxxxx.xxxxxxxxxx");
- strcat(vgrid[21], "x.xxxxxx.xxxx.x.............x.xxxxxxxxxx");
- strcat(vgrid[22], "x.xxxxxx.xxxx.xxxxxxxxxxxxx.x.xxxxxxxxxx");
- strcat(vgrid[23], "x.x.......xxx.x...........x.x.xxxxxxxxxx");
- strcat(vgrid[24], "x.x.xxxxx.....x.x.xxxxx...x.x.xxxxxxxxxx");
- strcat(vgrid[25], "x.x.x999xxxxxxx.x.x***x...x.x.xxxxxxxxxx");
- strcat(vgrid[26], "x.x.x889........x.x|||xxxxx.x.xxxxxxxxxx");
- strcat(vgrid[27], "x.x.x899x.xxxxx.x.x***xxxxx.x.xxxxxxxxxx");
- strcat(vgrid[28], "x.x.xxxxx.xxxxx.x.xx.xxxxxx.x.xxxxxxxxxx");
- strcat(vgrid[29], "x.x..........xx.x.xx........x.xxxxxxxxxx");
- strcat(vgrid[30], "x.xxxxxxx.xx.xx.x.xxxxx.xxxxx.xxxxxxxxxx");
- strcat(vgrid[31], "x.xxx000x.xx.xx.x.x$$$x.xxxxx.xxxxxxxxxx");
- strcat(vgrid[32], "x|||x000x.x$$$x.x.x$$$x%%x%%%.xxxxxxxxxx");
- strcat(vgrid[33], "x|||x000..x$8$x.x.x$$$x%%x%8%xxxxxxxxxxx");
- strcat(vgrid[34], "x|||xxxxxxx$$$x.x..$$$xxxx%%%xxxxxxxxxxx");
- strcat(vgrid[35], "xxxxxxxxxxxxxxx@xxxxxxxxxxxxxxxxxxxxxxxx");
-
- return MAP_NORTHEAST;
-}
-
-
-static char vault_4(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // thingy vault
- UNUSED( mons_array );
-
- for (unsigned char i = 0; i < 81; i++)
- strcpy(vgrid[i], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- strcpy(vgrid[36], "xxxxxxxxxxxxxxxxxxxxxxxxx@xxxxxxxxxxxxxx");
- strcpy(vgrid[37], "xxxxxxxxxxxxxxxxxxxxxxxxx^xxxxxxxxxxxxxx");
- strcpy(vgrid[38], "xxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxx");
- strcpy(vgrid[39], "xxxxxxxxxxxxxxxxxxxxxxx.....xxxxxxxxxxxx");
- strcpy(vgrid[40], "xxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxx");
- strcpy(vgrid[41], "xxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxx");
- strcpy(vgrid[42], "xxxxxxxxxxxxxxxxxxxxxxx.....xxxxxxxxxxxx");
- strcpy(vgrid[43], "xxxxxxxxxxxxxxxxxxxxx.........xxxxxxxxxx");
- strcpy(vgrid[44], "xxxxxxxxxxxxxxxxx......0...0......xxxxxx");
- strcpy(vgrid[45], "xxxxxxxxxxxxxx.......................xxx");
- strcpy(vgrid[46], "xxxxxxxxxxxxxx.........0...0.........xxx");
- strcpy(vgrid[47], "xxxxxxxxxxxxx8......0.........0......8xx");
- strcpy(vgrid[48], "xxxxxxxxxxxxxx.........0...0.........xxx");
- strcpy(vgrid[49], "xxxxxxxxxxxxxx.......................xxx");
- strcpy(vgrid[50], "xxxxxxxxxxxxxxx........0...0........xxxx");
- strcpy(vgrid[51], "xxxxxxxxxxxxxxxxxxxx...........xxxxxxxxx");
- strcpy(vgrid[52], "xxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxx");
- strcpy(vgrid[53], "xxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxx");
- strcpy(vgrid[54], "xxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxx");
- strcpy(vgrid[55], "xxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxx");
- strcpy(vgrid[56], "xxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxx");
- strcpy(vgrid[57], "xxxxxxxxxxxxxxxxxxxxxxx.....xxxxxxxxxxxx");
- strcpy(vgrid[58], "xxxxxxxxxxxxxxxxxx...............xxxxxxx");
- strcpy(vgrid[59], "xxxxxxxxxxxxxxxx8.................8xxxxx");
- strcpy(vgrid[60], "xxxxxxxxxxxxxxxxxxx.............xxxxxxxx");
- strcpy(vgrid[61], "xxxxxxxxxxxxxxxxxxxxxxxx999xxxxxxxxxxxxx");
- strcpy(vgrid[62], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[63], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[64], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[65], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[66], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[67], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[68], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[69], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- return MAP_SOUTHWEST;
-}
-
-static char vault_5(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // hourglass vault
- UNUSED( mons_array );
-
- for (unsigned char i = 0; i < 81; i++)
- strcpy(vgrid[i], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- strcat(vgrid[36], "xxxxxxxxxxxxxx@xxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[37], "xxxxxx.................xxxxxxxxxxxxxxxxx");
- strcat(vgrid[38], "xxxxx...................xxxxxxxxxxxxxxxx");
- strcat(vgrid[39], "xxxxx...................xxxxxxxxxxxxxxxx");
- strcat(vgrid[40], "xxxxxx.................xxxxxxxxxxxxxxxxx");
- strcat(vgrid[41], "xxxxxx.................xxxxxxxxxxxxxxxxx");
- strcat(vgrid[42], "xxxxxx.................xxxxxxxxxxxxxxxxx");
- strcat(vgrid[43], "xxxxxxx...............xxxxxxxxxxxxxxxxxx");
- strcat(vgrid[44], "xxxxxxx...............xxxxxxxxxxxxxxxxxx");
- strcat(vgrid[45], "xxxxxxxx.............xxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[46], "xxxxxxxxx.....8.....xxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[47], "xxxxxxxxxx...999...xxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[48], "xxxxxxxxxxxx00000xxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[49], "xxxxxxxxxxxxx===xxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[50], "xxxxxxxxxxxx.....xxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[51], "xxxxxxxxxx.........xxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[52], "xxxxxxxxx...........xxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[53], "xxxxxxxx......|......xxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[54], "xxxxxxx...............xxxxxxxxxxxxxxxxxx");
- strcat(vgrid[55], "xxxxxxx...............xxxxxxxxxxxxxxxxxx");
- strcat(vgrid[56], "xxxxxx........$........xxxxxxxxxxxxxxxxx");
- strcat(vgrid[57], "xxxxxx.......$$$.......xxxxxxxxxxxxxxxxx");
- strcat(vgrid[58], "xxxxxx....$$$$$$$$$....xxxxxxxxxxxxxxxxx");
- strcat(vgrid[59], "xxxxx$$$$$$$$$$$$$$$$$$$xxxxxxxxxxxxxxxx");
- strcat(vgrid[60], "xxxxx$$$$$$$$$$$$$$$$$$$xxxxxxxxxxxxxxxx");
- strcat(vgrid[61], "xxxxxx$$$$$$$$$$$$$$$$$xxxxxxxxxxxxxxxxx");
- strcat(vgrid[62], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[63], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[64], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[65], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[66], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[67], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[68], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[69], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- return MAP_SOUTHEAST;
-}
-
-
-static char vault_6(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // a more Angbandy vault
- UNUSED( mons_array );
-
- for (unsigned char i = 0; i < 81; i++)
- strcpy(vgrid[i], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- strcat(vgrid[0], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[1], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[2], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[3], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[4], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[5], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[6], "ccccccccccccccccccccccccccccccccxxxxxxxx");
- strcat(vgrid[7], "c*******cc..9...cc.+8c0c*c.c*c8cxxxxxxxx");
- strcat(vgrid[8], "c******cc..cc..cc..cc0c.c.c.c8ccxxxxxxxx");
- strcat(vgrid[9], "c*****cc..cc..cc..cc.c$c.c.c8c.cxxxxxxxx");
- strcat(vgrid[10], "c****cc9.cc..cc8.cc|c.c|c.c*c0ccxxxxxxxx");
- strcat(vgrid[11], "c***cc..cc..cc..cc.c.c.c.c.c.c$cxxxxxxxx");
- strcat(vgrid[12], "c**cc..cc8.cc..cc.c*c.c.c.c.c.ccxxxxxxxx");
- strcat(vgrid[13], "c+cc9.cc..cc..cc.c.c.c.c*c.c.c.cxxxxxxxx");
- strcat(vgrid[14], "c^c..cc..cc..cc.c$c.c.c.c.c.c*ccxxxxxxxx");
- strcat(vgrid[15], "c...cc..cc..cc.c.c.c9c$c.c.c.c9cxxxxxxxx");
- strcat(vgrid[16], "c..cc..cc..cc$c.c.c*c.c.c.c9c9ccxxxxxxxx");
- strcat(vgrid[17], "c.cc..cc..cc.c.c|c.c.c.c.c$c.c9cxxxxxxxx");
- strcat(vgrid[18], "ccc..cc..cc.c.c.c.c.c.c.c.c.cc+cxxxxxxxx");
- strcat(vgrid[19], "cc..cc..cc.c*c.c.c.c.c.c$c.cc..cxxxxxxxx");
- strcat(vgrid[20], "c0.cc..cc.c.c.c.c8c.c*c.c.cc0.ccxxxxxxxx");
- strcat(vgrid[21], "c.cc..cc*c.c.c.c.c$c.c.c.cc..cccxxxxxxxx");
- strcat(vgrid[22], "c^c..cc.c.c9c.c.c.c.c.c.cc..cc.cxxxxxxxx");
- strcat(vgrid[23], "c0..cc$c.c.c*c0c.c.c.c.cc..cc.0cxxxxxxxx");
- strcat(vgrid[24], "c..cc.c.c9c.c.c.c$c.c.cc.9cc...cxxxxxxxx");
- strcat(vgrid[25], "c.cc9c.c.c.c.c.c.c.c.cc..cc..c^cxxxxxxxx");
- strcat(vgrid[26], "ccc.c.c$c.c.c.c.c.c$cc..cc..cc^cxxxxxxxx");
- strcat(vgrid[27], "cc$c.c.c.c.c$c.c0c.cc..cc..cc..cxxxxxxxx");
- strcat(vgrid[28], "c.c.c.c.c.c.c.c.c.cc9.cc..cc..ccxxxxxxxx");
- strcat(vgrid[29], "cc.c8c.c.c$c.c.c.cc..cc..cc0.cccxxxxxxxx");
- strcat(vgrid[30], "c.c$c.c$c0c.c.c.cc..cc..cc..cc$cxxxxxxxx");
- strcat(vgrid[31], "cc.c.c.c.c.c*c.cc..cc..cc..cc$$cxxxxxxxx");
- strcat(vgrid[32], "c.c.c.c.c.c.c.cc..cc0.cc..cc$$$cxxxxxxxx");
- strcat(vgrid[33], "cc.c.c.c.c.c$cc..cc..cc..cc$$$$cxxxxxxxx");
- strcat(vgrid[34], "c.c.c.c.c.c.cc.8.^..cc....+$$$$cxxxxxxxx");
- strcat(vgrid[35], "cccc@cccccccccccccccccccccccccccxxxxxxxx");
-
- return MAP_NORTHEAST;
-}
-
-static char vault_7(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // four-leaf vault
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[1], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[2], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[3], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[4], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[5], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[6], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[7], "xxxxxxxxxxxxx.........^..^.........xxxxx");
- strcpy(vgrid[8], "xxxxxxxxxxxx...xxxxxxxx..xxxxxxxx...xxxx");
- strcpy(vgrid[9], "xxxxxxxxxxx...xxxxxxxxx..xxxxxxxxx...xxx");
- strcpy(vgrid[10], "xxxxxxxxxx...xx$*....xx..xx....$$xx...xx");
- strcpy(vgrid[11], "xxxxxxxxx...xx$*$....xx..xx....$*$xx...x");
- strcpy(vgrid[12], "xxxxxxxxx..xx*$*$....xx..xx....*$$$xx..x");
- strcpy(vgrid[13], "xxxxxxxxx..xx$$$.00..xx..xx..00.*$*xx..x");
- strcpy(vgrid[14], "xxxxxxxxx..xx....09..xx..xx..90....xx..x");
- strcpy(vgrid[15], "xxxxxxxxx..xx......+xx....xx+......xx..x");
- strcpy(vgrid[16], "xxxxxxxxx..xx......x^......^x......xx..x");
- strcpy(vgrid[17], "xxxxxxxxx..xxxxxxxxx........xxxxxxxxx..x");
- strcpy(vgrid[18], "xxxxxxxxx..xxxxxxxx..........xxxxxxxx..x");
- strcpy(vgrid[19], "xxxxxxxxx..............TT..............x");
- strcpy(vgrid[20], "xxxxxxxxx..............TT..............x");
- strcpy(vgrid[21], "xxxxxxxxx..xxxxxxxx..........xxxxxxxx..x");
- strcpy(vgrid[22], "xxxxxxxxx..xxxxxxxxx........xxxxxxxxx..x");
- strcpy(vgrid[23], "xxxxxxxxx..xx......x^......^x......xx..x");
- strcpy(vgrid[24], "xxxxxxxxx..xx......+xx....xx+......xx..x");
- strcpy(vgrid[25], "xxxxxxxxx..xx....09..xx..xx..90....xx..x");
- strcpy(vgrid[26], "xxxxxxxxx..xx$$*.00..xx..xx..00.*$$xx..x");
- strcpy(vgrid[27], "xxxxxxxxx..xx*$*$....xx..xx....*$$*xx..x");
- strcpy(vgrid[28], "xxxxxxxxx...xx*$*....xx..xx....$$$xx...x");
- strcpy(vgrid[29], "xxxxxxxxxx...xx*$....xx..xx....*$xx...xx");
- strcpy(vgrid[30], "xxxxxxxxxxx...xxxxxxxxx..xxxxxxxxx...xxx");
- strcpy(vgrid[31], "xxxxxxxxxxxx...xxxxxxxx..xxxxxxxx...xxxx");
- strcpy(vgrid[32], "xxxxxxxxxxxxx..^................^..xxxxx");
- strcpy(vgrid[33], "xxxxxxxxxxxxxxxxxxxxxxx^^xxxxxxxxxxxxxxx");
- strcpy(vgrid[34], "xxxxxxxxxxxxxxxxxxxxxxx++xxxxxxxxxxxxxxx");
- strcpy(vgrid[35], "xxxxxxxxxxxxxxxxxxxxxxx@xxxxxxxxxxxxxxxx");
-
- return MAP_NORTHWEST;
-}
-
-static char vault_8(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // cross vault
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[1], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[2], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[3], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[4], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[5], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[6], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[7], "xxxxxxxxxxxxxxxxxx............xxxxxxxxxx");
- strcpy(vgrid[8], "xxxxxxxxxxxxxxx..................xxxxxxx");
- strcpy(vgrid[9], "xxxxxxxxxxxxx......................xxxxx");
- strcpy(vgrid[10], "xxxxxxxxxxxx..........w..w..........xxxx");
- strcpy(vgrid[11], "xxxxxxxxxxx........wwww++wwww........xxx");
- strcpy(vgrid[12], "xxxxxxxxxxx......wwwvvv^^vvvwww......xxx");
- strcpy(vgrid[13], "xxxxxxxxxx......wwwwv.9..9.vwwww......xx");
- strcpy(vgrid[14], "xxxxxxxxxx.....wwwwwv......vwwwww.....xx");
- strcpy(vgrid[15], "xxxxxxxxxx....wwwwwvv......vvwwwww....xx");
- strcpy(vgrid[16], "xxxxxxxxx....wwwwwvv........vvwwwww....x");
- strcpy(vgrid[17], "xxxxxxxxx....wwvvvv....vv....vvvvww....x");
- strcpy(vgrid[18], "xxxxxxxxx...wwwv......vvvv......vwww...x");
- strcpy(vgrid[19], "xxxxxxxxx...wwwv....vv8vv8vv....vwww...x");
- strcpy(vgrid[20], "xxxxxxxxx..wwwwv...vvvv||vvvv...vwwww..x");
- strcpy(vgrid[21], "xxxxxxxxx^^wwwwv...vvvv||vvvv...vwwww^^x");
- strcpy(vgrid[22], "xxxxxxxxx..wwwwv....vv8vv8vv....vwwww..x");
- strcpy(vgrid[23], "xxxxxxxxx...wwwv......vvvv......vwww...x");
- strcpy(vgrid[24], "xxxxxxxxx...wwwvvvv....vv....vvvvwww...x");
- strcpy(vgrid[25], "xxxxxxxxx....wwwwwvv........vvwwwww....x");
- strcpy(vgrid[26], "xxxxxxxxxx...wwwwwwvv......vvwwwwww...xx");
- strcpy(vgrid[27], "xxxxxxxxxx....wwwwwwv......vwwwwww....xx");
- strcpy(vgrid[28], "xxxxxxxxxx.....wwwwwv......vwwwww.....xx");
- strcpy(vgrid[29], "xxxxxxxxxxx.....wwwwvvvvvvvvwwww.....xxx");
- strcpy(vgrid[30], "xxxxxxxxxxx.......wwwwwwwwwwww.......xxx");
- strcpy(vgrid[31], "xxxxxxxxxxxx.........wwwwww.........xxxx");
- strcpy(vgrid[32], "xxxxxxxxxxxxx.........^..^.........xxxxx");
- strcpy(vgrid[33], "xxxxxxxxxxxxxxx.......x++x.......xxxxxxx");
- strcpy(vgrid[34], "xxxxxxxxxxxxxxxxxx...xx..xx...xxxxxxxxxx");
- strcpy(vgrid[35], "xxxxxxxxxxxxxxxxxxxxxx..@.xxxxxxxxxxxxxx");
-
- return MAP_NORTHWEST;
-}
-
-
-static char vault_9(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // another thingy vault
- UNUSED( mons_array );
-
- for (unsigned char i = 0; i < 81; i++)
- strcpy(vgrid[i], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- strcat(vgrid[36], "xxxxxxxxxxxxxxx@xxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[37], "xxxxxxxxxxxxxxx^xxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[38], "xxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[39], "xx.....^...............^.....xxxxxxxxxxx");
- strcat(vgrid[40], "x..bb..xxxxxxxxxxxxxxxxx..bb..xxxxxxxxxx");
- strcat(vgrid[41], "x..b...xxxxxxxxxxxxxxxxx...b..xxxxxxxxxx");
- strcat(vgrid[42], "x...b..xxxxbbbbbbbbbxxxx..b...xxxxxxxxxx");
- strcat(vgrid[43], "x..bb..xxbbb.......bbbxx..bb..xxxxxxxxxx");
- strcat(vgrid[44], "x......xxb....9.9....bxx......xxxxxxxxxx");
- strcat(vgrid[45], "x..bb..xbb..%$$$$$%..bbx..bb..xxxxxxxxxx");
- strcat(vgrid[46], "x...b..xb..0%$***$%0..bx..b...xxxxxxxxxx");
- strcat(vgrid[47], "x..b...xb..0%$*H*$%0..bx...b..xxxxxxxxxx");
- strcat(vgrid[48], "x...b..xb..0%$***$%0..bx..b...xxxxxxxxxx");
- strcat(vgrid[49], "x..b...xb...%$$$$$%...bx...b..xxxxxxxxxx");
- strcat(vgrid[50], "x...b..xbb.900000009.bbx..b...xxxxxxxxxx");
- strcat(vgrid[51], "x..b...xxb...........bxx...b..xxxxxxxxxx");
- strcat(vgrid[52], "x..bb..xxbbb..9.9..bbbxx..bb..xxxxxxxxxx");
- strcat(vgrid[53], "x......xxxxbbbb.bbbbxxxx......xxxxxxxxxx");
- strcat(vgrid[54], "x..bb..xxxxxxxb=bxxxxxxx..bb..xxxxxxxxxx");
- strcat(vgrid[55], "x..b...xxxxxxxx=xxxxxxxx...b..xxxxxxxxxx");
- strcat(vgrid[56], "x...b..xxxxxxxx^xxxxxxxx..b...xxxxxxxxxx");
- strcat(vgrid[57], "x..b....xxxxxxx=xxxxxxx....b..xxxxxxxxxx");
- strcat(vgrid[58], "x...b...^.............^...b...xxxxxxxxxx");
- strcat(vgrid[59], "x..b....xxxxxxxxxxxxxxx....b..xxxxxxxxxx");
- strcat(vgrid[60], "x..bb..xxxxxxxxxxxxxxxxx..bb..xxxxxxxxxx");
- strcat(vgrid[61], "xx....xxxxxxxxxxxxxxxxxxx....xxxxxxxxxxx");
- strcat(vgrid[62], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[63], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[64], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[65], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[66], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[67], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[68], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[69], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- return MAP_SOUTHEAST;
-}
-
-
-static char vault_10(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // impenetrable vault
- UNUSED( mons_array );
-
- for (unsigned char i = 0; i < 81; i++)
- strcpy(vgrid[i], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- strcat(vgrid[36], "..............@................xxxxxxxxx");
- strcat(vgrid[37], "...............................xxxxxxxxx");
- strcat(vgrid[38], "...............................xxxxxxxxx");
- strcat(vgrid[39], "...............................xxxxxxxxx");
- strcat(vgrid[40], "...............................xxxxxxxxx");
- strcat(vgrid[41], ".....cccccccccccccccc..........xxxxxxxxx");
- strcat(vgrid[42], ".....c[^...........9cc.........xxxxxxxxx");
- strcat(vgrid[43], ".....c^xxxxx=xxxxxx..cc........xxxxxxxxx");
- strcat(vgrid[44], ".....c.x9..^^^...9xx..cc.......xxxxxxxxx");
- strcat(vgrid[45], ".....c.x.xxx=xxxx..xx..cc......xxxxxxxxx");
- strcat(vgrid[46], ".....c.x^x$$$$$$xx..xx.9c......xxxxxxxxx");
- strcat(vgrid[47], ".....c.=^=$*|||*$xx..xx.c......xxxxxxxxx");
- strcat(vgrid[48], ".....c.x^xx$*|||*$xx.9x.c......xxxxxxxxx");
- strcat(vgrid[49], ".....c.x9.xx$*|||*$xx^x.c......xxxxxxxxx");
- strcat(vgrid[50], ".....c.xx..xx$*|||*$=^=.c......xxxxxxxxx");
- strcat(vgrid[51], ".....c9.xx..xx$$$$$$x^x.c......xxxxxxxxx");
- strcat(vgrid[52], ".....cc..xx..xxxx=xxx.x.c......xxxxxxxxx");
- strcat(vgrid[53], "......cc..xx9...^^^..9x.c......xxxxxxxxx");
- strcat(vgrid[54], ".......cc..xxxxxx=xxxxx^c......xxxxxxxxx");
- strcat(vgrid[55], "........cc9...........^]c......xxxxxxxxx");
- strcat(vgrid[56], ".........cccccccccccccccc......xxxxxxxxx");
- strcat(vgrid[57], "...............................xxxxxxxxx");
- strcat(vgrid[58], "...............................xxxxxxxxx");
- strcat(vgrid[59], "...............................xxxxxxxxx");
- strcat(vgrid[60], "...............................xxxxxxxxx");
- strcat(vgrid[61], "...............................xxxxxxxxx");
- strcat(vgrid[62], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[63], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[64], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[65], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[66], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[67], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[68], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[69], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- return MAP_SOUTHEAST;
-}
-
-
-static char orc_temple(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{
- for (unsigned char i = 0; i < 81; i++)
- strcpy(vgrid[i], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- strcpy(vgrid[36], "xxxxxxxxxxxxxxxxxxxxxxx@xxxxxxxxxxxxxxxx");
- strcpy(vgrid[37], "xxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxx");
- strcpy(vgrid[38], "xxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxxxx");
- strcpy(vgrid[39], "xxxxxxxxxxxxxxxxxxxxxx4.4xxxxxxxxxxxxxxx");
- strcpy(vgrid[40], "xxxxxxxxx**..........x414x..........**xx");
- strcpy(vgrid[41], "xxxxxxxxx**..........x4.4x..........**xx");
- strcpy(vgrid[42], "xxxxxxxxx............+...+....4.......xx");
- strcpy(vgrid[43], "xxxxxxxxx....4..4....x...x............xx");
- strcpy(vgrid[44], "xxxxxxxxx............x...x.......4....xx");
- strcpy(vgrid[45], "xxxxxxxxx............xx.xx............xx");
- strcpy(vgrid[46], "xxxxxxxxx...4......xxxx+xxxx......6...xx");
- strcpy(vgrid[47], "xxxxxxxxx........xxx.......xxx........xx");
- strcpy(vgrid[48], "xxxxxxxxxxx...xxxx..2.....2..xxxx...xxxx");
- strcpy(vgrid[49], "xxxxxxxxxxxx+xxxx.............xxxx+xxxxx");
- strcpy(vgrid[50], "xxxxxxxxxxx...xxx.............xxx...xxxx");
- strcpy(vgrid[51], "xxxxxxxxx......x...............x......xx");
- strcpy(vgrid[52], "xxxxxxxxx..4...x...2...I...2...x...5..xx");
- strcpy(vgrid[53], "xxxxxxxxx......x...............x......xx");
- strcpy(vgrid[54], "xxxxxxxxx...4..xx.............xx..5...xx");
- strcpy(vgrid[55], "xxxxxxxxx$......x....2...2....x......$xx");
- strcpy(vgrid[56], "xxxxxxxxx$6..5..xx.....3.....xx.5...7$xx");
- strcpy(vgrid[57], "xxxxxxxxx$$$.....xxx.......xxx.....$$$xx");
- strcpy(vgrid[58], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[59], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[60], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[61], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[62], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[63], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[64], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[65], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[66], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[67], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[68], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[69], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- mons_array[0] = MONS_ORC_WARLORD;
- mons_array[1] = MONS_ORC_PRIEST;
- mons_array[2] = MONS_ORC_HIGH_PRIEST;
- mons_array[3] = MONS_ORC_WARRIOR;
- mons_array[4] = MONS_ORC_WIZARD;
- mons_array[5] = MONS_ORC_KNIGHT;
- mons_array[6] = MONS_ORC_SORCERER;
-
- return MAP_SOUTHWEST;
-}
-
-static char my_map(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // by Matthew Ludivico
-
- for (unsigned char i = 0; i < 81; i++)
- strcpy(vgrid[i], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- strcpy(vgrid[36], "xxxxxxxxxx.@.xxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[37], "xxxxxxxxxxx...xxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[38], "xxxxxxxxxxxx..........................xx");
- strcpy(vgrid[39], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx..xx");
- strcpy(vgrid[40], "xxxxxxxxx.^^..........................xx");
- strcpy(vgrid[41], "xxxxxxxxxx.^^xx+xxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[42], "xxxxxxxxxxx.^...11....xxxxxxxx..xxxxxxxx");
- strcpy(vgrid[43], "xxxxxxxxxxxx..x.1..6..xxx........xx..xxx");
- strcpy(vgrid[44], "xxxxxxxxxxxxx.xxxxxxxxx...vvvvv...x...xx");
- strcpy(vgrid[45], "xxxxxxxxx6..1...x.........+1..v.......xx");
- strcpy(vgrid[46], "xxxxxxxxx..1....x.........vvvvv........x");
- strcpy(vgrid[47], "xxxxxxxxx..5...xx......................x");
- strcpy(vgrid[48], "xxxxxxxxxxxxxx^++...........vvvvvvv....x");
- strcpy(vgrid[49], "xxxxxxxxxxxxxx^xx...xx=xx...vv$%$vvvvv.x");
- strcpy(vgrid[50], "xxxxxxxxxxxxxx^x...xxv1vxx...vvv*2...v.x");
- strcpy(vgrid[51], "xxxxxxxxxxxxxx^x..vvvv7.vvvv...vv.vv+v^x");
- strcpy(vgrid[52], "xxxxxxxxx..xxx^..vvvb....bvvv...vvv^...x");
- strcpy(vgrid[53], "xxxxxxxxx%%.xx..vvvvb....bvvvv.......xxx");
- strcpy(vgrid[54], "xxxxxxxxxx.....vvbbb......bbbvv.....xxxx");
- strcpy(vgrid[55], "xxxxxxxxxxx....vvb....66....bvvxxxxxxxxx");
- strcpy(vgrid[56], "xxxxxxxxxxxxxxvvvb..llllll..bvvvxxxxxxxx");
- strcpy(vgrid[57], "xxxxxxxxxvvvvvvvvb..ll45ll..bvvvvvvvvxxx");
- strcpy(vgrid[58], "xxxxxxxxxccc***+== .l3.2.l..cccccccccxxx");
- strcpy(vgrid[59], "xxxxxxxxxccc+cccbb....ll....c..$$$$+$*cx");
- strcpy(vgrid[60], "xxxxxxxxxcc|||cbb...3llll2...cc%*%*c$|cx");
- strcpy(vgrid[61], "xxxxxxxxxcccccccbbbbbbbbbbbccccccccccccx");
- strcpy(vgrid[62], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[63], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[64], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[65], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[66], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[67], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[68], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[69], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- mons_array[0] = MONS_HELL_HOUND;
- mons_array[1] = MONS_NECROMANCER;
- mons_array[2] = MONS_WIZARD;
- mons_array[3] = MONS_ORANGE_DEMON;
- mons_array[4] = MONS_ROTTING_DEVIL;
- mons_array[5] = MONS_HELL_KNIGHT;
- mons_array[6] = MONS_GREAT_ORB_OF_EYES;
-
- return MAP_SOUTHWEST;
-}
-
-static char farm_and_country(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // by Matthew Ludivico (mll6@lehigh.edu)
-
- for (unsigned char i = 0; i < 81; i++)
- strcpy(vgrid[i], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- strcpy(vgrid[0], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[1], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[2], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[3], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[4], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[5], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[6], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[7], "xxxxxxxxxxxxxxxxx..........................................xxxxxxxx}.xxxxxxxxxxx");
- strcpy(vgrid[8], "xxxxxxxxxxxxxxxxxxx............xxxxxx....xxx.......xx...........xxxx..]xxxxxxxxx");
- strcpy(vgrid[9], "xxxxxxxxxxxxxxx***x...........xxx..xxx............xxxx...........xx..xxxxxxxxxxx");
- strcpy(vgrid[10], "xxxxxxxxxxxxxxx|*$=...xx.xxxxxxx....xxxxxxxxxx......xx................xxxxxxxxxx");
- strcpy(vgrid[11], "xxxxxxxxxxxxxxxxxxx....xxxxxxxx......3..xxx.................x..........xxxxxxxxx");
- strcpy(vgrid[12], "xxxxxxxxxxxxxxxxxx......x........x......xx.........w...................xxxxxxxxx");
- strcpy(vgrid[13], "xxxxxxxxxxx)......xx...xxx.....xxx......x........www3....3.............xxxxxxxxx");
- strcpy(vgrid[14], "xxxxxxxxxxxx=xxxxxxxxxxx...xxxxxxxxx..xxx.....wwwww....%%%.............xxxxxxxxx");
- strcpy(vgrid[15], "xxxxxxxxxx......xxx.......xx.xxxx.x...xxxxxxxwwwwwww..5%%%..........xx.xxxxxxxxx");
- strcpy(vgrid[16], "xxxxxxxxx.........x..xxxxxxxx.....x........3wwwwwwwww..%%%........xxx..xxxxxxxxx");
- strcpy(vgrid[17], "xxxxxxxxx....5...xx..x.xxxxx.....xxx........wwwwwwwww..%%%..........xx.xxxxxxxxx");
- strcpy(vgrid[18], "xxxxxxxxxxx.....xxx..xx..xx........xxxxxxxxxwwwwwwwww..............xxx.xxxxxxxxx");
- strcpy(vgrid[19], "xxxxxxxxxx........x..x...............xx..xxxxwwwwwwwwwwwwww............xxxxxxxxx");
- strcpy(vgrid[20], "xxxxxxxxx.............................x.....xxwwwwww3wwwwww............xxxxxxxxx");
- strcpy(vgrid[21], "xxxxxxxxxxx...x...........5.....7...............ww.......ww.....44....xxxxxxxxxx");
- strcpy(vgrid[22], "xxxxxxxxxwxx..xx.....622...2.26...6.2...22.6...62..2..226ww.....44xx...xxxxxxxxx");
- strcpy(vgrid[23], "xxxxxxxxxwwxxxx......2....2.22....2..2...2.2.......22...2ww....xxxx..xxxxxxxxxxx");
- strcpy(vgrid[24], "xxxxxxxxxwwwwxxx......2...2.2.2...2.22..2.22...22.2.2..22ww.....xxx....xxxxxxxxx");
- strcpy(vgrid[25], "xxxxxxxxxwwwwwx....4..2...2...........22...277..2..2.2.22ww...........xxxxxxxxxx");
- strcpy(vgrid[26], "xxxxxxxxxwwwwwxx....42..2....22.4..2..2...2.4..2.22..22.2ww............xxxxxxxxx");
- strcpy(vgrid[27], "xxxxxxxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.wwwwwwwwwwwww..2.........xxxxxxxxx");
- strcpy(vgrid[28], "xxxxxxxxxwwwwwxx.....62....2.26...62.2.2..26...6...22..26..............xxxxxxxxx");
- strcpy(vgrid[29], "xxxxxxxxxwwwww.........................................................xxxxxxxxx");
- strcpy(vgrid[30], "xxxxxxxxxwwwwwxx....222.2.22..2.7.......7..............................xxxxxxxxx");
- strcpy(vgrid[31], "xxxxxxxxxwwwww...........ccccccc+ccccccc...ccc......cc+ccc...xxxxx.....xxxxxxxxx");
- strcpy(vgrid[32], "xxxxxxxxxwwwwwxx.........c$$*.c$$5$+.5.c...+5c......c%%%%c......xxx3...xxxxxxxxx");
- strcpy(vgrid[33], "xxxxxxxxxwwwwwx....2.....c$.c+cccccc.%.c...ccc......c%%%%c....xxxxx....xxxxxxxxx");
- strcpy(vgrid[34], "xxxxxxxxxwwwwwx..........c..c..........c............cccccc......xxx....xxxxxxxxx");
- strcpy(vgrid[35], "xxxxxxxxxwwxxxxxxx.......ccccc+ccccccccc.........................xx....xxxxxxxxx");
- strcpy(vgrid[36], "xxxxxxxxxwxx.....xxxx........c...c.................2...................xxxxxxxxx");
- strcpy(vgrid[37], "xxxxxxxxxxx.........xxxx...........2....xxxx...........................xxxxxxxxx");
- strcpy(vgrid[38], "xxxxxxxxx..............xxxx..........xxxx..x...........................xxxxxxxxx");
- strcpy(vgrid[39], "xxxxxxxxx.................xxxxx++xxxxx.....xx............xx...x........xxxxxxxxx");
- strcpy(vgrid[40], "xxxxxxxxx.....................c..c..........xxxxx..........xxxxx.......xxxxxxxxx");
- strcpy(vgrid[41], "xxxxxxxxx.......cccc..........c..c...cccc......xxx...........x.........xxxxxxxxx");
- strcpy(vgrid[42], "xxxxxxxxx.......c..c..........c++c...c..c........xxx.........x.........xxxxxxxxx");
- strcpy(vgrid[43], "xxxxxxxxx.......c..c..........c..c...c..c..........xxx.................xxxxxxxxx");
- strcpy(vgrid[44], "xxxxxxxxx....cccc++cccccccccccc++ccccc..ccccccc......xxx...............xxxxxxxxx");
- strcpy(vgrid[45], "xxxxxxxxx....c..........1.....................c........xxx.............xxxxxxxxx");
- strcpy(vgrid[46], "xxxxxxxxx.cccc.....w....w....%1.....w.....%...c..........xxx...........xxxxxxxxx");
- strcpy(vgrid[47], "xxxxxxxxx.c1.+....www..www..%%%....www...%%%1.c...........xxxxxxxxx....xxxxxxxxx");
- strcpy(vgrid[48], "xxxxxxxxx.cccc.....w....w....%......w.....%...c..................xxx...xxxxxxxxx");
- strcpy(vgrid[49], "xxxxxxxxx....c.......5........................c....................xxxxxxxxxxxxx");
- strcpy(vgrid[50], "xxxxxxxxx....ccc....%%%%%....cccccccccccccccccc........................xxxxxxxxx");
- strcpy(vgrid[51], "xxxxxxxxx......cc...........cc.........................................xxxxxxxxx");
- strcpy(vgrid[52], "xxxxxxxxx.......cccccc+cccccc..........................................xxxxxxxxx");
- strcpy(vgrid[53], "xxxxxxxxx........cc.......cc...........................................xxxxxxxxx");
- strcpy(vgrid[54], "xxxxxxxxx.........cc.....cc.....................cccccccccccccccccccccccxxxxxxxxx");
- strcpy(vgrid[55], "xxxxxxxxx..........ccc+ccc......................c......vvv.............xxxxxxxxx");
- strcpy(vgrid[56], "xxxxxxxxx..........ccc.c........................c......v5+...vvvvv.....xxxxxxxxx");
- strcpy(vgrid[57], "xxxxxxxxx..........ccc.c........................c......vvv...v.5.v.....xxxxxxxxx");
- strcpy(vgrid[58], "xxxxxxxxxccccccccccccc.ccc......................c............v..5v.....xxxxxxxxx");
- strcpy(vgrid[59], "xxxxxxxxx..........c.....cccccccccccccccccccccccccccc..........vv+vv...xxxxxxxxx");
- strcpy(vgrid[60], "xxxxxxxxx..........c............................+................5111..xxxxxxxxx");
- strcpy(vgrid[61], "xxxxxxxxx..........c.{([.c......................+................5.....xxxxxxxxx");
- strcpy(vgrid[62], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[63], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[64], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[65], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[66], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[67], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[68], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[69], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- mons_array[0] = MONS_DEATH_YAK;
- mons_array[1] = MONS_PLANT;
- mons_array[2] = MONS_GRIFFON;
- mons_array[3] = MONS_KILLER_BEE;
- mons_array[4] = MONS_OGRE;
- mons_array[5] = MONS_OKLOB_PLANT;
- mons_array[6] = MONS_WANDERING_MUSHROOM;
-
- return MAP_ENCOMPASS;
-}
-
-
-static char fort_yaktaur(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // by Matthew Ludivico (mll6@lehigh.edu)
-
- for (unsigned char i = 0; i < 81; i++)
- strcpy(vgrid[i], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- strcat(vgrid[36], ".........@....wwwwwwwwwwwwwwwwwxxxxxxxxx");
- strcat(vgrid[37], ".ccccc.......ww....wwww....wwwwxxxxxxxxx");
- strcat(vgrid[38], ".c$c%c......ww.ccccccccc.......xxxxxxxxx");
- strcat(vgrid[39], ".c+c+c......ww.c.%$....ccccccccxxxxxxxxx");
- strcat(vgrid[40], ".c...+......ww.c*.115..c$$+|*|cxxxxxxxxx");
- strcat(vgrid[41], ".c1..c.....ww..c...55+ccc+cxx=cxxxxxxxxx");
- strcat(vgrid[42], ".ccccc.....ww..ccccccc....c|=*cxxxxxxxxx");
- strcat(vgrid[43], "............ww.......c5...cxx=cxxxxxxxxx");
- strcat(vgrid[44], "....6.ccccc.ww.w...2.+51..c|1.cxxxxxxxxx"); // last 1 here was 7
- strcat(vgrid[45], "....63+...c..wwww..21+51..c2.2cxxxxxxxxx");
- strcat(vgrid[46], "....6.ccccc..wwwwww..c5...cc+ccxxxxxxxxx");
- strcat(vgrid[47], "............wwwwwww..c........cxxxxxxxxx");
- strcat(vgrid[48], "............wwwwwww..ccccccccccxxxxxxxxx");
- strcat(vgrid[49], "...........ww1w..www...........xxxxxxxxx");
- strcat(vgrid[50], ".......566.www.....www.........xxxxxxxxx");
- strcat(vgrid[51], ".........1ww....ccccc..........xxxxxxxxx");
- strcat(vgrid[52], ".....566.w......+...c..........xxxxxxxxx");
- strcat(vgrid[53], ".........www....ccccc..........xxxxxxxxx");
- strcat(vgrid[54], "...........ww............wwwwwwxxxxxxxxx");
- strcat(vgrid[55], ".......3....wwwww......www.....xxxxxxxxx");
- strcat(vgrid[56], "......666.......ww...www.......xxxxxxxxx");
- strcat(vgrid[57], ".....cc+cc.......wwwww.........xxxxxxxxx");
- strcat(vgrid[58], ".....c...c.....................xxxxxxxxx");
- strcat(vgrid[59], ".....ccccc.....................xxxxxxxxx");
- strcat(vgrid[60], "...............................xxxxxxxxx");
- strcat(vgrid[61], "...............................xxxxxxxxx");
- strcat(vgrid[62], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[63], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[64], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[65], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[66], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[67], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[68], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[69], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- mons_array[0] = MONS_YAKTAUR;
- mons_array[1] = MONS_DEATH_YAK;
- mons_array[2] = MONS_MINOTAUR;
- mons_array[3] = RANDOM_MONSTER;
- mons_array[4] = MONS_YAK;
- mons_array[5] = MONS_GNOLL;
- mons_array[6] = RANDOM_MONSTER;
-
- return MAP_SOUTHEAST;
-}
-
-
-static char box_level(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // by John Savard
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[1], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[2], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[3], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[4], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[5], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[6], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[7], "xxxxxxxxx.................xx.............x...................^.........xxxxxxxxx");
- strcpy(vgrid[8], "xxxxxxxxx.................xx...xxxxxx....x.xxxxxxx.xxxxxxxxxxxxxxxxxxx.xxxxxxxxx");
- strcpy(vgrid[9], "xxxxxxxxx.................xx...xx.0......x.x........x......x.........x.xxxxxxxxx");
- strcpy(vgrid[10], "xxxxxxxxx..$..............xx...xx........x.x........x.....%x.x..*..xxx.xxxxxxxxx");
- strcpy(vgrid[11], "xxxxxxxxx......................xx........x.x........x.xxxxxx.x.....x...xxxxxxxxx");
- strcpy(vgrid[12], "xxxxxxxxx......................xx....%...x.x........x.x......xxxxxxx.x.xxxxxxxxx");
- strcpy(vgrid[13], "xxxxxxxxx.................xx...xx........x.x........x.x.xxxxxx.......x.xxxxxxxxx");
- strcpy(vgrid[14], "xxxxxxxxx.................xx...xx........x.x..{.....x.x..............x.xxxxxxxxx");
- strcpy(vgrid[15], "xxxxxxxxx.............0...xx...xxxxxxxxxxx.xxxxxxxxxx.xxxxxxxxxxxxxxxx.xxxxxxxxx");
- strcpy(vgrid[16], "xxxxxxxxx.................xx...........................................xxxxxxxxx");
- strcpy(vgrid[17], "xxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[18], "xxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxx}x.........................>=........xxxxxxxxx");
- strcpy(vgrid[19], "xxxxxxxxx..................x...xxx.x.xxx+xxxxxxxxxxxxxxxx+xxxxx........xxxxxxxxx");
- strcpy(vgrid[20], "xxxxxxxxx..xxxxxxxxxxxxxx..x...xxx.x.x0...x..0..............0.x........xxxxxxxxx");
- strcpy(vgrid[21], "xxxxxxxxx..x............x..x...xxx.x.x....x...................x........xxxxxxxxx");
- strcpy(vgrid[22], "xxxxxxxxx....xxxxxxxxx..x..x...xxx.x.x....x...................x......8*xxxxxxxxx");
- strcpy(vgrid[23], "xxxxxxxxx..x.x....0..x..x..x...xxx...x...%x...................x......*|xxxxxxxxx");
- strcpy(vgrid[24], "xxxxxxxxx..x.x..........x..x...xxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[25], "xxxxxxxxx..x.x*......x..x..x..........x...........0...x...%............xxxxxxxxx");
- strcpy(vgrid[26], "xxxxxxxxx..x.xxxxxxxxx..x..=..........x.xxxxxxxxxxxxx.x................xxxxxxxxx");
- strcpy(vgrid[27], "xxxxxxxxx..x......0.....xxxxxxx.......x.x...x...x...x.x................xxxxxxxxx");
- strcpy(vgrid[28], "xxxxxxxxx..xxxxxxxxxxxxxxxxxxxx..0....x...x.x.x.x.x.x.x......0.........xxxxxxxxx");
- strcpy(vgrid[29], "xxxxxxxxx..........^.........xx.......x.x.x.x.x.x.x...+................xxxxxxxxx");
- strcpy(vgrid[30], "xxxxxxxxxcccccccccccccccccc..xx.......x.x$x...x...xxxxx................xxxxxxxxx");
- strcpy(vgrid[31], "xxxxxxxxxc...........9....c..xx.......x.x.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[32], "xxxxxxxxxc......c............xx.......x.x.x...x..0.....................xxxxxxxxx");
- strcpy(vgrid[33], "xxxxxxxxxc.....|c............xx.......x.x.x.x.x........................xxxxxxxxx");
- strcpy(vgrid[34], "xxxxxxxxxc...........9....c..xx.......x.x...x.x........................xxxxxxxxx");
- strcpy(vgrid[35], "xxxxxxxxxcccccccccccccccccc..xx.......x.xxxxx.x........................xxxxxxxxx");
- strcpy(vgrid[36], "xxxxxxxxx....................xx.......x.x.....=....................*...xxxxxxxxx");
- strcpy(vgrid[37], "xxxxxxxxx....................xx.......x.x.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[38], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.......x.x.x...........................(xxxxxxxxx");
- strcpy(vgrid[39], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxx.x$x..xxxx.xxxxxxxxxxxxxxxxxxxx.xxxxxxxxx");
- strcpy(vgrid[40], "xxxxxxxxx...............................x.x..x.......................x.xxxxxxxxx");
- strcpy(vgrid[41], "xxxxxxxxx..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.x..x.xxxxxxxxxxxxx.........x.xxxxxxxxx");
- strcpy(vgrid[42], "xxxxxxxxx.............)xxx................x..x.xxxxxxxxxxxxx.........x.xxxxxxxxx");
- strcpy(vgrid[43], "xxxxxxxxx..............xxx.xxxxxxxxxxxxxxxx..x.xxxxxxxxxxxxx.........x.xxxxxxxxx");
- strcpy(vgrid[44], "xxxxxxxxx..............xxx...................x.x...........xxxxx+xxxxx.xxxxxxxxx");
- strcpy(vgrid[45], "xxxxxxxxx..............xxxxxxxxxxxxxxxxxxxxxxx.x..$........x.........x.xxxxxxxxx");
- strcpy(vgrid[46], "xxxxxxxxx......9.......xxxxxxxxxxxxxxxxxxxxxxx.x...........x........%x.xxxxxxxxx");
- strcpy(vgrid[47], "xxxxxxxxx..............xxxxxxxxxxxxxxxxxxxxxxx.x.0.........x0........x.xxxxxxxxx");
- strcpy(vgrid[48], "xxxxxxxxx..............xxxxxxxxxxxxxxxxxxxxxxx.x.......$...x.........x.xxxxxxxxx");
- strcpy(vgrid[49], "xxxxxxxxx..............xxxxxxxxxxxxxxxxxxxxxxx.x...........xxxxxxxxxxx.xxxxxxxxx");
- strcpy(vgrid[50], "xxxxxxxxx..............xxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxx.x...........xxxxxxxxx");
- strcpy(vgrid[51], "xxxxxxxxx..............xxxxxxxxxxxxxxxxxxxxxxx.............x...........xxxxxxxxx");
- strcpy(vgrid[52], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx+xxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[53], "xxxxxxxxx..............................................................xxxxxxxxx");
- strcpy(vgrid[54], "xxxxxxxxx.xxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxx.xxxxxxx=xxxxxx.xxxxxx.xxxxxxxxx");
- strcpy(vgrid[55], "xxxxxxxxx.....xx.................xxxxxxxxxxx.......x........x.....x....xxxxxxxxx");
- strcpy(vgrid[56], "xxxxxxxxx....0xx.................xxxxxxxxxxx.%.....x.0......x...0.x....xxxxxxxxx");
- strcpy(vgrid[57], "xxxxxxxxx.....xx.9...............xxxxxxxxxxx.......x........x.%...x..$.xxxxxxxxx");
- strcpy(vgrid[58], "xxxxxxxxx.....xx.................xxxxxxxxxxx.......x........x.....x....xxxxxxxxx");
- strcpy(vgrid[59], "xxxxxxxxx.....xx.................xxxxxxxxxxx.......x........x.....x..0.xxxxxxxxx");
- strcpy(vgrid[60], "xxxxxxxxx....0xx.................xxxxxxxxxxx.......x$.......x.....x....xxxxxxxxx");
- strcpy(vgrid[61], "xxxxxxxxx]....xx................*xxxxxxxxxxx......[x........x.....x$...xxxxxxxxx");
- strcpy(vgrid[62], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[63], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[64], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[65], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[66], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[67], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[68], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[69], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- return MAP_ENCOMPASS;
-}
-
-
-static char vestibule_map(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // this is the vestibule
-
- strcpy(vgrid[0], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[1], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[2], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[3], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[4], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[5], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[6], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxvvvvvvvxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[7], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx..v.....v..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[8], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.....v.....v.....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[9], "xxxxxxxxxxxxxxxxxxxxxxxxxxxx........v.....v........xxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[10], "xxxxxxxxxxxxxxxxxxxxxxxxxx..........v..A..v..........xxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[11], "xxxxxxxxxxxxxxxxxxxxxxxx............v.....v............xxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[12], "xxxxxxxxxxxxxxxxxxxxxxx.............v.....v.............xxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[13], "xxxxxxxxxxxxxxxxxxxxxx..............vvv+vvv..............xxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[14], "xxxxxxxxxxxxxxxxxxxxx.....................................xxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[15], "xxxxxxxxxxxxxxxxxxxx.......................................xxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[16], "xxxxxxxxxxxxxxxxxxx.........................................xxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[17], "xxxxxxxxxxxxxxxxxx...........................................xxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[18], "xxxxxxxxxxxxxxxxx.............................................xxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[19], "xxxxxxxxxxxxxxxx...............................................xxxxxxxxxxxxxxxxx");
- strcpy(vgrid[20], "xxxxxxxxxxxxxxx.................................................xxxxxxxxxxxxxxxx");
- strcpy(vgrid[21], "xxxxxxxxxxxxxx...................................................xxxxxxxxxxxxxxx");
- strcpy(vgrid[22], "xxxxxxxxxxxxx.....................................................xxxxxxxxxxxxxx");
- strcpy(vgrid[23], "xxxxxxxxxxxxx.....................................................xxxxxxxxxxxxxx");
- strcpy(vgrid[24], "xxxxxxxxxxxx.......................................................xxxxxxxxxxxxx");
- strcpy(vgrid[25], "xxxxxxxxxxxx.......................................................xxxxxxxxxxxxx");
- strcpy(vgrid[26], "xxxxxxxxxxx.........................................................xxxxxxxxxxxx");
- strcpy(vgrid[27], "xxxxxxxxxxx............................{............................xxxxxxxxxxxx");
- strcpy(vgrid[28], "xxxxxxxxxxx.........................................................xxxxxxxxxxxx");
- strcpy(vgrid[29], "xxxxxxxxxx...l.l.....................................................xxxxxxxxxxx");
- strcpy(vgrid[30], "xxxxxxxxxx..l.l.l.l..................................................xxxxxxxxxxx");
- strcpy(vgrid[31], "xxxxxxxxxx.l.l.l.l.l.................................................xxxxxxxxxxx");
- strcpy(vgrid[32], "xxxxxxxxx.l.l.l.l.l...................................................xxxxxxxxxx");
- strcpy(vgrid[33], "xxxxxxxxxl.l.l.l.l.l..................................................xxxxxxxxxx");
- strcpy(vgrid[34], "xxxxxxxxx.l.l.l.A.l.l.................}1].............................=Axxxxxxxx");
- strcpy(vgrid[35], "xxxxxxxxxl.l.l.l.l.l.l.................)..............................xxxxxxxxxx");
- strcpy(vgrid[36], "xxxxxxxxx.l.l.l.l.l.l.................................................xxxxxxxxxx");
- strcpy(vgrid[37], "xxxxxxxxxx.l.l.l.l.l.l...............................................xxxxxxxxxxx");
- strcpy(vgrid[38], "xxxxxxxxxx..l.l.l.l..................................................xxxxxxxxxxx");
- strcpy(vgrid[39], "xxxxxxxxxx.....l.l...................................................xxxxxxxxxxx");
- strcpy(vgrid[40], "xxxxxxxxxxx......................[...........(......................xxxxxxxxxxxx");
- strcpy(vgrid[41], "xxxxxxxxxxx.........................................................xxxxxxxxxxxx");
- strcpy(vgrid[42], "xxxxxxxxxxx.........................................................xxxxxxxxxxxx");
- strcpy(vgrid[43], "xxxxxxxxxxxx.......................................................xxxxxxxxxxxxx");
- strcpy(vgrid[44], "xxxxxxxxxxxx.......................................................xxxxxxxxxxxxx");
- strcpy(vgrid[45], "xxxxxxxxxxxxx.....................................................xxxxxxxxxxxxxx");
- strcpy(vgrid[46], "xxxxxxxxxxxxx.....................................................xxxxxxxxxxxxxx");
- strcpy(vgrid[47], "xxxxxxxxxxxxxx...................................................xxxxxxxxxxxxxxx");
- strcpy(vgrid[48], "xxxxxxxxxxxxxxx....................wwwww........................xxxxxxxxxxxxxxxx");
- strcpy(vgrid[49], "xxxxxxxxxxxxxxxx..................wwwwwwww.....................xxxxxxxxxxxxxxxxx");
- strcpy(vgrid[50], "xxxxxxxxxxxxxxxxx..............wwwwwwwwwwwww..................xxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[51], "xxxxxxxxxxxxxxxxxx...........w..wwww..wwwww..w...............xxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[52], "xxxxxxxxxxxxxxxxxxx..........w...ww.....ww..wwwww...........xxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[53], "xxxxxxxxxxxxxxxxxxxx.........ww......ww....wwwwwwwww.......xxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[54], "xxxxxxxxxxxxxxxxxxxxx.........ww....wwww...wwwwwwwwww.....xxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[55], "xxxxxxxxxxxxxxxxxxxxxx.........ww....ww....wwwwwwwwwww...xxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[56], "xxxxxxxxxxxxxxxxxxxxxxx........wwww.......wwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[57], "xxxxxxxxxxxxxxxxxxxxxxxx......wwwwwww....wwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[58], "xxxxxxxxxxxxxxxxxxxxxxxxxx...wwwwwwwwwwAwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[59], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[60], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[61], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[62], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[63], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[64], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[65], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[66], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[67], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[68], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[69], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- mons_array[0] = MONS_GERYON;
- mons_array[1] = RANDOM_MONSTER;
- mons_array[2] = RANDOM_MONSTER;
- mons_array[3] = RANDOM_MONSTER;
- mons_array[4] = RANDOM_MONSTER;
- mons_array[5] = RANDOM_MONSTER;
- mons_array[6] = RANDOM_MONSTER;
-
- return MAP_ENCOMPASS;
-}
-
-
-static char castle_dis(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // Dispater's castle - rest of level filled up with plan_4 (irregular city)
-
- strcpy(vgrid[0], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[1], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[2], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[3], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[4], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[5], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[6], "xxxxxxxxvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvxxxxxxxx");
- strcpy(vgrid[7], "xxxxxxxxv..............................................................vxxxxxxxx");
- strcpy(vgrid[8], "xxxxxxxxv..vvvvvvvvv........................................vvvvvvvvv..vxxxxxxxx");
- strcpy(vgrid[9], "xxxxxxxxv..v3.....|v........................................v|.....2v..vxxxxxxxx");
- strcpy(vgrid[10], "xxxxxxxxv..v.vv+vvvv.v.v.v.v.v.v.v.v.v..v.v.v.v.v.v.v.v.v.v.vvvv+vv.v..vxxxxxxxx");
- strcpy(vgrid[11], "xxxxxxxxv..v.v.....vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv.....v.v..vxxxxxxxx");
- strcpy(vgrid[12], "xxxxxxxxv..v|v.....+$$v$$+$$v||vvvvvvvvvvvvvvvvv$$$$v4.4.v$$v.....v|v..vxxxxxxxx");
- strcpy(vgrid[13], "xxxxxxxxv..vvvv+vvvv$$+$$v$$+||v...............v$$$$+.4.4+$$v+vv+vvvv..vxxxxxxxx");
- strcpy(vgrid[14], "xxxxxxxxv....vv.vvvvvvvvvvvvvvvv.v..v..v..v..v.v$$$$v4.4.v$$+||v.vv5...vxxxxxxxx");
- strcpy(vgrid[15], "xxxxxxxxv...vvv................v...............vvvvvvvvvvvvvvvvv.vvv...vxxxxxxxx");
- strcpy(vgrid[16], "xxxxxxxxv...5vv................+...............+.................vv....vxxxxxxxx");
- strcpy(vgrid[17], "xxxxxxxxv...vvv+vvvvvvvvvvvvvvvv.v..v..v..v..v.vvvvvvvvvvvvvvvvv.vvv...vxxxxxxxx");
- strcpy(vgrid[18], "xxxxxxxxv....vv..v.+$$$$$v.....v...............vvvvvvvvvvvvvvvvv.vv5...vxxxxxxxx");
- strcpy(vgrid[19], "xxxxxxxxv...vvv..v.v$$$$$v.....v...............vv|$|$|vv|$|$|$vv.vvv...vxxxxxxxx");
- strcpy(vgrid[20], "xxxxxxxxv...5vv..v.vvvvvvv.....vvvvv.......vvvvvv$|$|$++$|$|$|vv.vv....vxxxxxxxx");
- strcpy(vgrid[21], "xxxxxxxxv...vvv..v...............v.vvvv+vvvvvvvvvvvvvvvvvvvvv+vv.vvv...vxxxxxxxx");
- strcpy(vgrid[22], "xxxxxxxxv....vvv+v..........vvvvv.4vvv...vvvvvvvvvvvvvvvvvvvv+vv.vv5...vxxxxxxxx");
- strcpy(vgrid[23], "xxxxxxxxv...vvv..v.v..v..v....2vvv+vv5...5vvvvvvv.4.4.vv.4.4.4vv.vvv...vxxxxxxxx");
- strcpy(vgrid[24], "xxxxxxxxv...5vv.................vv|vvv...vvvvv.++4.4.4++4.4.4.vv.vv....vxxxxxxxx");
- strcpy(vgrid[25], "xxxxxxxxv...vvv.................1vOvv5...5vvvv.vvvvvvvvvvvvvvvvv.vvv...vxxxxxxxx");
- strcpy(vgrid[26], "xxxxxxxxv....vv.................vv|vvv...vvvvv.vvvvvvvvvvvvvvvvv.vv5...vxxxxxxxx");
- strcpy(vgrid[27], "xxxxxxxxv...vvv.v..v..v..v....3vvv+vv5...5vvvv...................vvv...vxxxxxxxx");
- strcpy(vgrid[28], "xxxxxxxxv...5vv.............vvvvv.4vvv...vvvvvvvvvvvvvvvvvvvvvvv.vv....vxxxxxxxx");
- strcpy(vgrid[29], "xxxxxxxxv..vvvv+vvvv.............v.vv5...5vvvvvvvvvvvvvvvvvvvvvv+vvvv..vxxxxxxxx");
- strcpy(vgrid[30], "xxxxxxxxv..v|v.....vvvvvvvvvvvvvvvvvvv...vvvvvvvvvvvvvvvvvvvv.....v|v..vxxxxxxxx");
- strcpy(vgrid[31], "xxxxxxxxv..v.v.....vvvvvvvvvvvvvvvvvvvv+vvvvvvvvvvvvvvvvvvvvv.....v.v..vxxxxxxxx");
- strcpy(vgrid[32], "xxxxxxxxv..v.vv+vvvv5.............5.........5..............5vvvv+vv.v..vxxxxxxxx");
- strcpy(vgrid[33], "xxxxxxxxv..v2.....|v........................................v|.....3v..vxxxxxxxx");
- strcpy(vgrid[34], "xxxxxxxxv..vvvvvvvvv........................................vvvvvvvvv..vxxxxxxxx");
- strcpy(vgrid[35], "xxxxxxxxv............................{.[.(.............................vxxxxxxxx");
-
- mons_array[0] = MONS_DISPATER;
- mons_array[1] = MONS_FIEND;
- mons_array[2] = MONS_ICE_FIEND;
- mons_array[3] = MONS_IRON_DEVIL;
- mons_array[4] = MONS_METAL_GARGOYLE;
- mons_array[5] = RANDOM_MONSTER;
- mons_array[6] = RANDOM_MONSTER;
-
- return MAP_NORTH_DIS;
-}
-
-
-static char asmodeus(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{
-
- strcpy(vgrid[0], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[1], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[2], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[3], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[4], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[5], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[6], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[7], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxx....xxxxxxxxxxxxxxx.xxxxxxxxxxxx");
- strcpy(vgrid[8], "xxxxxxxxxxxxxxxxxxxxxxxxx............................xxxxxxxxxxxxxx..xxxxxxxxxxx");
- strcpy(vgrid[9], "xxxxxxxxxxxxxxxxxxxxxxxxxx..............................xxxxxxxxxx....xxxxxxxxxx");
- strcpy(vgrid[10], "xxxxxxxxxxxxxxxxxxxxx...xxx................................xxxxxx....xxxxxxxxxxx");
- strcpy(vgrid[11], "xxxxxxxxxxxx.x.xxxxx.........................................xxx....xxxxxxxxxxxx");
- strcpy(vgrid[12], "xxxxxxxxxxxx....xx.....................4......................xx...xxxxxxxxxxxxx");
- strcpy(vgrid[13], "xxxxxxxxxxx......x......................llllllllllllll.........x..xxxxxxxxxxxxxx");
- strcpy(vgrid[14], "xxxxxxxxxxx..xx..................lllllllllllllllllllllllll........xxxxxxxxxxxxxx");
- strcpy(vgrid[15], "xxxxxxxxxx...xxx....0..........llllllllllllllllllllllllll........xx...xxxxxxxxxx");
- strcpy(vgrid[16], "xxxxxxxxx....xxx.............llllllllllllllllllllllllllll..............xxxxxxxxx");
- strcpy(vgrid[17], "xxxxxxxxxx....xx...........lllllllllllllllllllllllllllll...............xxxxxxxxx");
- strcpy(vgrid[18], "xxxxxxxxxxxx..............llllllllllllllllllllllllllllll...2..xx...0...xxxxxxxxx");
- strcpy(vgrid[19], "xxxxxxxxxxxxx...........lllllllllllllllllll.......llllll......xx......xxxxxxxxxx");
- strcpy(vgrid[20], "xxxxxxxxxxxxxx.......llllllllllllllllll............llllll.............xxxxxxxxxx");
- strcpy(vgrid[21], "xxxxxxxxxxxxxxx......lllllllll..........4.........4.lllllll..........xxxxxxxxxxx");
- strcpy(vgrid[22], "xxxxxxxxxx...xx...ll3lllll......4...................llllllll......x.xxxxxxxxxxxx");
- strcpy(vgrid[23], "xxxxxxxxx.......lllll.l................................llll.......xxxxxxxxxxxxxx");
- strcpy(vgrid[24], "xxxxxxxxxx..4..llllll...cccccccc+c+c+c+c+c+c+c+c+c+c....lll......xxxxxxxxxxxxxxx");
- strcpy(vgrid[25], "xxxxxxxxxxx..lllllll..4.c.....c....................c....llll.....xxxxxxxxxxxxxxx");
- strcpy(vgrid[26], "xxxxxxxxxx...llllll.....c.V.V.+....0.....3.....0...c.....llll....x..xxxxxxxxxxxx");
- strcpy(vgrid[27], "xxxxxxxxx...llllll...l..c.....c....................c....lllll........xxxxxxxxxxx");
- strcpy(vgrid[28], "xxxxxxxxxx...lllll..ll..c..5..cccccccccccccccccccccc.4..llllll........xxxxxxxxxx");
- strcpy(vgrid[29], "xxxxxxxxx...lllll..llll.c.....c...............c....c....lllllll.......xxxxxxxxxx");
- strcpy(vgrid[30], "xxxxxxxxx...lllll..llll.c.V.V.c.......0.......c....c....lllllll.......xxxxxxxxxx");
- strcpy(vgrid[31], "xxxxxxxxxx...lllll..lll.c.....+...............+....c...lllllll........xxxxxxxxxx");
- strcpy(vgrid[32], "xxxxxxxxxxx..lllll...ll.cccccccccc....0.......c....c...llllllll........xxxxxxxxx");
- strcpy(vgrid[33], "xxxxxxxxxx...lllll..4...c|$$||$$|c............c.0..c...llllllll........xxxxxxxxx");
- strcpy(vgrid[34], "xxxxxxxxx...lllll.......c$$$$$$$$cccccccccccccc....c...lllllll.........xxxxxxxxx");
- strcpy(vgrid[35], "xxxxxxxxx...lllll.......c$$|2|$$|c..0.........+....c...lllllll........xxxxxxxxxx");
- strcpy(vgrid[36], "xxxxxxxxxx.lllllll......c|$$$$$$$c........9...c....c....llllllll.....xxxxxxxxxxx");
- strcpy(vgrid[37], "xxxxxxxxxx.lllllll......c$|$|$$|$c+ccccccccccccccccc....lllllll......xxxxxxxxxxx");
- strcpy(vgrid[38], "xxxxxxxxxx..llllll......cccccccc+c.....9.......c.........llllll......x.xxxxxxxxx");
- strcpy(vgrid[39], "xxxxxxxxxx..lllllll.....c$$$$$$+3c.....8...3...c.....4...llllll........xxxxxxxxx");
- strcpy(vgrid[40], "xxxxxxxxxx..llllllll....c$$$$$$c.c.....9.......c..ll....llllll.........xxxxxxxxx");
- strcpy(vgrid[41], "xxxxxxxxxx...llllll..4..c$$2$$$c.ccccccccccccc+c.lll...lllllll...0....xxxxxxxxxx");
- strcpy(vgrid[42], "xxxxxxxxxxx..llllll.....c$$$$$$c..+............c.ll...lllllll..........xxxxxxxxx");
- strcpy(vgrid[43], "xxxxxxxxxxx..llllllll...ccccccccc+cccccccccccccc.....lllllll...........xxxxxxxxx");
- strcpy(vgrid[44], "xxxxxxxxxxxx..llllllll.........cc..........cc........lllllll.......x..xxxxxxxxxx");
- strcpy(vgrid[45], "xxxxxxxxxxxxx.llllllllll.......ccc.........cc......lllllllll.......xxxxxxxxxxxxx");
- strcpy(vgrid[46], "xxxxxxxxxx....lllllllllll...4...cc.....2.2.cc....llllllllll.4.......xxxxxxxxxxxx");
- strcpy(vgrid[47], "xxxxxxxxx....4.lllllllllllll....cccccccc+cccc..lllllllllll.....xx....xxxxxxxxxxx");
- strcpy(vgrid[48], "xxxxxxxxxx.....llllllllllllll...cccccccc+cccc..llllllllll......xx....xxxxxxxxxxx");
- strcpy(vgrid[49], "xxxxxxxxxxx.....lllllllllllllll..cc......cc...lllllllllll...........xxxxxxxxxxxx");
- strcpy(vgrid[50], "xxxxxxxxxxx.....llllllllllllll...ccO1....cc.4..lllllllll...........xxxxxxxxxxxxx");
- strcpy(vgrid[51], "xxxxxxxxxxxx.....lllllllllllll...cc......cc....lllllllll.......xx.xxxxxxxxxxxxxx");
- strcpy(vgrid[52], "xxxxxxxxxxxx.......llllllllllll..cccccccccc...lllllllll........xxxxxxxxxxxxxxxxx");
- strcpy(vgrid[53], "xxxxxxxxx.........llllllllllllll.cccccccccc.lllllllllll.......xxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[54], "xxxxxxxxxx....0...llllllllllllll............lllllllll....0....xxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[55], "xxxxxxxxxx.......4.lllllllllllllll..4....lllllllll...........xxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[56], "xxxxxxxxxxx..........llllllllllllll....lllllll....4.....x........xxxxxxxxxxxxxxx");
- strcpy(vgrid[57], "xxxxxxxxxxx...xx.........lllllllllllllllll...................xx{xxxxxxxxxxxxxxxx");
- strcpy(vgrid[58], "xxxxxxxxxxxxx..xx................lllllll.....................xxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[59], "xxxxxxxxxxxxxxxxx.........xxx.................xxxxxx......xxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[60], "xxxxxxxxxxxxxxxxxxx....xxxxxxxx...xxx......xxxxxxxxxx.......xxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[61], "xxxxxxxxxxxxxxxxxxxx(xxxxxxxxxxxx[xxxxx...xxxxxxxxxxxxxx...xxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[62], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[63], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[64], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[65], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[66], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[67], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[68], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[69], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- mons_array[0] = MONS_ASMODEUS;
- mons_array[1] = MONS_FIEND;
- mons_array[2] = MONS_BALRUG;
- mons_array[3] = MONS_MOLTEN_GARGOYLE;
- mons_array[4] = MONS_SERPENT_OF_HELL;
- mons_array[5] = RANDOM_MONSTER;
- mons_array[6] = RANDOM_MONSTER;
-
- return MAP_ENCOMPASS;
-}
-
-static char antaeus(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // bottom of Cocytus. This needs work
-
- strcpy(vgrid[0], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[1], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[2], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[3], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[4], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[5], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[6], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[7], "xxxxxxxxxxxxxxxxxxxxxxxxxxxx........................xxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[8], "xxxxxxxxxxxxxxxxxxxxxxxxxxx..........................xxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[9], "xxxxxxxxxxxxxxxxxxxxxxxxxx............................xxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[10], "xxxxxxxxxxxxxxxxxxxxxxxxx..............................xxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[11], "xxxxxxxxxxxxxxxxxxxxxxxx................................xxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[12], "xxxxxxxxxxxxxxxxxxxxxxx....cccccccccccc..cccccccccccc....xxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[13], "xxxxxxxxxxxxxxxxxxxxxx....ccccccccccccc2.ccccccccccccc....xxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[14], "xxxxxxxxxxxxxxxxxxxxx....cc..........................cc....xxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[15], "xxxxxxxxxxxxxxxxxxxx....cc............................cc....xxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[16], "xxxxxxxxxxxxxxxxxxx....cc...wwwwwwwwwwwwwwwwwwwwwwww...cc....xxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[17], "xxxxxxxxxxxxxxxxxx....cc...wwwwwwwwwwwwwwwwwwwwwwwwww...cc....xxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[18], "xxxxxxxxxxxxxxxxx....cc...wwwwwwwwwwwwwwwwwwwwwwwwwwww...cc....xxxxxxxxxxxxxxxxx");
- strcpy(vgrid[19], "xxxxxxxxxxxxxxxx....cc...ww.......3..........3.......ww...cc....xxxxxxxxxxxxxxxx");
- strcpy(vgrid[20], "xxxxxxxxxxxxxxx....cc...ww............................ww...cc....xxxxxxxxxxxxxxx");
- strcpy(vgrid[21], "xxxxxxxxxxxxxx....cc...ww....cccccccccccccccccccccc....ww...cc....xxxxxxxxxxxxxx");
- strcpy(vgrid[22], "xxxxxxxxxxxxx....cc...ww....cccccccccccccccccccccccc....ww...cc....xxxxxxxxxxxxx");
- strcpy(vgrid[23], "xxxxxxxxxxxx....cc...ww....cc......................cc....ww...cc....xxxxxxxxxxxx");
- strcpy(vgrid[24], "xxxxxxxxxxx....cc...ww....cc...T................T...cc....ww...cc....xxxxxxxxxxx");
- strcpy(vgrid[25], "xxxxxxxxxx....cc...ww....cc..........wwwwww..........cc....ww...cc....xxxxxxxxxx");
- strcpy(vgrid[26], "xxxxxxxxx....cc...ww....cc.......wwwwwwwwwwwwww.......cc....ww...cc....xxxxxxxxx");
- strcpy(vgrid[27], "xxxxxxxxx....cc...ww...cc.....wwwwwwwwwwwwwwwwwwww.....cc...ww...cc....xxxxxxxxx");
- strcpy(vgrid[28], "xxxxxxxxx....cc..www..cc....wwwwwwwwwccccccwwwwwwwww....cc..www..cc....xxxxxxxxx");
- strcpy(vgrid[29], "xxxxxxxxx....cc..www.cc....wwwwwwwwccc2O12cccwwwwwwww....cc.www..cc....xxxxxxxxx");
- strcpy(vgrid[30], "xxxxxxxxx....cc..www.cc...wwwwwwwwcc2+....+2ccwwwwwwww...cc.www..cc....xxxxxxxxx");
- strcpy(vgrid[31], "xxxxxxxxx....cc..www.cc...wwwwwwwwcc+cc++cc+ccwwwwwwww...cc.www..cc....xxxxxxxxx");
- strcpy(vgrid[32], "xxxxxxxxx....cc..www..c..wwwwwwwwwc|||c..c$$$cwwwwwwwww..c..www..cc....xxxxxxxxx");
- strcpy(vgrid[33], "xxxxxxxxx....cc..wwww.c.wwwwwwwwwwc|||c..c$$$cwwwwwwwwww.c.wwww..cc....xxxxxxxxx");
- strcpy(vgrid[34], "xxxxxxxxx....cc..wwww.c.wwwwwwwwwwcc||c..c$$ccwwwwwwwwww.c.wwww..cc....xxxxxxxxx");
- strcpy(vgrid[35], "xxxxxxxxx....cc..wwww.c.wwwwwwwwwwwcccc++ccccwwwwwwwwwww.c.wwww..cc....xxxxxxxxx");
- strcpy(vgrid[36], "xxxxxxxxx....cc..www..c..wwwwwwwwwwwwww..wwwwwwwwwwwwww..c..www..cc....xxxxxxxxx");
- strcpy(vgrid[37], "xxxxxxxxx....cc..www.cc...wwwwwwwwwwwwwwwwwwwwwwwwwwww...cc.www..cc....xxxxxxxxx");
- strcpy(vgrid[38], "xxxxxxxxx....cc..www.cc....wwwwwwwwwwwwwwwwwwwwwwwwwww...cc.www..cc....xxxxxxxxx");
- strcpy(vgrid[39], "xxxxxxxxx....cc..www.cc....wwwwwwwwwwwwwwwwwwwwwwwwww....cc.www..cc....xxxxxxxxx");
- strcpy(vgrid[40], "xxxxxxxxx....cc..www..cc....wwwwwwwwwwwwwwwwwwwwwwww....cc..www..cc....xxxxxxxxx");
- strcpy(vgrid[41], "xxxxxxxxx....cc...ww...cc.....wwwwwwwwwwwwwwwwwwww.....cc...ww...cc....xxxxxxxxx");
- strcpy(vgrid[42], "xxxxxxxxx....cc...ww....cc.......wwwwwwwwwwwwww.......cc....ww...cc....xxxxxxxxx");
- strcpy(vgrid[43], "xxxxxxxxxx....cc...ww....cc..........wwwwww..........cc....ww...cc....xxxxxxxxxx");
- strcpy(vgrid[44], "xxxxxxxxxxx....cc...ww....cc...T................T...cc....ww...cc....xxxxxxxxxxx");
- strcpy(vgrid[45], "xxxxxxxxxxxx....cc...ww....cc......................cc....ww...cc....xxxxxxxxxxxx");
- strcpy(vgrid[46], "xxxxxxxxxxxxx....cc...ww....ccccccccccc..ccccccccccc....ww...cc....xxxxxxxxxxxxx");
- strcpy(vgrid[47], "xxxxxxxxxxxxxx....cc...ww....cccccccccc2.cccccccccc....ww...cc....xxxxxxxxxxxxxx");
- strcpy(vgrid[48], "xxxxxxxxxxxxxxx....cc...ww............................ww...cc....xxxxxxxxxxxxxxx");
- strcpy(vgrid[49], "xxxxxxxxxxxxxxxx....cc...ww..........................ww...cc....xxxxxxxxxxxxxxxx");
- strcpy(vgrid[50], "xxxxxxxxxxxxxxxxx....cc...wwwwwwwwwwwww..wwwwwwwwwwwww...cc....xxxxxxxxxxxxxxxxx");
- strcpy(vgrid[51], "xxxxxxxxxxxxxxxxxx....cc...wwwwwwwwwwww..wwwwwwwwwwww...cc....xxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[52], "xxxxxxxxxxxxxxxxxxx....cc...wwwwwwwwwww..wwwwwwwwwww...cc....xxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[53], "xxxxxxxxxxxxxxxxxxxx....cc............................cc....xxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[54], "xxxxxxxxxxxxxxxxxxxxx....cc..........................cc....xxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[55], "xxxxxxxxxxxxxxxxxxxxxx....cccccccccccccccccccccccccccc....xxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[56], "xxxxxxxxxxxxxxxxxxxxxxx....cccccccccccccccccccccccccc....xxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[57], "xxxxxxxxxxxxxxxxxxxxxxxx................................xxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[58], "xxxxxxxxxxxxxxxxxxxxxxxxx..............................xxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[59], "xxxxxxxxxxxxxxxxxxxxxxxxxx............................xxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[60], "xxxxxxxxxxxxxxxxxxxxxxxxxxx..........{.(.[...........xxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[61], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[62], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[63], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[64], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[65], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[66], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[67], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[68], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[69], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- mons_array[0] = MONS_ANTAEUS;
- mons_array[1] = MONS_ICE_FIEND;
- mons_array[2] = MONS_ICE_DRAGON;
- mons_array[3] = RANDOM_MONSTER;
- mons_array[4] = RANDOM_MONSTER;
- mons_array[5] = RANDOM_MONSTER;
- mons_array[6] = RANDOM_MONSTER;
-
- return MAP_ENCOMPASS;
-}
-
-
-static char ereshkigal(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // Tartarus
- // note that the tomb on the right isn't supposed to have any doors
-
- strcpy(vgrid[0], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[1], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[2], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[3], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[4], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[5], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[6], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[7], "xxxxxxxxx..............................................................xxxxxxxxx");
- strcpy(vgrid[8], "xxxxxxxxx..............................................................xxxxxxxxx");
- strcpy(vgrid[9], "xxxxxxxxx.................cccc..........ccc............................xxxxxxxxx");
- strcpy(vgrid[10], "xxxxxxxxx.............ccccc..cccc.....ccc.cccc.........................xxxxxxxxx");
- strcpy(vgrid[11], "xxxxxxxxx...........ccc.........ccccccc.....cc.........................xxxxxxxxx");
- strcpy(vgrid[12], "xxxxxxxxx.........ccc.......2............V..cc.........................xxxxxxxxx");
- strcpy(vgrid[13], "xxxxxxxxx........cc4........................cc...........xxxxxxxx......xxxxxxxxx");
- strcpy(vgrid[14], "xxxxxxxxx........cc44xxx==xxx...............cc..........xx......xx.....xxxxxxxxx");
- strcpy(vgrid[15], "xxxxxxxxx........ccxxx......xxx.......ccc++ccc.........xx........xx....xxxxxxxxx");
- strcpy(vgrid[16], "xxxxxxxxx........cxx..........xxx.....ccc44ccc.........x..........x....xxxxxxxxx");
- strcpy(vgrid[17], "xxxxxxxxx........cx............xx....cccc44cc.........xx..........xx...xxxxxxxxx");
- strcpy(vgrid[18], "xxxxxxxxx.......ccx.G........G.xxx7ccc..c44c..........x.....|......x...xxxxxxxxx");
- strcpy(vgrid[19], "xxxxxxxxx.......cxx............xxxcc..................x......7.....x...xxxxxxxxx");
- strcpy(vgrid[20], "xxxxxxxxx......ccx..............xxc...................xx..........xx...xxxxxxxxx");
- strcpy(vgrid[21], "xxxxxxxxx......ccx..G........G..xxc..x.........x.......x..........x....xxxxxxxxx");
- strcpy(vgrid[22], "xxxxxxxxx......ccx..............xcc....................xx........xx....xxxxxxxxx");
- strcpy(vgrid[23], "xxxxxxxxx.......cxx............xxc......................xx......xx.....xxxxxxxxx");
- strcpy(vgrid[24], "xxxxxxxxx.......ccx.F........F.xcc.......................xxxxxxxx......xxxxxxxxx");
- strcpy(vgrid[25], "xxxxxxxxx........cx............xc......................................xxxxxxxxx");
- strcpy(vgrid[26], "xxxxxxxxx........cxx....17....xxc....x.........x.......................xxxxxxxxx");
- strcpy(vgrid[27], "xxxxxxxxx........ccxxx......xxxcc......................................xxxxxxxxx");
- strcpy(vgrid[28], "xxxxxxxxx........cccc=xxxxxx=cccc......................................xxxxxxxxx");
- strcpy(vgrid[29], "xxxxxxxxx........cc||cccccccc||cc......................................xxxxxxxxx");
- strcpy(vgrid[30], "xxxxxxxxx.........cc||||O|||||cc.......................................xxxxxxxxx");
- strcpy(vgrid[31], "xxxxxxxxx..........cccccccccccc......x.........x............V..........xxxxxxxxx");
- strcpy(vgrid[32], "xxxxxxxxx..............................................................xxxxxxxxx");
- strcpy(vgrid[33], "xxxxxxxxx...........................................xxxxxxxxxxxxxxxx...xxxxxxxxx");
- strcpy(vgrid[34], "xxxxxxxxx...........................................xxxxxxxxxxxxxxxx...xxxxxxxxx");
- strcpy(vgrid[35], "xxxxxxxxx...........................................xx$$$$xxx|||||xx...xxxxxxxxx");
- strcpy(vgrid[36], "xxxxxxxxx.......V........V...........x.........x....xx$$$$xxx|||||xx...xxxxxxxxx");
- strcpy(vgrid[37], "xxxxxxxxx...........................................xxxxxxxxxxxxxxxx...xxxxxxxxx");
- strcpy(vgrid[38], "xxxxxxxxx...........................................xxxxxxxxxxxxxxxx...xxxxxxxxx");
- strcpy(vgrid[39], "xxxxxxxxx...........................................xx44444xx22222xx...xxxxxxxxx");
- strcpy(vgrid[40], "xxxxxxxxx.......xxxxxxxxx+xxxxxxxxx.................xx44444xx22222xx...xxxxxxxxx");
- strcpy(vgrid[41], "xxxxxxxxx.......x3.2..........3...x..x.........x..xxxxxxxxxxxxxxxxxx...xxxxxxxxx");
- strcpy(vgrid[42], "xxxxxxxxx.......x.x.x.x.x.x.x.x.x.x.................xxxxxxxxxxxxxxxx...xxxxxxxxx");
- strcpy(vgrid[43], "xxxxxxxxx.......x...2.3..4..5..4..x......................=.......xxx...xxxxxxxxx");
- strcpy(vgrid[44], "xxxxxxxxx.......xx.x.x.x.x.x.x.x.xx......................=.......xxx...xxxxxxxxx");
- strcpy(vgrid[45], "xxxxxxxxx.......x..65..3..6.6...5.x.................xxxxxxxxxxxxxxxx...xxxxxxxxx");
- strcpy(vgrid[46], "xxxxxxxxx.......x.x.x.x.x.x.x.x.x.x..x.........x..xxxxxxxxxxxxxxxxxx...xxxxxxxxx");
- strcpy(vgrid[47], "xxxxxxxxx.......x...4...3.....4...x.................xx.....xx555555x...xxxxxxxxx");
- strcpy(vgrid[48], "xxxxxxxxx.......xx=xxxxx.x.xxxxxxxx.................xx.....xx555555x...xxxxxxxxx");
- strcpy(vgrid[49], "xxxxxxxxx.......x$$$$$$x.25.x$$$||x.................xxxxxxxxxxxxxxxx...xxxxxxxxx");
- strcpy(vgrid[50], "xxxxxxxxx.......x$x$$x$xx.x.x$x$x|x.................xxxxxxxxxxxxxxxx...xxxxxxxxx");
- strcpy(vgrid[51], "xxxxxxxxx.......x||||||x.556=$$$||x..x.........x....xx$$xx56565xx$|x...xxxxxxxxx");
- strcpy(vgrid[52], "xxxxxxxxx.......xxxxxxxxxxxxxxxxxxx.................xx$$xx65656xx|7x...xxxxxxxxx");
- strcpy(vgrid[53], "xxxxxxxxx...........................................xxxxxxxxxxxxxxxx...xxxxxxxxx");
- strcpy(vgrid[54], "xxxxxxxxx...........................................xxxxxxxxxxxxxxxx...xxxxxxxxx");
- strcpy(vgrid[55], "xxxxxxxxx..............................................................xxxxxxxxx");
- strcpy(vgrid[56], "xxxxxxxxx..............................................................xxxxxxxxx");
- strcpy(vgrid[57], "xxxxxxxxx........(...........................................[.........xxxxxxxxx");
- strcpy(vgrid[58], "xxxxxxxxx..............................................................xxxxxxxxx");
- strcpy(vgrid[59], "xxxxxxxxx..............................................................xxxxxxxxx");
- strcpy(vgrid[60], "xxxxxxxxx..............................{...............................xxxxxxxxx");
- strcpy(vgrid[61], "xxxxxxxxx..............................................................xxxxxxxxx");
- strcpy(vgrid[62], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[63], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[64], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[65], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[66], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[67], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[68], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[69], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- mons_array[0] = MONS_ERESHKIGAL;
- mons_array[1] = MONS_NECROPHAGE;
- mons_array[2] = MONS_WRAITH;
- mons_array[3] = MONS_SHADOW;
- mons_array[4] = MONS_ZOMBIE_SMALL;
- mons_array[5] = MONS_SKELETON_SMALL;
- mons_array[6] = MONS_SHADOW_FIEND;
-
- return MAP_ENCOMPASS;
-}
-
-
-static char mnoleg(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{
-
- for (unsigned char i = 0; i < 81; i++)
- strcpy(vgrid[i], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- strcat(vgrid[0], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[1], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[2], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[3], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[4], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[5], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[6], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[7], "x.................2............xxxxxxxxx");
- strcat(vgrid[8], "x.....2........................xxxxxxxxx");
- strcat(vgrid[9], "x..cccccccc...ccccccc..ccccccc.xxxxxxxxx");
- strcat(vgrid[10], "x..ccccccccc.2.ccccccc..cccccc.xxxxxxxxx");
- strcat(vgrid[11], "x..cccccccccc...ccccccc..ccccc.xxxxxxxxx");
- strcat(vgrid[12], "x..ccccccccccc.1.ccccccc..cccc.xxxxxxxxx");
- strcat(vgrid[13], "x2.cccccccccc.2..Occccccc2.ccc.xxxxxxxxx");
- strcat(vgrid[14], "x..ccccccccc.....ccccccccc..cc.xxxxxxxxx");
- strcat(vgrid[15], "x..cccccccc...c...ccccccccc..c.xxxxxxxxx");
- strcat(vgrid[16], "x..ccccccc...ccc...ccccccccc...xxxxxxxxx");
- strcat(vgrid[17], "x..cccccc...ccccc...ccccccccc..xxxxxxxxx");
- strcat(vgrid[18], "x..ccccc...ccccccc...ccccccccc.xxxxxxxxx");
- strcat(vgrid[19], "x..cccc...ccccccccc...ccccccc..xxxxxxxxx");
- strcat(vgrid[20], "x..ccc.2.ccccccccccc.2.ccccc...xxxxxxxxx");
- strcat(vgrid[21], "x..cc.....ccccccccccc...ccc....xxxxxxxxx");
- strcat(vgrid[22], "x..c...c...ccccccccccc...c.2...xxxxxxxxx");
- strcat(vgrid[23], "x.....ccc.2.ccccccccccc......c.xxxxxxxxx");
- strcat(vgrid[24], "x....ccccc...ccccccccccc....cc.xxxxxxxxx");
- strcat(vgrid[25], "x.2.ccccccc...ccccccccccc..ccc.xxxxxxxxx");
- strcat(vgrid[26], "x.................2.......cccc.xxxxxxxxx");
- strcat(vgrid[27], "x...c..ccccccc.ccccccc...ccccc.xxxxxxxxx");
- strcat(vgrid[28], "x..ccc......2c.c2cccc...cccccc.xxxxxxxxx");
- strcat(vgrid[29], "x.ccccc..ccc.c.c2ccc.2.ccccccc.xxxxxxxxx");
- strcat(vgrid[30], "x.cccccc..cc.c.c.cc...cccccccc.xxxxxxxxx");
- strcat(vgrid[31], "x.ccccccc..c.c.c.c...ccccccccc.xxxxxxxxx");
- strcat(vgrid[32], "x.cccccccc...c.c....cccccccccc.xxxxxxxxx");
- strcat(vgrid[33], "x.ccccccccc..c.c...ccccccccccc.xxxxxxxxx");
- strcat(vgrid[34], "x..............................xxxxxxxxx");
- strcat(vgrid[35], "xxxxxxxxxxxxxx@xxxxxxxxxxxxxxxxxxxxxxxxx");
-
- mons_array[0] = MONS_MNOLEG;
- mons_array[1] = MONS_NEQOXEC;
- mons_array[2] = RANDOM_MONSTER;
- mons_array[3] = RANDOM_MONSTER;
- mons_array[4] = RANDOM_MONSTER;
- mons_array[5] = RANDOM_MONSTER;
- mons_array[6] = RANDOM_MONSTER;
-
- return MAP_NORTHEAST;
-}
-
-
-static char lom_lobon(char vgrid[81][81], FixedVector<int, 7>& mons_array)
+static int write_vault(const map_def &mdef, map_type map,
+ FixedVector<int, 7> &marray,
+ vault_placement &place)
{
+ place.map = &mdef;
- strcpy(vgrid[0], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[1], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[2], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[3], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[4], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[5], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[6], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[7], "xxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwwwwwwwww.......wwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[8], "xxxxxxxxxxxxxxxxxxxxxxwwwwwwwwwwwwbbbwwwwwww.......wwwwwwwxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[9], "xxxxxxxxxxxxxxxxxxwwwwwwwwwwwwbbbbbbbbbbbwwwwww.........wwwwwwxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[10], "xxxxxxxxxxxxxxxwwwwwwwwwwwwbbbbwwwwwwwwwbbbbwwwwww.........wwwwwwxxxxxxxxxxxxxxx");
- strcpy(vgrid[11], "xxxxxxxxxxxxxwwwwwwwbbbbbbbbwwwwwwwwwwwwwwwbbbwwwww...........wwwwwxxxxxxxxxxxxx");
- strcpy(vgrid[12], "xxxxxxxxxxxxwwwwwbbbb......bbbwwwwwwwwwwww...bbwwwww.............wwwxxxxxxxxxxxx");
- strcpy(vgrid[13], "xxxxxxxxxxxxwwwbbb...........bbbwwwwww........bbwwwww.............wwxxxxxxxxxxxx");
- strcpy(vgrid[14], "xxxxxxxxxxxwwwbb...............bbwwww..........bwwwwww.............wwxxxxxxxxxxx");
- strcpy(vgrid[15], "xxxxxxxxxxxwwbb........1O.......bbww...........bbwwww..............wwxxxxxxxxxxx");
- strcpy(vgrid[16], "xxxxxxxxxxwwwb...................bw......2......bwww.....U....2.....wwxxxxxxxxxx");
- strcpy(vgrid[17], "xxxxxxxxxxwwbb...................bb.............bww.................wwxxxxxxxxxx");
- strcpy(vgrid[18], "xxxxxxxxxxwwbb..3................bbb............bbw..............4..wwxxxxxxxxxx");
- strcpy(vgrid[19], "xxxxxxxxxwwbbb...................b.b............4....................wwxxxxxxxxx");
- strcpy(vgrid[20], "xxxxxxxxxwwbwbb.................bb.......U......4..........U..........wxxxxxxxxx");
- strcpy(vgrid[21], "xxxxxxxxxwwbwwbb...............bb..b............bbw..............4.....xxxxxxxxx");
- strcpy(vgrid[22], "xxxxxxxxxwwbbwwbbb...........bbb..bb............bwww...................xxxxxxxxx");
- strcpy(vgrid[23], "xxxxxxxxxwwwbwwwwb..b..2..bbbb....b.............bwww...................xxxxxxxxx");
- strcpy(vgrid[24], "xxxxxxxxxxwwbwwww...bbbbbbb.......bw.....3.....bbwwww...U.....3.......xxxxxxxxxx");
- strcpy(vgrid[25], "xxxxxxxxxxwwbbww.................bbww........wwbwwwww.................xxxxxxxxxx");
- strcpy(vgrid[26], "xxxxxxxxxxwwwbbw................bbwwwww....wwwbbwwww..................xxxxxxxxxx");
- strcpy(vgrid[27], "xxxxxxxxxxwwwwbb...4...U........bwwwwwwwwwwwwbbwww....................xxxxxxxxxx");
- strcpy(vgrid[28], "xxxxxxxxxxxwwwwbbb...........bbbbbwwwwwwwwwbbbwww....................xxxxxxxxxxx");
- strcpy(vgrid[29], "xxxxxxxxxxxwwwwwwbbbb.....bbbbwwwbbbbwwwbbbbwwww....................xxxxxxxxxxxx");
- strcpy(vgrid[30], "xxxxxxxxxxxwwwwwwwwwbbbbbbbwwwwwwwwwbbbbbwwwww......4.....4........xxxxxxxxxxxxx");
- strcpy(vgrid[31], "xxxxxxxxxxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww......................xxxxxxxxxxxxxx");
- strcpy(vgrid[32], "xxxxxxxxxxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwww.......................xxxxxxxxxxxxxxxx");
- strcpy(vgrid[33], "xxxxxxxxxxxxxxwwwwwwwwwwwwwwwwwwwww........................xxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[34], "xxxxxxxxxxxxxxxxxxxxxxxxxwwwwwww......................xxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[35], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...@.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- mons_array[0] = MONS_LOM_LOBON;
- mons_array[1] = MONS_GIANT_ORANGE_BRAIN;
- mons_array[2] = MONS_RAKSHASA;
- mons_array[3] = MONS_WIZARD;
- mons_array[4] = RANDOM_MONSTER;
- mons_array[5] = RANDOM_MONSTER;
- mons_array[6] = RANDOM_MONSTER;
-
- return MAP_NORTH;
-}
-
-
-static char cerebov(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // you might not want to teleport too much on this level -
- // unless you can reliably teleport away again.
-
- for (unsigned char i = 0; i < 81; i++)
- strcpy(vgrid[i], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- strcat(vgrid[0], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[1], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[2], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[3], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[4], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[5], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[6], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[7], "...............................xxxxxxxxx");
- strcat(vgrid[8], ".............vvvvv.............xxxxxxxxx");
- strcat(vgrid[9], ".............v$$$v.............xxxxxxxxx");
- strcat(vgrid[10], ".............v|||v.............xxxxxxxxx");
- strcat(vgrid[11], ".............v$$$v.............xxxxxxxxx");
- strcat(vgrid[12], ".vvvvv...vvvvvvvvvvvvv...vvvvv.xxxxxxxxx");
- strcat(vgrid[13], ".v|$|vvvvv...........vvvvv$|$v.xxxxxxxxx");
- strcat(vgrid[14], ".v$|$v.....vvvvvvvvv.....v|$|v.xxxxxxxxx");
- strcat(vgrid[15], ".v|$|v.vvvvvvvvOvvvvvvvv.v$|$v.xxxxxxxxx");
- strcat(vgrid[16], ".vvvvv.vvvvvv..3..vvvvvv.vvvvv.xxxxxxxxx");
- strcat(vgrid[17], "...v...vv.....vvv.....vv...v...xxxxxxxxx");
- strcat(vgrid[18], "...v.vvvv....vv1vv....vvvv.v...xxxxxxxxx");
- strcat(vgrid[19], "...v.vv......v...v......vv.v...xxxxxxxxx");
- strcat(vgrid[20], "...v.vvvv.............vvvv.v...xxxxxxxxx");
- strcat(vgrid[21], "...v...vv..2.......2..vv...v...xxxxxxxxx");
- strcat(vgrid[22], ".vvvvv.vv..2.......2..vv.vvvvv.xxxxxxxxx");
- strcat(vgrid[23], ".v|$|v.vv.............vv.v$|$v.xxxxxxxxx");
- strcat(vgrid[24], ".v|$|v.vv...vv...vv...vv.v$|$v.xxxxxxxxx");
- strcat(vgrid[25], ".v|$|v.vv...vv+++vv...vv.v$|$v.xxxxxxxxx");
- strcat(vgrid[26], ".vvvvv.vvvvvvv...vvvvvvv.vvvvv.xxxxxxxxx");
- strcat(vgrid[27], "....v..vvvvvvv...vvvvvvv..v....xxxxxxxxx");
- strcat(vgrid[28], "....vv...................vv....xxxxxxxxx");
- strcat(vgrid[29], ".....vv.vvvvv..2..vvvvv.vv.....xxxxxxxxx");
- strcat(vgrid[30], "......vvv|||v.....v$$$vvv......xxxxxxxxx");
- strcat(vgrid[31], "........v|$|vv...vv$|$v........xxxxxxxxx");
- strcat(vgrid[32], "........v|||v.....v$$$v........xxxxxxxxx");
- strcat(vgrid[33], "........vvvvv.....vvvvv........xxxxxxxxx");
- strcat(vgrid[34], "...............................xxxxxxxxx");
- strcat(vgrid[35], "...............@...............xxxxxxxxx");
-
- mons_array[0] = MONS_CEREBOV;
- mons_array[1] = MONS_BALRUG;
- mons_array[2] = MONS_PIT_FIEND;
- mons_array[3] = RANDOM_MONSTER;
- mons_array[4] = RANDOM_MONSTER;
- mons_array[5] = RANDOM_MONSTER;
- mons_array[6] = RANDOM_MONSTER;
-
- return MAP_NORTHEAST;
-}
-
-
-static char gloorx_vloq(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{
-
- for (unsigned char i = 0; i < 81; i++)
- strcpy(vgrid[i], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- strcpy(vgrid[36], "xxxxxxxxxxxxxxxxxxxxxxx@.xxxxxxxxxxxxxxx");
- strcpy(vgrid[37], "xxxxxxxxx..............................x");
- strcpy(vgrid[38], "xxxxxxxxx..............................x");
- strcpy(vgrid[39], "xxxxxxxxx..............................x");
- strcpy(vgrid[40], "xxxxxxxxx.x.x.x.x.x.x.x..x.x.x.x.x.x.x.x");
- strcpy(vgrid[41], "xxxxxxxxx..............................x");
- strcpy(vgrid[42], "xxxxxxxxx.x.xxxx=xxxxxxxxxxxx=xxxxxx.x.x");
- strcpy(vgrid[43], "xxxxxxxxx...xx....................xx...x");
- strcpy(vgrid[44], "xxxxxxxxx.x.x..ccccc..4..4..ccccc..x.x.x");
- strcpy(vgrid[45], "xxxxxxxxx...x.cc.3............3.cc.x...x");
- strcpy(vgrid[46], "xxxxxxxxx.x.x.c..ccccc.cc.ccccc..c.x.x.x");
- strcpy(vgrid[47], "xxxxxxxxx...x.c.cc.....cc.....cc.c.x...x");
- strcpy(vgrid[48], "xxxxxxxxx.x.x.c.c.2...cccc...2.c.c.x.x.x");
- strcpy(vgrid[49], "xxxxxxxxx...x...c...ccc..ccc...c...=...x");
- strcpy(vgrid[50], "xxxxxxxxx.x.x.3.....2..1O..2.....3.x.x.x");
- strcpy(vgrid[51], "xxxxxxxxx...=...c...ccc..ccc...c...x...x");
- strcpy(vgrid[52], "xxxxxxxxx.x.x.c.c.2...cccc...2.c.c.x.x.x");
- strcpy(vgrid[53], "xxxxxxxxx...x.c.cc.....cc.....cc.c.x...x");
- strcpy(vgrid[54], "xxxxxxxxx.x.x.c..ccccc.cc.ccccc..c.x.x.x");
- strcpy(vgrid[55], "xxxxxxxxx...x.cc.3............3.cc.x...x");
- strcpy(vgrid[56], "xxxxxxxxx.x.x..ccccc..4..4..ccccc..=.x.x");
- strcpy(vgrid[57], "xxxxxxxxx...xx....................xx...x");
- strcpy(vgrid[58], "xxxxxxxxx.x.xxxx=xxxx=xxxxxxxx=xxxxx.x.x");
- strcpy(vgrid[59], "xxxxxxxxx..............................x");
- strcpy(vgrid[60], "xxxxxxxxx.x.x.x.x.x.x.x..x.x.x.x.x.x.x.x");
- strcpy(vgrid[61], "xxxxxxxxx..............................x");
- strcpy(vgrid[62], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[63], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[64], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[65], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[66], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[67], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[68], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[69], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- mons_array[0] = MONS_GLOORX_VLOQ;
- mons_array[1] = MONS_EXECUTIONER;
- mons_array[2] = MONS_DEMONIC_CRAWLER;
- mons_array[3] = MONS_SHADOW_DEMON;
- mons_array[4] = RANDOM_MONSTER;
- mons_array[5] = RANDOM_MONSTER;
- mons_array[6] = RANDOM_MONSTER;
-
- return MAP_SOUTHWEST;
-}
-
-
-static char beehive(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{
-
- strcpy(vgrid[0], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[1], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[2], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[3], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[4], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[5], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[6], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[7], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[8], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[9], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxaaaaaaaaaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[10], "xxxxxxxxxxxxxxxxxxxxxxaaaaaaaaaaaRaaaaaaaaaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[11], "xxxxxxxxxxxxxxxxxaaaaaaaaaaRa2aaR1RaaRa2aaaaaaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[12], "xxxxxxxxxxxxxxxxxxaaaaaaaaaaRa2a3R3aRaRaRaaaaaaaaaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[13], "xxxxxxxxxxxxxxxxxxxxxaaaaRaRaRaaa3aaa3aRa.a.aaaaaaaaaaaxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[14], "xxxxxxxxxxxxxxxxaaaaaaRa.aRa2a2a2a2aRaRa.a.a3aaaaaaaaaaaaaaxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[15], "xxxxxxxxxxxxx4aaaaaaaaa.aaRaRaa2aa2aaRaaa.aa3a33aaaaaaaaaa.44xxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[16], "xxxxxxxxxxx.4aaaaaaa.222a3a.aaaRaaa.aaa.R3aa3a3aaaaaaaa.....4xxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[17], "xxxxxxxxxx....aaaaaaa.aRa.a3aRaRa.a3a.a.a.a.aRa2aaaaaa....xxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[18], "xxxxxxxxxxx...aaaaaa3a3a.a.a.a3aRa2aRa3a.a.aRaRa.aaaaa...xxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[19], "xxxxxxxxxxxx...aa2aRa3a3a3aRa.a3a.a.a.a.a.a.a.a3a.aaa...xxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[20], "xxxxxxxxxxxx...aaa.a.a.a2a.aaa.aRaRa2a.a2a3a.a2aaaa..T..xxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[21], "xxxxxxxxxxx.....a2a.a2a.aRaaaaa3a.a.aaa3a3a3a3a.a.........xxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[22], "xxxxxxxxxxx.4...aaRRaa.a2a.a3a3a3a.aaa.a.aRa.a.aa..4.......xxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[23], "xxxxxxxxxx......a.a.aaa.a3a.a.a.a.aaa2a.a2a.a.aRaa.....4...xxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[24], "xxxxxxxxxx.....aa3a2aaa.a.a.a3a3a3a3aRaaa.a2a.a2aa........xxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[25], "xxxxxxxxxxx...aaaa.a2aRa.a.a2aaa.a.a.a.aaa.a.aaaa.....xxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[26], "xxxxxxxxxxxx..aaa.a.a.a.a.a.a.aaa2a.a3a2a.a2aaa.....xxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[27], "xxxxxxxxxxxxxx.aaaa3a.a2aRa.a.aaaRa.a.aa.a.aaa....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[28], "xxxxxxxxxxxxxxx...aaaaRa.a3a3a.a.a.aaa.aa.aa....4xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[29], "xxxxxxxxxxxxx........aa.a2a.a.aaa2aa.aa.aaa....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[30], "xxxxxxxxxxxxx....4.....a.a2a2a.a2a.a2a.......4.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[31], "xxxxxxxxxxx.............a.a.a.a.a.a.....4....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[32], "xxxxxxxxxx..............4..a.a.a......4...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[33], "xxxxxxxxxx.................a.a.........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[34], "xxxxxxxxxxx........................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[35], "xxxxxxxxxxx.....4...T............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[36], "xxxxxxxxxxx.......................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[37], "xxxxxxxxxxxx.........................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[38], "xxxxxxxxxxxx.................T.........xxxxxxxx..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[39], "xxxxxxxxxxxx.......4.....................xxxxxxx...xxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[40], "xxxxxxxxxxx..............xx...............xxxxxx....xxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[41], "xxxxxxxxxxx............xxxxx........4......xxxx..4....xxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[42], "xxxxxxxxxxx..T..........xxx................xxxxx...T.xxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[43], "xxxxxxxxxxx............xxx........T.........xxx........xxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[44], "xxxxxxxxxxx....4........xx....................x..........xxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[45], "xxxxxxxxxx...............x.x...xxx...............xx.xxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[46], "xxxxxxxxxx.........4...........xxx..................xxxxxxxxxxxxxxxxxxaaaaaxxxxx");
- strcpy(vgrid[47], "xxxxxxxxx.....4.....................4......4...........4...xxxxxxxxxxaa5a5aaxxxx");
- strcpy(vgrid[48], "xxxxxxxxx.................................................wwwwwwwwxxxa5*|*5axxxx");
- strcpy(vgrid[49], "xxxxxxxxx............x...x...T.....xxxx.................wwwwwwwwwwwwxaa*|*aaxxxx");
- strcpy(vgrid[50], "xxxxxxxxxx.........xx.............xxxxx................wwwwwwwwwwwwwwxaa5aaxxxxx");
- strcpy(vgrid[51], "xxxxxxxxxxx.......x..................xxx....4..........wwwwwwwwwwwwwwwxa5axxxxxx");
- strcpy(vgrid[52], "xxxxxxxxxxx.....xxx...4...........................xxxx.4wwwwwwwwwwwwwwwa=axxxxxx");
- strcpy(vgrid[53], "xxxxxxxxxxxx..xxx.............xx....(.........xxxxxxxx....wwwwwwwwwwwwwwaaxxxxxx");
- strcpy(vgrid[54], "xxxxxxxxxxxxxxxx.............xxxx..................xxxx......wwwwwwwwwwxxxxxxxxx");
- strcpy(vgrid[55], "xxxxxxxxxxxxxxxxx....{..}..xxxxxx..]......xxx...........4.wwwwwwwwwwwwxxxxxxxxxx");
- strcpy(vgrid[56], "xxxxxxxxxxxxxxxxxxxx........xxx........xxxxxx....4....wwwwwwwwwwwwwwxxxxxxxxxxxx");
- strcpy(vgrid[57], "xxxxxxxxxxxxxxxxxxxxxxxxx..[.xxx........xxx)....wwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxx");
- strcpy(vgrid[58], "xxxxxxxxxxxxxxxxxxxxxxxxxxxx.........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[59], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[60], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[61], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[62], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[63], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[64], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[65], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[66], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[67], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[68], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[69], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- mons_array[0] = MONS_QUEEN_BEE;
- mons_array[1] = MONS_KILLER_BEE;
- mons_array[2] = MONS_KILLER_BEE_LARVA;
- mons_array[3] = MONS_PLANT;
- mons_array[4] = MONS_YELLOW_WASP;
- mons_array[5] = RANDOM_MONSTER;
- mons_array[6] = RANDOM_MONSTER;
-
- return MAP_ENCOMPASS;
-}
-
-
-static char vaults_vault(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // last level of the vaults -- dungeon.cc will change all these 'x's
-
- strcpy(vgrid[0], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[1], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[2], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[3], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[4], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[5], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[6], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[7], "xxxxxxxxx..............................................................xxxxxxxxx");
- strcpy(vgrid[8], "xxxxxxxxx..............................................................xxxxxxxxx");
- strcpy(vgrid[9], "xxxxxxxxx..xxxxxxxxxxxxxxxxxxxxxxxxxxx....xxxxxxxxxxxxxxxxxxxxxxxxxxx..xxxxxxxxx");
- strcpy(vgrid[10], "xxxxxxxxx..x.........................x....xxxxxxxxxxxxxxxxxxxxxxxxxxx..xxxxxxxxx");
- strcpy(vgrid[11], "xxxxxxxxx..x.xxxxxxxxxxx..xxxxxxxxxx.x....xxxxx.................xxxxx..xxxxxxxxx");
- strcpy(vgrid[12], "xxxxxxxxx..x.x*.*.*.*.*x..x........x.x....xxx..........8..........xxx..xxxxxxxxx");
- strcpy(vgrid[13], "xxxxxxxxx..x.x.*.*.*.*.x..x........x.x....xxx.....................xxx..xxxxxxxxx");
- strcpy(vgrid[14], "xxxxxxxxx..x.x*.*.*.*.*x..x...||...x.x....xx......9........9.......xx..xxxxxxxxx");
- strcpy(vgrid[15], "xxxxxxxxx..x.x.*.*.*.*.x..x...||...x.x....xx.......................xx..xxxxxxxxx");
- strcpy(vgrid[16], "xxxxxxxxx..x.x*.*.*.*.*x..x...||...x.x....xx......xxxxxxxxxxx......xx..xxxxxxxxx");
- strcpy(vgrid[17], "xxxxxxxxx..x.x.*.*.*.*.x..x........x.x....xx......x.........x......xx..xxxxxxxxx");
- strcpy(vgrid[18], "xxxxxxxxx..x.x*.*.*.*.*+..+........x.x....xx....xxx..........xx....xx..xxxxxxxxx");
- strcpy(vgrid[19], "xxxxxxxxx..x.x.*.*.*.*.xxxxxxxxxxxxx.x....xx.9..x....xxxxx....x..8.xx..xxxxxxxxx");
- strcpy(vgrid[20], "xxxxxxxxx..x.xxxxxxxxxxx9998.........x....xx....x...xx$$$xx...x....xx..xxxxxxxxx");
- strcpy(vgrid[21], "xxxxxxxxx..x...........899xxxxxxxxxx.x....xx....x..xx$***$xx..x....xx..xxxxxxxxx");
- strcpy(vgrid[22], "xxxxxxxxx..x.xxxxxxxxxxx99x........x.x....xx....x..x$$*|*$$x..x....xx..xxxxxxxxx");
- strcpy(vgrid[23], "xxxxxxxxx..x.x.....|...x88x.$$$$$$.x.x....xx..8.x..xx$***$xx..x....xx..xxxxxxxxx");
- strcpy(vgrid[24], "xxxxxxxxx..x.x.|..|..|.x..x.$$$$$$.x.x....xx....x....x$$$xx...x..9.xx..xxxxxxxxx");
- strcpy(vgrid[25], "xxxxxxxxx..x.x.........x..x.$$$$$$.x.x....xx....xxx..xxxxx..xxx....xx..xxxxxxxxx");
- strcpy(vgrid[26], "xxxxxxxxx..x.x.|..|..|.x..x.$$$$$$.x.x....xx......x.........x......xx..xxxxxxxxx");
- strcpy(vgrid[27], "xxxxxxxxx..x.x.........x..x.$$$$$$.x.x....xx......xxxxxxxxxxx......xx..xxxxxxxxx");
- strcpy(vgrid[28], "xxxxxxxxx..x.x|..|..|..x..x.$$$$$$.x.x....xxx.....................xxx..xxxxxxxxx");
- strcpy(vgrid[29], "xxxxxxxxx..x.x.........x..+........x.x....xxx......9.........9....xxx..xxxxxxxxx");
- strcpy(vgrid[30], "xxxxxxxxx..x.xxxxxxxxx+x..xxxxxxxxxx.xx.11....xx................xxxxx..xxxxxxxxx");
- strcpy(vgrid[31], "xxxxxxxxx..x...........x..x...........x1111...xxxxxxxxxxxxxxxxxxxxxxx..xxxxxxxxx");
- strcpy(vgrid[32], "xxxxxxxxx..xxxxxxxxxxxxxxxxxxxxxxxxx..1....1..xxxxxxxxxxxxxxxxxxxxxxx..xxxxxxxxx");
- strcpy(vgrid[33], "xxxxxxxxx..........................xx1..(}..1..........................xxxxxxxxx");
- strcpy(vgrid[34], "xxxxxxxxx...........................11.[..{.11.........................xxxxxxxxx");
- strcpy(vgrid[35], "xxxxxxxxx............................1..])..1..........................xxxxxxxxx");
- strcpy(vgrid[36], "xxxxxxxxx.............................1....1...........................xxxxxxxxx");
- strcpy(vgrid[37], "xxxxxxxxx..xxxxxxxxxxxxxxxxxxxxxxx.....1111..x.xxx.xxxxxxxxxxxxxxxxxx..xxxxxxxxx");
- strcpy(vgrid[38], "xxxxxxxxx..xx.x.x.x.x.x.x.x.x.x.x.x.....11..........................x..xxxxxxxxx");
- strcpy(vgrid[39], "xxxxxxxxx..x.x.x.x.x.x.x.x|x.x.x.x.x................................x..xxxxxxxxx");
- strcpy(vgrid[40], "xxxxxxxxx..xx.x|x.x.x.x.x.x.x.x.x.x.x.....x.........................x..xxxxxxxxx");
- strcpy(vgrid[41], "xxxxxxxxx..x.x.x.x.x.x.x.x9x.x.x.x.x.x..........8..........9........x..xxxxxxxxx");
- strcpy(vgrid[42], "xxxxxxxxx..xx.x.x.x.x.x.x.x.x.x.x.x.xx....x..9......................x..xxxxxxxxx");
- strcpy(vgrid[43], "xxxxxxxxx..x.x.x.x.x.x.x.x.x.x|x.x.x.x....x.........................x..xxxxxxxxx");
- strcpy(vgrid[44], "xxxxxxxxx..xx.x8x.x.x|x.x.x.x.x.x.x.xx....x..............9...9......x..xxxxxxxxx");
- strcpy(vgrid[45], "xxxxxxxxx..x.x.x.x.x9x.x.x.x.x.x.x.x.x...........8..................x..xxxxxxxxx");
- strcpy(vgrid[46], "xxxxxxxxx..xx.x.x.x.x.x.x.x.x.x.x.x.xx....x..9......................x..xxxxxxxxx");
- strcpy(vgrid[47], "xxxxxxxxx..x.x.x.x.x.x.x.x.x|x.x9x.x.x....x.........................x..xxxxxxxxx");
- strcpy(vgrid[48], "xxxxxxxxx..xx.x.x.x.x.x.x.x.x.x.x.x.xx....x...................9.....x..xxxxxxxxx");
- strcpy(vgrid[49], "xxxxxxxxx..x.x.x9x.x.x.x.x.x.x.x.x.x.x....x....9......8.............x..xxxxxxxxx");
- strcpy(vgrid[50], "xxxxxxxxx..xx.x.x.x.x.x.x9x.x.x.x.x.xx....x.........................x..xxxxxxxxx");
- strcpy(vgrid[51], "xxxxxxxxx..x.x.x.x.x.x.x.x.x.x.x.x.x.x....x.........................x..xxxxxxxxx");
- strcpy(vgrid[52], "xxxxxxxxx..xx.x.x.x.x.x.x.x.x.x.x.x.xx....x.......9......9..........x..xxxxxxxxx");
- strcpy(vgrid[53], "xxxxxxxxx..x.x.x.x.x.x.x.x.x.x8x.x.x.x....x.....................8...x..xxxxxxxxx");
- strcpy(vgrid[54], "xxxxxxxxx..xx.x8x.x.x.x.x.x.x.x.x.x.xx....x.....................||.|x..xxxxxxxxx");
- strcpy(vgrid[55], "xxxxxxxxx..x.x|x.x.x.x.x.x.x|x.x.x.x.x....x.....................|...x..xxxxxxxxx");
- strcpy(vgrid[56], "xxxxxxxxx..xx.x.x.x.x.x.x8x.x.x.x.x.xx....x......8..................x..xxxxxxxxx");
- strcpy(vgrid[57], "xxxxxxxxx..x.x.x.x.x.x.x.x.x.x.x.x.x.x....x..........8..8...8.....||x..xxxxxxxxx");
- strcpy(vgrid[58], "xxxxxxxxx..xO.x.x.x.x.x.x.x.x.x.x|x.xx....x.....................|.||x..xxxxxxxxx");
- strcpy(vgrid[59], "xxxxxxxxx..xxxxxxxxxxxxxxxxxxxxxxxxxxx....xxxxxxxxxxxxxxxxxxxxxxxxxxx..xxxxxxxxx");
- strcpy(vgrid[60], "xxxxxxxxx..............................................................xxxxxxxxx");
- strcpy(vgrid[61], "xxxxxxxxx..............................................................xxxxxxxxx");
- strcpy(vgrid[62], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[63], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[64], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[65], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[66], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[67], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[68], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[69], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- mons_array[0] = MONS_VAULT_GUARD;
- mons_array[1] = RANDOM_MONSTER;
- mons_array[2] = RANDOM_MONSTER;
- mons_array[3] = RANDOM_MONSTER;
- mons_array[4] = RANDOM_MONSTER;
- mons_array[5] = RANDOM_MONSTER;
- mons_array[6] = RANDOM_MONSTER;
-
- return MAP_ENCOMPASS;
-}
-
-
-static char snake_pit(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // Hey, this looks a bit like a face ...
-
- for (unsigned char i = 0; i < 81; i++)
- strcpy(vgrid[i], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- strcpy(vgrid[36], "xxxxxxxxxxxxxxxxxxxxxxx..@.xxxxxxxxxxxxx");
- strcpy(vgrid[37], "xxxxxxxxxxxxxxxxxxx.............xxxxxxxx");
- strcpy(vgrid[38], "xxxxxxxxxxxxxx....x.............x..xxxxx");
- strcpy(vgrid[39], "xxxxxxxxxxxx....2.x.............x.2..xxx");
- strcpy(vgrid[40], "xxxxxxxxxxx.....2.x....x.....x..x..3.xxx");
- strcpy(vgrid[41], "xxxxxxxxxxx.....22x.............xx.2..xx");
- strcpy(vgrid[42], "xxxxxxxxxxx.......xx..x........xx..3..xx");
- strcpy(vgrid[43], "xxxxxxxxxx.....x23.xx....T...xxx.44...xx");
- strcpy(vgrid[44], "xxxxxxxxxx......4.4.x.........x.333....x");
- strcpy(vgrid[45], "xxxxxxxxxx......3.x4...x.......4x4.....x");
- strcpy(vgrid[46], "xxxxxxxxxx.......3.......x.............x");
- strcpy(vgrid[47], "xxxxxxxxxx..c......3.........x.......c.x");
- strcpy(vgrid[48], "xxxxxxxxx...cc...................3..cc.x");
- strcpy(vgrid[49], "xxxxxxxxx...cc..........4.4.........cc.x");
- strcpy(vgrid[50], "xxxxxxxxx...cc...3...x........2.....cc.x");
- strcpy(vgrid[51], "xxxxxxxxx...cc.........1...1.......cc..x");
- strcpy(vgrid[52], "xxxxxxxxxx..cc.....1.....1.....1..ccc.xx");
- strcpy(vgrid[53], "xxxxxxxxxx...ccc..................cc..xx");
- strcpy(vgrid[54], "xxxxxxxxxx....cccc....3333333.....cc..xx");
- strcpy(vgrid[55], "xxxxxxxxxx.....ccccccc...........cc...xx");
- strcpy(vgrid[56], "xxxxxxxxxx........cccccccO...ccccc....xx");
- strcpy(vgrid[57], "xxxxxxxxxxx........cccccccccccccc....xxx");
- strcpy(vgrid[58], "xxxxxxxxxxx.........cccccccccccc.....xxx");
- strcpy(vgrid[59], "xxxxxxxxxxxxx.......................xxxx");
- strcpy(vgrid[60], "xxxxxxxxxxxxxxxx..................xxxxxx");
- strcpy(vgrid[61], "xxxxxxxxxxxxxxxxxxxxx.......xxxxxxxxxxxx");
- strcpy(vgrid[62], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[63], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[64], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[65], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[66], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[67], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[68], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[69], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- mons_array[0] = MONS_GREATER_NAGA;
- mons_array[1] = MONS_NAGA;
- mons_array[2] = MONS_NAGA_MAGE;
- mons_array[3] = MONS_NAGA_WARRIOR;
- mons_array[4] = RANDOM_MONSTER;
- mons_array[5] = RANDOM_MONSTER;
- mons_array[6] = RANDOM_MONSTER;
-
- return MAP_SOUTHWEST;
-}
-
-
-static char elf_hall(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{
-
- strcpy(vgrid[0], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[1], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[2], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[3], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[4], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[5], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[6], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[7], "xxxxxxxxxxxxxxxxxxcccccccccccccccccxxxxx");
- strcpy(vgrid[8], "xxxxxxxxxxxxxxxxxcc*|*|*|**|||||c$ccxxxx");
- strcpy(vgrid[9], "xxxxxxxxxxxxxxxxcc*$*|*|*|*|||||c$$ccxxx");
- strcpy(vgrid[10], "xxxxxxxxxxxxxxxcc*$|*$***$$|||||c|$$ccxx");
- strcpy(vgrid[11], "xxxxxxxxxxxxxxcc*$*|**ccccccccccc$$$$ccx");
- strcpy(vgrid[12], "xxxxxxxxxxxxxxc*|*$*$ccc.....2..c+$|$$cx");
- strcpy(vgrid[13], "xxxxxxxxxxxxxxc$*$*ccc...........c$$$$cx");
- strcpy(vgrid[14], "xxxxxxxxxxxxxxc||**cc...5.......4cc$|$cx");
- strcpy(vgrid[15], "xxxxxxxxxxxxxxc*$$cc........3..ccccccccx");
- strcpy(vgrid[16], "xxxxxxxxxxxxxxc$+ccc.....2....cc.....5cx");
- strcpy(vgrid[17], "xxxxxxxxxxxxxxc$c....5.......cc.......cx");
- strcpy(vgrid[18], "xxxxxxxxxxxxxxccc......5....cc..2....ccx");
- strcpy(vgrid[19], "xxxxxxxxxxxxxxxxc..........cc.......ccxx");
- strcpy(vgrid[20], "xxxxxxxxxxxxxxxcc..1..U..........4..ccxx");
- strcpy(vgrid[21], "xxxxxxxxxxxxxxcc.....................ccx");
- strcpy(vgrid[22], "xxxxxxxxxxxxxxc...........3...........cx");
- strcpy(vgrid[23], "xxxxxxxxxxxxxxc.......2.......3.......cx");
- strcpy(vgrid[24], "xxxxxxxxxxxxxxc..2................2..5cx");
- strcpy(vgrid[25], "xxxxxxxxxxxxxxc......x.........x......cx");
- strcpy(vgrid[26], "xxxxxxxxxxxxxxc.....xx.........xx.....cx");
- strcpy(vgrid[27], "xxxxxxxxxxxxxxc2...xxx....1....xxx.4..cx");
- strcpy(vgrid[28], "xxxxxxxxxxxxxxc..xxxx...........xxxx..cx");
- strcpy(vgrid[29], "xxxxxxxxxxxxxxc.xxx.....cc.cc.....xxx.cx");
- strcpy(vgrid[30], "xxxxxxxxxxxxxxc.x.....cccc.cccc.....x.cx");
- strcpy(vgrid[31], "xxxxxxxxxxxxxxc.3...cccxxc.cxxccc.3...cx");
- strcpy(vgrid[32], "xxxxxxxxxxxxxxc...cccxxxxc.cxxxxccc...cx");
- strcpy(vgrid[33], "xxxxxxxxxxxxxxc.cccxxxxxxc.cxxxxxxccc.cx");
- strcpy(vgrid[34], "xxxxxxxxxxxxxxcccxxxxxxxxc.cxxxxxxxxcccx");
- strcpy(vgrid[35], "xxxxxxxxxxxxxxxxxxxxxxxxxx@xxxxxxxxxxxxx");
-
- mons_array[0] = MONS_DEEP_ELF_HIGH_PRIEST;
- mons_array[1] = MONS_DEEP_ELF_DEMONOLOGIST;
- mons_array[2] = MONS_DEEP_ELF_ANNIHILATOR;
- mons_array[3] = MONS_DEEP_ELF_SORCERER;
- mons_array[4] = MONS_DEEP_ELF_DEATH_MAGE;
- mons_array[5] = RANDOM_MONSTER;
- mons_array[6] = RANDOM_MONSTER;
-
- return MAP_NORTHWEST;
-}
-
-
-// Slime pit take is reduced pending an increase in difficulty
-// of this subdungeon. -- bwr
-static char slime_pit(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{
-
- strcpy(vgrid[0], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[1], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[2], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[3], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[4], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[5], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[6], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[7], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[8], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx..xxxx.........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[9], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx....................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[10], "xxxxxxxxxxxxxxxxxxxxxxxxxxxx......................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[11], "xxxxxxxxxxxxxxxxxxxxxxxxxx..........................x.xxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[12], "xxxxxxxxxxxxxxxxxxxxxxxxxx............................xxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[13], "xxxxxxxxxxxxxxxxxxxxxxxxx.............................xxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[14], "xxxxxxxxxxxxxxxxxxxxxxxx.................................xxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[15], "xxxxxxxxxxxxxxxxxxxxxxxx..................................xxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[16], "xxxxxxxxxxxxxxxxxxxxxx....(................................xxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[17], "xxxxxxxxxxxxxxxxxxxxxx......................................xxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[18], "xxxxxxxxxxxxxxxxxxx..........................................xxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[19], "xxxxxxxxxxxxxxxxxxx..........................................xxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[20], "xxxxxxxxxxxxxxxxx............................................xxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[21], "xxxxxxxxxxxxxxxxx............................................xxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[22], "xxxxxxxxxxxxxx.....................ccc..ccc............]......xxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[23], "xxxxxxxxxxxxxxx...................cccc2ccccc...................xxxxxxxxxxxxxxxxx");
- strcpy(vgrid[24], "xxxxxxxxxxxxxx...................cc*cc..cc*cc....................xxxxxxxxxxxxxxx");
- strcpy(vgrid[25], "xxxxxxxxxxxxxx..................cc***cc4c***cc..................xxxxxxxxxxxxxxxx");
- strcpy(vgrid[26], "xxxxxxxxxxxxx..................cc*|*cc..cc*|*cc..................xxxxxxxxxxxxxxx");
- strcpy(vgrid[27], "xxxxxxxxxxxxx.................cc*|P|*c4cc*|P|*cc.................xxxxxxxxxxxxxxx");
- strcpy(vgrid[28], "xxxxxxxxxxxxx.................cc**|*cc..cc*|**cc....................xxxxxxxxxxxx");
- strcpy(vgrid[29], "xxxxxxxxxxxx..................ccc**c|cc4c|c**ccc...................xxxxxxxxxxxxx");
- strcpy(vgrid[30], "xxxxxxxxxxxx..................cccccccc..cccccccc....................xxxxxxxxxxxx");
- strcpy(vgrid[31], "xxxxxxxxxxx...................c.4.c.4.1..4.c.4.c.....................xxxxxxxxxxx");
- strcpy(vgrid[32], "xxxxxxxxxxx...................2.c.4.c..3.c.4.c.2.....................xxxxxxxxxxx");
- strcpy(vgrid[33], "xxxxxxxxxxx..........)........cccccccc..cccccccc.....................xxxxxxxxxxx");
- strcpy(vgrid[34], "xxxxxxxxxxx...................ccc**c|cc4c|c**ccc.....................xxxxxxxxxxx");
- strcpy(vgrid[35], "xxxxxxxxxx....................cc**|*cc..cc*|**cc....................xxxxxxxxxxxx");
- strcpy(vgrid[36], "xxxxxxxxxx....................cc*|P|*c4cc*|P|*cc....................xxxxxxxxxxxx");
- strcpy(vgrid[37], "xxxxxxxxxx.....................cc*|*cc..cc*|*cc....................xxxxxxxxxxxxx");
- strcpy(vgrid[38], "xxxxxxxxxxx.....................cc***cc4c***cc.....................xxxxxxxxxxxxx");
- strcpy(vgrid[39], "xxxxxxxxxxxx.....................cc*cc..cc*cc......................xxxxxxxxxxxxx");
- strcpy(vgrid[40], "xxxxxxxxxxxxx.....................cccc2ccccc......................xxxxxxxxxxxxxx");
- strcpy(vgrid[41], "xxxxxxxxxxxxxx.....................ccc..ccc.......................xxxxxxxxxxxxxx");
- strcpy(vgrid[42], "xxxxxxxxxxxxxx...........................................[.........xxxxxxxxxxxxx");
- strcpy(vgrid[43], "xxxxxxxxxxxxx......................................................xxxxxxxxxxxxx");
- strcpy(vgrid[44], "xxxxxxxxxxxxx..............................................xxxxx...xxxxxxxxxxxxx");
- strcpy(vgrid[45], "xxxxxxxxxxxxxx...........................................xxxxxxxx.xxxxxxxxxxxxxx");
- strcpy(vgrid[46], "xxxxxxxxxxxxxx..........................................xxxxxxxxx.xxxxxxxxxxxxxx");
- strcpy(vgrid[47], "xxxxxxxxxxxxxxxx........................................xxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[48], "xxxxxxxxxxxxxxxx.........................................xxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[49], "xxxxxxxxxxxxxxxxxx.......................................xxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[50], "xxxxxxxxxxxxxxxxxxxx......................................xxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[51], "xxxxxxxxxxxxxxxxxxxx......................................xxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[52], "xxxxxxxxxxxxxxxxxxxxx.....................................xxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[53], "xxxxxxxxxxxxxxxxxxxxx.............................}......xxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[54], "xxxxxxxxxxxxxxxxxxxxxxx.................................xxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[55], "xxxxxxxxxxxxxxxxxxxxxxxx..............................xxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[56], "xxxxxxxxxxxxxxxxxxxxxxxxx..............................xxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[57], "xxxxxxxxxxxxxxxxxxxxxxxxxx............................xxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[58], "xxxxxxxxxxxxxxxxxxxxxxxxxxxx...........{........xxx..xxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[59], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[60], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[61], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[62], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[63], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[64], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[65], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[66], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[67], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[68], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[69], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- mons_array[0] = MONS_ROYAL_JELLY;
- mons_array[1] = MONS_ACID_BLOB;
- mons_array[2] = MONS_GREAT_ORB_OF_EYES;
- mons_array[3] = RANDOM_MONSTER;
- mons_array[4] = RANDOM_MONSTER;
- mons_array[5] = RANDOM_MONSTER;
- mons_array[6] = RANDOM_MONSTER;
-
- return MAP_ENCOMPASS;
-
-}
-
-
-static char hall_of_blades(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{
-
- strcpy(vgrid[0], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[1], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[2], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[3], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[4], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[5], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[6], "xxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccxxxxxxxx");
- strcpy(vgrid[7], "xxxxxxxxccc....cccc.cccc.cccc.cccc.cccc.cccc.cccc.cccc.cccc.cccc.....cccxxxxxxxx");
- strcpy(vgrid[8], "xxxxxxxxcc......cc...cc...cc...cc...cc...cc...cc...cc...cc...cc.......ccxxxxxxxx");
- strcpy(vgrid[9], "xxxxxxxxc..............................................................cxxxxxxxx");
- strcpy(vgrid[10], "xxxxxxxxc..........c..............c..............c..............c......cxxxxxxxx");
- strcpy(vgrid[11], "xxxxxxxxc.........ccc............ccc............ccc............ccc.....cxxxxxxxx");
- strcpy(vgrid[12], "xxxxxxxxc........ccccc..........ccccc..........ccccc..........ccccc....cxxxxxxxx");
- strcpy(vgrid[13], "xxxxxxxxc.........ccc............ccc............ccc...........ccccc....cxxxxxxxx");
- strcpy(vgrid[14], "xxxxxxxxc..........c..............c..............c.............ccc.....cxxxxxxxx");
- strcpy(vgrid[15], "xxxxxxxxc......................................................ccc.....cxxxxxxxx");
- strcpy(vgrid[16], "xxxxxxxxc.......................................................c......cxxxxxxxx");
- strcpy(vgrid[17], "xxxxxxxxc..............................................................cxxxxxxxx");
- strcpy(vgrid[18], "xxxxxxxxc..............................................................cxxxxxxxx");
- strcpy(vgrid[19], "xxxxxxxxc..............................................................cxxxxxxxx");
- strcpy(vgrid[20], "xxxxxxxxc..............................................................cxxxxxxxx");
- strcpy(vgrid[21], "xxxxxxxxc..............................................................cxxxxxxxx");
- strcpy(vgrid[22], "xxxxxxxxc..............................................................cxxxxxxxx");
- strcpy(vgrid[23], "xxxxxxxxc.......................................................c......cxxxxxxxx");
- strcpy(vgrid[24], "xxxxxxxxc......................................................ccc.....cxxxxxxxx");
- strcpy(vgrid[25], "xxxxxxxxc..........c..............c..............c.............ccc.....cxxxxxxxx");
- strcpy(vgrid[26], "xxxxxxxxc.........ccc............ccc............ccc...........ccccc....cxxxxxxxx");
- strcpy(vgrid[27], "xxxxxxxxc........ccccc..........ccccc..........ccccc..........ccccc....cxxxxxxxx");
- strcpy(vgrid[28], "xxxxxxxxc.........ccc............ccc............ccc............ccc.....cxxxxxxxx");
- strcpy(vgrid[29], "xxxxxxxxc..........c..............c..............c..............c......cxxxxxxxx");
- strcpy(vgrid[30], "xxxxxxxxc..............................................................cxxxxxxxx");
- strcpy(vgrid[31], "xxxxxxxxc.......cc...cc...cc...cc...cc...cc...cc...cc...cc...cc.......ccxxxxxxxx");
- strcpy(vgrid[32], "xxxxxxxxcc.....cccc.cccc.cccc.cccc.cccc.cccc.cccc.cccc.cccc.cccc.....cccxxxxxxxx");
- strcpy(vgrid[33], "xxxxxxxxccc...ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccxxxxxxxx");
- strcpy(vgrid[34], "xxxxxxxxcccc.............................cccccccccccccccccccccccccccccccxxxxxxxx");
- strcpy(vgrid[35], "xxxxxxxxcccccccccccccccccccccccccccccc.@.cccccccccccccccccccccccccccccccxxxxxxxx");
-
- mons_array[0] = MONS_DANCING_WEAPON;
- mons_array[1] = RANDOM_MONSTER;
- mons_array[2] = RANDOM_MONSTER;
- mons_array[3] = RANDOM_MONSTER;
- mons_array[4] = RANDOM_MONSTER;
- mons_array[5] = RANDOM_MONSTER;
- mons_array[6] = RANDOM_MONSTER;
-
- return MAP_NORTH;
-}
-
-
-static char hall_of_Zot(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{
-
- strcpy(vgrid[0], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[1], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[2], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[3], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[4], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[5], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[6], "xxxxxxxxxxxxxxccccccccccccccccxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccxxxxxxxxxxxxx");
- strcpy(vgrid[7], "xxxxxxxxxxxcccc..............ccccxxxxxxxxxxxxxxxxxcccc............ccccxxxxxxxxxx");
- strcpy(vgrid[8], "xxxxxxxxxxcc....................cccxxxxxxxxxxxxxccc..................ccxxxxxxxxx");
- strcpy(vgrid[9], "xxxxxxxxxcc...........3...........ccxxxxxxxxxxxcc...........3.........ccxxxxxxxx");
- strcpy(vgrid[10], "xxxxxxxxxc..8......................cXXXXXXXXXXXc....................8..cxxxxxxxx");
- strcpy(vgrid[11], "xxxxxxxxxc...................8.....XXX...1...XXX....8..................cxxxxxxxx");
- strcpy(vgrid[12], "xxxxxxxxxcc........................XX..1...1..XX......................ccxxxxxxxx");
- strcpy(vgrid[13], "xxxxxxxxxxcc.......................X1.........1X.....................ccxxxxxxxxx");
- strcpy(vgrid[14], "xxxxxxxxxxxcc.....4....2..............1..Z..1............2....4.....ccxxxxxxxxxx");
- strcpy(vgrid[15], "xxxxxxxxxxcc.......................X1.........1X.....................ccxxxxxxxxx");
- strcpy(vgrid[16], "xxxxxxxxxcc........................XX..1...1..XX......................ccxxxxxxxx");
- strcpy(vgrid[17], "xxxxxxxxxc...................8.....XXX...1...XXX....8..................cxxxxxxxx");
- strcpy(vgrid[18], "xxxxxxxxxc...8.....................cXXXXXXXXXXXc...................8...cxxxxxxxx");
- strcpy(vgrid[19], "xxxxxxxxxcc..........8............ccccccccccccccc..........8..........ccxxxxxxxx");
- strcpy(vgrid[20], "xxxxxxxxxxcc....................ccccccccccccccccccc..................ccxxxxxxxxx");
- strcpy(vgrid[21], "xxxxxxxxxxxcc................ccccccccccccccccccccccccc..............ccxxxxxxxxxx");
- strcpy(vgrid[22], "xxxxxxxxxxxxccF111FcccccccccccccccccccccccccccccccccccccccccccF111Fccxxxxxxxxxxx");
- strcpy(vgrid[23], "xxxxxxxxxxxcc................^^1.ccccccccccccccccc.1^^..............ccxxxxxxxxxx");
- strcpy(vgrid[24], "xxxxxxxxxxcc.................cc1...ccccccccccccc...1cc...............ccxxxxxxxxx");
- strcpy(vgrid[25], "xxxxxxxxxcc.............8.....ccc...ccccccccccc...ccc...8.............ccxxxxxxxx");
- strcpy(vgrid[26], "xxxxxxxxxc....8................ccc...............ccc...........8...8...cxxxxxxxx");
- strcpy(vgrid[27], "xxxxxxxxxc.......8.....8...8...cxcc.............ccxc...................cxxxxxxxx");
- strcpy(vgrid[28], "xxxxxxxxxc.....................cxxc.............cxxc.......8...........cxxxxxxxx");
- strcpy(vgrid[29], "xxxxxxxxxc.....................cxxcc.1...1...1.ccxxc............8....8.cxxxxxxxx");
- strcpy(vgrid[30], "xxxxxxxxxc.......8....8.....8..cxxxc...........cxxxc....8..............cxxxxxxxx");
- strcpy(vgrid[31], "xxxxxxxxxc.....................cxxcc...........ccxxc..........8........cxxxxxxxx");
- strcpy(vgrid[32], "xxxxxxxxxcc...5...............ccxxc.............cxxcc..............8..ccxxxxxxxx");
- strcpy(vgrid[33], "xxxxxxxxxxcc........8........ccxxcc.............ccxxcc....8....5.....ccxxxxxxxxx");
- strcpy(vgrid[34], "xxxxxxxxxxxcc...............ccxxxc...............cxxxcc.............ccxxxxxxxxxx");
- strcpy(vgrid[35], "xxxxxxxxxxxxcccccccccccccccccxxxxcccccccc@ccccccccxxxxcccccccccccccccxxxxxxxxxxx");
-
- mons_array[0] = MONS_ORB_GUARDIAN;
- mons_array[1] = MONS_KILLER_KLOWN;
- mons_array[2] = MONS_ELECTRIC_GOLEM;
- mons_array[3] = MONS_ORB_OF_FIRE;
- mons_array[4] = MONS_ANCIENT_LICH;
- mons_array[5] = RANDOM_MONSTER;
- mons_array[6] = RANDOM_MONSTER;
-
- return MAP_NORTH;
-}
-
-
-static char temple(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // this is the ecumenical temple level
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[1], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[2], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[3], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[4], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[5], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[6], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[7], "xxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[8], "xxxxxxxxxxxxxxxxxxxxxxxxxcc............<............cxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[9], "xxxxxxxxxxxxxxxxxxxxxxxxcc...........................cxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[10], "xxxxxxxxxxxxxxxxxxxxxxxcc.............................cxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[11], "xxxxxxxxxxxxxxxxxxxxxxcc...............................cxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[12], "xxxxxxxxxxxxxxxxxxxxxcc.................................cxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[13], "xxxxxxxxxxxxxxxxxxxxcc...................................cxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[14], "xxxxxxxxxxxxxxxxxxxcc.....................................cxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[15], "xxxxxxxxxxxxxxxxxxcc.......................................cxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[16], "xxxxxxxxxxxxxxxxxcc.........................................cxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[17], "xxxxxxxxxxxxxxxxcc...........................................cxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[18], "xxxxxxxxxxxxxxxcc.............................................cxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[19], "xxxxxxxxxxxxxxcc...............................................cxxxxxxxxxxxxxxxx");
- strcpy(vgrid[20], "xxxxxxxxxxxxxcc.................................................cxxxxxxxxxxxxxxx");
- strcpy(vgrid[21], "xxxxxxxxxxxxcc...................................................cxxxxxxxxxxxxxx");
- strcpy(vgrid[22], "xxxxxxxxxxxcc..........................B..........................cxxxxxxxxxxxxx");
- strcpy(vgrid[23], "xxxxxxxxxxcc.......................................................cxxxxxxxxxxxx");
- strcpy(vgrid[24], "xxxxxxxxxcc.....................B.............B.....................cxxxxxxxxxxx");
- strcpy(vgrid[25], "xxxxxxxxcc...........................................................cxxxxxxxxxx");
- strcpy(vgrid[26], "xxxxxxxxc.............................................................cxxxxxxxxx");
- strcpy(vgrid[27], "xxxxxxxxc.............................................................cxxxxxxxxx");
- strcpy(vgrid[28], "xxxxxxxxc.................B.........................B.................cxxxxxxxxx");
- strcpy(vgrid[29], "xxxxxxxxc..............................T..............................cxxxxxxxxx");
- strcpy(vgrid[30], "xxxxxxxxc.............................................................cxxxxxxxxx");
- strcpy(vgrid[31], "xxxxxxxxc.............................................................cxxxxxxxxx");
- strcpy(vgrid[32], "xxxxxxxxc.............................................................cxxxxxxxxx");
- strcpy(vgrid[33], "xxxxxxxxc.............................................................cxxxxxxxxx");
- strcpy(vgrid[34], "xxxxxxxxc.............................................................cxxxxxxxxx");
- strcpy(vgrid[35], "xxxxxxxxc..............B...............................B..............cxxxxxxxxx");
- strcpy(vgrid[36], "xxxxxxxxc(....................T.................T....................{cxxxxxxxxx");
- strcpy(vgrid[37], "xxxxxxxxc.............................................................cxxxxxxxxx");
- strcpy(vgrid[38], "xxxxxxxxc.............................................................cxxxxxxxxx");
- strcpy(vgrid[39], "xxxxxxxxc.............................................................cxxxxxxxxx");
- strcpy(vgrid[40], "xxxxxxxxc.............................................................cxxxxxxxxx");
- strcpy(vgrid[41], "xxxxxxxxc.............................................................cxxxxxxxxx");
- strcpy(vgrid[42], "xxxxxxxxc.............................................................cxxxxxxxxx");
- strcpy(vgrid[43], "xxxxxxxxc................B...........................B................cxxxxxxxxx");
- strcpy(vgrid[44], "xxxxxxxxcc...........................................................ccxxxxxxxxx");
- strcpy(vgrid[45], "xxxxxxxxxcc............................T............................ccxxxxxxxxxx");
- strcpy(vgrid[46], "xxxxxxxxxxcc.......................................................ccxxxxxxxxxxx");
- strcpy(vgrid[47], "xxxxxxxxxxxcc.....................................................ccxxxxxxxxxxxx");
- strcpy(vgrid[48], "xxxxxxxxxxxxcc...................................................ccxxxxxxxxxxxxx");
- strcpy(vgrid[49], "xxxxxxxxxxxxxcc.................................................ccxxxxxxxxxxxxxx");
- strcpy(vgrid[50], "xxxxxxxxxxxxxxcc...............B................B..............ccxxxxxxxxxxxxxxx");
- strcpy(vgrid[51], "xxxxxxxxxxxxxxxcc.............................................ccxxxxxxxxxxxxxxxx");
- strcpy(vgrid[52], "xxxxxxxxxxxxxxxxcc.....................B.....................ccxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[53], "xxxxxxxxxxxxxxxxxcc.........................................ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[54], "xxxxxxxxxxxxxxxxxxcc.......................................ccxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[55], "xxxxxxxxxxxxxxxxxxxcc.....................................ccxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[56], "xxxxxxxxxxxxxxxxxxxxcc...................................ccxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[57], "xxxxxxxxxxxxxxxxxxxxxcc.................................ccxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[58], "xxxxxxxxxxxxxxxxxxxxxxcc...............................ccxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[59], "xxxxxxxxxxxxxxxxxxxxxxxcc.............................ccxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[60], "xxxxxxxxxxxxxxxxxxxxxxxxcc...........................ccxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[61], "xxxxxxxxxxxxxxxxxxxxxxxxxcc............[............ccxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[62], "xxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[63], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[64], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[65], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[66], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[67], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[68], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[69], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- return MAP_ENCOMPASS;
-}
-
-
-static char tomb_1(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{
-
- strcpy(vgrid[0], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[1], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[2], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[3], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[4], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[5], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[6], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[7], "xxxxxxxxx(.............................[..............................{xxxxxxxxx");
- strcpy(vgrid[8], "xxxxxxxxx..............................................................xxxxxxxxx");
- strcpy(vgrid[9], "xxxxxxxxx..............................................................xxxxxxxxx");
- strcpy(vgrid[10], "xxxxxxxxx..............................................................xxxxxxxxx");
- strcpy(vgrid[11], "xxxxxxxxx..............................................................xxxxxxxxx");
- strcpy(vgrid[12], "xxxxxxxxx..........ccccccccccccccccccccccccccccccccccccccccccc.........xxxxxxxxx");
- strcpy(vgrid[13], "xxxxxxxxx..........ccccccccccccccccccccccccccccccccccccccccccc.........xxxxxxxxx");
- strcpy(vgrid[14], "xxxxxxxxx..........cc..........................^............cc.........xxxxxxxxx");
- strcpy(vgrid[15], "xxxxxxxxx..........cc.........^....................^........cc.........xxxxxxxxx");
- strcpy(vgrid[16], "xxxxxxxxx..........cc..ccccccccccccccccccccccccccccccccccc..cc.........xxxxxxxxx");
- strcpy(vgrid[17], "xxxxxxxxx..........cc..c....^....^..c................c.^)c..cc.........xxxxxxxxx");
- strcpy(vgrid[18], "xxxxxxxxx..........cc..c..ccccccccc.c..3.............c.^.c..cc.........xxxxxxxxx");
- strcpy(vgrid[19], "xxxxxxxxx..........cc..c..c222c111c.c...............5c..^c..cc.........xxxxxxxxx");
- strcpy(vgrid[20], "xxxxxxxxx..........cc..c..c2c222c.^.c......2.........+cccc..cc.........xxxxxxxxx");
- strcpy(vgrid[21], "xxxxxxxxx..........cc..c..ccccccccccc..........3......5..c.^cc.........xxxxxxxxx");
- strcpy(vgrid[22], "xxxxxxxxx..........cc..c.................................c..cc.........xxxxxxxxx");
- strcpy(vgrid[23], "xxxxxxxxx..........cc..c..........................3......c..cc.........xxxxxxxxx");
- strcpy(vgrid[24], "xxxxxxxxx..........cc^.cccccccccccccc.......2............c..cc.........xxxxxxxxx");
- strcpy(vgrid[25], "xxxxxxxxx..........cc..c............c....................c..cc.........xxxxxxxxx");
- strcpy(vgrid[26], "xxxxxxxxx..........cc..c............c.................3..c..cc.........xxxxxxxxx");
- strcpy(vgrid[27], "xxxxxxxxx..........cc..c..cccccccc..c..........2.........c^5cc.........xxxxxxxxx");
- strcpy(vgrid[28], "xxxxxxxxx..........cc..c..c.^.c11c..c....................c..cc.........xxxxxxxxx");
- strcpy(vgrid[29], "xxxxxxxxx..........cc..c..c.c.c11c..c...3................c..cc.........xxxxxxxxx");
- strcpy(vgrid[30], "xxxxxxxxx..........cc..c..c^c.11cc..c..............2.....c..cc.........xxxxxxxxx");
- strcpy(vgrid[31], "xxxxxxxxx..........cc..c..c.cccccc..c.......2............c..cc.........xxxxxxxxx");
- strcpy(vgrid[32], "xxxxxxxxx..........cc..c..c..^..^...c.................2..c..cc.........xxxxxxxxx");
- strcpy(vgrid[33], "xxxxxxxxx..........cc5^c..ccccccccccc....................c..cc.........xxxxxxxxx");
- strcpy(vgrid[34], "xxxxxxxxx..........cc..c.................................c..cc.........xxxxxxxxx");
- strcpy(vgrid[35], "xxxxxxxxx..........cc..c.................................c..cc.........xxxxxxxxx");
- strcpy(vgrid[36], "xxxxxxxxx..........cc..cccccccccccccc..^.^..cccccccccccccc..cc.........xxxxxxxxx");
- strcpy(vgrid[37], "xxxxxxxxx..........cc..c...........ccc+++++ccc........^..c.^cc.........xxxxxxxxx");
- strcpy(vgrid[38], "xxxxxxxxx..........cc..c.^.....^...cc.2...2.cc......^....c..cc.........xxxxxxxxx");
- strcpy(vgrid[39], "xxxxxxxxx..........cc..c..ccccccc..cc.F...F.cc..ccccccc..c..cc.........xxxxxxxxx");
- strcpy(vgrid[40], "xxxxxxxxx..........cc..c..cc.322c..cc.......cc..c22..cc..c..cc.........xxxxxxxxx");
- strcpy(vgrid[41], "xxxxxxxxx..........cc..c..c].c22c..cc.......cc..c22c.}c^.c..cc.........xxxxxxxxx");
- strcpy(vgrid[42], "xxxxxxxxx..........cc..c..cccc..c.^cc.G...G.cc..c3.cccc..c..cc.........xxxxxxxxx");
- strcpy(vgrid[43], "xxxxxxxxx..........cc..c.....^..c..cc.......cc.^c........c..cc.........xxxxxxxxx");
- strcpy(vgrid[44], "xxxxxxxxx..........cc..c........c..cc.......cc..c....^...c..cc.........xxxxxxxxx");
- strcpy(vgrid[45], "xxxxxxxxx..........cc^.cccccccccc..cc.G...G.cc..cccccccccc.^cc.........xxxxxxxxx");
- strcpy(vgrid[46], "xxxxxxxxx..........cc......^.......cc.......cc..........^...cc.........xxxxxxxxx");
- strcpy(vgrid[47], "xxxxxxxxx..........cc...........^..cc.......cc.....^........cc.........xxxxxxxxx");
- strcpy(vgrid[48], "xxxxxxxxx..........cccccccccccccccccc.G...G.cccccccccccccccccc.........xxxxxxxxx");
- strcpy(vgrid[49], "xxxxxxxxx..........cccccccccccccccccc.......cccccccccccccccccc.........xxxxxxxxx");
- strcpy(vgrid[50], "xxxxxxxxx..............................................................xxxxxxxxx");
- strcpy(vgrid[51], "xxxxxxxxx.............................G...G............................xxxxxxxxx");
- strcpy(vgrid[52], "xxxxxxxxx...........................4.......4..........................xxxxxxxxx");
- strcpy(vgrid[53], "xxxxxxxxx..............................................................xxxxxxxxx");
- strcpy(vgrid[54], "xxxxxxxxx..............................................................xxxxxxxxx");
- strcpy(vgrid[55], "xxxxxxxxx...........................4..V.V..4..........................xxxxxxxxx");
- strcpy(vgrid[56], "xxxxxxxxx..............................................................xxxxxxxxx");
- strcpy(vgrid[57], "xxxxxxxxx..............................................................xxxxxxxxx");
- strcpy(vgrid[58], "xxxxxxxxx..............................................................xxxxxxxxx");
- strcpy(vgrid[59], "xxxxxxxxx...........................4.......4..........................xxxxxxxxx");
- strcpy(vgrid[60], "xxxxxxxxx..............................................................xxxxxxxxx");
- strcpy(vgrid[61], "xxxxxxxxx..............................................................xxxxxxxxx");
- strcpy(vgrid[62], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[63], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[64], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[65], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[66], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[67], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[68], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[69], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- mons_array[0] = MONS_MUMMY;
- mons_array[1] = MONS_GUARDIAN_MUMMY;
- mons_array[2] = MONS_MUMMY_PRIEST;
- mons_array[3] = MONS_SPHINX;
- mons_array[4] = MONS_GREATER_MUMMY;
- mons_array[5] = RANDOM_MONSTER;
- mons_array[6] = RANDOM_MONSTER;
-
- return MAP_ENCOMPASS;
-}
-
-
-static char tomb_2(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{
-
- strcpy(vgrid[0], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[1], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[2], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[3], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[4], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[5], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[6], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[7], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[8], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[9], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[10], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[11], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[12], "xxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[13], "xxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[14], "xxxxxxxxxxxxxxxxxxxcc{...c......c.....3....c........c.......ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[15], "xxxxxxxxxxxxxxxxxxxcc....c.....^c^........^c......2^c.......ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[16], "xxxxxxxxxxxxxxxxxxxcc....c...2.^+..2.....2^+^..2....+.......ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[17], "xxxxxxxxxxxxxxxxxxxcc.3.^c^.....c^.........c^2.....^c^......ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[18], "xxxxxxxxxxxxxxxxxxxcc...^+^.....c..........c........c...2...ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[19], "xxxxxxxxxxxxxxxxxxxccccc+ccccccccccccccccccccccccccccccc....ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[20], "xxxxxxxxxxxxxxxxxxxcc..^.c.............................c....ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[21], "xxxxxxxxxxxxxxxxxxxcc....c.............................c..3.ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[22], "xxxxxxxxxxxxxxxxxxxcc....c..ccc4.................4ccc..c....ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[23], "xxxxxxxxxxxxxxxxxxxcc....c..ccc...................ccc..c..2.ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[24], "xxxxxxxxxxxxxxxxxxxcc....c..ccc.........1.........ccc..c)..}ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[25], "xxxxxxxxxxxxxxxxxxxcc.3..c..ccc.....2.......2.....ccc..cccccccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[26], "xxxxxxxxxxxxxxxxxxxcc....c.............................c....ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[27], "xxxxxxxxxxxxxxxxxxxcc....c.............................c^2..ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[28], "xxxxxxxxxxxxxxxxxxxcc....c........c...........c........+....ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[29], "xxxxxxxxxxxxxxxxxxxcc]...c.............................c^2..ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[30], "xxxxxxxxxxxxxxxxxxxccccccc.....3........(........3.....c....ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[31], "xxxxxxxxxxxxxxxxxxxcc....c.............................c.^.^ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[32], "xxxxxxxxxxxxxxxxxxxcc...^c........c...........c........ccc+cccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[33], "xxxxxxxxxxxxxxxxxxxcc....+.............................c..^.ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[34], "xxxxxxxxxxxxxxxxxxxcc...^c.............................c....ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[35], "xxxxxxxxxxxxxxxxxxxcc....c..ccc.....2.......2.....ccc..c..2.ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[36], "xxxxxxxxxxxxxxxxxxxccccccc..ccc.........1.........ccc..c....ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[37], "xxxxxxxxxxxxxxxxxxxcc....c..ccc...................ccc..c....ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[38], "xxxxxxxxxxxxxxxxxxxcc...^+..ccc4.................4ccc..c2...ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[39], "xxxxxxxxxxxxxxxxxxxcc....c.............................c....ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[40], "xxxxxxxxxxxxxxxxxxxccccccc.............................c..2.ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[41], "xxxxxxxxxxxxxxxxxxxcc....c.............................ccc+cccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[42], "xxxxxxxxxxxxxxxxxxxcc....+cccc+ccccccccccccccc+ccccccccc.^.^ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[43], "xxxxxxxxxxxxxxxxxxxcc.1.^^.c.^..c............c^.......c.3...ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[44], "xxxxxxxxxxxxxxxxxxxcc...2..c.1..c.....1.1....c.....2..c.....ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[45], "xxxxxxxxxxxxxxxxxxxcc......c....c..1......1.^c..2.....c...2.ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[46], "xxxxxxxxxxxxxxxxxxxcc..3...c.1..c...1...1..1^+........c.....ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[47], "xxxxxxxxxxxxxxxxxxxcc......c....c[...........c.......3c.....ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[48], "xxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[49], "xxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[50], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[51], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[52], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[53], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[54], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[55], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[56], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[57], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[58], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[59], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[60], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[61], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[62], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[63], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[64], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[65], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[66], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[67], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[68], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[69], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- mons_array[0] = MONS_MUMMY;
- mons_array[1] = MONS_GUARDIAN_MUMMY;
- mons_array[2] = MONS_MUMMY_PRIEST;
- mons_array[3] = MONS_GREATER_MUMMY;
- mons_array[4] = RANDOM_MONSTER;
- mons_array[5] = RANDOM_MONSTER;
- mons_array[6] = RANDOM_MONSTER;
-
- return MAP_ENCOMPASS;
-}
-
-
-static char tomb_3(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{
-
- strcpy(vgrid[0], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[1], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[2], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[3], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[4], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[5], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[6], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[7], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[8], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[9], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[10], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[11], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[12], "xxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[13], "xxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[14], "xxxxxxxxxxxxxxxxxxxccccccc.............................cccccccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[15], "xxxxxxxxxxxxxxxxxxxcccc...............cccccc..............ccccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[16], "xxxxxxxxxxxxxxxxxxxccc...............cccccccc..............cccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[17], "xxxxxxxxxxxxxxxxxxxccc.......4......ccccO4cccc......4......cccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[18], "xxxxxxxxxxxxxxxxxxxccc............cccc......cccc...........cccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[19], "xxxxxxxxxxxxxxxxxxxcc............cccc........cccc...........ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[20], "xxxxxxxxxxxxxxxxxxxcc............cccc........cccc...........ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[21], "xxxxxxxxxxxxxxxxxxxcc...........cccc..444444..cccc..........ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[22], "xxxxxxxxxxxxxxxxxxxcc.......................................ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[23], "xxxxxxxxxxxxxxxxxxxcc.......................................ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[24], "xxxxxxxxxxxxxxxxxxxcc.................222222................ccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[25], "xxxxxxxxxxxxxxxxxxxccc................223322...............cccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[26], "xxxxxxxxxxxxxxxxxxxccc...3............223322............3..cccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[27], "xxxxxxxxxxxxxxxxxxxcccc...............222222..............ccccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[28], "xxxxxxxxxxxxxxxxxxxcccc....2..........................2...ccccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[29], "xxxxxxxxxxxxxxxxxxxcccccc....2......................2....cccccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[30], "xxxxxxxxxxxxxxxxxxxcccccccc............................cccccccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[31], "xxxxxxxxxxxxxxxxxxxccccccccc+ccc..................ccc+ccccccccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[32], "xxxxxxxxxxxxxxxxxxxcccccccc....cc................cc....cccccccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[33], "xxxxxxxxxxxxxxxxxxxcccccc.......cc22222222222222cc......$cccccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[34], "xxxxxxxxxxxxxxxxxxxcccc....^.....cc............cc..^.....$ccccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[35], "xxxxxxxxxxxxxxxxxxxcccc.^.........cc..........cc.....^.^.$ccccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[36], "xxxxxxxxxxxxxxxxxxxccc$...^...^..^.cc........cc..........$$cccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[37], "xxxxxxxxxxxxxxxxxxxccc$$$...........cc222222cc.^........$$$cccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[38], "xxxxxxxxxxxxxxxxxxxccc|$$$...........c......c.....^...$$$$$cccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[39], "xxxxxxxxxxxxxxxxxxxccc||$$$$...^.....c......c^......$$$$$$$cccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[40], "xxxxxxxxxxxxxxxxxxxccc|||||$$.....^..c......c......$$$$$$$$cccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[41], "xxxxxxxxxxxxxxxxxxxcccc|||||$........c......c...^.$$$$$$$$ccccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[42], "xxxxxxxxxxxxxxxxxxxccccc||||$$..^....c......c.....$$$$$$$cccccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[43], "xxxxxxxxxxxxxxxxxxxcccccc||||$.......c......c.....$$$$$$ccccccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[44], "xxxxxxxxxxxxxxxxxxxccccccc|||$$....^.c......c.^.^$$$$$$cccccccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[45], "xxxxxxxxxxxxxxxxxxxcccccccc|||$^....cc..{...cc...$$$$$ccccccccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[46], "xxxxxxxxxxxxxxxxxxxccccccccc||$.....cc...(..cc..$$$$$cccccccccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[47], "xxxxxxxxxxxxxxxxxxxcccccccccc|$...cccc..[...cccc$$$$ccccccccccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[48], "xxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[49], "xxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[50], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[51], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[52], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[53], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[54], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[55], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[56], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[57], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[58], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[59], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[60], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[61], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[62], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[63], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[64], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[65], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[66], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[67], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[68], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcpy(vgrid[69], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- mons_array[0] = MONS_MUMMY;
- mons_array[1] = MONS_GUARDIAN_MUMMY;
- mons_array[2] = MONS_MUMMY_PRIEST;
- mons_array[3] = MONS_GREATER_MUMMY;
- mons_array[4] = RANDOM_MONSTER;
- mons_array[5] = RANDOM_MONSTER;
- mons_array[6] = RANDOM_MONSTER;
-
- return MAP_ENCOMPASS;
-}
-
+ // Copy the map so we can monkey with it.
+ map_def def = mdef;
+ resolve_map(def);
-
-static char swamp(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // NB - most of the 'x's here will be set to water in dungeon.cc
-
- for (unsigned char i = 0; i < 81; i++)
- strcpy(vgrid[i], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- strcat(vgrid[36], "xxxxxxxxxxx@xxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[37], "xxxxxxxxxxx2xxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[38], "xxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[39], "xxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[40], "xxxxxxxxxx2x.xxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[41], "xxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[42], "xxxxxxxxxcc.ccxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[43], "xxxxxxxxcc...ccxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[44], "xxxxxxxcc3.2..ccxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[45], "xxxxxxcc.1.3.2.ccxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[46], "xxxxxccc....1.1cccxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[47], "xxxxxcc.1.32....ccxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[48], "xxxxxcc...3..1.3ccxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[49], "xxxxxcc2.1.3..2.ccxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[50], "xxxxxccc33..1..cccxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[51], "xxxxxxcccc3O3ccccxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[52], "xxxxxxxcccccccccxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[53], "xxxxxxxxcccccccxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[54], "xxxxxxxxxxcccxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[55], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[56], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[57], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[58], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[59], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[60], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[61], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[62], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[63], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[64], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[65], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[66], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[67], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[68], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
- strcat(vgrid[69], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
- mons_array[0] = MONS_SWAMP_DRAGON;
- mons_array[1] = MONS_SWAMP_DRAKE;
- mons_array[2] = MONS_HYDRA;
- mons_array[3] = RANDOM_MONSTER;
- mons_array[4] = RANDOM_MONSTER;
- mons_array[5] = RANDOM_MONSTER;
- mons_array[6] = RANDOM_MONSTER;
-
- return MAP_SOUTHEAST;
-}
-
-
-/*
- NOTE: *Cannot* place 8,9 or 0 monsters in branch vaults which neither use the
- normal mons_level function or are around level 35, or generation will crash.
-
- Remember, minivaults are always sidewards
-*/
-
-static char minivault_1(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], "..xxxx=xxx..");
- strcpy(vgrid[2], ".xx..x...xx.");
- strcpy(vgrid[3], ".x....x...x.");
- strcpy(vgrid[4], ".x...x....x.");
- strcpy(vgrid[5], ".xx.x*x.x.=.");
- strcpy(vgrid[6], ".=.x.x*x.xx.");
- strcpy(vgrid[7], ".x....x...x.");
- strcpy(vgrid[8], ".x...x....x.");
- strcpy(vgrid[9], ".xx...x..xx.");
- strcpy(vgrid[10], "..xxx=xxxx..");
- strcpy(vgrid[11], "............");
-
- return MAP_NORTH;
-}
-
-
-static char minivault_2(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], "..xxxx.xxxx.");
- strcpy(vgrid[2], "..xx.....xx.");
- strcpy(vgrid[3], "..x.......x.");
- strcpy(vgrid[4], "..x.......x.");
- strcpy(vgrid[5], "......C.....");
- strcpy(vgrid[6], "..x.......x.");
- strcpy(vgrid[7], "..x.......x.");
- strcpy(vgrid[8], "..xx.....xx.");
- strcpy(vgrid[9], "..xxxx.xxxx.");
- strcpy(vgrid[10], "............");
- strcpy(vgrid[11], "............");
-
- return MAP_NORTH;
-}
-
-
-static char minivault_3(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], ".cccccccccc.");
- strcpy(vgrid[2], ".cccccccccc.");
- strcpy(vgrid[3], ".cBcBcBcBcc.");
- strcpy(vgrid[4], ".G.c.c.c.Bc.");
- strcpy(vgrid[5], ".........Bc.");
- strcpy(vgrid[6], ".........Bc.");
- strcpy(vgrid[7], ".G.c.c.c.Bc.");
- strcpy(vgrid[8], ".cBcBcBcBcc.");
- strcpy(vgrid[9], ".cccccccccc.");
- strcpy(vgrid[10], ".cccccccccc.");
- strcpy(vgrid[11], "............");
-
- return MAP_NORTH;
-}
-
-
-static char minivault_4(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], "....xwxx....");
- strcpy(vgrid[2], "..xxxwwxwx..");
- strcpy(vgrid[3], "..xwwwwwwx..");
- strcpy(vgrid[4], ".xwwxwwxwxx.");
- strcpy(vgrid[5], ".xwwwwwwwwx.");
- strcpy(vgrid[6], ".xwwxwwwxww.");
- strcpy(vgrid[7], ".xxwwwwwwxx.");
- strcpy(vgrid[8], "..wwwwxwwx..");
- strcpy(vgrid[9], "..xxxwwxxw..");
- strcpy(vgrid[10], "....xxww....");
- strcpy(vgrid[11], "............");
-
- return MAP_NORTH;
+ return apply_vault_definition(def, map, marray, place);
}
-
-static char minivault_5(char vgrid[81][81], FixedVector<int, 7>& mons_array)
+// Mirror the map if appropriate, resolve substitutable symbols (?),
+static void resolve_map(map_def &map)
{
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], ".x.xxxxxxxx.");
- strcpy(vgrid[2], ".x.x......x.");
- strcpy(vgrid[3], ".x.x.xxxx.x.");
- strcpy(vgrid[4], ".x.x.x**x.x.");
- strcpy(vgrid[5], ".x.x.x**x.x.");
- strcpy(vgrid[6], ".x.x.xx.x.x.");
- strcpy(vgrid[7], ".x.x....x.x.");
- strcpy(vgrid[8], ".x.xxxxxx.x.");
- strcpy(vgrid[9], ".x........x.");
- strcpy(vgrid[10], ".xxxxxxxxxx.");
- strcpy(vgrid[11], "............");
-
- return MAP_NORTH;
-}
-
-
-static char minivault_6(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // Wizard's laboratory
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], ".ccccccc+cc.");
- strcpy(vgrid[2], ".c........c.");
- strcpy(vgrid[3], ".c........c.");
- strcpy(vgrid[4], ".c..1.....c.");
- strcpy(vgrid[5], ".c........c.");
- strcpy(vgrid[6], ".cc+ccccccc.");
- strcpy(vgrid[7], ".c***c3232c.");
- strcpy(vgrid[8], ".c|**+2223c.");
- strcpy(vgrid[9], ".c||*c3322c.");
- strcpy(vgrid[10], ".cccccccccc.");
- strcpy(vgrid[11], "............");
-
- mons_array[0] = MONS_WIZARD;
- mons_array[1] = MONS_ABOMINATION_SMALL;
- mons_array[2] = MONS_ABOMINATION_LARGE;
-
- return MAP_NORTH;
-
-}
-
-
-static char minivault_7(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // beehive minivault
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], "....aaaa....");
- strcpy(vgrid[2], "..a2a2aaaa..");
- strcpy(vgrid[3], "..aaRa3a2a..");
- strcpy(vgrid[4], ".aa2aRa2aaa.");
- strcpy(vgrid[5], ".a3aRa1aRa2.");
- strcpy(vgrid[6], ".aa3aRaRa2a.");
- strcpy(vgrid[7], ".aaa2a2a3aa.");
- strcpy(vgrid[8], "..a3aRa2aa..");
- strcpy(vgrid[9], "...aa2aa2a..");
- strcpy(vgrid[10], "....aaaa....");
- strcpy(vgrid[11], "............");
-
- mons_array[0] = MONS_QUEEN_BEE;
- mons_array[1] = MONS_KILLER_BEE;
- mons_array[2] = MONS_KILLER_BEE_LARVA;
-
- return MAP_NORTH;
-}
-
-
-static char minivault_8(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // lava pond
-
- strcpy(vgrid[0], "x.x.x.x.x.x.");
- strcpy(vgrid[1], ".c.c.c.c.c.x");
- strcpy(vgrid[2], "x...l1l...c.");
- strcpy(vgrid[3], ".c.llllll..x");
- strcpy(vgrid[4], "x.lllllll1c.");
- strcpy(vgrid[5], ".c.llFGll..x");
- strcpy(vgrid[6], "x..llGFll.c.");
- strcpy(vgrid[7], ".c1lllllll.x");
- strcpy(vgrid[8], "x..llllll.c.");
- strcpy(vgrid[9], ".c...l1l...x");
- strcpy(vgrid[10], "x.c.c.c.c.c.");
- strcpy(vgrid[11], ".x.x.x.x.x.x");
-
- mons_array[0] = MONS_MOLTEN_GARGOYLE;
-
- return MAP_NORTH;
-}
-
-
-static char minivault_9(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // evil zoo
- UNUSED( mons_array );
+ // Mirroring is possible for any map that does not explicitly forbid it.
+ // Note that mirroring also flips the orientation.
+ if (coinflip())
+ map.hmirror();
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], ".==========.");
- strcpy(vgrid[2], ".==========.");
- strcpy(vgrid[3], ".==========.");
- strcpy(vgrid[4], ".===8888===.");
- strcpy(vgrid[5], ".===8998===.");
- strcpy(vgrid[6], ".===8998===.");
- strcpy(vgrid[7], ".===8888===.");
- strcpy(vgrid[8], ".==========.");
- strcpy(vgrid[9], ".==========.");
- strcpy(vgrid[10], ".==========.");
- strcpy(vgrid[11], "............");
-
- return MAP_NORTH;
+ if (coinflip())
+ map.vmirror();
+ // The map may also refuse to be rotated.
+ if (coinflip())
+ map.rotate( coinflip() );
}
-
-static char minivault_10(char vgrid[81][81], FixedVector<int, 7>& mons_array)
+static void apply_monsters(
+ const map_def &def,
+ FixedVector<int,7> &marray)
{
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], ".xxxx..xxxx.");
- strcpy(vgrid[2], ".x**x..x**x.");
- strcpy(vgrid[3], ".x**+..+**x.");
- strcpy(vgrid[4], ".xx+x..x+xx.");
- strcpy(vgrid[5], "............");
- strcpy(vgrid[6], "............");
- strcpy(vgrid[7], ".xx+x..x+xx.");
- strcpy(vgrid[8], ".x**+..+**x.");
- strcpy(vgrid[9], ".x**x..x**x.");
- strcpy(vgrid[10], ".xxxx..xxxx.");
- strcpy(vgrid[11], "............");
-
- return MAP_NORTH;
-}
-
-
-static char minivault_11(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // multicoloured onion
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], ".+xxxxxxxx+.");
- strcpy(vgrid[2], ".x........x.");
- strcpy(vgrid[3], ".x.+cccc+.x.");
- strcpy(vgrid[4], ".x.c....c.x.");
- strcpy(vgrid[5], ".x.c.bb.c.x.");
- strcpy(vgrid[6], ".x.c.bb.c.x.");
- strcpy(vgrid[7], ".x.c....c.x.");
- strcpy(vgrid[8], ".x.+cccc+.x.");
- strcpy(vgrid[9], ".x........x.");
- strcpy(vgrid[10], ".+xxxxxxxx+.");
- strcpy(vgrid[11], "............");
-
- return MAP_NORTH;
-}
-
-
-static char minivault_12(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // closed box minivault
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], ".xxxxxxxxxx.");
- strcpy(vgrid[2], ".x>9$9$9$<x.");
- strcpy(vgrid[3], ".x.$9$9$.$x.");
- strcpy(vgrid[4], ".x$.****$.x.");
- strcpy(vgrid[5], ".x.$*||*.$x.");
- strcpy(vgrid[6], ".x$.*||*$.x.");
- strcpy(vgrid[7], ".x.$****.$x.");
- strcpy(vgrid[8], ".x$9$9$9$.x.");
- strcpy(vgrid[9], ".x<$9$9$9>x.");
- strcpy(vgrid[10], ".xxxxxxxxxx.");
- strcpy(vgrid[11], "............");
-
- return MAP_NORTH;
-}
-
-
-static char minivault_13(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // little trap spiral
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], ".xxxxxxxxxx.");
- strcpy(vgrid[2], ".=.^x..=.9x.");
- strcpy(vgrid[3], ".x.$=.^x..x.");
- strcpy(vgrid[4], ".xxxxxxxx=x.");
- strcpy(vgrid[5], ".x.8+|0x8.x.");
- strcpy(vgrid[6], ".x8$x.|x..x.");
- strcpy(vgrid[7], ".xx=xxxx=xx.");
- strcpy(vgrid[8], ".x.9=^.x..x.");
- strcpy(vgrid[9], ".x..x.^=9.x.");
- strcpy(vgrid[10], ".xxxxxxxxxx.");
- strcpy(vgrid[11], "............");
-
- return MAP_NORTH;
-}
-
+ const std::vector<int> &mids = def.mons.get_ids();
+ size_t ndx = 0;
+ for (int i = 0, size = mids.size(); i < size; ++i)
+ {
+ int mid = mids[i];
+ if (mid < 0)
+ {
+ mid = -100 - mid;
+ if (mid == DEMON_RANDOM)
+ mid = random2(DEMON_RANDOM);
+ mid = summon_any_demon( mid );
+ }
-static char minivault_14(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // water cross
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], ".wwwww.wwww.");
- strcpy(vgrid[2], ".wwwww.wwww.");
- strcpy(vgrid[3], ".wwwww.wwww.");
- strcpy(vgrid[4], ".wwwww.wwww.");
- strcpy(vgrid[5], ".......wwww.");
- strcpy(vgrid[6], ".wwww.......");
- strcpy(vgrid[7], ".wwww.wwwww.");
- strcpy(vgrid[8], ".wwww.wwwww.");
- strcpy(vgrid[9], ".wwww.wwwww.");
- strcpy(vgrid[10], ".wwww.wwwww.");
- strcpy(vgrid[11], "............");
-
- return MAP_NORTH;
+ if (ndx < marray.size())
+ marray[ndx++] = mid;
+ }
}
-static char minivault_15(char vgrid[81][81], FixedVector<int, 7>& mons_array) /* lava pond */
+static void apply_vault_grid(const map_def &def, map_type map,
+ vault_placement &place)
{
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], "............");
- strcpy(vgrid[2], "....lll.....");
- strcpy(vgrid[3], "...vvlvv....");
- strcpy(vgrid[4], "..lv|*|vl...");
- strcpy(vgrid[5], "..ll*S*ll...");
- strcpy(vgrid[6], "..lv|*|vl...");
- strcpy(vgrid[7], "...vvlvv....");
- strcpy(vgrid[8], "....lll.....");
- strcpy(vgrid[9], "............");
- strcpy(vgrid[10], "............");
- strcpy(vgrid[11], "............");
-
- return 1;
-}
-
+ const map_lines &ml = def.map;
+ const int orient = def.orient;
+ const int width = ml.width();
+ const int height = ml.height();
-static char minivault_16(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // lava pond
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], "............");
- strcpy(vgrid[2], "............");
- strcpy(vgrid[3], "............");
- strcpy(vgrid[4], "............");
- strcpy(vgrid[5], "............");
- strcpy(vgrid[6], "......S.....");
- strcpy(vgrid[7], "............");
- strcpy(vgrid[8], "............");
- strcpy(vgrid[9], "............");
- strcpy(vgrid[10], "............");
- strcpy(vgrid[11], "............");
-
- return MAP_NORTH;
-}
+ int startx = 0, starty = 0;
+ if (orient == MAP_SOUTH || orient == MAP_SOUTHEAST
+ || orient == MAP_SOUTHWEST)
+ starty = GYM - height;
-static char minivault_17(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // lava pond
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], "............");
- strcpy(vgrid[2], "............");
- strcpy(vgrid[3], "............");
- strcpy(vgrid[4], "............");
- strcpy(vgrid[5], ".....F......");
- strcpy(vgrid[6], "............");
- strcpy(vgrid[7], "............");
- strcpy(vgrid[8], "............");
- strcpy(vgrid[9], "............");
- strcpy(vgrid[10], "............");
- strcpy(vgrid[11], "............");
-
- return MAP_NORTH;
-}
-
+ if (orient == MAP_EAST || orient == MAP_NORTHEAST
+ || orient == MAP_SOUTHEAST)
+ startx = GXM - width;
-static char minivault_18(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // lava pond
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], "............");
- strcpy(vgrid[2], "............");
- strcpy(vgrid[3], "............");
- strcpy(vgrid[4], "............");
- strcpy(vgrid[5], ".....H......");
- strcpy(vgrid[6], "............");
- strcpy(vgrid[7], "............");
- strcpy(vgrid[8], "............");
- strcpy(vgrid[9], "............");
- strcpy(vgrid[10], "............");
- strcpy(vgrid[11], "............");
-
- return MAP_NORTH;
-}
+ // Handle maps aligned along cardinals that are smaller than
+ // the corresponding map dimension.
+ if ((orient == MAP_NORTH || orient == MAP_SOUTH
+ || orient == MAP_ENCOMPASS)
+ && width < GXM)
+ startx = (GXM - width) / 2;
+ if ((orient == MAP_EAST || orient == MAP_WEST
+ || orient == MAP_ENCOMPASS)
+ && height < GYM)
+ starty = (GYM - height) / 2;
-static char minivault_19(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], ".xx......xx.");
- strcpy(vgrid[2], ".xxx....xxx.");
- strcpy(vgrid[3], "..xxx..xxx..");
- strcpy(vgrid[4], "...xxxxxx...");
- strcpy(vgrid[5], "....xxxx....");
- strcpy(vgrid[6], "....xxxx....");
- strcpy(vgrid[7], "...xxxxxx...");
- strcpy(vgrid[8], "..xxx..xxx..");
- strcpy(vgrid[9], ".xxx....xxx.");
- strcpy(vgrid[10], ".xx......xx.");
- strcpy(vgrid[11], "............");
-
- return MAP_NORTH;
-}
+ const std::vector<std::string> &lines = ml.get_lines();
+#ifdef DEBUG_DIAGNOSTICS
+ mprf(MSGCH_DIAGNOSTICS, "Applying %s at (%d,%d), dimensions (%d,%d)",
+ def.name.c_str(), startx, starty, width, height);
+#endif
+ for (int y = starty; y < starty + height; ++y)
+ {
+ const std::string &s = lines[y - starty];
+ strncpy(&map[y][startx], s.c_str(), s.length());
+ }
-static char minivault_20(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // lava pond
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], ".xxxx..xxxx.");
- strcpy(vgrid[2], ".x........x.");
- strcpy(vgrid[3], ".x..xxxx..x.");
- strcpy(vgrid[4], ".x.x....x.x.");
- strcpy(vgrid[5], "...x.x9.x...");
- strcpy(vgrid[6], "...x.9x.x...");
- strcpy(vgrid[7], ".x.x....x.x.");
- strcpy(vgrid[8], ".x..xxxx..x.");
- strcpy(vgrid[9], ".x........x.");
- strcpy(vgrid[10], ".xxxx..xxxx.");
- strcpy(vgrid[11], "............");
-
- return MAP_NORTH;
+ place.x = startx;
+ place.y = starty;
+ place.width = width;
+ place.height = height;
}
-
-static char minivault_21(char vgrid[81][81], FixedVector<int, 7>& mons_array)
+static int apply_vault_definition(
+ const map_def &def,
+ map_type map,
+ FixedVector<int,7> &marray,
+ vault_placement &place)
{
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], ".^xxxxxxxx^.");
- strcpy(vgrid[2], ".x........x.");
- strcpy(vgrid[3], ".x.cccccc.x.");
- strcpy(vgrid[4], ".x.c|..<c.x.");
- strcpy(vgrid[5], ".x.c.**.c.x.");
- strcpy(vgrid[6], ".x.c.**.c.x.");
- strcpy(vgrid[7], ".x.c>..|c.x.");
- strcpy(vgrid[8], ".x.cccccc.x.");
- strcpy(vgrid[9], ".x........x.");
- strcpy(vgrid[10], ".^xxxxxxxx^.");
- strcpy(vgrid[11], "............");
-
- return MAP_NORTH;
+ apply_monsters(def, marray);
+ apply_vault_grid(def, map, place);
+ int orient = def.orient;
+ if (orient == MAP_NONE)
+ orient = MAP_NORTH;
+ return (orient);
}
+///////////////////////////////////////////////////////////////////////////
+// Map lookups
-static char minivault_22(char vgrid[81][81], FixedVector<int, 7>& mons_array)
+// Returns a map for which PLACE: matches the given place.
+int random_map_for_place(const std::string &place, bool want_minivault)
{
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], ".....xx.....");
- strcpy(vgrid[2], "...xxxxxx...");
- strcpy(vgrid[3], "..x^x..x^x..");
- strcpy(vgrid[4], "..xx.xx.xx..");
- strcpy(vgrid[5], ".xx.x$$x.xx.");
- strcpy(vgrid[6], ".xx.x$$x.xx.");
- strcpy(vgrid[7], "..xx.xx.xx..");
- strcpy(vgrid[8], "..x^x..x^x..");
- strcpy(vgrid[9], "...xxxxxx...");
- strcpy(vgrid[10], ".....xx.....");
- strcpy(vgrid[11], "............");
-
- return MAP_NORTH;
-
-}
+ if (place.empty())
+ return (-1);
+ int mapindex = -1;
+ int rollsize = 0;
-static char minivault_23(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "x.x.x.x.x.x.");
- strcpy(vgrid[1], ".x.x.x.x.x.x");
- strcpy(vgrid[2], "x.x.x.x.x.x.");
- strcpy(vgrid[3], ".x.x.x.x.x.x");
- strcpy(vgrid[4], "x.x.x.x.x.x.");
- strcpy(vgrid[5], ".x.x.x.x.x.x");
- strcpy(vgrid[6], "x.x.x.x.x.x.");
- strcpy(vgrid[7], ".x.x.x.x.x.x");
- strcpy(vgrid[8], "x.x.x.x.x.x.");
- strcpy(vgrid[9], ".x.x.x.x.x.x");
- strcpy(vgrid[10], "x.x.x.x.x.x.");
- strcpy(vgrid[11], ".x.x.x.x.x.x");
-
- return MAP_NORTH;
-
-}
+ for (unsigned i = 0, size = vdefs.size(); i < size; ++i)
+ {
+ // We also accept tagged levels here.
+ if (vdefs[i].place == place
+ && vdefs[i].is_minivault() == want_minivault)
+ {
+ rollsize += vdefs[i].chance;
+ if (rollsize && random2(rollsize) < vdefs[i].chance)
+ mapindex = i;
+ }
+ }
-static char minivault_24(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], "....xxxx....");
- strcpy(vgrid[2], "....xxxx....");
- strcpy(vgrid[3], "....xxxx....");
- strcpy(vgrid[4], ".xxxx.x.xxx.");
- strcpy(vgrid[5], ".xxx.x.xxxx.");
- strcpy(vgrid[6], ".xxxx.x.xxx.");
- strcpy(vgrid[7], ".xxx.x.xxxx.");
- strcpy(vgrid[8], "....xxxx....");
- strcpy(vgrid[9], "....xxxx....");
- strcpy(vgrid[10], "....xxxx....");
- strcpy(vgrid[11], "............");
-
- return MAP_NORTH;
+#ifdef DEBUG_DIAGNOSTICS
+ if (mapindex != -1)
+ mprf(MSGCH_DIAGNOSTICS, "Found map %s for %s",
+ vdefs[mapindex].name.c_str(), place.c_str());
+#endif
+ return (mapindex);
}
-
-static char minivault_25(char vgrid[81][81], FixedVector<int, 7>& mons_array)
+int find_map_named(const std::string &name)
{
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], ".xx+xxxxxxx.");
- strcpy(vgrid[2], ".x........x.");
- strcpy(vgrid[3], ".x........+.");
- strcpy(vgrid[4], ".x........x.");
- strcpy(vgrid[5], ".x........x.");
- strcpy(vgrid[6], ".x........x.");
- strcpy(vgrid[7], ".x........x.");
- strcpy(vgrid[8], ".+........x.");
- strcpy(vgrid[9], ".x........x.");
- strcpy(vgrid[10], ".xxxxxxx+xx.");
- strcpy(vgrid[11], "............");
-
- return MAP_NORTH;
-
-}
-
+ if (name.empty())
+ return (-1);
-static char minivault_26(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "c..........c");
- strcpy(vgrid[1], ".c...cc...c.");
- strcpy(vgrid[2], "..c..cc..c..");
- strcpy(vgrid[3], "...c....c...");
- strcpy(vgrid[4], "....c..c....");
- strcpy(vgrid[5], ".cc..cc..cc.");
- strcpy(vgrid[6], ".cc..cc..cc.");
- strcpy(vgrid[7], "....c..c....");
- strcpy(vgrid[8], "...c....c...");
- strcpy(vgrid[9], "..c..cc..c..");
- strcpy(vgrid[10], ".c...cc...c.");
- strcpy(vgrid[11], "c..........c");
-
- return MAP_NORTH;
+#ifdef DEBUG_DIAGNOSTICS
+ mprf(MSGCH_DIAGNOSTICS, "Looking for map named \"%s\"", name.c_str());
+#endif
+ for (unsigned i = 0, size = vdefs.size(); i < size; ++i)
+ if (vdefs[i].name == name)
+ return (i);
+ return (-1);
}
-
-static char minivault_27(char vgrid[81][81], FixedVector<int, 7>& mons_array)
+int random_map_for_depth(int depth, bool want_minivault)
{
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], ".x.xxxxxxxx.");
- strcpy(vgrid[2], ".x........x.");
- strcpy(vgrid[3], ".xxxxxxxx.x.");
- strcpy(vgrid[4], ".x........x.");
- strcpy(vgrid[5], ".x.xxxxxxxx.");
- strcpy(vgrid[6], ".x........x.");
- strcpy(vgrid[7], ".xxxxxxxx.x.");
- strcpy(vgrid[8], ".x........x.");
- strcpy(vgrid[9], ".x.xxxxxxxx.");
- strcpy(vgrid[10], "............");
- strcpy(vgrid[11], "............");
-
- return MAP_NORTH;
-
-}
+ int mapindex = -1;
+ int rollsize = 0;
+ for (unsigned i = 0, size = vdefs.size(); i < size; ++i)
+ if (vdefs[i].depth.contains(depth)
+ // Tagged levels cannot be selected by depth. This is
+ // the only thing preventing Pandemonium demon vaults from
+ // showing up in the main dungeon.
+ && vdefs[i].tags.empty()
+ && vdefs[i].is_minivault() == want_minivault)
+ {
+ rollsize += vdefs[i].chance;
-static char minivault_28(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], ".xxxx.xxxx..");
- strcpy(vgrid[2], ".x.......x..");
- strcpy(vgrid[3], ".x..999..x..");
- strcpy(vgrid[4], ".x.9...9.x..");
- strcpy(vgrid[5], "...9.I.9....");
- strcpy(vgrid[6], ".x.9...9.x..");
- strcpy(vgrid[7], ".x..999..x..");
- strcpy(vgrid[8], ".x.......x..");
- strcpy(vgrid[9], ".xxxx.xxxx..");
- strcpy(vgrid[10], "............");
- strcpy(vgrid[11], "............");
-
- return MAP_NORTH;
+ if (rollsize && random2(rollsize) < vdefs[i].chance)
+ mapindex = i;
+ }
+ return (mapindex);
}
-
-static char minivault_29(char vgrid[81][81], FixedVector<int, 7>& mons_array)
+int random_map_for_tag(const std::string &tag)
{
+ int mapindex = -1;
+ int rollsize = 0;
- strcpy(vgrid[0], ".3......3...");
- strcpy(vgrid[1], "...x.xx.x.2.");
- strcpy(vgrid[2], ".xxx2xxxxx..");
- strcpy(vgrid[3], ".xxxx42xxx2.");
- strcpy(vgrid[4], ".2xx243432x3");
- strcpy(vgrid[5], ".xx421424xx.");
- strcpy(vgrid[6], "3xx423242x..");
- strcpy(vgrid[7], ".x2x3243xxx.");
- strcpy(vgrid[8], ".x2xx42422x.");
- strcpy(vgrid[9], "..xxxxxxxx2.");
- strcpy(vgrid[10], "...x2xxxx3..");
- strcpy(vgrid[11], ".3.......33.");
-
- mons_array[0] = MONS_QUEEN_ANT;
- mons_array[1] = MONS_SOLDIER_ANT;
- mons_array[2] = MONS_GIANT_ANT;
- mons_array[3] = MONS_ANT_LARVA;
-
- return MAP_NORTH;
-
-}
-
-
-static char minivault_30(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // lava pond
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], "............");
- strcpy(vgrid[2], "............");
- strcpy(vgrid[3], "............");
- strcpy(vgrid[4], "............");
- strcpy(vgrid[5], ".....T......");
- strcpy(vgrid[6], "............");
- strcpy(vgrid[7], "............");
- strcpy(vgrid[8], "............");
- strcpy(vgrid[9], "............");
- strcpy(vgrid[10], "............");
- strcpy(vgrid[11], "............");
-
- return MAP_NORTH;
-
-}
-
-
-static char minivault_31(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // lava pond
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], "............");
- strcpy(vgrid[2], "............");
- strcpy(vgrid[3], "............");
- strcpy(vgrid[4], "............");
- strcpy(vgrid[5], ".....T......");
- strcpy(vgrid[6], "............");
- strcpy(vgrid[7], "............");
- strcpy(vgrid[8], "............");
- strcpy(vgrid[9], "............");
- strcpy(vgrid[10], "............");
- strcpy(vgrid[11], "............");
-
- return MAP_NORTH;
-
-}
-
-
-static char minivault_32(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // lava pond
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], "............");
- strcpy(vgrid[2], "............");
- strcpy(vgrid[3], "............");
- strcpy(vgrid[4], "............");
- strcpy(vgrid[5], ".....U......");
- strcpy(vgrid[6], "............");
- strcpy(vgrid[7], "............");
- strcpy(vgrid[8], "............");
- strcpy(vgrid[9], "............");
- strcpy(vgrid[10], "............");
- strcpy(vgrid[11], "............");
-
- return MAP_NORTH;
-
-}
-
-
-static char minivault_33(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // lava pond
- UNUSED( mons_array );
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], "............");
- strcpy(vgrid[2], "............");
- strcpy(vgrid[3], "............");
- strcpy(vgrid[4], "............");
- strcpy(vgrid[5], ".....V......");
- strcpy(vgrid[6], "............");
- strcpy(vgrid[7], "............");
- strcpy(vgrid[8], "............");
- strcpy(vgrid[9], "............");
- strcpy(vgrid[10], "............");
- strcpy(vgrid[11], "............");
-
- return MAP_NORTH;
-
-}
-
-static char minivault_34(char vgrid[81][81], FixedVector<int, 7>& mons_array, bool orientation)
-{
- //jmf: multi-god temple thing
- UNUSED( mons_array );
- int i, di;
-
- if ( orientation )
- {
- i = 0;
- di = +1;
- }
- else
- {
- i = 11;
- di = -1;
- }
-
- for (int c=0; c <= 11; c++, i += di)
+ for (unsigned i = 0, size = vdefs.size(); i < size; ++i)
{
- strcpy(vgrid[i], "............");
- strcpy(vgrid[i], ".=xxxxxxxx=.");
- strcpy(vgrid[i], ".x9......9x.");
- strcpy(vgrid[i], ".xT......Tx.");
- strcpy(vgrid[i], ".x..C..C..x.");
- strcpy(vgrid[i], ".xT......Tx.");
- strcpy(vgrid[i], ".xxxxxxxxxx.");
- strcpy(vgrid[i], ".xxx$$$$xxx.");
- strcpy(vgrid[i], ".xx8....8xx.");
- strcpy(vgrid[i], "..xx....xx..");
- strcpy(vgrid[i], "...xG..Gx...");
- strcpy(vgrid[i], "............");
- }
-
- return MAP_NORTH;
-}
-
-static char minivault_34_a(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{
- return minivault_34(vgrid, mons_array, true);
-}
-
-static char minivault_34_b(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{
- return minivault_34(vgrid, mons_array, false);
-}
-
-static char minivault_35(char vgrid[81][81], FixedVector<int, 7>& mons_array, bool orientation)
-{
- UNUSED( mons_array );
- //jmf: another multi-god temple thing
- int i, di;
-
- if (orientation)
- {
- i = 0;
- di = +1;
- }
- else
- {
- i = 11;
- di = -1;
- }
+ if (vdefs[i].has_tag(tag))
+ {
+ rollsize += vdefs[i].chance;
- for (int c=0; c <= 11; c++, i += di)
- {
- strcpy(vgrid[i], "............");
- strcpy(vgrid[i], "..vvvvvvvv..");
- strcpy(vgrid[i], ".vv......vv.");
- strcpy(vgrid[i], ".v..x..x..v.");
- strcpy(vgrid[i], ".v.Cx..xC.v.");
- strcpy(vgrid[i], ".v..x..x..v.");
- strcpy(vgrid[i], ".vT8x..x8Tv.");
- strcpy(vgrid[i], ".vvvx==xvvv.");
- strcpy(vgrid[i], "...Gx99xG...");
- strcpy(vgrid[i], "...+*99*+...");
- strcpy(vgrid[i], "...GxxxxG...");
- strcpy(vgrid[i], "............");
+ if (rollsize && random2(rollsize) < vdefs[i].chance)
+ mapindex = i;
+ }
}
- return MAP_NORTH;
-}
-
-static char minivault_35_a(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{
- return minivault_35(vgrid, mons_array, true);
-}
-
-static char minivault_35_b(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{
- return minivault_35(vgrid, mons_array, false);
-}
-
-
-static char rand_demon_1(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], ".xx.xx.x.xx.");
- strcpy(vgrid[2], "..x.x..x.x..");
- strcpy(vgrid[3], "..x.x..x.x..");
- strcpy(vgrid[4], "..x.x..x.x..");
- strcpy(vgrid[5], "..x.x..x.x..");
- strcpy(vgrid[6], "..x.x1.x.x..");
- strcpy(vgrid[7], "..x.x..x.x..");
- strcpy(vgrid[8], "..x.x..x.x..");
- strcpy(vgrid[9], "..x.x..x.x..");
- strcpy(vgrid[10], ".xx.x.xx.xx.");
- strcpy(vgrid[11], "............");
-
- mons_array[0] = MONS_PANDEMONIUM_DEMON;
- mons_array[1] = RANDOM_MONSTER;
- mons_array[2] = RANDOM_MONSTER;
- mons_array[3] = RANDOM_MONSTER;
- mons_array[4] = RANDOM_MONSTER;
- mons_array[5] = RANDOM_MONSTER;
-
- return MAP_NORTH;
-}
-
-
-static char rand_demon_2(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], ".xxxxxxxx3x.");
- strcpy(vgrid[2], ".3.....xx.x.");
- strcpy(vgrid[3], ".xxxxxx4x.x.");
- strcpy(vgrid[4], ".xx4x..xx.x.");
- strcpy(vgrid[5], ".x.x.22.x.x.");
- strcpy(vgrid[6], ".x.x.12.x.x.");
- strcpy(vgrid[7], ".x.xx..x4xx.");
- strcpy(vgrid[8], ".x.x4xxxxxx.");
- strcpy(vgrid[9], ".x.xx.....3.");
- strcpy(vgrid[10], ".x3xxxxxxxx.");
- strcpy(vgrid[11], "............");
-
- mons_array[0] = MONS_PANDEMONIUM_DEMON;
- mons_array[1] = summon_any_demon(DEMON_GREATER);
- mons_array[2] = summon_any_demon(DEMON_COMMON);
- mons_array[3] = summon_any_demon(DEMON_COMMON);
- mons_array[4] = RANDOM_MONSTER;
- mons_array[5] = RANDOM_MONSTER;
-
- return MAP_NORTH;
-}
-
-
-static char rand_demon_3(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{
+#ifdef DEBUG_DIAGNOSTICS
+ if (mapindex != -1)
+ mprf(MSGCH_DIAGNOSTICS, "Found map %s tagged '%s'",
+ vdefs[mapindex].name.c_str(), tag.c_str());
+ else
+ mprf(MSGCH_DIAGNOSTICS, "No map for tag '%s'", tag.c_str());
+#endif
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], ".x.x.x3x.x..");
- strcpy(vgrid[2], "..x.x3x3x.x.");
- strcpy(vgrid[3], ".x.x.x2x.x..");
- strcpy(vgrid[4], "..x3x2x2x3x.");
- strcpy(vgrid[5], ".x3x2x1x2x3.");
- strcpy(vgrid[6], "..x3x2x2x3x.");
- strcpy(vgrid[7], ".x.x.x2x3x..");
- strcpy(vgrid[8], "..x.x3x3x.x.");
- strcpy(vgrid[9], ".x.x.x3x.x..");
- strcpy(vgrid[10], "..x.x.x.x.x.");
- strcpy(vgrid[11], "............");
-
- mons_array[0] = MONS_PANDEMONIUM_DEMON;
- mons_array[1] = summon_any_demon(DEMON_COMMON);
- mons_array[2] = summon_any_demon(DEMON_COMMON);
-
- return MAP_NORTH;
+ return (mapindex);
}
+/////////////////////////////////////////////////////////////////////////////
+// Reading maps from .des files.
-static char rand_demon_4(char vgrid[81][81], FixedVector<int, 7>& mons_array)
+static void parse_maps(const std::string &s)
{
- //jmf: all 3s below were 1s -- may have been bug
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], ".xxxxxxxxx..");
- strcpy(vgrid[2], ".x$=*=3=|x..");
- strcpy(vgrid[3], ".xxxxxxx=x..");
- strcpy(vgrid[4], ".x2=3=2x|x..");
- strcpy(vgrid[5], ".x=xxxxx=x..");
- strcpy(vgrid[6], ".x3=*x1=Px..");
- strcpy(vgrid[7], ".x=x=xxxxx..");
- strcpy(vgrid[8], ".x*x2=3=2=..");
- strcpy(vgrid[9], ".xxxxxxxxx..");
- strcpy(vgrid[10], "............");
- strcpy(vgrid[11], "............");
-
- mons_array[0] = MONS_PANDEMONIUM_DEMON;
- mons_array[1] = summon_any_demon(random2(3));
- mons_array[2] = summon_any_demon(random2(3));
-
- return MAP_NORTH;
-
-}
-
-
-static char rand_demon_5(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{ // obviously possible to get stuck - too bad (should've come prepared)
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], "...xxxxxx...");
- strcpy(vgrid[2], "..xx....xx..");
- strcpy(vgrid[3], ".xx......xx.");
- strcpy(vgrid[4], ".x..3232..x.");
- strcpy(vgrid[5], ".x..2|P3..x.");
- strcpy(vgrid[6], ".x..3P|2..x.");
- strcpy(vgrid[7], ".x..2123..x.");
- strcpy(vgrid[8], ".xx......xx.");
- strcpy(vgrid[9], "..xx....xx..");
- strcpy(vgrid[10], "...xxxxxx...");
- strcpy(vgrid[11], "............");
-
- mons_array[0] = MONS_PANDEMONIUM_DEMON;
- mons_array[1] = summon_any_demon(random2(3));
- mons_array[2] = summon_any_demon(random2(3));
-
- return MAP_NORTH;
-
-}
-
+ FILE *dat = fopen(s.c_str(), "r");
+ if (!dat)
+ {
+ fprintf(stderr, "Failed to open %s for reading: %d\n", s.c_str(),
+ errno);
+ exit(1);
+ }
-static char rand_demon_6(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{
+ reset_map_parser();
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], "............");
- strcpy(vgrid[2], "......2.....");
- strcpy(vgrid[3], "............");
- strcpy(vgrid[4], ".3..........");
- strcpy(vgrid[5], "..........2.");
- strcpy(vgrid[6], ".....1......");
- strcpy(vgrid[7], "............");
- strcpy(vgrid[8], "............");
- strcpy(vgrid[9], ".2.......3..");
- strcpy(vgrid[10], "............");
- strcpy(vgrid[11], "............");
-
- mons_array[0] = MONS_PANDEMONIUM_DEMON;
- mons_array[1] = summon_any_demon(random2(3));
- mons_array[2] = summon_any_demon(random2(3));
-
- return MAP_NORTH;
+ extern int yyparse(void);
+ extern FILE *yyin;
+ yyin = dat;
+ yyparse();
+ fclose(dat);
}
-
-static char rand_demon_7(char vgrid[81][81], FixedVector<int, 7>& mons_array)
+void read_maps()
{
-
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], ".xxx....xxx.");
- strcpy(vgrid[2], ".x|xx=xxx|x.");
- strcpy(vgrid[3], ".xx=....=xx.");
- strcpy(vgrid[4], "..x.x==x.x..");
- strcpy(vgrid[5], "..x.=12=.=..");
- strcpy(vgrid[6], "..=.=23=.x..");
- strcpy(vgrid[7], "..x.x==x.x..");
- strcpy(vgrid[8], ".xx=....=xx.");
- strcpy(vgrid[9], ".x|xxx=xx|x.");
- strcpy(vgrid[10], ".xxx....xxx.");
- strcpy(vgrid[11], "............");
-
- mons_array[0] = MONS_PANDEMONIUM_DEMON;
- mons_array[1] = summon_any_demon(random2(3));
- mons_array[2] = summon_any_demon(DEMON_GREATER);
-
- return MAP_NORTH;
-
+ parse_maps( lc_desfile = datafile_path( "splev.des" ) );
+ parse_maps( lc_desfile = datafile_path( "vaults.des" ) );
}
-
-static char rand_demon_8(char vgrid[81][81], FixedVector<int, 7>& mons_array)
+void add_parsed_map( const map_def &md )
{
+ map_def map = md;
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], "....xxxxxxx.");
- strcpy(vgrid[2], "..xxx....1x.");
- strcpy(vgrid[3], ".xx..2....x.");
- strcpy(vgrid[4], ".x........x.");
- strcpy(vgrid[5], ".xx.......x.");
- strcpy(vgrid[6], "..xx33..2.x.");
- strcpy(vgrid[7], "....33...xx.");
- strcpy(vgrid[8], ".....x...x..");
- strcpy(vgrid[9], "..F..xx.xx..");
- strcpy(vgrid[10], "......xxx...");
- strcpy(vgrid[11], "............");
-
- mons_array[0] = MONS_PANDEMONIUM_DEMON;
- mons_array[1] = summon_any_demon(DEMON_GREATER);
- mons_array[2] = summon_any_demon(random2(3));
-
- return MAP_NORTH;
-
+ map.fixup();
+ vdefs.push_back( map );
}
+//////////////////////////////////////////////////////////////////
+// map_lines
-static char rand_demon_9(char vgrid[81][81], FixedVector<int, 7>& mons_array)
-{
- strcpy(vgrid[0], "............");
- strcpy(vgrid[1], ".xxxxxxxxxx.");
- strcpy(vgrid[2], ".x2=3=3=3xx.");
- strcpy(vgrid[3], ".x=xxxxxx2x.");
- strcpy(vgrid[4], ".x3x^^^^x=x.");
- strcpy(vgrid[5], ".x=x^P^^x2x.");
- strcpy(vgrid[6], ".x3x^^1^x=x.");
- strcpy(vgrid[7], ".x=x^^^^x3x.");
- strcpy(vgrid[8], ".x2xxxx=x=x.");
- strcpy(vgrid[9], ".xx2=2=3x3x.");
- strcpy(vgrid[10], ".xxxxxxxx=x.");
- strcpy(vgrid[11], "............");
-
- mons_array[0] = MONS_PANDEMONIUM_DEMON;
- mons_array[1] = summon_any_demon(random2(3));
- mons_array[2] = summon_any_demon(DEMON_GREATER);
-
- return MAP_NORTH;
-
-}