From 32ca917d2cdf4a6445daff00eeaaaefac434b654 Mon Sep 17 00:00:00 2001 From: nhmall Date: Sun, 5 Mar 2023 17:35:49 -0500 Subject: [PATCH] sym-changes - add engravings to the map 1. Add "engraved room floor" pchar sym (S_engroom). The symbol that displays at the engraved part of a room (not a corridor though). The default symbol is '`' which is currently never shown if people have defined the boulder symbol to '0' and statues are displayed as monster symbols. It is bright blue. Add some stylized variations of the S_engroom symset to some of the symsets. 2. Add "engraved corridor" pchar sym (S_engrcorr). The symbol that displays at the engraved part of a corridor. The default symbol is '#', and it matches the symbol for corridor from for whatever the current symset uses. It is bright blue to match the color of the S_engroom symbol. Using the normal corridor symbol for display preserves the lines of the corridor so is not as visually-disruptive as a smaller symbol would be. Explicit entries that match the S_corr symbol have been added to the symset file. Magic mapping and clairvoyance impacts yet to be determined. The Guidebook updates will come later. --- dat/symbols | 14 ++ include/defsym.h | 166 +++++++-------- include/display.h | 3 + include/engrave.h | 13 +- include/extern.h | 3 + src/cmd.c | 7 +- src/detect.c | 3 + src/display.c | 25 ++- src/engrave.c | 116 ++++++++--- src/pager.c | 49 ++++- win/share/other.txt | 478 ++++++++++++++++++++++++-------------------- 11 files changed, 540 insertions(+), 337 deletions(-) diff --git a/dat/symbols b/dat/symbols index c131d6bdc..c9adbda44 100644 --- a/dat/symbols +++ b/dat/symbols @@ -251,11 +251,13 @@ start: IBMgraphics S_ndoor: \xfa # meta-z, centered dot S_vodoor: \xfe # meta-~, small centered square S_hodoor: \xfe # meta-~, small centered square + S_engroom: \xee # epsilon S_bars: \xf0 # equivalence symbol S_tree: \xf1 # plus or minus symbol S_room: \xfa # meta-z, centered dot S_corr: \xb0 # meta-0, light shading S_litcorr: \xb1 # meta-1, medium shading + S_engrcorr: \xb0 # meta-0, light shading S_fountain: \xf4 # meta-t, integral top half S_sink: \xf4 # meta-t, integral top half S_pool: \xf7 # meta-w, approx. equals @@ -287,6 +289,7 @@ start: IBMGraphics_1 S_tdwall: \xc2 # meta-B, T down S_tlwall: \xb4 # meta-4, T left S_trwall: \xc3 # meta-C, T right + S_engroom: \xee # epsilon S_vbeam: \xb3 # meta-3, vertical rule S_hbeam: \xc4 # meta-D, horizontal rule S_sw_ml: \xb3 # meta-3, vertical rule @@ -311,8 +314,10 @@ start: IBMGraphics_2 S_trwall: \xc3 # meta-C, T right S_vodoor: \xfe # meta-~, small centered square S_hodoor: \xfe # meta-~, small centered square + S_engroom: \xee # epsilon S_corr: \xb0 # meta-0, light shading S_litcorr: \xb1 # meta-1, medium shading + S_engrcorr: \xb0 # meta-0, light shading S_vbeam: \xb3 # meta-3, vertical rule S_hbeam: \xc4 # meta-D, horizontal rule S_sw_ml: \xb3 # meta-3, vertical rule @@ -348,6 +353,7 @@ start: RogueIBM S_room: \xfa # centered dot S_corr: \xb1 S_litcorr: \xb2 + S_engrcorr: \xb1 S_upstair: \xf0 # Greek Xi S_dnstair: \xf0 S_brupstair: \xf0 # Greek Xi @@ -374,8 +380,10 @@ start: RogueEpyx S_vodoor: \xce S_hodoor: \xce S_room: \xfa # centered dot + S_engroom: \xee # epsilon S_corr: \xb1 S_litcorr: \xb2 + S_engrcorr: \xb1 S_upstair: \xf0 # Greek Xi S_dnstair: \xf0 S_brupstair: \xf0 # Greek Xi @@ -452,8 +460,10 @@ start: RogueWindows S_vodoor: \xce S_hodoor: \xce S_room: \xfa # centered dot + S_engroom: \xee # epsilon S_corr: \xb1 S_litcorr: \xb2 + S_engrcorr: \xb1 S_upstair: \xf0 # Greek Xi S_dnstair: \xf0 S_brupstair: \xf0 # Greek Xi @@ -479,8 +489,10 @@ start: curses S_bars: \xfc # meta-|, not-equals sign (was '#') S_tree: \xe7 # meta-g, plus or minus sign S_room: \xfe # meta-z, centered dot + S_engroom: \xee # epsilon S_corr: \xe1 # meta-a, solid block S_litcorr: \xe1 # meta-a, solid block + S_engrcorr: \xe1 # meta-a, solid block S_ice: \xfe # meta-z, centered dot S_vodbridge: \xfe # meta-z, centered dot S_hodbridge: \xfe # meta-z, centered dot @@ -560,6 +572,7 @@ start: MACgraphics S_bars: \xf0 # equivalency symbol S_tree: \xf1 # plus-or-minus S_corr: \xb0 + S_engrcorr: \xb0 S_grave: \xef # same as open door S_pool: \xe0 finish @@ -585,6 +598,7 @@ start: Enhanced1 S_bars: U+2261 # IDENTICAL TO S_tree: U+03a8 # GREEK CAPITAL LETTER PSI S_room: U+00b7 # MIDDLE DOT + S_engroom: U+03BE # Greek Small Letter Xi S_darkroom: U+00b7 # MIDDLE DOT S_upladder: U+2264 # LESS-THAN OR EQUAL TO S_dnladder: U+2265 # GREATER-THAN OR EQUAL TO diff --git a/include/defsym.h b/include/defsym.h index e18884f55..0c3536d8b 100644 --- a/include/defsym.h +++ b/include/defsym.h @@ -113,70 +113,72 @@ PCHAR( 18, '#', S_tree, "tree", CLR(CLR_GREEN)) PCHAR( 19, '.', S_room, "floor of a room", CLR(CLR_GRAY)) PCHAR( 20, '.', S_darkroom, "dark part of a room", CLR(CLR_BLACK)) - PCHAR2(21, '#', S_corr, "dark corridor", "corridor", CLR(CLR_GRAY)) - PCHAR( 22, '#', S_litcorr, "lit corridor", CLR(CLR_GRAY)) - PCHAR2(23, '<', S_upstair, "up stairs", "staircase up", CLR(CLR_GRAY)) - PCHAR2(24, '>', S_dnstair, "down stairs", "staircase down", CLR(CLR_GRAY)) - PCHAR2(25, '<', S_upladder, "up ladder", "ladder up", CLR(CLR_BROWN)) - PCHAR2(26, '>', S_dnladder, "down ladder", "ladder down", CLR(CLR_BROWN)) - PCHAR( 27, '<', S_brupstair, "branch staircase up", CLR(CLR_YELLOW)) - PCHAR( 28, '>', S_brdnstair, "branch staircase down", CLR(CLR_YELLOW)) - PCHAR( 29, '<', S_brupladder, "branch ladder up", CLR(CLR_YELLOW)) - PCHAR( 30, '>', S_brdnladder, "branch ladder down", CLR(CLR_YELLOW)) + PCHAR( 21, '`', S_engroom, "engraved part of a room", CLR(CLR_BRIGHT_BLUE)) + PCHAR2(22, '#', S_corr, "dark corridor", "corridor", CLR(CLR_GRAY)) + PCHAR( 23, '#', S_litcorr, "lit corridor", CLR(CLR_GRAY)) + PCHAR( 24, '#', S_engrcorr, "engraved part of a corridor", CLR(CLR_BRIGHT_BLUE)) + PCHAR2(25, '<', S_upstair, "up stairs", "staircase up", CLR(CLR_GRAY)) + PCHAR2(26, '>', S_dnstair, "down stairs", "staircase down", CLR(CLR_GRAY)) + PCHAR2(27, '<', S_upladder, "up ladder", "ladder up", CLR(CLR_BROWN)) + PCHAR2(28, '>', S_dnladder, "down ladder", "ladder down", CLR(CLR_BROWN)) + PCHAR( 29, '<', S_brupstair, "branch staircase up", CLR(CLR_YELLOW)) + PCHAR( 30, '>', S_brdnstair, "branch staircase down", CLR(CLR_YELLOW)) + PCHAR( 31, '<', S_brupladder, "branch ladder up", CLR(CLR_YELLOW)) + PCHAR( 32, '>', S_brdnladder, "branch ladder down", CLR(CLR_YELLOW)) /* end cmap A */ - PCHAR( 31, '_', S_altar, "altar", CLR(CLR_GRAY)) + PCHAR( 33, '_', S_altar, "altar", CLR(CLR_GRAY)) /* start cmap B */ - PCHAR( 32, '|', S_grave, "grave", CLR(CLR_WHITE)) - PCHAR2(33, '\\', S_throne, "throne", "opulent throne", CLR(HI_GOLD)) - PCHAR( 34, '{', S_sink, "sink", CLR(CLR_WHITE)) - PCHAR( 35, '{', S_fountain, "fountain", CLR(CLR_BRIGHT_BLUE)) - PCHAR2(36, '}', S_pool, "pool", "water", CLR(CLR_BLUE)) - PCHAR( 37, '.', S_ice, "ice", CLR(CLR_CYAN)) - PCHAR( 38, '}', S_lava, "molten lava", CLR(CLR_RED)) - PCHAR( 39, '}', S_lavawall, "wall of lava", CLR(CLR_ORANGE)) - PCHAR2(40, '.', S_vodbridge, "vertical open drawbridge", + PCHAR( 34, '|', S_grave, "grave", CLR(CLR_WHITE)) + PCHAR2(35, '\\', S_throne, "throne", "opulent throne", CLR(HI_GOLD)) + PCHAR( 36, '{', S_sink, "sink", CLR(CLR_WHITE)) + PCHAR( 37, '{', S_fountain, "fountain", CLR(CLR_BRIGHT_BLUE)) + PCHAR2(38, '}', S_pool, "pool", "water", CLR(CLR_BLUE)) + PCHAR( 39, '.', S_ice, "ice", CLR(CLR_CYAN)) + PCHAR( 40, '}', S_lava, "molten lava", CLR(CLR_RED)) + PCHAR( 41, '}', S_lavawall, "wall of lava", CLR(CLR_ORANGE)) + PCHAR2(42, '.', S_vodbridge, "vertical open drawbridge", "lowered drawbridge", CLR(CLR_BROWN)) - PCHAR2(41, '.', S_hodbridge, "horizontal open drawbridge", + PCHAR2(43, '.', S_hodbridge, "horizontal open drawbridge", "lowered drawbridge", CLR(CLR_BROWN)) - PCHAR2(42, '#', S_vcdbridge, "vertical closed drawbridge", + PCHAR2(44, '#', S_vcdbridge, "vertical closed drawbridge", "raised drawbridge", CLR(CLR_BROWN)) - PCHAR2(43, '#', S_hcdbridge, "horizontal closed drawbridge", + PCHAR2(45, '#', S_hcdbridge, "horizontal closed drawbridge", "raised drawbridge", CLR(CLR_BROWN)) - PCHAR( 44, ' ', S_air, "air", CLR(CLR_CYAN)) - PCHAR( 45, '#', S_cloud, "cloud", CLR(CLR_GRAY)) - PCHAR( 46, '}', S_water, "water", CLR(CLR_BLUE)) + PCHAR( 46, ' ', S_air, "air", CLR(CLR_CYAN)) + PCHAR( 47, '#', S_cloud, "cloud", CLR(CLR_GRAY)) + PCHAR( 48, '}', S_water, "water", CLR(CLR_BLUE)) /* end dungeon characters */ /* */ /* begin traps */ /* */ - PCHAR( 47, '^', S_arrow_trap, "arrow trap", CLR(HI_METAL)) - PCHAR( 48, '^', S_dart_trap, "dart trap", CLR(HI_METAL)) - PCHAR( 49, '^', S_falling_rock_trap, "falling rock trap", CLR(CLR_GRAY)) - PCHAR( 50, '^', S_squeaky_board, "squeaky board", CLR(CLR_BROWN)) - PCHAR( 51, '^', S_bear_trap, "bear trap", CLR(HI_METAL)) - PCHAR( 52, '^', S_land_mine, "land mine", CLR(CLR_RED)) - PCHAR( 53, '^', S_rolling_boulder_trap, "rolling boulder trap", + PCHAR( 49, '^', S_arrow_trap, "arrow trap", CLR(HI_METAL)) + PCHAR( 50, '^', S_dart_trap, "dart trap", CLR(HI_METAL)) + PCHAR( 51, '^', S_falling_rock_trap, "falling rock trap", CLR(CLR_GRAY)) + PCHAR( 52, '^', S_squeaky_board, "squeaky board", CLR(CLR_BROWN)) + PCHAR( 53, '^', S_bear_trap, "bear trap", CLR(HI_METAL)) + PCHAR( 54, '^', S_land_mine, "land mine", CLR(CLR_RED)) + PCHAR( 55, '^', S_rolling_boulder_trap, "rolling boulder trap", CLR(CLR_GRAY)) - PCHAR( 54, '^', S_sleeping_gas_trap, "sleeping gas trap", CLR(HI_ZAP)) - PCHAR( 55, '^', S_rust_trap, "rust trap", CLR(CLR_BLUE)) - PCHAR( 56, '^', S_fire_trap, "fire trap", CLR(CLR_ORANGE)) - PCHAR( 57, '^', S_pit, "pit", CLR(CLR_BLACK)) - PCHAR( 58, '^', S_spiked_pit, "spiked pit", CLR(CLR_BLACK)) - PCHAR( 59, '^', S_hole, "hole", CLR(CLR_BROWN)) - PCHAR( 60, '^', S_trap_door, "trap door", CLR(CLR_BROWN)) - PCHAR( 61, '^', S_teleportation_trap, "teleportation trap", + PCHAR( 56, '^', S_sleeping_gas_trap, "sleeping gas trap", CLR(HI_ZAP)) + PCHAR( 57, '^', S_rust_trap, "rust trap", CLR(CLR_BLUE)) + PCHAR( 58, '^', S_fire_trap, "fire trap", CLR(CLR_ORANGE)) + PCHAR( 59, '^', S_pit, "pit", CLR(CLR_BLACK)) + PCHAR( 60, '^', S_spiked_pit, "spiked pit", CLR(CLR_BLACK)) + PCHAR( 61, '^', S_hole, "hole", CLR(CLR_BROWN)) + PCHAR( 62, '^', S_trap_door, "trap door", CLR(CLR_BROWN)) + PCHAR( 63, '^', S_teleportation_trap, "teleportation trap", CLR(CLR_MAGENTA)) - PCHAR( 62, '^', S_level_teleporter, "level teleporter", CLR(CLR_MAGENTA)) - PCHAR( 63, '^', S_magic_portal, "magic portal", CLR(CLR_BRIGHT_MAGENTA)) - PCHAR( 64, '"', S_web, "web", CLR(CLR_GRAY)) - PCHAR( 65, '^', S_statue_trap, "statue trap", CLR(CLR_GRAY)) - PCHAR( 66, '^', S_magic_trap, "magic trap", CLR(HI_ZAP)) - PCHAR2(67, '^', S_anti_magic_trap, "anti magic trap", "anti-magic field", + PCHAR( 64, '^', S_level_teleporter, "level teleporter", CLR(CLR_MAGENTA)) + PCHAR( 65, '^', S_magic_portal, "magic portal", CLR(CLR_BRIGHT_MAGENTA)) + PCHAR( 66, '"', S_web, "web", CLR(CLR_GRAY)) + PCHAR( 67, '^', S_statue_trap, "statue trap", CLR(CLR_GRAY)) + PCHAR( 68, '^', S_magic_trap, "magic trap", CLR(HI_ZAP)) + PCHAR2(69, '^', S_anti_magic_trap, "anti magic trap", "anti-magic field", CLR(HI_ZAP)) - PCHAR( 68, '^', S_polymorph_trap, "polymorph trap", CLR(CLR_BRIGHT_GREEN)) - PCHAR( 69, '~', S_vibrating_square, "vibrating square", CLR(CLR_MAGENTA)) - PCHAR( 70, '^', S_trapped_door, "trapped door", CLR(CLR_ORANGE)) - PCHAR( 71, '^', S_trapped_chest, "trapped chest", CLR(CLR_ORANGE)) + PCHAR( 70, '^', S_polymorph_trap, "polymorph trap", CLR(CLR_BRIGHT_GREEN)) + PCHAR( 71, '~', S_vibrating_square, "vibrating square", CLR(CLR_MAGENTA)) + PCHAR( 72, '^', S_trapped_door, "trapped door", CLR(CLR_ORANGE)) + PCHAR( 73, '^', S_trapped_chest, "trapped chest", CLR(CLR_ORANGE)) /* end traps */ /* end cmap B */ /* */ @@ -184,22 +186,22 @@ /* */ /* zap colors are changed by reset_glyphmap() to match type of beam */ /* */ - PCHAR2(72, '|', S_vbeam, "vertical beam", "", CLR(CLR_GRAY)) - PCHAR2(73, '-', S_hbeam, "horizontal beam", "", CLR(CLR_GRAY)) - PCHAR2(74, '\\', S_lslant, "left slant beam", "", CLR(CLR_GRAY)) - PCHAR2(75, '/', S_rslant, "right slant beam", "", CLR(CLR_GRAY)) + PCHAR2(74, '|', S_vbeam, "vertical beam", "", CLR(CLR_GRAY)) + PCHAR2(75, '-', S_hbeam, "horizontal beam", "", CLR(CLR_GRAY)) + PCHAR2(76, '\\', S_lslant, "left slant beam", "", CLR(CLR_GRAY)) + PCHAR2(77, '/', S_rslant, "right slant beam", "", CLR(CLR_GRAY)) /* start cmap C */ - PCHAR2(76, '*', S_digbeam, "dig beam", "", CLR(CLR_WHITE)) - PCHAR2(77, '!', S_flashbeam, "flash beam", "", CLR(CLR_WHITE)) - PCHAR2(78, ')', S_boomleft, "boom left", "", CLR(HI_WOOD)) - PCHAR2(79, '(', S_boomright, "boom right", "", CLR(HI_WOOD)) + PCHAR2(78, '*', S_digbeam, "dig beam", "", CLR(CLR_WHITE)) + PCHAR2(79, '!', S_flashbeam, "flash beam", "", CLR(CLR_WHITE)) + PCHAR2(80, ')', S_boomleft, "boom left", "", CLR(HI_WOOD)) + PCHAR2(81, '(', S_boomright, "boom right", "", CLR(HI_WOOD)) /* 4 magic shield symbols */ - PCHAR2(80, '0', S_ss1, "shield1", "", CLR(HI_ZAP)) - PCHAR2(81, '#', S_ss2, "shield2", "", CLR(HI_ZAP)) - PCHAR2(82, '@', S_ss3, "shield3", "", CLR(HI_ZAP)) - PCHAR2(83, '*', S_ss4, "shield4", "", CLR(HI_ZAP)) - PCHAR( 84, '#', S_poisoncloud, "poison cloud", CLR(CLR_BRIGHT_GREEN)) - PCHAR( 85, '?', S_goodpos, "valid position", CLR(CLR_BRIGHT_GREEN)) + PCHAR2(82, '0', S_ss1, "shield1", "", CLR(HI_ZAP)) + PCHAR2(83, '#', S_ss2, "shield2", "", CLR(HI_ZAP)) + PCHAR2(84, '@', S_ss3, "shield3", "", CLR(HI_ZAP)) + PCHAR2(85, '*', S_ss4, "shield4", "", CLR(HI_ZAP)) + PCHAR( 86, '#', S_poisoncloud, "poison cloud", CLR(CLR_BRIGHT_GREEN)) + PCHAR( 87, '?', S_goodpos, "valid position", CLR(CLR_BRIGHT_GREEN)) /* end cmap C */ /* */ /* The 8 swallow symbols. Do NOT separate. */ @@ -213,14 +215,14 @@ /* 4 5 6 */ /* 7 8 9 */ /* */ - PCHAR2(86, '/', S_sw_tl, "swallow top left", "", CLR(CLR_GREEN)) /*1*/ - PCHAR2(87, '-', S_sw_tc, "swallow top center", "", CLR(CLR_GREEN)) /*2*/ - PCHAR2(88, '\\', S_sw_tr, "swallow top right", "", CLR(CLR_GREEN)) /*3*/ - PCHAR2(89, '|', S_sw_ml, "swallow middle left", "", CLR(CLR_GREEN)) /*4*/ - PCHAR2(90, '|', S_sw_mr, "swallow middle right", "", CLR(CLR_GREEN)) /*6*/ - PCHAR2(91, '\\', S_sw_bl, "swallow bottom left", "", CLR(CLR_GREEN)) /*7*/ - PCHAR2(92, '-', S_sw_bc, "swallow bottom center", "", CLR(CLR_GREEN))/*8*/ - PCHAR2(93, '/', S_sw_br, "swallow bottom right", "", CLR(CLR_GREEN)) /*9*/ + PCHAR2(88, '/', S_sw_tl, "swallow top left", "", CLR(CLR_GREEN)) /*1*/ + PCHAR2(89, '-', S_sw_tc, "swallow top center", "", CLR(CLR_GREEN)) /*2*/ + PCHAR2(90, '\\', S_sw_tr, "swallow top right", "", CLR(CLR_GREEN)) /*3*/ + PCHAR2(91, '|', S_sw_ml, "swallow middle left", "", CLR(CLR_GREEN)) /*4*/ + PCHAR2(92, '|', S_sw_mr, "swallow middle right", "", CLR(CLR_GREEN)) /*6*/ + PCHAR2(93, '\\', S_sw_bl, "swallow bottom left", "", CLR(CLR_GREEN)) /*7*/ + PCHAR2(94, '-', S_sw_bc, "swallow bottom center", "", CLR(CLR_GREEN))/*8*/ + PCHAR2(95, '/', S_sw_br, "swallow bottom right", "", CLR(CLR_GREEN)) /*9*/ /* */ /* explosion colors are changed by reset_glyphmap() to match */ /* the type of expl. */ @@ -231,15 +233,15 @@ /* |@| */ /* \-/ */ /* */ - PCHAR2(94, '/', S_expl_tl, "explosion top left", "", CLR(CLR_ORANGE)) - PCHAR2(95, '-', S_expl_tc, "explosion top center", "", CLR(CLR_ORANGE)) - PCHAR2(96, '\\', S_expl_tr, "explosion top right", "", CLR(CLR_ORANGE)) - PCHAR2(97, '|', S_expl_ml, "explosion middle left", "", CLR(CLR_ORANGE)) - PCHAR2(98, ' ', S_expl_mc, "explosion middle center", "", CLR(CLR_ORANGE)) - PCHAR2(99, '|', S_expl_mr, "explosion middle right", "", CLR(CLR_ORANGE)) - PCHAR2(100, '\\', S_expl_bl, "explosion bottom left", "", CLR(CLR_ORANGE)) - PCHAR2(101, '-', S_expl_bc, "explosion bottom center", "", CLR(CLR_ORANGE)) - PCHAR2(102, '/', S_expl_br, "explosion bottom right", "", CLR(CLR_ORANGE)) + PCHAR2(96, '/', S_expl_tl, "explosion top left", "", CLR(CLR_ORANGE)) + PCHAR2(97, '-', S_expl_tc, "explosion top center", "", CLR(CLR_ORANGE)) + PCHAR2(98, '\\', S_expl_tr, "explosion top right", "", CLR(CLR_ORANGE)) + PCHAR2(99, '|', S_expl_ml, "explosion middle left", "", CLR(CLR_ORANGE)) + PCHAR2(100, ' ', S_expl_mc, "explosion middle center", "", CLR(CLR_ORANGE)) + PCHAR2(101, '|', S_expl_mr, "explosion middle right", "", CLR(CLR_ORANGE)) + PCHAR2(102, '\\', S_expl_bl, "explosion bottom left", "", CLR(CLR_ORANGE)) + PCHAR2(103, '-', S_expl_bc, "explosion bottom center", "", CLR(CLR_ORANGE)) + PCHAR2(104, '/', S_expl_br, "explosion bottom right", "", CLR(CLR_ORANGE)) #undef PCHAR #undef PCHAR2 #endif /* PCHAR_S_ENUM || PCHAR_PARSE || PCHAR_DRAWING || PCHAR_TILES */ diff --git a/include/display.h b/include/display.h index 1502f27de..80af8410c 100644 --- a/include/display.h +++ b/include/display.h @@ -630,6 +630,9 @@ enum glyph_offsets { #define trap_to_glyph(trap) \ cmap_to_glyph(trap_to_defsym(((int) (trap)->ttyp))) +#define engraving_to_glyph(ep) \ + cmap_to_glyph(engraving_to_defsym(ep)) + /* Not affected by hallucination. Gives a generic body for CORPSE */ /* MRKR: ...and the generic statue */ #define objnum_to_glyph(onum) ((int) (onum) + GLYPH_OBJ_OFF) diff --git a/include/engrave.h b/include/engrave.h index 380f8227a..0a5e20079 100644 --- a/include/engrave.h +++ b/include/engrave.h @@ -6,11 +6,14 @@ #ifndef ENGRAVE_H #define ENGRAVE_H +enum engraving_texts { actual_text, remembered_text, pristine_text, text_states }; + struct engr { struct engr *nxt_engr; - char *engr_txt; + char *engr_txt[text_states]; coordxy engr_x, engr_y; - unsigned engr_lth; /* for save & restore; not length of text */ + unsigned engr_szeach; /* length of text including trailing NUL */ + unsigned engr_alloc; /* for save & restore; not length of text */ long engr_time; /* moment engraving was (will be) finished */ xint8 engr_type; #define DUST 1 @@ -25,11 +28,15 @@ struct engr { * even when hero isn't (so behaves similarly * to how Elbereth did in 3.4.3) */ Bitfield(nowipeout, 1); /* this engraving will not degrade */ - /* 6 free bits */ + Bitfield(eread, 1); /* the engraving text has been read or felt */ + /* 5 free bits */ }; #define newengr(lth) \ (struct engr *) alloc((unsigned) (lth) + (unsigned) sizeof (struct engr)) #define dealloc_engr(engr) free((genericptr_t) (engr)) +#define engraving_to_defsym(ep) \ + (levl[(ep)->engr_x][(ep)->engr_y].typ == CORR ? S_engrcorr : S_engroom) + #endif /* ENGRAVE_H */ diff --git a/include/extern.h b/include/extern.h index 99ebfb42f..802b564c4 100644 --- a/include/extern.h +++ b/include/extern.h @@ -832,6 +832,9 @@ extern void del_engr(struct engr *); extern void rloc_engr(struct engr *); extern void make_grave(coordxy, coordxy, const char *); extern void disturb_grave(coordxy, coordxy); +extern void map_engraving(struct engr *, int); +extern void see_engraving(struct engr *); +extern void feel_engraving(struct engr *); /* ### exper.c ### */ diff --git a/src/cmd.c b/src/cmd.c index 70fba772b..ca6bf86d8 100644 --- a/src/cmd.c +++ b/src/cmd.c @@ -1216,12 +1216,14 @@ wiz_makemap(void) return ECMD_OK; } -/* the #wizmap command - reveal the level map and any traps on it */ +/* the #wizmap command - reveal the level map + and any traps or engravings on it */ static int wiz_map(void) { if (wizard) { struct trap *t; + struct engr *ep; long save_Hconf = HConfusion, save_Hhallu = HHallucination; HConfusion = HHallucination = 0L; @@ -1229,6 +1231,9 @@ wiz_map(void) t->tseen = 1; map_trap(t, TRUE); } + for (ep = head_engr; ep != 0; ep = ep->nxt_engr) { + map_engraving(ep, TRUE); + } do_mapping(); HConfusion = save_Hconf; HHallucination = save_Hhallu; diff --git a/src/detect.c b/src/detect.c index 4ea047240..064d739a3 100644 --- a/src/detect.c +++ b/src/detect.c @@ -1328,6 +1328,7 @@ show_map_spot(coordxy x, coordxy y) { struct rm *lev; struct trap *t; + struct engr *ep; int oldglyph; if (Confusion && rn2(7)) @@ -1359,6 +1360,8 @@ show_map_spot(coordxy x, coordxy y) if (!IS_FURNITURE(lev->typ)) { if ((t = t_at(x, y)) != 0 && t->tseen) { map_trap(t, 1); + } else if ((ep = engr_at(x,y)) != 0) { + map_engraving(ep, 1); } else if (glyph_is_trap(oldglyph) || glyph_is_object(oldglyph)) { show_glyph(x, y, oldglyph); if (gl.level.flags.hero_memory) diff --git a/src/display.c b/src/display.c index 7b91b04e2..aceb94876 100644 --- a/src/display.c +++ b/src/display.c @@ -60,7 +60,7 @@ * * map_background * map_object - * map_trap + * map_trap or map_engraving * map_invisible * unmap_object * @@ -304,6 +304,23 @@ map_trap(register struct trap *trap, register int show) show_glyph(x, y, glyph); } +/* + * map_engraving() + * + * Map the engraving and print it out if directed. + */ +void +map_engraving(struct engr *ep, register int show) +{ + coordxy x = ep->engr_x, y = ep->engr_y; + int glyph = engraving_to_glyph(ep); + + if (gl.level.flags.hero_memory) + levl[x][y].glyph = glyph; + if (show) + show_glyph(x, y, glyph); +} + /* * map_object() * @@ -392,12 +409,15 @@ void unmap_object(register coordxy x, register coordxy y) { register struct trap *trap; + struct engr *ep; if (!gl.level.flags.hero_memory) return; if ((trap = t_at(x, y)) != 0 && trap->tseen && !covers_traps(x, y)) { map_trap(trap, 0); + } else if ((ep = engr_at(x, y)) != 0 && !covers_traps(x, y)) { + map_engraving(ep, 0); } else if (levl[x][y].seenv) { struct rm *lev = &levl[x][y]; @@ -424,11 +444,14 @@ unmap_object(register coordxy x, register coordxy y) { \ register struct obj *obj; \ register struct trap *trap; \ + struct engr *ep; \ \ if ((obj = vobj_at(x, y)) && !covers_objects(x, y)) \ map_object(obj, show); \ else if ((trap = t_at(x, y)) && trap->tseen && !covers_traps(x, y)) \ map_trap(trap, show); \ + else if ((ep = engr_at(x, y)) && !covers_traps(x, y)) \ + map_engraving(ep, show); \ else \ map_background(x, y, show); \ \ diff --git a/src/engrave.c b/src/engrave.c index 6f43656f8..4605f801f 100644 --- a/src/engrave.c +++ b/src/engrave.c @@ -254,7 +254,7 @@ ceiling(coordxy x, coordxy y) struct engr * engr_at(coordxy x, coordxy y) { - register struct engr *ep = head_engr; + struct engr *ep = head_engr; while (ep) { if (x == ep->engr_x && y == ep->engr_y) @@ -277,8 +277,8 @@ sengr_at(const char *s, coordxy x, coordxy y, boolean strict) struct engr *ep = engr_at(x, y); if (ep && ep->engr_type != HEADSTONE && ep->engr_time <= gm.moves) { - if (strict ? !strcmpi(ep->engr_txt, s) - : (strstri(ep->engr_txt, s) != 0)) + if (strict ? !strcmpi(ep->engr_txt[actual_text], s) + : (strstri(ep->engr_txt[actual_text], s) != 0)) return ep; } return (struct engr *) NULL; @@ -304,10 +304,10 @@ wipe_engr_at(coordxy x, coordxy y, xint16 cnt, boolean magical) cnt = rn2(1 + 50 / (cnt + 1)) ? 0 : 1; debugpline1("actually eroding %d characters", cnt); } - wipeout_text(ep->engr_txt, (int) cnt, 0); - while (ep->engr_txt[0] == ' ') - ep->engr_txt++; - if (!ep->engr_txt[0]) + wipeout_text(ep->engr_txt[actual_text], (int) cnt, 0); + while (ep->engr_txt[actual_text][0] == ' ') + ep->engr_txt[actual_text]++; + if (!ep->engr_txt[actual_text][0]) del_engr(ep); } } @@ -322,7 +322,7 @@ read_engr_at(coordxy x, coordxy y) /* Sensing an engraving does not require sight, * nor does it necessarily imply comprehension (literacy). */ - if (ep && ep->engr_txt[0]) { + if (ep && ep->engr_txt[actual_text][0]) { switch (ep->engr_type) { case DUST: if (!Blind) { @@ -373,14 +373,16 @@ read_engr_at(coordxy x, coordxy y) /* sizeof "literal" counts terminating \0 */ - sizeof "You feel the words: \"\"."); - if ((int) strlen(ep->engr_txt) > maxelen) { - (void) strncpy(buf, ep->engr_txt, maxelen); + if ((int) strlen(ep->engr_txt[actual_text]) > maxelen) { + (void) strncpy(buf, ep->engr_txt[actual_text], maxelen); buf[maxelen] = '\0'; et = buf; } else { - et = ep->engr_txt; + et = ep->engr_txt[actual_text]; } You("%s: \"%s\".", (Blind) ? "feel the words" : "read", et); + Strcpy(ep->engr_txt[remembered_text], ep->engr_txt[actual_text]); + ep->eread = 1; if (gc.context.run > 0) nomul(0); } @@ -390,19 +392,24 @@ read_engr_at(coordxy x, coordxy y) void make_engr_at(coordxy x, coordxy y, const char *s, long e_time, xint16 e_type) { + int i; struct engr *ep; unsigned smem = Strlen(s) + 1; if ((ep = engr_at(x, y)) != 0) del_engr(ep); - ep = newengr(smem); - (void) memset((genericptr_t) ep, 0, smem + sizeof (struct engr)); + + ep = newengr(smem * 3); + (void) memset((genericptr_t) ep, 0, (smem * 3) + sizeof (struct engr)); ep->nxt_engr = head_engr; head_engr = ep; ep->engr_x = x; ep->engr_y = y; - ep->engr_txt = (char *) (ep + 1); - Strcpy(ep->engr_txt, s); + ep->engr_txt[actual_text] = (char *) (ep + 1); + ep->engr_txt[remembered_text] = ep->engr_txt[actual_text] + smem; + ep->engr_txt[pristine_text] = ep->engr_txt[remembered_text] + smem; + for(i = 0; i < text_states; ++i) + Strcpy(ep->engr_txt[i], s); if (!strcmp(s, "Elbereth")) { /* engraving "Elbereth": if done when making a level, it creates an old-style Elbereth that deters monsters when any objects are @@ -414,7 +421,9 @@ make_engr_at(coordxy x, coordxy y, const char *s, long e_time, xint16 e_type) } ep->engr_time = e_time; ep->engr_type = e_type > 0 ? e_type : rnd(N_ENGRAVE - 1); - ep->engr_lth = smem; + ep->engr_szeach = smem; + ep->engr_alloc = smem * 3; + /* we do not set ep->eread; the caller will need to if required */ } /* delete any engraving at location */ @@ -536,6 +545,8 @@ doengrave(void) boolean ptext = TRUE; /* TRUE if we must prompt for engrave text */ boolean teleengr = FALSE; /* TRUE if we move the old engraving */ boolean zapwand = FALSE; /* TRUE if we remove a wand charge */ + boolean disprefresh = FALSE; /* TRUE if the display needs a refresh */ + xint16 type = DUST; /* Type of engraving made */ xint16 oetype = 0; /* will be set to type of current engraving */ char buf[BUFSZ]; /* Buffer for final/poly engraving text */ @@ -937,17 +948,28 @@ doengrave(void) } if (teleengr) { rloc_engr(oep); + oep->eread = 0; + disprefresh = TRUE; oep = (struct engr *) 0; } if (dengr) { del_engr(oep); oep = (struct engr *) 0; + disprefresh = TRUE; } /* Something has changed the engraving here */ if (*buf) { + struct engr *tmp_ep; + make_engr_at(u.ux, u.uy, buf, gm.moves, type); - if (!Blind) - pline_The("engraving now reads: \"%s\".", buf); + tmp_ep = engr_at(u.ux, u.uy); + if (!Blind) { + if (tmp_ep != 0) { + pline_The("engraving now reads: \"%s\".", buf); + tmp_ep->eread = 1; + disprefresh = TRUE; + } + } ptext = FALSE; } if (zapwand && (otmp->spe < 0)) { @@ -965,6 +987,8 @@ doengrave(void) if (!ptext) { if (otmp && otmp->oclass == WAND_CLASS && !can_reach_floor(TRUE)) cant_reach_floor(u.ux, u.uy, FALSE, TRUE); + if (disprefresh) + newsym(u.ux, u.uy); return ECMD_TIME; } /* @@ -1004,6 +1028,7 @@ doengrave(void) : "written"); del_engr(oep); oep = (struct engr *) 0; + disprefresh = TRUE; } else { /* defer deletion until after we *know* we're engraving */ eow = TRUE; @@ -1020,7 +1045,7 @@ doengrave(void) You("will overwrite the current message."); eow = TRUE; } - } else if (oep && (int) strlen(oep->engr_txt) >= BUFSZ - 1) { + } else if (oep && (int) strlen(oep->engr_txt[actual_text]) >= BUFSZ - 1) { There("is no room to add anything else here."); return ECMD_TIME; } @@ -1107,6 +1132,7 @@ doengrave(void) if (eow) { del_engr(oep); oep = (struct engr *) 0; + disprefresh = TRUE; } Strcpy(gc.context.engraving.text, ebuf); @@ -1129,6 +1155,8 @@ doengrave(void) /* Engraving will always take at least one action via being run as an * occupation, so do not count this setup as taking time. */ + if (disprefresh) + newsym(u.ux, u.uy); return ECMD_OK; } @@ -1144,6 +1172,7 @@ engrave(void) boolean firsttime = (gc.context.engraving.actionct == 0); int rate = 10; /* # characters that can be engraved in this action */ boolean truncate = FALSE; + boolean neweng = (gc.context.engraving.actionct == 0); boolean carving = (gc.context.engraving.type == ENGRAVE || gc.context.engraving.type == HEADSTONE); @@ -1282,7 +1311,7 @@ engrave(void) buf[0] = '\0'; oep = engr_at(u.ux, u.uy); if (oep) /* add to existing engraving */ - Strcpy(buf, oep->engr_txt); + Strcpy(buf, oep->engr_txt[actual_text]); space_left = (int) (sizeof buf - strlen(buf) - 1U); if (endc - gc.context.engraving.nextc > space_left) { @@ -1305,9 +1334,15 @@ engrave(void) (void) strncat(buf, gc.context.engraving.nextc, min(space_left, endc - gc.context.engraving.nextc)); make_engr_at(u.ux, u.uy, buf, gm.moves - gm.multi, gc.context.engraving.type); + oep = engr_at(u.ux, u.uy); + if (oep) + oep->eread = 1; if (*endc) { gc.context.engraving.nextc = endc; + if (neweng) { + newsym(gc.context.engraving.pos.x, gc.context.engraving.pos.y); + } return 1; /* not yet finished this turn */ } else { /* finished engraving */ /* actions that happen after the engraving is finished go here */ @@ -1324,6 +1359,8 @@ engrave(void) gc.context.engraving.nextc = (char *) 0; gc.context.engraving.stylus = (struct obj *) 0; } + if (neweng) + newsym(gc.context.engraving.pos.x, gc.context.engraving.pos.y); return 0; } @@ -1335,7 +1372,7 @@ sanitize_engravings(void) struct engr *ep; for (ep = head_engr; ep; ep = ep->nxt_engr) { - sanitize_name(ep->engr_txt); + sanitize_name(ep->engr_txt[actual_text]); } } @@ -1347,12 +1384,13 @@ save_engravings(NHFILE *nhfp) for (ep = head_engr; ep; ep = ep2) { ep2 = ep->nxt_engr; - if (ep->engr_lth && ep->engr_txt[0] && perform_bwrite(nhfp)) { + if (ep->engr_alloc + && ep->engr_txt[actual_text][0] && perform_bwrite(nhfp)) { if (nhfp->structlevel) { - bwrite(nhfp->fd, (genericptr_t)&(ep->engr_lth), - sizeof ep->engr_lth); + bwrite(nhfp->fd, (genericptr_t)&(ep->engr_alloc), + sizeof ep->engr_alloc); bwrite(nhfp->fd, (genericptr_t)ep, - sizeof (struct engr) + ep->engr_lth); + sizeof (struct engr) + ep->engr_alloc); } } if (release_data(nhfp)) @@ -1385,7 +1423,13 @@ rest_engravings(NHFILE *nhfp) } ep->nxt_engr = head_engr; head_engr = ep; - ep->engr_txt = (char *) (ep + 1); /* Andreas Bormann */ + ep->engr_txt[actual_text] = (char *) (ep + 1); /* Andreas Bormann */ + ep->engr_txt[remembered_text] = ep->engr_txt[actual_text] + ep->engr_szeach; + ep->engr_txt[pristine_text] = ep->engr_txt[remembered_text] + ep->engr_szeach; + while (ep->engr_txt[actual_text][0] == ' ') + ep->engr_txt[actual_text]++; + while (ep->engr_txt[remembered_text][0] == ' ') + ep->engr_txt[remembered_text]++; /* mark as finished for bones levels -- no problem for * normal levels as the player must have finished engraving * to be able to move again */ @@ -1409,7 +1453,7 @@ engr_stats( *count = *size = 0L; for (ep = head_engr; ep; ep = ep->nxt_engr) { ++*count; - *size += (long) sizeof *ep + (long) ep->engr_lth; + *size += (long) sizeof *ep + (long) ep->engr_alloc; } } @@ -1451,6 +1495,7 @@ rloc_engr(struct engr *ep) ep->engr_x = tx; ep->engr_y = ty; + newsym(tx, ty); /* caller took care of the old location */ } /* Create a headstone at the given location. @@ -1493,6 +1538,23 @@ disturb_grave(coordxy x, coordxy y) } } +void +see_engraving(struct engr *ep) +{ + newsym(ep->engr_x, ep->engr_y); +} + +/* like see_engravings() but overrides vision, but + only for some types of engravings that can be felt */ +void +feel_engraving(struct engr *ep) +{ + ep->eread = 1; + map_engraving(ep, 1); + /* in case it's beneath something, redisplay the something */ + newsym(ep->engr_x, ep->engr_y); +} + static const char blind_writing[][21] = { {0x44, 0x66, 0x6d, 0x69, 0x62, 0x65, 0x22, 0x45, 0x7b, 0x71, 0x65, 0x6d, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, diff --git a/src/pager.c b/src/pager.c index 784f4d442..a2d314ece 100644 --- a/src/pager.c +++ b/src/pager.c @@ -43,6 +43,7 @@ static void domenucontrols(void); extern void port_help(void); #endif static char *setopt_cmd(char *); +static boolean add_quoted_engraving(coordxy, coordxy, char *); static const char invisexplain[] = "remembered, unseen, creature", altinvisexplain[] = "unseen creature"; /* for clairvoyance */ @@ -653,6 +654,10 @@ lookat(coordxy x, coordxy y, char *buf, char *monbuf) case S_ice: /* for hallucination; otherwise defsyms[] would be fine */ Strcpy(buf, waterbody_name(x, y)); break; + case S_engroom: + case S_engrcorr: + Strcpy(buf, "engraving"); + break; case S_stone: if (!levl[x][y].seenv) { Strcpy(buf, "unexplored"); @@ -1266,6 +1271,12 @@ do_screen_description(coord cc, boolean looked, int sym, char *out_str, : !(alt_i == S_stone || strcmp(x_str, "air") == 0 || strcmp(x_str, "land") == 0); + + if (alt_i == S_engroom || alt_i == S_engrcorr) { + article = 1; + x_str = "engraving"; + need_to_look = TRUE; + } found = add_cmap_descr(found, alt_i, glyph, article, cc, x_str, prefix, &hit_trap, firstmatch, out_str); @@ -1393,9 +1404,11 @@ do_screen_description(coord cc, boolean looked, int sym, char *out_str, if (look_buf[0] != '\0') *firstmatch = look_buf; if (*(*firstmatch)) { - Snprintf(temp_buf, sizeof temp_buf, " (%s)", *firstmatch); - (void) strncat(out_str, temp_buf, - BUFSZ - strlen(out_str) - 1); + if (strncmp(look_buf, "engraving", 9) != 0) { + Snprintf(temp_buf, sizeof temp_buf, " (%s)", *firstmatch); + (void) strncat(out_str, temp_buf, + BUFSZ - strlen(out_str) - 1); + } found = 1; /* we have something to look up */ } if (monbuf[0]) { @@ -1409,6 +1422,24 @@ do_screen_description(coord cc, boolean looked, int sym, char *out_str, return found; } +static boolean +add_quoted_engraving(coordxy x, coordxy y, char *buf) +{ + char temp_buf[BUFSZ]; + struct engr *ep = engr_at(x, y); + + if (ep) { + if (ep->eread) + Snprintf(temp_buf, sizeof temp_buf, " with remembered text: \"%s\"", + ep->engr_txt[remembered_text]); + else + Snprintf(temp_buf, sizeof temp_buf, " that you've never read"); + (void) strncat(buf, temp_buf, BUFSZ - strlen(buf) - 1); + return TRUE; + } + return FALSE; +} + /* also used by getpos hack in do_name.c */ const char what_is_an_unknown_object[] = "an unknown object"; @@ -1604,6 +1635,18 @@ do_look(int mode, coord *click_cc) /* Finally, print out our explanation. */ if (found) { + if (ans != LOOK_QUICK && ans != LOOK_ONCE + && (ans == LOOK_VERBOSE || (flags.help && !quick)) + && !clicklook + && !strncmp(firstmatch, "engraving", 9)) { + char engbuf[BUFSZ]; + + engbuf[0] = '\0'; + if (add_quoted_engraving(cc.x, cc.y, engbuf)) { + Snprintf(eos(out_str), BUFSZ - strlen(out_str) - 1, + engbuf); + } + } /* use putmixed() because there may be an encoded glyph present */ putmixed(WIN_MESSAGE, 0, out_str); #ifdef DUMPLOG diff --git a/win/share/other.txt b/win/share/other.txt index 55726672b..0aa076e03 100644 --- a/win/share/other.txt +++ b/win/share/other.txt @@ -429,7 +429,26 @@ Z = (195, 195, 195) .A.A.A.A.A.A.A.A A.A.A.A.A.A.A.A. } -# tile 21 (corridor) +# tile 21 (engraved part of a room) +{ + ................ + ................ + ...E...E........ + ....E...E....... + .........E..E... + ..........E..... + ................ + .......PP....... + .......PP....... + ................ + ................ + ................ + ................ + ................ + ................ + ................ +} +# tile 22 (corridor) { ................ ................ @@ -448,7 +467,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 22 (lit corridor) +# tile 23 (lit corridor) { ................ ................ @@ -467,7 +486,26 @@ Z = (195, 195, 195) ................ ................ } -# tile 23 (staircase up) +# tile 24 (engraved part of a corridor) +{ + ................ + ...E...E........ + ....E...E....... + .........E..E... + ..........E..... + ................ + .......PP....... + ......PPPP...... + ......PPPP...... + .......PP....... + ................ + ................ + ................ + ................ + ................ + ................ +} +# tile 25 (staircase up) { AAAAAAAAAAAAAA.A AADJJJJJJJJJDA.A @@ -486,7 +524,7 @@ Z = (195, 195, 195) AAAAAAAAAAAAAA.A AAAAAAAAAAAAAAAA } -# tile 24 (staircase down) +# tile 26 (staircase down) { AAAAAAAAAAAAAA.A AADJJJJJJJJJDA.A @@ -505,7 +543,7 @@ Z = (195, 195, 195) AAAAAAAAAAAAAA.A AAAAAAAAAAAAAAAA } -# tile 25 (ladder up) +# tile 27 (ladder up) { ADAAAAAAAAAAAD.A AADAAAANAAAADA.A @@ -524,7 +562,7 @@ Z = (195, 195, 195) AAAAAAAAAAAAAA.A AAAAAAAAAAAAAAAA } -# tile 26 (ladder down) +# tile 28 (ladder down) { ADAAAAAAAAAAAD.A AADAAAANAAAADA.A @@ -543,7 +581,7 @@ Z = (195, 195, 195) AAAAAAAAAAAAAA.A AAAAAAAAAAAAAAAA } -# tile 27 (branch staircase up) +# tile 29 (branch staircase up) { AAAAAAAAAAAAAA.A AADJJJJJJJJJDA.A @@ -562,7 +600,7 @@ Z = (195, 195, 195) AAAAAAAAAAAAAA.A AAAAAAAAAAAAAAAA } -# tile 28 (branch staircase down) +# tile 30 (branch staircase down) { AAAAAAAAAAAAAA.A AADJJJJJJJJJDA.A @@ -581,7 +619,7 @@ Z = (195, 195, 195) AAAAAAAAAAAAAA.A AAAAAAAAAAAAAAAA } -# tile 29 (branch ladder up) +# tile 31 (branch ladder up) { ADAAAAAAAAAAAD.A AADAAAAHAAAADA.A @@ -600,7 +638,7 @@ Z = (195, 195, 195) AAAAAAAAAAAAAA.A AAAAAAAAAAAAAAAA } -# tile 30 (branch ladder down) +# tile 32 (branch ladder down) { ADAAAAAAAAAAAD.A AADAAAAHAAAADA.A @@ -619,7 +657,7 @@ Z = (195, 195, 195) AAAAAAAAAAAAAA.A AAAAAAAAAAAAAAAA } -# tile 31 (unaligned altar) +# tile 33 (unaligned altar) { ................ ................ @@ -638,7 +676,7 @@ Z = (195, 195, 195) ...AAAAAAAAAAA.. ................ } -# tile 32 (chaotic altar) +# tile 34 (chaotic altar) { ................ ................ @@ -657,7 +695,7 @@ Z = (195, 195, 195) ...AAAAAAAAAAA.. ................ } -# tile 33 (neutral altar) +# tile 35 (neutral altar) { ................ ................ @@ -676,7 +714,7 @@ Z = (195, 195, 195) ...AAAAAAAAAAA.. ................ } -# tile 34 (lawful altar) +# tile 36 (lawful altar) { ................ ................ @@ -695,7 +733,7 @@ Z = (195, 195, 195) ...AAAAAAAAAAA.. ................ } -# tile 35 (other altar) +# tile 37 (other altar) { ................ ................ @@ -714,7 +752,7 @@ Z = (195, 195, 195) ...AAAAAAAAAAA.. ................ } -# tile 36 (grave) +# tile 38 (grave) { ................ ................ @@ -733,7 +771,7 @@ Z = (195, 195, 195) FFFFFFFFFFFFFFF. ................ } -# tile 37 (throne) +# tile 39 (throne) { ................ .....HHHHH...... @@ -752,7 +790,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 38 (sink) +# tile 40 (sink) { ................ ................ @@ -771,7 +809,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 39 (fountain) +# tile 41 (fountain) { ....E....E...... ..EEEE..EEE..... @@ -790,7 +828,7 @@ Z = (195, 195, 195) ....AAAAAAAAA... ................ } -# tile 40 (pool) +# tile 42 (pool) { ..........NNN... .EEEE....NE.EN.. @@ -809,7 +847,7 @@ Z = (195, 195, 195) .E..EE...E..EEE. EE....EEE.....EE } -# tile 41 (ice) +# tile 43 (ice) { NNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNN @@ -828,7 +866,7 @@ Z = (195, 195, 195) NNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNN } -# tile 42 (molten lava) +# tile 44 (molten lava) { DDDDDDCDDDDDDDDD DDDDDCDKDDDDDDDD @@ -847,7 +885,7 @@ Z = (195, 195, 195) DDDDKKDDDDCDDDDD DDDDDDDDDDDKDDDD } -# tile 43 (wall of lava) +# tile 45 (wall of lava) { DDDDDDCDDDDDDDDD DDDDDCHKDDCDDDDD @@ -866,7 +904,7 @@ Z = (195, 195, 195) DDDDHKDHCDCDHDDD DDDDDDDDDDDKDDDD } -# tile 44 (vertical open drawbridge) +# tile 46 (vertical open drawbridge) { EKKAKKKKKKKAKKAE EJKKKKKKKKKKKJAA @@ -885,7 +923,7 @@ Z = (195, 195, 195) EEJJJJJJJJJJJAAA EJKKKKKKKKKKKJAA } -# tile 45 (horizontal open drawbridge) +# tile 47 (horizontal open drawbridge) { EEEEEEEEEEEEEEEE JEJKJEJKJEJKJEJK @@ -904,7 +942,7 @@ Z = (195, 195, 195) AAAAAAAAAAAAAAAA AAAEAAAEAAAEAAAE } -# tile 46 (vertical closed drawbridge) +# tile 48 (vertical closed drawbridge) { ................ ..JKJ.JKJ.JKJ... @@ -923,7 +961,7 @@ Z = (195, 195, 195) ...AAA.AAA.AAA.. ................ } -# tile 47 (horizontal closed drawbridge) +# tile 49 (horizontal closed drawbridge) { ................ ..JJJJJJJJJJJ... @@ -942,7 +980,7 @@ Z = (195, 195, 195) ...AAAAAAAAAAA.. ................ } -# tile 48 (air) +# tile 50 (air) { BBBBBBBBBBBBBBBB BBBBBBBBBBBBBBBB @@ -961,7 +999,7 @@ Z = (195, 195, 195) BBBBBBBBBBBBBBBB BBBBBBBBBBBBBBBB } -# tile 49 (cloud) +# tile 51 (cloud) { BBBBBBBBBBBBBBBB BBBBBNNNNNNNBBBB @@ -980,7 +1018,7 @@ Z = (195, 195, 195) BBBBBBOOOOBBBBBB BBBBBBBBBBBBBBBB } -# tile 50 (water) +# tile 52 (water) { EEEEEEEEEEEEEEEE EEEEEEEEEEEEEEEE @@ -999,7 +1037,7 @@ Z = (195, 195, 195) EEEEEEEEEEEEEEEE EEEEEEEEEEEEEEEE } -# tile 51 (arrow trap) +# tile 53 (arrow trap) { ................ .....DDDDD...... @@ -1018,7 +1056,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 52 (dart trap) +# tile 54 (dart trap) { ................ .....DDDDD...... @@ -1037,7 +1075,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 53 (falling rock trap) +# tile 55 (falling rock trap) { ................ .....DDDDD...... @@ -1056,7 +1094,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 54 (squeaky board) +# tile 56 (squeaky board) { ................ .....DDDDD...... @@ -1075,7 +1113,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 55 (bear trap) +# tile 57 (bear trap) { ................ .....DDDDD...... @@ -1094,7 +1132,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 56 (land mine) +# tile 58 (land mine) { ................ .....DDDDD...... @@ -1113,7 +1151,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 57 (rolling boulder trap) +# tile 59 (rolling boulder trap) { ................ .....DDDDD...... @@ -1132,7 +1170,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 58 (sleeping gas trap) +# tile 60 (sleeping gas trap) { ................ .....DDDDD...... @@ -1151,7 +1189,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 59 (rust trap) +# tile 61 (rust trap) { ................ .....DDDDD...... @@ -1170,7 +1208,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 60 (fire trap) +# tile 62 (fire trap) { ................ .....DDDDD...... @@ -1189,7 +1227,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 61 (pit) +# tile 63 (pit) { AAAAAAAAAAAAAAAA A.AAAAAAAAAAAABA @@ -1208,7 +1246,7 @@ Z = (195, 195, 195) A.PPPPPPPPPPPPPA AAAAAAAAAAAAAAAA } -# tile 62 (spiked pit) +# tile 64 (spiked pit) { AAAAAAAAAAAAAAAA A.AAAAAAAAAAAABA @@ -1227,7 +1265,7 @@ Z = (195, 195, 195) A.PPPPPPPPPPPPPA AAAAAAAAAAAAAAAA } -# tile 63 (hole) +# tile 65 (hole) { ................ ......AAAA...... @@ -1246,7 +1284,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 64 (trap door) +# tile 66 (trap door) { AAAAAAAAAAAAAAAA A.AAAAAAAAAAAABA @@ -1265,7 +1303,7 @@ Z = (195, 195, 195) A.PPPPPPPPPPPPPA AAAAAAAAAAAAAAAA } -# tile 65 (teleportation trap) +# tile 67 (teleportation trap) { ................ .....DDDDD...... @@ -1284,7 +1322,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 66 (level teleporter) +# tile 68 (level teleporter) { ................ .....DDADD...... @@ -1303,7 +1341,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 67 (magic portal) +# tile 69 (magic portal) { ................ .....DDDDD...... @@ -1322,7 +1360,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 68 (web) +# tile 70 (web) { OAOA.OA...O....O .O.NNNN.NOA..OOA @@ -1341,7 +1379,7 @@ Z = (195, 195, 195) .OA............. OA.............. } -# tile 69 (statue trap) +# tile 71 (statue trap) { ................ .....DDDDD...... @@ -1360,7 +1398,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 70 (magic trap) +# tile 72 (magic trap) { ................ .....DDDDD...... @@ -1379,7 +1417,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 71 (anti-magic field) +# tile 73 (anti-magic field) { ................ ......DDDDD..... @@ -1398,7 +1436,7 @@ Z = (195, 195, 195) .....AAAAA...... ................ } -# tile 72 (polymorph trap) +# tile 74 (polymorph trap) { ................ .....DDDDD...... @@ -1417,7 +1455,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 73 (vibrating square) +# tile 75 (vibrating square) { ................ ................ @@ -1436,7 +1474,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 74 (trapped door) +# tile 76 (trapped door) { AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA @@ -1455,7 +1493,7 @@ Z = (195, 195, 195) AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA } -# tile 75 (trapped chest) +# tile 77 (trapped chest) { ................ ................ @@ -1474,7 +1512,7 @@ Z = (195, 195, 195) CKKKKKKKKKKJAA.. .NAAAAAAAAAAA... } -# tile 76 (missile zap 1 0) +# tile 78 (missile zap 1 0) { .......II....... ......IIII...... @@ -1493,7 +1531,7 @@ Z = (195, 195, 195) ......IIII...... .......II....... } -# tile 77 (missile zap 1 1) +# tile 79 (missile zap 1 1) { ................ ................ @@ -1512,7 +1550,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 78 (missile zap 1 2) +# tile 80 (missile zap 1 2) { III............. IIII............ @@ -1531,7 +1569,7 @@ Z = (195, 195, 195) ............IIII .............III } -# tile 79 (missile zap 1 3) +# tile 81 (missile zap 1 3) { .............III ............IIII @@ -1550,7 +1588,7 @@ Z = (195, 195, 195) IIII............ III............. } -# tile 80 (fire zap 2 0) +# tile 82 (fire zap 2 0) { .......CC....... ......CCCC...... @@ -1569,7 +1607,7 @@ Z = (195, 195, 195) ......CCCC...... .......CC....... } -# tile 81 (fire zap 2 1) +# tile 83 (fire zap 2 1) { ................ ................ @@ -1588,7 +1626,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 82 (fire zap 2 2) +# tile 84 (fire zap 2 2) { CCC............. CCCC............ @@ -1607,7 +1645,7 @@ Z = (195, 195, 195) ............CCCC .............CCC } -# tile 83 (fire zap 2 3) +# tile 85 (fire zap 2 3) { .............CCC ............CCCC @@ -1626,7 +1664,7 @@ Z = (195, 195, 195) CCCC............ CCC............. } -# tile 84 (frost zap 3 0) +# tile 86 (frost zap 3 0) { .......NN....... ......NNNN...... @@ -1645,7 +1683,7 @@ Z = (195, 195, 195) ......NNNN...... .......NN....... } -# tile 85 (frost zap 3 1) +# tile 87 (frost zap 3 1) { ................ ................ @@ -1664,7 +1702,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 86 (frost zap 3 2) +# tile 88 (frost zap 3 2) { NNN............. NNNN............ @@ -1683,7 +1721,7 @@ Z = (195, 195, 195) ............NNNN .............NNN } -# tile 87 (frost zap 3 3) +# tile 89 (frost zap 3 3) { .............NNN ............NNNN @@ -1702,7 +1740,7 @@ Z = (195, 195, 195) NNNN............ NNN............. } -# tile 88 (sleep zap 4 0) +# tile 90 (sleep zap 4 0) { .......BB....... ......BBBB...... @@ -1721,7 +1759,7 @@ Z = (195, 195, 195) ......BBBB...... .......BB....... } -# tile 89 (sleep zap 4 1) +# tile 91 (sleep zap 4 1) { ................ ................ @@ -1740,7 +1778,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 90 (sleep zap 4 2) +# tile 92 (sleep zap 4 2) { BBB............. BBBB............ @@ -1759,7 +1797,7 @@ Z = (195, 195, 195) ............BBBB .............BBB } -# tile 91 (sleep zap 4 3) +# tile 93 (sleep zap 4 3) { .............BBB ............BBBB @@ -1778,7 +1816,7 @@ Z = (195, 195, 195) BBBB............ BBB............. } -# tile 92 (death zap 5 0) +# tile 94 (death zap 5 0) { .......AA....... ......AAAA...... @@ -1797,7 +1835,7 @@ Z = (195, 195, 195) ......AAAA...... .......AA....... } -# tile 93 (death zap 5 1) +# tile 95 (death zap 5 1) { ................ ................ @@ -1816,7 +1854,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 94 (death zap 5 2) +# tile 96 (death zap 5 2) { AAA............. AAAA............ @@ -1835,7 +1873,7 @@ Z = (195, 195, 195) ............AAAA .............AAA } -# tile 95 (death zap 5 3) +# tile 97 (death zap 5 3) { .............AAA ............AAAA @@ -1854,7 +1892,7 @@ Z = (195, 195, 195) AAAA............ AAA............. } -# tile 96 (lightning zap 6 0) +# tile 98 (lightning zap 6 0) { .......NN....... ......NNNN...... @@ -1873,7 +1911,7 @@ Z = (195, 195, 195) ......NNNN...... .......NN....... } -# tile 97 (lightning zap 6 1) +# tile 99 (lightning zap 6 1) { ................ ................ @@ -1892,7 +1930,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 98 (lightning zap 6 2) +# tile 100 (lightning zap 6 2) { NNN............. NNNN............ @@ -1911,7 +1949,7 @@ Z = (195, 195, 195) ............NNNN .............NNN } -# tile 99 (lightning zap 6 3) +# tile 101 (lightning zap 6 3) { .............NNN ............NNNN @@ -1930,7 +1968,7 @@ Z = (195, 195, 195) NNNN............ NNN............. } -# tile 100 (poison gas zap 7 0) +# tile 102 (poison gas zap 7 0) { .......FF....... ......FFFF...... @@ -1949,7 +1987,7 @@ Z = (195, 195, 195) ......FFFF...... .......FF....... } -# tile 101 (poison gas zap 7 1) +# tile 103 (poison gas zap 7 1) { ................ ................ @@ -1968,7 +2006,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 102 (poison gas zap 7 2) +# tile 104 (poison gas zap 7 2) { FFF............. FFFF............ @@ -1987,7 +2025,7 @@ Z = (195, 195, 195) ............FFFF .............FFF } -# tile 103 (poison gas zap 7 3) +# tile 105 (poison gas zap 7 3) { .............FFF ............FFFF @@ -2006,7 +2044,7 @@ Z = (195, 195, 195) FFFF............ FFF............. } -# tile 104 (acid zap 8 0) +# tile 106 (acid zap 8 0) { .......GG....... ......GGGG...... @@ -2025,7 +2063,7 @@ Z = (195, 195, 195) ......GGGG...... .......GG....... } -# tile 105 (acid zap 8 1) +# tile 107 (acid zap 8 1) { ................ ................ @@ -2044,7 +2082,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 106 (acid zap 8 2) +# tile 108 (acid zap 8 2) { GGG............. GGGG............ @@ -2063,7 +2101,7 @@ Z = (195, 195, 195) ............GGGG .............GGG } -# tile 107 (acid zap 8 3) +# tile 109 (acid zap 8 3) { .............GGG ............GGGG @@ -2082,7 +2120,7 @@ Z = (195, 195, 195) GGGG............ GGG............. } -# tile 108 (dig beam) +# tile 110 (dig beam) { ....AAAA........ ..A....AA..AA... @@ -2101,7 +2139,7 @@ Z = (195, 195, 195) ....AA....AAA... ................ } -# tile 109 (flash beam) +# tile 111 (flash beam) { ................ .....NNNNNN..... @@ -2120,7 +2158,7 @@ Z = (195, 195, 195) .....NNNNNN..... ................ } -# tile 110 (boom left) +# tile 112 (boom left) { ................ ................ @@ -2139,7 +2177,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 111 (boom right) +# tile 113 (boom right) { ................ ................ @@ -2158,7 +2196,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 112 (shield1) +# tile 114 (shield1) { ................ .....I....I..... @@ -2177,7 +2215,7 @@ Z = (195, 195, 195) .....I....I..... ................ } -# tile 113 (shield2) +# tile 115 (shield2) { ................ .CCCCCCCCCCCCCCC @@ -2196,7 +2234,7 @@ Z = (195, 195, 195) .CCCCCCCCCCCCCC. ................ } -# tile 114 (shield3) +# tile 116 (shield3) { .......HH....... .......HH....... @@ -2215,7 +2253,7 @@ Z = (195, 195, 195) .......HH....... .......HH....... } -# tile 115 (shield4) +# tile 117 (shield4) { ................ ......NNNNN..... @@ -2234,7 +2272,7 @@ Z = (195, 195, 195) .....NNNNN...... ................ } -# tile 116 (poison cloud) +# tile 118 (poison cloud) { BBBBBBBBBBBBBBBB BBBBBFFFFFFFBBBB @@ -2253,7 +2291,7 @@ Z = (195, 195, 195) BBBBBBGGGGBBBBBB BBBBBBBBBBBBBBBB } -# tile 117 (valid position) +# tile 119 (valid position) { ................ ................ @@ -2272,7 +2310,7 @@ Z = (195, 195, 195) .......FF....... ................ } -# tile 118 (swallow top left) +# tile 120 (swallow top left) { AAAAAAADDDDDDAAA AAAAADDDDDDDDDDD @@ -2291,7 +2329,7 @@ Z = (195, 195, 195) AAAADDDDDD...... AAAADDDDDD...... } -# tile 119 (swallow top center) +# tile 121 (swallow top center) { AAAAAAAAAAAAAAAA DDAAAAAAAAAAAAAA @@ -2310,7 +2348,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 120 (swallow top right) +# tile 122 (swallow top right) { AAAAAAAAAAAAAAAA AAADDDDDAAAAAAAA @@ -2329,7 +2367,7 @@ Z = (195, 195, 195) ....DDDDDDDDDDDD ....DDDDDDDDDDDA } -# tile 121 (swallow middle left) +# tile 123 (swallow middle left) { AAAADDDDDD...... AAAADDDDDDD..... @@ -2348,7 +2386,7 @@ Z = (195, 195, 195) DDDDDDD......... DDCCDDD......... } -# tile 122 (swallow middle right) +# tile 124 (swallow middle right) { ....DDDDDDDDDDDA ....DDDDDDDDDDDA @@ -2367,7 +2405,7 @@ Z = (195, 195, 195) ......DDDDDDDDAA .......DDDDDDDAA } -# tile 123 (swallow bottom left) +# tile 125 (swallow bottom left) { DDDCDDD......... DDDCDDD......... @@ -2386,7 +2424,7 @@ Z = (195, 195, 195) AAAAAAAAAAAADDDD AAAAAAAAAAAAAADD } -# tile 124 (swallow bottom center) +# tile 126 (swallow bottom center) { ................ ................ @@ -2405,7 +2443,7 @@ Z = (195, 195, 195) DDDDDDDDDDDDDDDD DDDDDDDDDDDDDDAA } -# tile 125 (swallow bottom right) +# tile 127 (swallow bottom right) { ......DDDDDDDDAA ......DDDDDDDDDA @@ -2424,7 +2462,7 @@ Z = (195, 195, 195) DDAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA } -# tile 126 (explosion dark top left) +# tile 128 (explosion dark top left) { ................ ................ @@ -2443,7 +2481,7 @@ Z = (195, 195, 195) ..AAAA..AAAA.... ..AAA..AAAAA.... } -# tile 127 (explosion dark top center) +# tile 129 (explosion dark top center) { ................ ................ @@ -2462,7 +2500,7 @@ Z = (195, 195, 195) ........A.A.APAA .PA...APAAAAAAAA } -# tile 128 (explosion dark top right) +# tile 130 (explosion dark top right) { ................ ................ @@ -2481,7 +2519,7 @@ Z = (195, 195, 195) AA.A..A.AAAA.... A.AA..A.AAAAA... } -# tile 129 (explosion dark middle left) +# tile 131 (explosion dark middle left) { ..AAA.A.AAA..... ..AAA.AAAAA.AP.. @@ -2500,7 +2538,7 @@ Z = (195, 195, 195) ..A.A...AAP...PA ....A.........PA } -# tile 130 (explosion dark middle center) +# tile 132 (explosion dark middle center) { APAAA..PPAPAAAAA .APA..A.AAAPAAA. @@ -2519,7 +2557,7 @@ Z = (195, 195, 195) AAAAAAAAAAAAA.AA AAAAAAAAAAA.HH.. } -# tile 131 (explosion dark middle right) +# tile 133 (explosion dark middle right) { ..AAA.A.A.AAAA.. ..AAAAA.A.AAAA.. @@ -2538,7 +2576,7 @@ Z = (195, 195, 195) AAA...AAAAAAA... ....PPAAAAAAAA.. } -# tile 132 (explosion dark bottom left) +# tile 134 (explosion dark bottom left) { ....A.......A..P ....A.......AA.. @@ -2557,7 +2595,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 133 (explosion dark bottom center) +# tile 135 (explosion dark bottom center) { PPPAAAAAPAAA.A.. AAPPAAPPPPA.A... @@ -2576,7 +2614,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 134 (explosion dark bottom right) +# tile 136 (explosion dark bottom right) { ....P..AAAAAAA.. ..A..A.AA.A.AA.. @@ -2595,7 +2633,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 135 (explosion noxious top left) +# tile 137 (explosion noxious top left) { ................ ................ @@ -2614,7 +2652,7 @@ Z = (195, 195, 195) ..FFFF..FFFF.... ..FFF..FFFFF.... } -# tile 136 (explosion noxious top center) +# tile 138 (explosion noxious top center) { ................ ................ @@ -2633,7 +2671,7 @@ Z = (195, 195, 195) ........F.F.FGFF .GH...HGHHFFFFFF } -# tile 137 (explosion noxious top right) +# tile 139 (explosion noxious top right) { ................ ................ @@ -2652,7 +2690,7 @@ Z = (195, 195, 195) FF.F..F.FFFF.... F.FF..F.FFFFF... } -# tile 138 (explosion noxious middle left) +# tile 140 (explosion noxious middle left) { ..FFF.F.FFF..... ..FFF.FFFFF.FG.. @@ -2671,7 +2709,7 @@ Z = (195, 195, 195) ..F.F...FHG...GH ....F.........GH } -# tile 139 (explosion noxious middle center) +# tile 141 (explosion noxious middle center) { FGHFF..GGFGHFFFF .HGH..F.FFHGFHF. @@ -2690,7 +2728,7 @@ Z = (195, 195, 195) HHHHNHNHN.GGG.GF GGGGNHHHGGG.HH.. } -# tile 140 (explosion noxious middle right) +# tile 142 (explosion noxious middle right) { ..FFF.F.F.FFFF.. ..FFFFF.F.FFFF.. @@ -2709,7 +2747,7 @@ Z = (195, 195, 195) HFH...FFFFFFF... ....GGFFFFFFFF.. } -# tile 141 (explosion noxious bottom left) +# tile 143 (explosion noxious bottom left) { ....F.......H..G ....F.......FH.. @@ -2728,7 +2766,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 142 (explosion noxious bottom center) +# tile 144 (explosion noxious bottom center) { GGGHHHHHGHHH.H.. HHGGHHGGGGH.F... @@ -2747,7 +2785,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 143 (explosion noxious bottom right) +# tile 145 (explosion noxious bottom right) { ....G..FFFFFFF.. ..F..F.FF.F.FF.. @@ -2766,7 +2804,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 144 (explosion muddy top left) +# tile 146 (explosion muddy top left) { ................ ................ @@ -2785,7 +2823,7 @@ Z = (195, 195, 195) ..JJJJKKJJJJKKKK ..JJJKKJJJJJKKKK } -# tile 145 (explosion muddy top center) +# tile 147 (explosion muddy top center) { ................ ................ @@ -2804,7 +2842,7 @@ Z = (195, 195, 195) KKKKKKKKJKJKJCJJ KCLKKKLCLLJJJJJJ } -# tile 146 (explosion muddy top right) +# tile 148 (explosion muddy top right) { ................ ................ @@ -2823,7 +2861,7 @@ Z = (195, 195, 195) JJKJKKJKJJJJ.... JKJJKKJKJJJJJ... } -# tile 147 (explosion muddy middle left) +# tile 149 (explosion muddy middle left) { ..JJJKJKJJJKKKKK ..JJJKJJJJJKJCKK @@ -2842,7 +2880,7 @@ Z = (195, 195, 195) ..J.JKKKJLCKKKCL ....JKKKKKKKKKCL } -# tile 148 (explosion muddy middle center) +# tile 150 (explosion muddy middle center) { JCLJJKKCCJCLJJJJ KLCLKKJKJJLCJLJK @@ -2861,7 +2899,7 @@ Z = (195, 195, 195) LLLLCLCLCKCCCKCJ CCCCCLLLCCCKLLKK } -# tile 149 (explosion muddy middle right) +# tile 151 (explosion muddy middle right) { KKJJJKJKJKJJJJ.. KKJJJJJKJKJJJJ.. @@ -2880,7 +2918,7 @@ Z = (195, 195, 195) LJLKKKJJJJJJJ... KKKKCCJJJJJJJJ.. } -# tile 150 (explosion muddy bottom left) +# tile 152 (explosion muddy bottom left) { ....JKKKKKKKLKKC ....JKKKKKKKJLKK @@ -2899,7 +2937,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 151 (explosion muddy bottom center) +# tile 153 (explosion muddy bottom center) { CCCLLLLLCLLLKLKK LLCCLLCCCCLKJKKK @@ -2918,7 +2956,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 152 (explosion muddy bottom right) +# tile 154 (explosion muddy bottom right) { KKKKCKKJJJJJJJ.. KKJKKJKJJKJKJJ.. @@ -2937,7 +2975,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 153 (explosion wet top left) +# tile 155 (explosion wet top left) { ................ ................ @@ -2956,7 +2994,7 @@ Z = (195, 195, 195) ..EEEEPPEEEEPPPP ..EEEPPEEEEEPPPP } -# tile 154 (explosion wet top center) +# tile 156 (explosion wet top center) { ................ ................ @@ -2975,7 +3013,7 @@ Z = (195, 195, 195) PPPPPPPPEPEPEBEE PBNPPPNBEEEEEEEE } -# tile 155 (explosion wet top right) +# tile 157 (explosion wet top right) { ................ ................ @@ -2994,7 +3032,7 @@ Z = (195, 195, 195) EEPEPPEPEEEE.... EPEEPPEPEEEEE... } -# tile 156 (explosion wet middle left) +# tile 158 (explosion wet middle left) { ..EEEPEPEEEPPPPP ..EEEPEEEEEPEBPP @@ -3013,7 +3051,7 @@ Z = (195, 195, 195) ..E.EPPPENBPPPBE ....EPPPPPPPPPBE } -# tile 157 (explosion wet middle center) +# tile 159 (explosion wet middle center) { EBNEEPPBBEBNEEEE PNBNPPEPEEEBENEP @@ -3032,7 +3070,7 @@ Z = (195, 195, 195) EEEEEEEEEPBBBPBE BBBBEEEEBBBPNNPP } -# tile 158 (explosion wet middle right) +# tile 160 (explosion wet middle right) { PPEEEPEPEPEEEE.. PPEEEEEPEPEEEE.. @@ -3051,7 +3089,7 @@ Z = (195, 195, 195) NENPPPEEEEEEE... PPPPBBEEEEEEEE.. } -# tile 159 (explosion wet bottom left) +# tile 161 (explosion wet bottom left) { ....EPPPPPPPNPPB ....EPPPPPPPENPP @@ -3070,7 +3108,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 160 (explosion wet bottom center) +# tile 162 (explosion wet bottom center) { BBBEEEEEBEEEPEPP EEBBEEBBBBEPEPPP @@ -3089,7 +3127,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 161 (explosion wet bottom right) +# tile 163 (explosion wet bottom right) { PPPPBPPEEEEEEE.. PPEPPEPEEPEPEE.. @@ -3108,7 +3146,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 162 (explosion magical top left) +# tile 164 (explosion magical top left) { ................ ................ @@ -3127,7 +3165,7 @@ Z = (195, 195, 195) ..EEEEIIEEEEIIII ..EEEIIEEEEEIIII } -# tile 163 (explosion magical top center) +# tile 165 (explosion magical top center) { ................ ................ @@ -3146,7 +3184,7 @@ Z = (195, 195, 195) IIIIIIIIEIEIELEE ILHIIIHLHHEEEEEE } -# tile 164 (explosion magical top right) +# tile 166 (explosion magical top right) { ................ ................ @@ -3165,7 +3203,7 @@ Z = (195, 195, 195) EEIEIIEIEEEE.... EIEEIIEIEEEEE... } -# tile 165 (explosion magical middle left) +# tile 167 (explosion magical middle left) { ..EEEIEIEEEIIIII ..EEEIEEEEEIEIII @@ -3184,7 +3222,7 @@ Z = (195, 195, 195) ..E.EIIIENIIIIIN ....EIIIIIIIIIIN } -# tile 166 (explosion magical middle center) +# tile 168 (explosion magical middle center) { EINEEIIIIEINEEEE ININIIEIEENIENEI @@ -3203,7 +3241,7 @@ Z = (195, 195, 195) NNNNNNNNNIIIIIIE IIIINNNNIIIINNII } -# tile 167 (explosion magical middle right) +# tile 169 (explosion magical middle right) { IIEEEIEIEIEEEE.. IIEEEEEIEIEEEE.. @@ -3222,7 +3260,7 @@ Z = (195, 195, 195) NENIIIEEEEEEE... IIIIIIEEEEEEEE.. } -# tile 168 (explosion magical bottom left) +# tile 170 (explosion magical bottom left) { ....EIIIIIIIHIII ....EIIIIIIIEHII @@ -3241,7 +3279,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 169 (explosion magical bottom center) +# tile 171 (explosion magical bottom center) { IIINNNNNINNNINII NNIINNIIIINIEIII @@ -3260,7 +3298,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 170 (explosion magical bottom right) +# tile 172 (explosion magical bottom right) { IIIIIIIEEEEEEE.. IIEIIEIEEIEIEE.. @@ -3279,7 +3317,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 171 (explosion fiery top left) +# tile 173 (explosion fiery top left) { ................ ................ @@ -3298,7 +3336,7 @@ Z = (195, 195, 195) ..DDDDCCDDDDCCCC ..DDDCCDDDDDCCCC } -# tile 172 (explosion fiery top center) +# tile 174 (explosion fiery top center) { ................ ................ @@ -3317,7 +3355,7 @@ Z = (195, 195, 195) CCCCCCCCDCDCDLDD CLHCCCHLHHDDDDDD } -# tile 173 (explosion fiery top right) +# tile 175 (explosion fiery top right) { ................ ................ @@ -3336,7 +3374,7 @@ Z = (195, 195, 195) DDCDCCDCDDDD.... DCDDCCDCDDDDD... } -# tile 174 (explosion fiery middle left) +# tile 176 (explosion fiery middle left) { ..DDDCDCDDDCCCCC ..DDDCDDDDDCDLCC @@ -3355,7 +3393,7 @@ Z = (195, 195, 195) ..D.DCCCDHLCCCLH ....DCCCCCCCCCLH } -# tile 175 (explosion fiery middle center) +# tile 177 (explosion fiery middle center) { DLHDDCCLLDLHDDDD CHLHCCDCDDHLDHDC @@ -3374,7 +3412,7 @@ Z = (195, 195, 195) HHHHNHNHNCLLLCLD LLLLNHHHLLLCHHCC } -# tile 176 (explosion fiery middle right) +# tile 178 (explosion fiery middle right) { CCDDDCDCDCDDDD.. CCDDDDDCDCDDDD.. @@ -3393,7 +3431,7 @@ Z = (195, 195, 195) HDHCCCDDDDDDD... CCCCLLDDDDDDDD.. } -# tile 177 (explosion fiery bottom left) +# tile 179 (explosion fiery bottom left) { ....DCCCCCCCHCCL ....DCCCCCCCDHCC @@ -3412,7 +3450,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 178 (explosion fiery bottom center) +# tile 180 (explosion fiery bottom center) { LLLHHHHHLHHHCHCC HHLLHHLLLLHCDCCC @@ -3431,7 +3469,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 179 (explosion fiery bottom right) +# tile 181 (explosion fiery bottom right) { CCCCLCCDDDDDDD.. CCDCCDCDDCDCDD.. @@ -3450,7 +3488,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 180 (explosion frosty top left) +# tile 182 (explosion frosty top left) { ................ ................ @@ -3469,7 +3507,7 @@ Z = (195, 195, 195) ..EEEEPPNBEEPPPP ..EEEPPEEEEEPPPP } -# tile 181 (explosion frosty top center) +# tile 183 (explosion frosty top center) { ................ ................ @@ -3488,7 +3526,7 @@ Z = (195, 195, 195) PPPPPPPPEPEPEBEE PBNPPPNBNNEEEEEE } -# tile 182 (explosion frosty top right) +# tile 184 (explosion frosty top right) { ................ ................ @@ -3507,7 +3545,7 @@ Z = (195, 195, 195) EEPEPPEPEEEE.... EPEEPPEPEEEEE... } -# tile 183 (explosion frosty middle left) +# tile 185 (explosion frosty middle left) { ..EEEPEPEEEPPPPP ..EEEPEEEEEPEBPP @@ -3526,7 +3564,7 @@ Z = (195, 195, 195) ..E.EPPPENBPPPBN ....EPPPPPPPPPBN } -# tile 184 (explosion frosty middle center) +# tile 186 (explosion frosty middle center) { EBNEEPPBBEBNEEEE PNBNPPEPEENBENEP @@ -3545,7 +3583,7 @@ Z = (195, 195, 195) NNNNNNNNNPBBBPBE BBBBNNNNBBBPNNPP } -# tile 185 (explosion frosty middle right) +# tile 187 (explosion frosty middle right) { PPEEEPEPEPEEEE.. PPEEEEEPEPEEEE.. @@ -3564,7 +3602,7 @@ Z = (195, 195, 195) NENPPPEEEEEEE... PPPPBBEEEEEEEE.. } -# tile 186 (explosion frosty bottom left) +# tile 188 (explosion frosty bottom left) { ....EPPPPPPPNPPB ....EPPPPPPPENPP @@ -3583,7 +3621,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 187 (explosion frosty bottom center) +# tile 189 (explosion frosty bottom center) { BBBNNNNNBNNNPNPP NNBBNNBBBBNPEPPP @@ -3602,7 +3640,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 188 (explosion frosty bottom right) +# tile 190 (explosion frosty bottom right) { PPPPBPPEEEEEEE.. PPEPPEPEEPEPEE.. @@ -3621,7 +3659,7 @@ Z = (195, 195, 195) ...........N.... ................ } -# tile 189 (warning 0) +# tile 191 (warning 0) { ................ ................ @@ -3640,7 +3678,7 @@ Z = (195, 195, 195) .......AA....... ................ } -# tile 190 (warning 1) +# tile 192 (warning 1) { ................ ................ @@ -3659,7 +3697,7 @@ Z = (195, 195, 195) .......AA....... ................ } -# tile 191 (warning 2) +# tile 193 (warning 2) { ................ ................ @@ -3678,7 +3716,7 @@ Z = (195, 195, 195) .......AA....... ................ } -# tile 192 (warning 3) +# tile 194 (warning 3) { ................ ................ @@ -3697,7 +3735,7 @@ Z = (195, 195, 195) .......AA....... ................ } -# tile 193 (warning 4) +# tile 195 (warning 4) { ................ ................ @@ -3716,7 +3754,7 @@ Z = (195, 195, 195) .......AA....... ................ } -# tile 194 (warning 5) +# tile 196 (warning 5) { ................ ................ @@ -3735,7 +3773,7 @@ Z = (195, 195, 195) .......AA....... ................ } -# tile 195 (unexplored) +# tile 197 (unexplored) { AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA @@ -3754,7 +3792,7 @@ Z = (195, 195, 195) AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA } -# tile 196 (nothing) +# tile 198 (nothing) { AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA @@ -3773,7 +3811,7 @@ Z = (195, 195, 195) AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA } -# tile 197 (mines walls vertical) +# tile 199 (mines walls vertical) { AJJKKKACJAAJJJAA AJKKKACLJJAJJJJA @@ -3792,7 +3830,7 @@ Z = (195, 195, 195) AAJACKCKKJJJAJAA AAJCKKJAAAJJJJJA } -# tile 198 (mines walls horizontal) +# tile 200 (mines walls horizontal) { AJAAAAAAJJAAAJAA JJJAAAJJJJJAAAAJ @@ -3811,7 +3849,7 @@ Z = (195, 195, 195) JJJJJJJJJJJJJJJJ AAAAAAAAAAAAAAAA } -# tile 199 (mines walls tlcorn) +# tile 201 (mines walls tlcorn) { AAAAAAKCCKKJAAAA AAAAKKCLCJKJJAAA @@ -3830,7 +3868,7 @@ Z = (195, 195, 195) AAJACKCKKJJJAJAA AAJCKKJAAAJJJJJA } -# tile 200 (mines walls trcorn) +# tile 202 (mines walls trcorn) { AAAAAAKCCKKJAAAA AAAAKKCLCJKJJAAA @@ -3849,7 +3887,7 @@ Z = (195, 195, 195) AAJACKCKKJJJAJAA AAJCKKJAAAJJJJJA } -# tile 201 (mines walls blcorn) +# tile 203 (mines walls blcorn) { AKKKAAKKKKAAJJJA AKKAAKCCCJJJAAJA @@ -3868,7 +3906,7 @@ Z = (195, 195, 195) AJJJJJJJJJJJJJJJ AAAAAAAAAAAAAAAA } -# tile 202 (mines walls brcorn) +# tile 204 (mines walls brcorn) { AKKAAAKKAAAAJJJA AKAAKKLCKAAAAAJA @@ -3887,7 +3925,7 @@ Z = (195, 195, 195) JJJJJJJJJJJJJJJA AAAAAAAAAAAAAAAA } -# tile 203 (mines walls cross wall) +# tile 205 (mines walls cross wall) { AAAAAAKCCKKJAAAA AAAAKCCLCJKJJAAA @@ -3906,7 +3944,7 @@ Z = (195, 195, 195) AAJACKCKKJJJAJAA AAJCKKJAAAJJJJJA } -# tile 204 (mines walls tuwall) +# tile 206 (mines walls tuwall) { AKKAAAKKKKAAJJJA AKAAKKLCCJJJAAJA @@ -3925,7 +3963,7 @@ Z = (195, 195, 195) JJJJJJJJJJJJJJJJ AAAAAAAAAAAAAAAA } -# tile 205 (mines walls tdwall) +# tile 207 (mines walls tdwall) { AAAAAAKCCKKJAAAA AAAAKCCLCJKJJAAA @@ -3944,7 +3982,7 @@ Z = (195, 195, 195) AAJACKCKKJJJAJAA AAJCKKJAAAJJJJJA } -# tile 206 (mines walls tlwall) +# tile 208 (mines walls tlwall) { AKKAACKCCKKJAJJA AKACKKKLLJKJJAJA @@ -3963,7 +4001,7 @@ Z = (195, 195, 195) AAJACKCKKJJJAJAA AAJCKKJAAAJJJJJA } -# tile 207 (mines walls trwall) +# tile 209 (mines walls trwall) { AKKAACKCCKKJAJJA AKACKKCLCJKJJAJA @@ -3982,7 +4020,7 @@ Z = (195, 195, 195) AAJACKCKKJJJAJAA AAJCKKJAAAJJJJJA } -# tile 208 (gehennom walls vertical) +# tile 210 (gehennom walls vertical) { ALLDAJ11111JLLDA ADDDAJ1J11JJDDDA @@ -4001,7 +4039,7 @@ Z = (195, 195, 195) AJJJAJJ1111JJJJA AD11AJJ1111JD1JA } -# tile 209 (gehennom walls horizontal) +# tile 211 (gehennom walls horizontal) { AAALDDAAAAALDDAA DDDLDDAJDDDLDDAJ @@ -4020,7 +4058,7 @@ Z = (195, 195, 195) JJJJJJJJJJJJJJJJ AAAAAAAAAAAAAAAA } -# tile 210 (gehennom walls tlcorn) +# tile 212 (gehennom walls tlcorn) { AAALLLLDDDDDDAAA LLLLAAJJ1111DJJJ @@ -4039,7 +4077,7 @@ Z = (195, 195, 195) AJJJAJJ1111JJJJA AD11AJJ1111JD1JA } -# tile 211 (gehennom walls trcorn) +# tile 213 (gehennom walls trcorn) { AAALLLLDDDDDDAAA LLLLAAJJ1111DJJJ @@ -4058,7 +4096,7 @@ Z = (195, 195, 195) AJJJAJJ1111JJJJA AD11AJJ1111JD1JA } -# tile 212 (gehennom walls blcorn) +# tile 214 (gehennom walls blcorn) { AAALLLLDDDDDDAAA LLLLAAJJ1111DJJJ @@ -4077,7 +4115,7 @@ Z = (195, 195, 195) JJJJJJJJJJJJJJJJ AAAAAAAAAAAAAAAA } -# tile 213 (gehennom walls brcorn) +# tile 215 (gehennom walls brcorn) { AAALLLLDDDDDDAAA LLLLAAJJ1111DJJJ @@ -4096,7 +4134,7 @@ Z = (195, 195, 195) JJJJJJJJJJJJJJJJ AAAAAAAAAAAAAAAA } -# tile 214 (gehennom walls cross wall) +# tile 216 (gehennom walls cross wall) { AAALLLLDDDDDDAAA LLLLAAJJ1111DJJJ @@ -4115,7 +4153,7 @@ Z = (195, 195, 195) AJJJAJJ1111JJJJA AD11AJJ1111JD1JA } -# tile 215 (gehennom walls tuwall) +# tile 217 (gehennom walls tuwall) { AAALLLLDDDDDDAAA LLLLAAJJ1111DJJJ @@ -4134,7 +4172,7 @@ Z = (195, 195, 195) JJJJJJJJJJJJJJJJ AAAAAAAAAAAAAAAA } -# tile 216 (gehennom walls tdwall) +# tile 218 (gehennom walls tdwall) { AAALLLLDDDDDDAAA LLLLAAJJ1111DJJJ @@ -4153,7 +4191,7 @@ Z = (195, 195, 195) AJJJAJJ1111JJJJA AD11AJJ1111JD1JA } -# tile 217 (gehennom walls tlwall) +# tile 219 (gehennom walls tlwall) { AAALLLLDDDDDDAAA LLLLAAJJ1111DJJJ @@ -4172,7 +4210,7 @@ Z = (195, 195, 195) AJJJAJJ1111JJJJA AD11AJJ1111JD1JA } -# tile 218 (gehennom walls trwall) +# tile 220 (gehennom walls trwall) { AAALLLLDDDDDDAAA LLLLAAJJ1111DJJJ @@ -4191,7 +4229,7 @@ Z = (195, 195, 195) AJJJAJJ1111JJJJA AD11AJJ1111JD1JA } -# tile 219 (knox walls vertical) +# tile 221 (knox walls vertical) { AJJJAAACJAAAJJJA AJJJAACLJJAAJJJA @@ -4210,7 +4248,7 @@ Z = (195, 195, 195) AAJAAACKKJAAAJAA ACJJAAAAAAAACJJA } -# tile 220 (knox walls horizontal) +# tile 222 (knox walls horizontal) { AJAAAJAAAJAAAJAA JJJAAAJAJJJAAAJA @@ -4229,7 +4267,7 @@ Z = (195, 195, 195) KJJACJJAKJJACJJA AAAAAAAAAAAAAAAA } -# tile 221 (knox walls tlcorn) +# tile 223 (knox walls tlcorn) { AAAAAAKCJKAAAAAA AAAAKKCLKJKKAAAA @@ -4248,7 +4286,7 @@ Z = (195, 195, 195) AAJAAACKKJAAAJAA ACJJAAAAAAAACJJA } -# tile 222 (knox walls trcorn) +# tile 224 (knox walls trcorn) { AAAAAAKCJKAAAAAA AAAAKKCLKJKKAAAA @@ -4267,7 +4305,7 @@ Z = (195, 195, 195) AAJAAACKKJAAAJAA ACJJAAAAAAAACJJA } -# tile 223 (knox walls blcorn) +# tile 225 (knox walls blcorn) { AAAAAAKCJKAAAAAA AAAAKKCLKJKKAAAA @@ -4286,7 +4324,7 @@ Z = (195, 195, 195) KJJACJJAKJJACJJA AAAAAAAAAAAAAAAA } -# tile 224 (knox walls brcorn) +# tile 226 (knox walls brcorn) { AAAAAAKCJKAAAAAA AAAAKKCLKJKKAAAA @@ -4305,7 +4343,7 @@ Z = (195, 195, 195) KJJACJJAKJJACJJA AAAAAAAAAAAAAAAA } -# tile 225 (knox walls cross wall) +# tile 227 (knox walls cross wall) { AAAAAAKCJKAAAAAA AAAAKKCLKJKKAAAA @@ -4324,7 +4362,7 @@ Z = (195, 195, 195) AAJAAACKKJAAAJAA ACJJAAAAAAAACJJA } -# tile 226 (knox walls tuwall) +# tile 228 (knox walls tuwall) { AAAAAAKCJKAAAAAA AAAAKKCLKJKKAAAA @@ -4343,7 +4381,7 @@ Z = (195, 195, 195) KJJACJJAKJJACJJA AAAAAAAAAAAAAAAA } -# tile 227 (knox walls tdwall) +# tile 229 (knox walls tdwall) { AAAAAAKCJKAAAAAA AAAAKKCLKJKKAAAA @@ -4362,7 +4400,7 @@ Z = (195, 195, 195) AAJAAACKKJAAAJAA ACJJAAAAAAAACJJA } -# tile 228 (knox walls tlwall) +# tile 230 (knox walls tlwall) { AAAAAAKCJKAAAAAA AAAAKKCLKJKKAAAA @@ -4381,7 +4419,7 @@ Z = (195, 195, 195) AAJAAACKKJAAAJAA ACJJAAAAAAAACJJA } -# tile 229 (knox walls trwall) +# tile 231 (knox walls trwall) { AAAAAAKCJKAAAAAA AAAAKKCLKJKKAAAA @@ -4400,7 +4438,7 @@ Z = (195, 195, 195) AAJAAACKKJAAAJAA ACJJAAAAAAAACJJA } -# tile 230 (sokoban walls vertical) +# tile 232 (sokoban walls vertical) { ANNBA1EEEEE1NNBA ABBBA1E1EE11BBBA @@ -4419,7 +4457,7 @@ Z = (195, 195, 195) A111A11EEEE1111A ABEEA11EEEE1BE1A } -# tile 231 (sokoban walls horizontal) +# tile 233 (sokoban walls horizontal) { AAANBBAAAAANBBAA BBBNBBA1BBBNBBA1 @@ -4438,7 +4476,7 @@ Z = (195, 195, 195) 1111111111111111 AAAAAAAAAAAAAAAA } -# tile 232 (sokoban walls tlcorn) +# tile 234 (sokoban walls tlcorn) { AAANNNNBBBBBBAAA NNNNAA11EEEEB111 @@ -4457,7 +4495,7 @@ Z = (195, 195, 195) A111A11EEEE1111A ABEEA11EEEE1BE1A } -# tile 233 (sokoban walls trcorn) +# tile 235 (sokoban walls trcorn) { AAANNNNBBBBBBAAA NNNNAA11EEEEB111 @@ -4476,7 +4514,7 @@ Z = (195, 195, 195) A111A11EEEE1111A ABEEA11EEEE1BE1A } -# tile 234 (sokoban walls blcorn) +# tile 236 (sokoban walls blcorn) { AAANNNNBBBBBBAAA NNNNAA11EEEEB111 @@ -4495,7 +4533,7 @@ Z = (195, 195, 195) 1111111111111111 AAAAAAAAAAAAAAAA } -# tile 235 (sokoban walls brcorn) +# tile 237 (sokoban walls brcorn) { AAANNNNBBBBBBAAA NNNNAA11EEEEB111 @@ -4514,7 +4552,7 @@ Z = (195, 195, 195) 1111111111111111 AAAAAAAAAAAAAAAA } -# tile 236 (sokoban walls cross wall) +# tile 238 (sokoban walls cross wall) { AAANNNNBBBBBBAAA NNNNAA11EEEEB111 @@ -4533,7 +4571,7 @@ Z = (195, 195, 195) A111A11EEEE1111A ABEEA11EEEE1BE1A } -# tile 237 (sokoban walls tuwall) +# tile 239 (sokoban walls tuwall) { AAANNNNBBBBBBAAA NNNNAA11EEEEB111 @@ -4552,7 +4590,7 @@ Z = (195, 195, 195) 1111111111111111 AAAAAAAAAAAAAAAA } -# tile 238 (sokoban walls tdwall) +# tile 240 (sokoban walls tdwall) { AAANNNNBBBBBBAAA NNNNAA11EEEEB111 @@ -4571,7 +4609,7 @@ Z = (195, 195, 195) A111A11EEEE1111A ABEEA11EEEE1BE1A } -# tile 239 (sokoban walls tlwall) +# tile 241 (sokoban walls tlwall) { AAANNNNBBBBBBAAA NNNNAA11EEEEB111 @@ -4590,7 +4628,7 @@ Z = (195, 195, 195) A111A11EEEE1111A ABEEA11EEEE1BE1A } -# tile 240 (sokoban walls trwall) +# tile 242 (sokoban walls trwall) { AAANNNNBBBBBBAAA NNNNAA11EEEEB111 -- 2.50.1