shogun/maze.zabstr

98 lines
3.8 KiB
Plaintext

<FILE-FLAGS SENTENCE-ENDS?>
<BEGIN-SEGMENT MAZE>
<CONSTANT MAZE-WINDOW 3>
<CONSTANT MWALL 128>
<DEFMAC MSTREET? ('VAL) <FORM ZERO? <FORM BAND .VAL ,MWALL>>>
<OBJECT HOUSE (LOC LOCAL-GLOBALS) (SYNONYM HOUSE HOUSES SHOP SHOPS) (DESC
"house") (FLAGS NDESCBIT) (ACTION HOUSE-F)>
<DEFINE-ROUTINE HOUSE-F>
<OBJECT RONIN (SYNONYM RONIN DETACHMENT) (DESC "detachment of ronin") (FLAGS
PERSON PLURAL JAPANESEBIT) (ACTION RONIN-F)>
<DEFINE-ROUTINE RONIN-F>
<OBJECT FISH-GATE (SYNONYM GATE FISH) (ADJECTIVE BATTERED ETCHED) (DESC "gate")
(FLAGS NDESCBIT SCOREBIT) (ACTION FISH-GATE-F)>
<DEFINE-ROUTINE FISH-GATE-F>
<OBJECT AMBUSHERS (SYNONYM AMBUSHER BOWMAN FIGURE SHAPE AMBUSHERS BOWMEN
FIGURES SHAPES) (ADJECTIVE SHADOWY DIM) (DESC "dim figures") (FLAGS PERSON
JAPANESEBIT PLURAL) (DESCFCN AMBUSHERS-DESC) (ACTION AMBUSHERS-F)>
<DEFINE-ROUTINE AMBUSHERS-DESC>
<DEFINE-ROUTINE AMBUSHERS-F>
<OBJECT MESSENGER (SYNONYM MESSENGER MAN SAMURAI GRAY) (ADJECTIVE GRAY) (DESC
"messenger") (FLAGS PERSON JAPANESEBIT INVISIBLE SCOREBIT) (GENERIC
GENERIC-MAN-F) (ACTION MESSENGER-F)>
<DEFINE-ROUTINE MESSENGER-F>
<ROOM AMBUSH-SITE (LOC ROOMS) (DESC "City Street") (LDESC
"This is a dark, deserted street in the middle of Osaka.") (SYNONYM STREET) (
ADJECTIVE CITY) (FLAGS ONBIT OUTSIDE) (GLOBAL MESSENGER) (ACTION AMBUSH-SITE-F)
>
<DEFINE-ROUTINE AMBUSH-SITE-F>
<GLOBAL AMBUSH-PROB 2>
<GLOBAL XAMBUSH 0>
<GLOBAL YAMBUSH 0>
<DEFINE-ROUTINE I-AMBUSH-START>
<DEFINE-ROUTINE I-AMBUSH>
<GLOBAL AMBUSH-CNT 0 %<> WORD>
<DEFINE-ROUTINE I-CAUGHT>
<ROOM MAZE (LOC ROOMS) (SYNONYM STREETS) (ADJECTIVE CITY) (DESC "City Streets")
(FLAGS OUTSIDE ONBIT) (GLOBAL HOUSE) (MOUSE MAZE-MOUSE-F) (ACTION MAZE-F)>
<DEFINE-ROUTINE MAZE-F>
<DEFINE-ROUTINE LEAVE-MAZE>
<CONSTANT MAZE-PICS <TABLE P-MAZE-WALL P-MAZE-STREET P-MAZE-PARTY P-MAZE-CASTLE
P-MAZE-DOCK P-MAZE-FISH P-MAZE-BACKGROUND 0>>
<DEFINE-ROUTINE MAZE-MOUSE-F>
<CONSTANT NORTH-STR <LTABLE (PURE STRING) "north">>
<CONSTANT SOUTH-STR <LTABLE (PURE STRING) "south">>
<CONSTANT EAST-STR <LTABLE (PURE STRING) "east">>
<CONSTANT WEST-STR <LTABLE (PURE STRING) "west">>
<CONSTANT SE-STR <LTABLE (PURE STRING) "se">>
<CONSTANT SW-STR <LTABLE (PURE STRING) "sw">>
<CONSTANT NE-STR <LTABLE (PURE STRING) "ne">>
<CONSTANT NW-STR <LTABLE (PURE STRING) "nw">>
<CONSTANT MAZE-BOX-TBL <TABLE 0 0>>
<DEFINE-ROUTINE MGETB>
<DEFINE-ROUTINE MPUTB>
<GLOBAL YOFFSET 0>
<GLOBAL XOFFSET 0>
<DEFINE-ROUTINE DISPLAY-MAZE-PIC>
<DEFINE-ROUTINE MAZE-MOVE>
<DEFINE-ROUTINE MPUTC>
<DEFINE-ROUTINE DISPLAY-MAZE>
<DEFINE-ROUTINE PRINTM>
<CONSTANT MAX-MAZE-WIDTH 37>
<CONSTANT MAX-MAZE-HEIGHT 17>
<GLOBAL MAZE-MAP <ITABLE <* ,MAX-MAZE-WIDTH ,MAX-MAZE-HEIGHT> (BYTE) 128>>
<GLOBAL MAZE-WIDTH 37>
<GLOBAL MAZE-HEIGHT 17>
<GLOBAL SIZE 0>
<GLOBAL PMAX 0>
<CONSTANT DIR <TABLE <TABLE (BYTE) 0 1 2 3> <TABLE (BYTE) 0 1 3 2> <TABLE (BYTE
) 0 2 1 3> <TABLE (BYTE) 0 2 3 1> <TABLE (BYTE) 0 3 1 2> <TABLE (BYTE) 0 3 2 1>
<TABLE (BYTE) 1 0 2 3> <TABLE (BYTE) 1 0 3 2> <TABLE (BYTE) 1 2 0 3> <TABLE (
BYTE) 1 2 3 0> <TABLE (BYTE) 1 3 0 2> <TABLE (BYTE) 1 3 2 0> <TABLE (BYTE) 2 0
1 3> <TABLE (BYTE) 2 0 3 1> <TABLE (BYTE) 2 1 0 3> <TABLE (BYTE) 2 1 3 0> <
TABLE (BYTE) 2 3 0 1> <TABLE (BYTE) 2 3 1 0> <TABLE (BYTE) 3 0 1 2> <TABLE (
BYTE) 3 0 2 1> <TABLE (BYTE) 3 1 0 2> <TABLE (BYTE) 3 1 2 0> <TABLE (BYTE) 3 2
0 1> <TABLE (BYTE) 3 2 1 0>>>
<CONSTANT XOFF1 <TABLE 0 0 1 -1>>
<CONSTANT YOFF1 <TABLE -1 1 0 0>>
<CONSTANT XOFF2 <TABLE 0 0 2 -2>>
<CONSTANT YOFF2 <TABLE -2 2 0 0>>
<GLOBAL X 0>
<GLOBAL Y 0>
<GLOBAL XSTART 0>
<GLOBAL YSTART 0>
<GLOBAL XGOAL 0>
<GLOBAL YGOAL 0>
<GLOBAL LEN 0>
<GLOBAL LMAX 0>
<GLOBAL FLEN 0>
<GLOBAL XFISH 0>
<GLOBAL YFISH 0>
<DEFINE-ROUTINE BUILDMAZE>
<DEFINE-ROUTINE VISITED>
<DEFINE-ROUTINE VALID>
<DEFINE-ROUTINE FINDMOVE>
<DEFINE-ROUTINE BACKUP>
<DEFINE-ROUTINE REMOVEWALL>
<END-SEGMENT>