//----------------------------------------------------------------------------------\\
//                                                                                  \\
//                         TROLLEYMANIA - Mini-adventure                            \\
//                                                                                  \\
//                             By Gareth Pitchford                                  \\
//                                (c)1992/2018                                      \\
//                                                                                  \\
//----------------------------------------------------------------------------------\\


DEFAULTS
{
    CHARSET: 1;
    INK: 5;
    PAPER: 0;
    FLASH: 0;
    BRIGHT: 0;
    INVERSE: 0;
    OVER: 0;
    BORDER: 0;
}

LOCATION 0
{
#ifdef PAWSPECTRUM
    "^         {16}{6}Trolley{16}{7}Mania{16}{5}^^                {16}{6}{148}{149}^             {16}{7}...{16}{6}{150}{151}^^        {16}{5}A Mini-Adventure^      By {16}{7}Gareth Pitchford{16}{5}^^^^       Thanks to {16}{7}Gilsoft{16}{5}^         for the {16}{7}PAWS{16}{5}   ^^^^     {127}1992 Electric Storm^             Productions^^    Recoded Version (p)2018";
#endif
#ifndef PAWSPECTRUM
    "^Trolley Mania^^A Mini-Adventure^By Gareth Pitchford^^Thanks to Gilsoft for the PAWs^^(c)1992 Electric Storm Productions / This version (p) 2018^^v1.3 (11-Jan-19)";
#endif
}

LOCATION 1
{
    "You find yourself in a {16}{7}muddy, swampy area{16}{5} behind the store. ";
    CONNECTIONS { S TO 3 };
}

LOCATION 2
{
    "An ancient {16}{7}toilet,{16}{5} which seems far older than the store itself, barely fits inside the cubicle where you're now standing. ";
    CONNECTIONS { S TO 6 };
}

LOCATION 3
{
    "You are on an {16}{7}access road{16}{5} at the side of the store. The last delivery of the night has long been and gone, so it's now deathly quiet. ";
    CONNECTIONS { N TO 1 S TO 7 };
}

LOCATION 4
{
    "You're standing in the {16}{7}trolley bay,{16}{5} where all the trolleys are stored overnight. Trolleys of all colours surround you. ";
    CONNECTIONS { E TO 5 };
}

LOCATION 5
{
    "This is the entrance to {16}{7}Salisbury's Supermarket.{16}{5} The inside of the store is dark as most employees have already gone home. ";
    CONNECTIONS { W TO 4 E TO 6 S TO 9 };
}

LOCATION 6
{
    "You are standing {16}{7}outside{16}{5} Salisbury's Supermarket, near the customer toilets that lie to the north. ";
    CONNECTIONS { N TO 2 W TO 5 };
}

LOCATION 7
{
    "The {16}{7}way out{16}{5} of the supermarket lies to the south. An access road leads off to the north. ";
    CONNECTIONS { N TO 3 E TO 8 };
}

LOCATION 8
{
    "This is the {16}{7}north-west{16}{5} section of the car park. A road leads west, out of the car park. ";
    CONNECTIONS { W TO 7 S TO 12 E TO 9 };
}

LOCATION 9
{
    "You're at the {16}{7}northern edge{16}{5} of the car park. The entrance to the store lies ahead of you. ";
    CONNECTIONS { W TO 8 N TO 5 E TO 10 S TO 13 };
}

LOCATION 10
{
    "The {16}{7}north-eastern{16}{5} corner of the car park connects to the staff parking area, which lies off to the east. ";
    CONNECTIONS { W TO 9 E TO 11 S TO 14};
}

LOCATION 11
{
    "This is the {16}{7}staff parking area.{16}{5} You always walk to work so you never use it. ";
    CONNECTIONS { W TO 10 };
}

LOCATION 12
{
    "On the {16}{7}western{16}{5} edge of the car park a line of {16}{7}railings{16}{5} separate the area from the entrance road. ";
    CONNECTIONS { N TO 8 E TO 13 S TO 16 };
}

LOCATION 13
{
    "This is the {16}{7}centre{16}{5} of the car park. This area is usually flooded, as the small {16}{7}drain{16}{5} can't cope with the amount of rainfall we get locally. ";
    CONNECTIONS { N TO 9 W TO 12 E TO 14 S TO 17};
}

LOCATION 14
{
    "You are currently near an {16}{7}abandoned car{16}{5} on the eastern side of the car park. ";
    CONNECTIONS { N TO 10 W TO 13 S TO 18 };
}

LOCATION 15
{
    "You are standing in a {16}{7}small alleyway.{16}{5} It doesn't seem to go anywhere or serve any useful purpose. So it's right at home in this town. ";
    CONNECTIONS { E TO 16 };
}

LOCATION 16
{
    "In this {16}{7}south-western{16}{5} corner of the car park, a group of {16}{7}punks{16}{5} congregate. A small alleyway lies to the west. ";
    CONNECTIONS { N TO 12 W TO 15 E TO 17 };
}

LOCATION 17
{
    "You're at the {16}{7}southern{16}{5} edge of the car park, next to a {16}{7}wall{16}{5} that sections off an area of disused land to the south. ";
    CONNECTIONS { W TO 16 N TO 13 E TO 18 };
}

LOCATION 18
{
    "You find yourself by the {16}{7}recycling bins{16}{5} in the south-east corner of the car park. ";
    CONNECTIONS { N TO 14 W To 17 };
}

LOCATION 19
{
    "You are standing on the {16}{7}disused land{16}{5} that borders the Salisbury's car park. This was once allotments and an old shed lies to the east. ";
    CONNECTIONS { E TO 20 S TO 21 };
}

LOCATION 20
{
    "You are standing inside a decrepit {16}{7}old shed.{16}{5} It's completely empty, apart from the copious cobwebs that line the walls and the dust-covered floor.";
    CONNECTIONS { W TO 19 };
}

LOCATION 21
{
    "This is the southern part of the {16}{7}allotment.{16}{5} It's hard to believe anyone ever managed to grow anything in the stony, weed-filled ground here. ";
    CONNECTIONS { N TO 19 };
}

LOCATION 22
{
    "You're sitting in the {16}{7}driver's seat{16}{5} of an old Talbot Sunbeam, with a grimy dashboard in front of you.";
    CONNECTIONS { OUT TO 14};
}

VOCABULARY
{
// Conversion Nouns
    NOUN 2: "S", "SOUTH";
    PREPOSITION 2: "TO";
    CONJUNCTION 2: "AND", "THEN";
    PRONOUN 2: "IT", "THEM";
    NOUN 3: "E", "EAST";
    PREPOSITION 3: "FROM";
    NOUN 4: "W", "WEST";
//    PREPOSITION 4: "IN";
    NOUN 5: "N", "NORTH", "NO";
//    PREPOSITION 5: "OUT";
    NOUN 6: "NW";
    PREPOSITION 6: "THROU";
    NOUN 7: "SE";
    PREPOSITION 7: "OVER";
    NOUN 8: "SW";
    PREPOSITION 8: "UNDER";
    NOUN 9: "NE";
    PREPOSITION 9: "BY";
    VERB 10: "DESCE";
    NOUN 10: "D", "DOWN";
    PREPOSITION 10: "ON";
    VERB 11: "ASCEN", "CLIMB";
    NOUN 11: "U", "UP";
    VERB 12: "ENTER", "GO", "IN", "DRIVE";
    VERB 13: "LEAVE", "OUT", "EXIT";
    PREPOSITION 11: "OFF";
    PREPOSITION 12: "AT";
    PREPOSITION 13: "EXCEP";
    NOUN 14: "I", "INVEN";
    PREPOSITION 14: "NORMA";
// Verbs
    VERB 20: "GET", "TAKE", "PICK";
    NOUN 20: "ALL", "LOT", "EVERY";
    VERB 21: "PUT", "DROP", "RELEASE";
    VERB 22: "REMOVE";
    VERB 23: "WEAR";
    VERB 24: "R", "REDES", "LOOK", "L";
    VERB 25: "QUIT", "STOP";
    VERB 26: "SAVE";
    VERB 27: "LOAD";
    VERB 28: "RAMSA", "RS";
    VERB 29: "RAMLO", "RL";
    VERB 30: "EXAMI", "EXAM", "X";
    VERB 31: "SAY", "ASK", "TALK", "SPEAK";
    VERB 32: "SEARCH", "FEEL";
    VERB 33: "HELP";
    VERB 34: "GARETH";
    VERB 35: "SCORE";
    VERB 50: "OPEN";
    VERB 51: "CLOSE";
    VERB 52: "PULL", "FLUSH";
    VERB 53: "PUSH", "PRESS";
    VERB 54: "SPRAY";
    VERB 55: "PROP", "LEAN";
    VERB 56: "LEVER", "PRISE";
    VERB 57: "USE";
    VERB 58: "SPIT", "GOB";
    VERB 59: "LIFT", "MOVE";
    VERB 60: "THROW";
    VERB 61: "SWAP", "INSERT";
    VERB 62: "TIE", "ATTACH", "LINK", "LOOP";
    VERB 63: "KICK", "HIT", "PUNCH", "SMASH", "BREAK"; // Attack is interpreted as ATTACH
    VERB 64: "YES", "Y"; // for introduction
    VERB 65: "CENSORED"; // Censored in the source code :) 
    VERB 66: "FISH";
// Nouns
    NOUN 50: "RED"; // trolley
    NOUN 51: "BLUE"; // trolley
    NOUN 52: "GREEN"; // trolley
    NOUN 53: "YELLOW"; // trolley
    NOUN 54: "WHITE"; // trolley
    NOUN 55: "CHAIN"; // Toilet chain
    NOUN 56: "KEYS"; // Car keys
    NOUN 57: "CAN", "PAIN", "PAINT"; // Can of spray paint
    NOUN 58: "BATTERY"; // Car battery
    NOUN 59: "BOARDS"; // Wooden (floor)boards
    NOUN 60: "TROLLEY";
    NOUN 61: "TOILET";
    NOUN 62: "BAR"; // Metal bar
    NOUN 63: "RAILINGS"; // Metal railings
    NOUN 64: "CAR";
    NOUN 65: "MUD";
    NOUN 66: "WATER";
    NOUN 67: "GRATE", "GRID", "COVER";
    NOUN 68: "HAIR";
    NOUN 69: "DOOR";
    NOUN 70: "TRUCK";
    NOUN 71: "BONNET", "HOOD", "ENGINE";
    NOUN 72: "BOOT", "TRUNK";
    NOUN 73: "BIN", "BINS", "RECYCLING"; // Recycling bins
    NOUN 74: "FLOOR";
    NOUN 75: "SHED";
    NOUN 76: "WALL", "WALLS";
    NOUN 77: "BAY";
    NOUN 78: "DOG", "DOGS";
    NOUN 79: "PUNK", "PUNKS";
    NOUN 88: "HORN", "BUTTON"; // Horn button on trolley truck
    NOUN 89: "RUBBISH";
    NOUN 90: "WEBS", "COBWEBS", "DUST";
    NOUN 91: "DASHBOARD";
    NOUN 92: "DRAIN";
    NOUN 93: "STORE", "SALIS";
    NOUN 94: "WINDOW", "WIND";
// Adjectives
    ADJECTIVE 130: "SMALL";
    ADJECTIVE 131: "BIG", "LARGE";
    ADJECTIVE 132: "OLD";
    ADJECTIVE 133: "NEW";
    ADJECTIVE 134: "HARD";
    ADJECTIVE 135: "SOFT";
    ADJECTIVE 136: "SHORT";
    ADJECTIVE 137: "LONG";
// Adverbs
    ADVERB 140: "QUICK";
    ADVERB 141: "SLOWL";
    ADVERB 142: "QUIET";
    ADVERB 143: "LOUDL";
    ADVERB 144: "CAREF", "SOFTL", "GENTL";
}

OBJECT 0
{
    "{16}{7}The fabled {16}{3}MAGENTA{16}{7} trolley";
    WORDS _ _;
    WEIGHT 1;
}

OBJECT 1
{
    "{16}{7}A {16}{2}red{16}{7} trolley";
    INITIALLYAT 1;
    WORDS RED _;
    WEIGHT 1; 
}

OBJECT 2
{
    "{16}{7}A {16}{1}blue{16}{7} trolley";
    INITIALLYAT 11;
    WORDS BLUE _;
    WEIGHT 1; 
}

OBJECT 3
{
    "{16}{7}A {16}{4}green{16}{7} trolley";
    INITIALLYAT 15;
    WORDS GREEN _;
    WEIGHT 1; 
}

OBJECT 4
{
    "{16}{7}A {16}{6}yellow{16}{7} trolley";
    INITIALLYAT 8;
    WORDS YELLOW _;
    WEIGHT 1; 
}

OBJECT 5
{
    "{16}{7}A {16}{7}white{16}{7} trolley";
    INITIALLYAT 21;
    WORDS WHITE _;
    WEIGHT 1; 
}

OBJECT 6
{
    "{16}{7}A long chain";
    WORDS CHAIN _;
    WEIGHT 1; 
}

OBJECT 7
{
    "{16}{7}Some car keys";
    WORDS KEYS _;
    WEIGHT 1;
}

OBJECT 8
{
    "{16}{7}A can of paint";
    WORDS CAN _;
    WEIGHT 1;
}

OBJECT 9
{
    "{16}{7}A battery";
    WORDS BATTERY _;
    WEIGHT 1;
}

OBJECT 10
{
    "{16}{7}Some long wooden boards";
    WORDS BOARDS _;
    WEIGHT 1;
}

OBJECT 11
{
    "{16}{7}A metal bar";
    WORDS BAR _;
    WEIGHT 1;
}

MESSAGES
{
    0: "You are pushing the ";
    1: "{16}{2}red{16}{5}";
    2: "{16}{1}blue{16}{5}";
    3: "{16}{4}green{16}{5}";
    4: "{16}{6}yellow{16}{5}";
    5: "{16}{7}white{16}{5}";
    6: " trolley. ";
    7: "You are now pushing the ";
    8: "Which colour trolley?";
    9: "It would be best to concentrate on one trolley at a time.";
    10: "^{16}{6}Well done. {16}{5}That's another trolley successfully recovered. ";
    11: "You've already got the _.";
    12: "You're not currently pushing that trolley.";
    13: "You're already pushing the _.";
    14: "You let go of the ";
    15: "You clumsily climb over the wall...";
    16: "You let go of the trolley you were pushing before you climb over the wall.";
    17: "One of the customer toilets is unlocked, so you go inside...";
    18: "You think it's best to leave the trolley outside...";
    19: "They're proper punks with brightly coloured hair and piercings. At the moment they seem to be having a spitting competition.";
    20: "The punks won't let you go past.^^{16}{7}\"You're not one of us,\"{16}{5} sneers their apparent leader.";
    21: "The punks regard your attempts at joining in, with utter contempt.";
    22: "{16}{7}\"We're not going to mess with anyone who is crazy enough to do that to their hair,\" {16}{5}the leader of the punks says.";
    23: "You have no problems going entering the alleyway to the west...";
    24: "Urgh. Disgusting!";
    25: "The locals haven't quite got the hang of recycling yet. The recycling bins seem to be just filled with general rubbish";
    26: "Reluctantly, you search through the bins and find something interesting...";
    27: "There is nothing more to be found. Nothing that you're not going to catch a dreadful disease off, anyway.";
    28: "Maybe there might be something useful in amongst the rubbish?";
    29: "Your boss says all of the trolleys are different colours to promote diversity and inclusion. In reality it's because most of them have been nicked from other supermarkets.";
    30: "How do you want to use the paint?";
    31: "I hope you know what you're doing...";
    32: "^You spray your hair a fetching shade of green, using the paint from the can.";
    33: "^This is going to wash out when you get home, right?";
    34: "One of the bars in the railings seems to be a bit loose.";
    35: "You give the bar a hard tug and it comes loose from the railings. You utter vandal.";
    36: "You flush the toilet...^";
    37: "...and the chain comes off in your hand!^";
    38: "(I bet this is all coming out of your wages)";
    39: "You remember what you did to the toilet, right? Nobody is going to be doing any flushing anytime soon.";
    40: "The drain is covered by a metal grate.";
    41: "The metal grate covering the drain has been opened. You can see water in the drain below.";
    42: "You try, but you can't seem to lift the grate covering the drain with your bare hands.";
    43: "You use the metal bar to lever and lift up the grate covering the drain.";
    44: "It's impossible to see anything in the dirty, muddy rainwater.";
    45: "You feel around in the rainwater and fish out...^";
    46: "...a set of keys! Somebody must have accidentally dropped them down the drain.";
    47: "As you walk around the shed, the floorboards creak and move beneath your feet.";
    48: "It doesn't take much to lift some of the floorboards. The adventurer in you is slightly disappointed that there's nothing underneath.";
    49: "Yuck!";
    50: "You prop the long boards up against the wall, creating a makeshift ramp. It's not pretty (or incredibly stable) but it should work.";
    51: "You might as well leave those there for now.";
    52: "You push the trolley over the wall, using your makeshift ramp, and climb over after it...";
    53: "You've propped up some boards here, against the wall, to make a ramp. ";
    54: "There's a wall blocking your way.";
    55: "You haven't really got the strength to do that.";
    56: "You're not currently pushing a trolley.";
    57: "You unlock the car and get into the driver's seat...";
    58: "You get out of the car and lock the door.";
    59: "The door to the car is locked.";
    60: "It's an old Talbot Sunbeam. The car seems to have been abandoned for some reason. ";
    61: "The bonnet of the car is open. ";
    62: "You can see the car's battery. ";
    63: "Under the dashboard you can see a small lever.";
    64: "You pull the lever and the bonnet of the car pops open.";
    65: "I don't think there's anything of use that you can 'borrow' from the boot.";
    66: "You'd better not move the car.";
    67: "You... shall we say... 'borrow' the battery from the car.";
    68: "The bonnet is closed.";
    69: "No. You'll need them to lock the car when I'm finished.";
    70: "You can't open the bonnet from the outside.";
    71: "The trolley truck is only really useful for moving large numbers of trolleys. Otherwise you're better off just pushing them yourself.";
    72: "You get in the truck and try to move it... but it goes nowhere... Oh great, some idiot forgot to put the battery on charge last night.^";
    73: "(You have a feeling that that idiot was you.)";
    74: "Your trolley {16}{7}truck{16}{5} is parked here. ";
    75: "You are in the trolley truck. As well as the controls for driving it, you can see a small button.";
    76: "^{16}{7}(You are driving the trolley truck){16}{5}";
    77: "You get out of the trolley truck first...^";
    78: "You swap the battery in the trolley truck with the one you got from the car.^";
    79: "(You'll put it back later... honest!)";
    80: "You enter the trolley truck.";
    81: "You exit the trolley truck...";
    82: "You've linked the trolley truck and the red trolley together with a chain.";
    83: "You loop the chain around the red trolley and the back of the truck, linking them together.";
    84: "You try to pull the red trolley free but it's well and truly stuck in the mud.";
    85: "As you drive the truck away, you pull the trolley out of the mud...^";
    86: "The red trolley is stuck in the mud.";
    87: "The mud seems extremely deep... you're best staying well away from it.";
    88: "You press the button on the dashboard...^";
    89: "    ...beep beep...^";
    90: "That's the most pathetic horn you've ever heard in your life.";
    91: "A large, very fierce looking {16}{7}dog,{16}{5} is sitting in the centre of the road here. ";
    92: "The dog growls at you as you try to go past. ";
    93: "Even riding on the trolley truck, you wouldn't risk going that way past the angry dog. ";
    94: "The dog looks at you as if he can't believe what he's just heard.^ ";
    95: "He gives his head a shake and seems to look pityingly at you... then wanders off...";
    96: "You can't drive the trolley truck down the small alleyway.";
    97: "You're not allowed to drive the trolley truck off the supermarket grounds.";
    98: "You get off the trolley truck and go and remove the chain.";
    99: "You can't take the trolley truck that way.";
    100: "Not just yet...";
    101: "You can see, by how full the bay is, that some are still missing. ";
    102: "You can't go home until you've collected all the missing trolleys!";
    103: "They're a set of car keys that someone accidentally dropped down the drain.";
    104: "It's a can of bright green spray paint... It doesn't look too toxic...";
    105: "It's the battery that you've 'borrowed' from the abandoned car.";
    106: "Wooden boards of a decent length.";
    107: "It's a fairly sturdy metal bar.";
    108: "It's just a pretty ordinary branch of {16}{7}J. Salisbury's{16}{5} supermarket.";
    109: "The wall is about chest height, so I guess you could climb over it if you wanted.";
    110: "The dog growls at you!";
    111: "It's one of those old, high-cistern toilets with a chain flush!";
    112: "Yeah, the cold usually makes me want to go a lot, too!";
    113: "Are you mad?!";
    114: "Useful commands include: {16}{7}EXAMINE (X), SEARCH, PUSH {16}{5}and {16}{7}PULL.{16}{5}";
    115: "It's a decent length of chain. Enough to do something useful with. Except flush the toilet. (Because you broke it!)";
    116: "The store is closed. ";
    117: "You don't want to damage the car!";
    118: "You try to make yourself look more like a punk by... wearing the chain... yeah, that doesn't quite work.";
    119: "Forget about fishing for stuff, just stick your hand in the water and feel around!";
    120: "Just attaching the chain to the trolley and pulling on it won't work. You'll need more force to free it!";

}


SYSMESSAGES
{
    0: "^Version 1.3^";
    1: "{16}{6}You can also see: {16}{7}";
    #ifdef PAWSPECTRUM
    2: "^{16}{6}{148}{149} What now?^";
    3: "^{16}{6}{148}{149} What next?^";
    4: "^{16}{6}{148}{149} What will you do now?^";
    5: "^{16}{6}{148}{149} What will you do next?^";
    #endif
    #ifndef PAWSPECTRUM
    2: "^What now?^";
    3: "^What next?^";
    4: "^What will you do now?^";
    5: "^What will you do next?^";
    #endif
    6: "I was not able to understand any of that. Please try again.^";
    7: "You can't go in that direction.^";
    8: "You can't do that.^";
    9: "{16}{6}You have with you: {16}{7}";
    10: " (worn)";
    11: "nothing at all.^";
    #ifdef PAWSPECTRUM
    12: "^{16}{6}{148}{149} Are you sure?^";
    13: "^{16}{6}{148}{149} Would you like another go?^";
    #endif
    #ifndef PAWSPECTRUM
    12: "^Are you sure?^";
    13: "^Would you like another go?^";
    #endif
    14: "{16}{6}8bitAG.com^";
    15: "OK.^";
    #ifdef PAWSPECTRUM
    16: "^   {20}{1}Press any key to continue.{20}{0}";
    #endif
    #ifndef PAWSPECTRUM
    16: "^";
    #endif
    17: "You have taken ";
    18: " turn";
    19: "s";
    20: ".^";
    21: "You have recovered ";
    22: " of the 5 missing trolleys.^";
    23: "You're not wearing one of those.^";
    24: "You can't. You're wearing the _.^";
    25: "You already have the _.^";
    26: "There isn't one of those here.^";
    27: "You can't carry any more things.^";
    28: "You don't have one of those.^";
    29: "You're already wearing the _.^";
    30: "Y";
    31: "N";
    32: "^More...";
    #ifdef PAWSPECTRUM
    33: "{16}{6}{150}{151} ";
    34: "{16}{7}-";
    //34: " {16}{7}";
    #endif
    #ifndef PAWSPECTRUM
    33: ">";
    34: ".";
    #endif
    35: "^Time passes...^";
    36: "You now have the _.^";
    37: "You're now wearing the _.^";
    38: "You've removed the _.^";
    39: "You've dropped the _.^";
    40: "You can't wear the _.^";
    41: "You can't remove the _.^";
    42: "You can't remove the _. Your hands are full.^";
    43: "The _ weighs too much for you.^";
    44: "The _ is in the ";
    45: "The _ isn't in the ";
    46: ", ";
    47: " and ";
    48: ".^";
    49: "You don't have the _.^";
    50: "You're not wearing the _.^";
    51: ".^";
    52: "There isn't one of those in the ";
    53: "nothing.^";
    #ifdef PAWSPECTRUM
    54: "^{16}{6}{148}{149} Type in name of file:^";
    55: "";
    56: "";
    57: "";
    58: "";
    59: "";
    60: "";
    #endif
    #ifndef PAWSPECTRUM
    54: "File not found.";
    55: "File corrupt.";
    56: "I/O Error!  File not Saved!";
    57: "Directory full.";
    58: "Disk full.";
    59: "File name error.";
    60: "^Type in name of file. ";
    #endif
    #ifdef PAWSPECTRUM
    61: "{16}{7}--------------------------------{16}{5}";
    #endif
    #ifndef PAWSPECTRUM
    61: "-------------------------------------------------------------------------------";
    #endif
    62: "Loading position from memory...^";
    63: "Position saved to memory.^";
    64: "You've already done that.^";
    65: "You discover nothing further.^";
    66: "How?^";
    67: "There's no real need to do that.^";
    68: "{16}{6}Exits:{16}{7} ";
    69: "N, "; 
    70: "S, "; 
    71: "E, ";
    72: "W, ";
    73: "SE, ";
    74: "SW, ";
    75: "NE, ";
    76: "NW, ";
    77: "IN, ";
    78: "OUT, ";
    79: "Oh, the wonderful life of a supermarket trolley collector...^^";
    80: "Not for you, the confines of a checkout chair, laboriously swiping goods over a laser.^^";
    81: "Nor the neverending task of plugging gaps on shelves ravaged by greedy shoppers.^^";
    82: "No, you, the trolley collector are free. Free from the control of supervisors. Free to be alone with your thoughts. Free from the pressures of retail hell.^^";
    83: "Free to wander the expanse of the car park, with the wind in your hair. And the rain. And the sleet. And the hail. And the snow.^^";
    84: "But, despite that, your life is great. It's the best job in the place. Except on a night like tonight.^^";
    85: "For tonight those annoying customers have managed to leave five of your trolleys in awkward places.^^";
    86: "And your boss won't let you go home until you retrieve them!^^";
    87: "{16}{6}Congratulations,{16}{5} you've managed to recover all the abandoned trolleys!^^";
    88: "Now you can finally go home for a {16}{6}well-earned{16}{5} rest.^^";
    89: "(Before you have to come back and do the whole thing again tomorrow!)^^";
    90: "(This game was designed and at least partially coded back in around about 1992/1992.^^";
    91: "The original disks with the PAWs code from that date has long been lost.^^";
    92: "This is a brand new version of the game using what remains of the original designs.^^";
    93: "The game was created either as a simple adventure to go on the B-side of a tape, or to be included as a minigame in a future sequel to Microfair Madness)^^";
    94: "You'll need to be more specific!^";
    95: "Just use compass directions to move.^";
    #ifdef PAWSPECTRUM
    96: "{16}{6}{127}1992 Electric Storm Productions^";
    97: "^{16}{6}{148}{149} Introduction?^";
    #endif
    #ifndef PAWSPECTRUM
    96: "(c)1992 Electric Storm Productions^";
    97: "^Introduction?^";
    #endif    
}

PROCESS 3; // Must declare extra processes here before you use them later on
PROCESS 4;
PROCESS 5;
PROCESS 6;
PROCESS 7;
PROCESS 8;
PROCESS 9;
PROCESS 10;
PROCESS 11;
PROCESS 12;
PROCESS 13;
PROCESS 14;
PROCESS 15;
PROCESS 16;
PROCESS 17;
PROCESS 18;
PROCESS 19;

CHARACTERS
{
    0, 0, 0, 0, 0, 0, 0, 255, 
    0, 0, 0, 0, 0, 0, 0, 0, 
    0, 60, 24, 60, 126, 126, 60, 0, 
    6, 30, 28, 60, 112, 96, 128, 0, 
    0, 240, 160, 63, 42, 53, 42, 53, 
    0, 0, 0, 254, 170, 84, 168, 80, 
    42, 31, 16, 63, 0, 16, 0, 0, 
    160, 192, 32, 240, 0, 32, 0, 0, 
    128, 192, 224, 240, 248, 252, 254, 255, 
    0, 0, 0, 15, 8, 8, 8, 8, 
    0, 0, 0, 248, 8, 8, 8, 8, 
    8, 8, 8, 15, 0, 0, 0, 0, 
    8, 8, 8, 248, 0, 0, 0, 0, 
    8, 8, 8, 8, 8, 8, 8, 8, 
    0, 0, 0, 255, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 170, 85, 
    16, 8, 16, 8, 16, 8, 16, 8, 
    170, 85, 170, 85, 170, 85, 170, 85, 
    255, 255, 255, 255, 255, 255, 255, 255, 
    170, 85, 170, 85, 170, 85, 170, 85, 
    204, 51, 204, 51, 204, 51, 204, 51, 
    170, 170, 85, 85, 170, 170, 85, 85, 
    136, 0, 2, 0, 136, 0, 32, 0, 
    0, 0, 32, 0, 0, 0, 2, 0, 
    16, 16, 16, 16, 16, 16, 16, 16, 
    0, 0, 0, 255, 0, 0, 0, 0, 
    68, 68, 68, 68, 68, 68, 68, 68, 
    0, 255, 0, 0, 0, 255, 0, 0, 
    128, 64, 32, 16, 8, 4, 2, 1, 
    1, 2, 4, 8, 16, 32, 64, 128, 
    34, 17, 136, 68, 34, 17, 136, 68, 
    68, 136, 17, 34, 68, 136, 17, 34, 
    195, 60, 195, 60, 195, 60, 195, 60, 
    4, 4, 255, 64, 64, 64, 255, 4, 
    1, 3, 6, 12, 24, 48, 96, 192, 
    1,
    0, 0, 0, 0, 0, 0, 0, 0, 
    0, 24, 24, 24, 24, 0, 24, 0, 
    0, 54, 54, 0, 0, 0, 0, 0, 
    0, 36, 126, 36, 36, 126, 36, 0, 
    0, 8, 62, 40, 62, 10, 62, 8, 
    0, 98, 100, 8, 16, 38, 70, 0, 
    0, 16, 40, 16, 42, 68, 58, 0, 
    0, 12, 24, 48, 0, 0, 0, 0, 
    0, 12, 24, 24, 24, 24, 12, 0, 
    0, 24, 12, 12, 12, 12, 24, 0, 
    0, 0, 20, 8, 62, 8, 20, 0, 
    0, 24, 24, 126, 126, 24, 24, 0, 
    0, 0, 0, 0, 24, 24, 48, 0, 
    0, 0, 0, 60, 60, 0, 0, 0, 
    0, 0, 0, 0, 0, 48, 48, 0, 
    0, 2, 6, 12, 24, 48, 96, 0, 
    0, 60, 102, 110, 118, 102, 60, 0, 
    0, 56, 24, 24, 24, 24, 60, 0, 
    0, 124, 6, 6, 60, 96, 126, 0, 
    0, 124, 6, 12, 12, 6, 124, 0, 
    0, 96, 96, 108, 126, 12, 12, 0, 
    0, 126, 96, 124, 6, 6, 124, 0, 
    0, 62, 96, 124, 102, 102, 60, 0, 
    0, 126, 6, 12, 12, 24, 24, 0, 
    0, 60, 102, 60, 102, 102, 60, 0, 
    0, 60, 102, 102, 62, 6, 6, 0, 
    0, 24, 24, 0, 24, 24, 0, 0, 
    0, 0, 16, 0, 0, 16, 16, 32, 
    0, 0, 4, 8, 16, 8, 4, 0, 
    0, 0, 0, 62, 0, 62, 0, 0, 
    0, 0, 16, 8, 4, 8, 16, 0, 
    0, 60, 66, 4, 8, 0, 8, 0, 
    0, 60, 74, 86, 94, 64, 60, 0, 
    0, 60, 102, 102, 126, 102, 102, 0, 
    0, 124, 102, 124, 102, 102, 124, 0, 
    0, 60, 102, 96, 96, 102, 60, 0, 
    0, 124, 102, 102, 102, 102, 124, 0, 
    0, 126, 96, 124, 96, 96, 126, 0, 
    0, 126, 96, 124, 96, 96, 96, 0, 
    0, 62, 96, 96, 110, 102, 62, 0, 
    0, 102, 102, 126, 102, 102, 102, 0, 
    0, 126, 24, 24, 24, 24, 126, 0, 
    0, 6, 6, 6, 6, 102, 60, 0, 
    0, 102, 108, 120, 120, 108, 102, 0, 
    0, 96, 96, 96, 96, 96, 126, 0, 
    0, 99, 119, 127, 107, 99, 99, 0, 
    0, 102, 118, 126, 126, 110, 102, 0, 
    0, 60, 102, 102, 102, 102, 60, 0, 
    0, 124, 102, 102, 124, 96, 96, 0, 
    0, 60, 102, 102, 102, 108, 54, 0, 
    0, 124, 102, 102, 124, 108, 102, 0, 
    0, 60, 96, 60, 6, 6, 124, 0, 
    0, 126, 24, 24, 24, 24, 24, 0, 
    0, 102, 102, 102, 102, 102, 60, 0, 
    0, 102, 102, 102, 102, 60, 24, 0, 
    0, 99, 99, 107, 127, 119, 99, 0, 
    0, 102, 102, 60, 60, 102, 102, 0, 
    0, 102, 102, 60, 24, 24, 24, 0, 
    0, 126, 12, 24, 48, 96, 126, 0, 
    0, 14, 8, 8, 8, 8, 14, 0, 
    0, 0, 64, 32, 16, 8, 4, 0, 
    0, 112, 16, 16, 16, 16, 112, 0, 
    0, 16, 56, 84, 16, 16, 16, 0, 
    0, 0, 0, 0, 0, 0, 0, 255, 
    0, 28, 34, 120, 32, 32, 126, 0, 
    0, 0, 60, 6, 62, 102, 62, 0, 
    0, 96, 96, 124, 102, 102, 124, 0, 
    0, 0, 60, 96, 96, 96, 60, 0, 
    0, 6, 6, 62, 102, 102, 62, 0, 
    0, 0, 60, 102, 126, 96, 60, 0, 
    0, 14, 24, 62, 24, 24, 24, 0, 
    0, 0, 62, 98, 98, 62, 2, 124, 
    0, 96, 96, 108, 118, 102, 102, 0, 
    0, 24, 0, 56, 24, 24, 60, 0, 
    0, 6, 0, 6, 6, 6, 6, 60, 
    0, 96, 96, 108, 120, 108, 102, 0, 
    0, 56, 24, 24, 24, 24, 60, 0, 
    0, 0, 54, 107, 107, 99, 99, 0, 
    0, 0, 108, 118, 102, 102, 102, 0, 
    0, 0, 60, 102, 102, 102, 60, 0, 
    0, 0, 124, 102, 102, 124, 96, 96, 
    0, 0, 62, 102, 102, 62, 6, 6, 
    0, 0, 108, 118, 96, 96, 96, 0, 
    0, 0, 62, 96, 60, 6, 124, 0, 
    0, 24, 126, 24, 24, 24, 14, 0, 
    0, 0, 102, 102, 102, 110, 54, 0, 
    0, 0, 102, 102, 102, 60, 24, 0, 
    0, 0, 99, 99, 107, 107, 54, 0, 
    0, 0, 102, 60, 24, 60, 102, 0, 
    0, 0, 102, 102, 102, 62, 12, 120, 
    0, 0, 126, 12, 24, 48, 126, 0, 
    0, 14, 8, 48, 8, 8, 14, 0, 
    0, 8, 8, 8, 8, 8, 8, 0, 
    0, 112, 16, 12, 16, 16, 112, 0, 
    0, 20, 40, 0, 0, 0, 0, 0, 
    60, 66, 153, 161, 161, 153, 66, 60

}

// FLAGS:
// 60: Trolley being pushed
// 61: Hair sprayed
// 62: Second time west from 16 flag
// 63: Found spray can
// 64: Found metal bar
// 65: Found chain
// 66: Grate lifted
// 67: Floorboards lifted
// 68: Ramp made
// 69: Keys found
// 70: Battery removed
// 71: Bonnet open
// 72: Trolley truck location
// 73: Battery swapped
// 74: Out/In trolley truck
// 75: Chain tied to truck & trolley
// 76: Red trolley freed
// 77: Dog there/not there
// 169: Trolley Count Routine! <-- bugged in original version, accidentally used a flag twice!
// 250: Introduction text

RESPONSE 
{
// Note:
// It's important to remember that no matter how you arrange the response table here in InPAWS, 
// it's first re-ordered by verb/noun number in PAWS... * comes first, _ comes last

// There's never any need to follow a DESC with a DONE... but for some reason I like to do it anyway. :) 

// Introduction?
    * *: AT 0 PROCESS 19 DONE;

// Trolley truck... If on the truck, get off it first for anything other than a direction or specified verb
    * *: NOTZERO 74 NOTEQ 33 12 NOTEQ 33 13 NOTEQ 33 14 NOTEQ 33 24 NOTEQ 33 25 NOTEQ 33 26 NOTEQ 33 27 NOTEQ 33 28 NOTEQ 33 29 NOTEQ 33 30 NOTEQ 33 33 NOTEQ 33 34 NOTEQ 33 35 NOTEQ 33 53 NOTEQ 33 57 GT 33 9 MESSAGE 77 CLEAR 74;

// Standard & System Responses
    I _: INVEN;
    GET I: INVEN;
    GET ALL: DOALL 255;
    GET _: AUTOG DONE;
    PUT ALL: DOALL 254;
    PUT _: AUTOD DONE;
    REMOVE ALL: DOALL 253;
    REMOVE _: AUTOR DONE;
    WEAR ALL: DOALL 254;
    WEAR _: AUTOW DONE;
    R _: DESC;
    QUIT _: QUIT TURNS SYSMESS 0 END;
    SAVE _: SAVE;
    LOAD _: LOAD;
    RAMSA _: RAMSAVE SYSMESS 63 DONE;
    RAMLO _: RAMLOAD 255 SYSMESS 62 ANYKEY DESC DONE;
    LOOK _: DESC;
    SCORE _: SCORE DONE;
    HELP _: MESSAGE 114 DONE;
    GARETH _: CLS SYSMESS 90 ANYKEY SYSMESS 91 ANYKEY SYSMESS 92 ANYKEY SYSMESS 93 ANYKEY DESC DONE;

// GET TROLLEY... Is there only one trolley here? If so, then auto-change NOUN to appropriate colour
    GET *: EQ 34 60 PROCESS 17 ZERO 169 DONE; // Continue down response table after this, if trolley here
    PUSH *: EQ 34 60 PROCESS 17 ZERO 169 DONE; // Same here, using * so it appears first in response table
    // Could've probably used adjectives & the PAWs parser here instead, if I'd wanted to.

// Examine Messages, locations
    EXAM TROLLEY: AT 4 MESSAGE 29 DONE;
    EXAM PUNKS: AT 16 MESSAGE 19 DONE;
    EXAM BINS: AT 18 MESSAGE 25 DONE;
    EXAM RUBBISH: AT 18 ZERO 63 MESSAGE 28 DONE;
    EXAM RUBBISH: AT 18 NOTZERO 63 MESSAGE 27 DONE;
    EXAM RAILINGS: AT 12 ZERO 64 MESSAGE 34 DONE;
    EXAM RAILINGS: AT 12 NOTZERO 64 SYSMESS 65 DONE;
    EXAM BAR: AT 12 ZERO 64 SYSMESS 65 DONE;
    EXAM WEBS: AT 20 MESSAGE 49 DONE;
    EXAM FLOOR: AT 20 MESSAGE 47 DONE;
    EXAM DASHBOARD: AT 22 MESSAGE 63 DONE;
    EXAM DRAIN: AT 13 ZERO 66 MESSAGE 40 DONE;
    EXAM DRAIN: AT 13 NOTZERO 66 MESSAGE 41 DONE;
    EXAM GRATE: AT 13 ZERO 66 MESSAGE 40 DONE;
    EXAM GRATE: AT 13 NOTZERO 66 MESSAGE 41 DONE;
    EXAM WATER: AT 13 ZERO 66 MESSAGE 40 DONE;
    EXAM WATER: AT 13 NOTZERO 66 MESSAGE 44 DONE;
    EXAM CAR: AT 14 ZERO 71 MESSAGE 60 DONE;
    EXAM CAR: AT 14 NOTZERO 71 ZERO 70 MES 60 MES 61 MESSAGE 62 DONE;
    EXAM CAR: AT 14 NOTZERO 71 NOTZERO 70 MES 60 MESSAGE 61 DONE;
    EXAM BONNET: AT 14 ZERO 71 MESSAGE 68 DONE;
    EXAM BONNET: AT 14 NOTZERO 71 ZERO 70 MES 61 MESSAGE 62 DONE;
    EXAM BONNET: AT 14 NOTZERO 71 NOTZERO 70 MESSAGE 61 DONE;
    EXAM TRUCK: SAME 38 72 ZERO 74 ZERO 75 MESSAGE 71 DONE;
    EXAM TRUCK: SAME 38 72 ZERO 74 NOTZERO 75 MESSAGE 82 DONE;
    EXAM TRUCK: SAME 38 72 NOTZERO 74 MESSAGE 75 DONE;
    EXAM RED: AT 1 ZERO 76 ZERO 75 MESSAGE 86 DONE;
    EXAM RED: AT 1 ZERO 76 NOTZERO 75 MESSAGE 82 DONE;
    EXAM TROLLEY: AT 1 ZERO 76 ZERO 75 MESSAGE 86 DONE;
    EXAM TROLLEY: SAME 38 72 ZERO 74 ZERO 75 MESSAGE 71 DONE;
    EXAM TROLLEY: SAME 38 72 ZERO 74 NOTZERO 75 MESSAGE 82 DONE;
    EXAM TROLLEY: SAME 38 72 NOTZERO 74 MESSAGE 75 DONE;
    EXAM MUD: AT 1 MESSAGE 87 DONE;
    EXAM KEYS: PRESENT 7 MESSAGE 103 DONE;
    EXAM CAN: PRESENT 8 MESSAGE 104 DONE;
    EXAM BATTERY: PRESENT 9 MESSAGE 105 DONE;
    EXAM BOARDS: PRESENT 10 MESSAGE 106 DONE;
    EXAM BAR: PRESENT 11 MESSAGE 107 DONE;
    EXAM WALL: AT 17 MESSAGE 109 DONE;
    EXAM WALL: AT 19 MESSAGE 109 DONE;
    EXAM DOG: AT 10 ZERO 77 MESSAGE 110 DONE;
    EXAM TOILET: AT 2 MESSAGE 111 DONE;
    EXAM STORE: AT 5 MESSAGE 108 DONE;
    EXAM STORE: AT 3 MESSAGE 108 DONE;
    EXAM CHAIN: PRESENT 6 MESSAGE 115 DONE;
    EXAM _: SYSMESS 65 DONE; // Catch-all examine message

// Examine Messages, objects


// Getting/Pushing & Dropping/Releasing Trolley responses
    GET TROLLEY: MESSAGE 8 DONE; // Which colour trolley?
    PUSH TROLLEY: MESSAGE 8 DONE;
    DROP TROLLEY: PROCESS 18 DONE; // Can only carry one at a time
    GET RED: PRESENT 1 PROCESS 6 DONE;
    PUSH RED: PRESENT 1 PROCESS 6 DONE;
    GET BLUE: PRESENT 2 PROCESS 7 DONE;
    PUSH BLUE: PRESENT 2 PROCESS 7 DONE;
    GET GREEN: PRESENT 3 PROCESS 8 DONE; 
    PUSH GREEN: PRESENT 3 PROCESS 8 DONE;
    GET YELLOW: PRESENT 4 PROCESS 9 DONE;
    PUSH YELLOW: PRESENT 4 PROCESS 9 DONE;
    GET WHITE: PRESENT 5 PROCESS 10 DONE;
    PUSH WHITE: PRESENT 5 PROCESS 10 DONE;
    DROP RED: PROCESS 11 DONE;
    DROP BLUE: PROCESS 12 DONE;
    DROP GREEN: PROCESS 13 DONE;
    DROP YELLOW: PROCESS 14 DONE;
    DROP WHITE: PROCESS 15 DONE;

    N *: AT 5 MES 116 MESSAGE 102 DONE;


// Entering Toilets - auto drop trolley
    NORTH *: AT 6 ZERO 60 MESSAGE 17 ANYKEY GOTO 2 DESC DONE;
    NORTH *: AT 6 NOTZERO 60 MESSAGE 18 ANYKEY PROCESS 16 GOTO 2 DESC DONE;


// Punks & Green Trolley Puzzles
    // Trying to go west past them...
    WEST *: AT 16 ZERO 74 ZERO 61 MESSAGE 20 DONE;
    WEST *: AT 16 ZERO 74 NOTZERO 61 ZERO 62 MESSAGE 22 NEWLINE ANYKEY MESSAGE 23 ANYKEY SET 62 GOTO 15 DESC DONE;
    WEST *: AT 16 ZERO 74 NOTZERO 61 NOTZERO 62 MESSAGE 23 ANYKEY GOTO 15 DESC DONE; // 2nd+ time
    // Finding the can of spray paint...
    SEARCH BINS: AT 18 ZERO 63 MESSAGE 26 CREATE 8 SET 63 ANYKEY DESC DONE;
    SEARCH BINS: AT 18 NOTZERO 63 MESSAGE 27 DONE;
    SEARCH RUBBISH: AT 18 ZERO 63 MESSAGE 26 CREATE 8 SET 63 ANYKEY DESC DONE;
    SEARCH RUBBISH: AT 18 NOTZERO 63 MESSAGE 27 DONE;
    // Dying your hair!
    USE CAN: PRESENT 8 ZERO 61 MESSAGE 30 DONE;
    USE CAN: PRESENT 8 NOTZERO 61 SYSMESS 64 DONE;
    SPRAY HAIR: PRESENT 8 ZERO 61 MESSAGE 31 ANYKEY MESSAGE 32 ANYKEY MESSAGE 33 ANYKEY SET 61 DESC DONE;
    SPRAY HAIR: PRESENT 8 NOTZERO 61 SYSMESS 64 DONE; 
    _ PAINT: NOUN2 HAIR PRESENT 8 ZERO 61 MESSAGE 31 ANYKEY MESSAGE 32 ANYKEY MESSAGE 33 ANYKEY SET 61 DESC DONE;
    _ PAINT: NOUN2 HAIR PRESENT 8 NOTZERO 61 SYSMESS 64 DONE;
    // Joining in with the punks!
    SPIT _: AT 16 MESSAGE 21 DONE;
    SPIT _: NOTAT 16 MESSAGE 24 DONE;
    ATTACH PUNKS: AT 16 MESSAGE 113 DONE; //"attac"k
    KICK PUNKS: AT 16 MESSAGE 113 DONE;
    WEAR CHAIN: PRESENT 6 AT 16 MESSAGE 118 DONE;


// Trolley Truck related
    // to get the keys...
    GET BAR: AT 12 ZERO 64 SYSMESS 66 DONE;
    PULL BAR: AT 12 ZERO 64 CREATE 11 SET 64 MESSAGE 35 ANYKEY DESC DONE;
    PULL BAR: AT 12 NOTZERO 64 SYSMESS 64 DONE;
    LIFT GRATE: NOUN2 BAR AT 13 ZERO 66 PRESENT 11 MESSAGE 43 SET 66 DONE;
    LIFT GRATE: AT 13 ZERO 66 MESSAGE 42 DONE;
    LIFT GRATE: AT 13 NOTZERO 66 SYSMESS 64 DONE;
    OPEN DRAIN: NOUN2 BAR AT 13 ZERO 66 PRESENT 11 MESSAGE 43 SET 66 DONE;
    OPEN DRAIN: AT 13 ZERO 66 MESSAGE 42 DONE;
    OPEN DRAIN: AT 13 NOTZERO 66 SYSMESS 64 DONE;
    OPEN GRATE: NOUN2 BAR AT 13 ZERO 66 PRESENT 11 MESSAGE 43 SET 66 DONE;
    OPEN GRATE: AT 13 ZERO 66 MESSAGE 42 DONE;
    USE BAR: NOUN2 GRATE AT 13 ZERO 66 PRESENT 11 MESSAGE 43 SET 66 DONE; // order is important here, 1st
    USE BAR: AT 13 ZERO 66 PRESENT 11 SYSMESS 66 DONE; // 2nd. Or else this one overrides the 1st.
    OPEN GRATE: AT 13 NOTZERO 66 SYSMESS 64 DONE;
    LEVER GRATE: AT 13 ZERO 66 ABSENT 11 SYSMESS 66 DONE;
    LEVER GRATE: AT 13 NOTZERO 66 SYSMESS 64 DONE;
    LEVER GRATE: AT 13 ZERO 66 PRESENT 11 MESSAGE 43 SET 66 DONE;
    LEVER DRAIN: AT 13 ZERO 66 ABSENT 11 SYSMESS 66 DONE;
    LEVER DRAIN: AT 13 NOTZERO 66 SYSMESS 64 DONE;
    LEVER DRAIN: AT 13 ZERO 66 PRESENT 11 MESSAGE 43 SET 66 DONE;
    FISH *: AT 13 ZERO 69 MESSAGE 119 DONE;
    FEEL WATER: AT 13 ZERO 66 MESSAGE 40 DONE;
    SEARCH WATER: AT 13 NOTZERO 66 ZERO 69 MESSAGE 45 ANYKEY MESSAGE 46 ANYKEY CREATE 7 SET 69 DESC DONE;
    SEARCH DRAIN: AT 13 NOTZERO 66 ZERO 69 MESSAGE 45 ANYKEY MESSAGE 46 ANYKEY CREATE 7 SET 69 DESC DONE;
    SEARCH WATER: AT 13 NOTZERO 69 SYSMESS 65 DONE;
    SEARCH DRAIN: AT 13 NOTZERO 69 SYSMESS 65 DONE;
    CLOSE DRAIN: NOTZERO 69 SYSMESS 67 DONE;
    // ...to get into the car...
    BREAK WINDOW: AT 14 MESSAGE 117 DONE;
    IN *: EQ 72 14 NOTEQ 34 70 NOTEQ 34 64 SYSMESS 94 DONE; // Which do you want to get in... if both truck and car are here?
    IN *: AT 14 NOTCARR 7 MESSAGE 59 DONE;
    IN *: AT 14 CARRIED 7 MESSAGE 57 ANYKEY PROCESS 16 GOTO 22 DESC DONE; // includes trolley drop
    IN CAR: AT 14 NOTZERO 74 MESSAGE 77 NOTCARR 7 MESSAGE 59 DONE; // On truck? 
    IN CAR: AT 14 NOTZERO 74 CARRIED 7 CLEAR 74 MESSAGE 77 ANYKEY MESSAGE 57 ANYKEY PROCESS 16 GOTO 22 DESC DONE; 
    IN CAR: AT 14 NOTCARR 7 MESSAGE 59 DONE;
    IN CAR: AT 14 CARRIED 7 MESSAGE 57 ANYKEY PROCESS 16 GOTO 22 DESC DONE; // includes trolley drop
    OPEN DOOR: AT 14 NOTCARR 7 MESSAGE 59 DONE;
    OPEN DOOR: AT 14 CARRIED 7 MESSAGE 57 ANYKEY PROCESS 16 GOTO 22 DESC DONE;
    OPEN CAR: AT 14 NOTCARR 7 MESSAGE 59 DONE;
    OPEN CAR: AT 14 CARRIED 7 MESSAGE 57 ANYKEY PROCESS 16 GOTO 22 DESC DONE;
    OUT *: AT 22 MESSAGE 58 ANYKEY GOTO 14 DESC DONE;
    DROP KEYS: AT 22 CARRIED 7 MESSAGE 69 DONE;
    DRIVE *: AT 22 MESSAGE 66 DONE;
    DRIVE *: NOTZERO 74 SYSMESS 95 DONE;
    // ...to get the battery...
    OPEN BOOT: AT 14 PRESENT 7 MESSAGE 65 DONE;
    OPEN BONNET: AT 14 ZERO 71 MESSAGE 70 DONE;
    OPEN BONNET: AT 14 NOTZERO 71 SYSMESS 64 DONE;
    GET BATTERY: AT 14 NOTZERO 71 ZERO 70 MESSAGE 67 PLACE 9 254 SET 70 DONE;
    REMOVE BATTERY: AT 14 NOTZERO 71 ZERO 70 MESSAGE 67 PLACE 9 254 SET 70 DONE;
    PULL *: AT 22 ZERO 71 MESSAGE 64 SET 71 DONE;
    PULL *: AT 22 NOTZERO 71 SYSMESS 64 DONE;
    CLOSE BONNET: AT 14 NOTZERO 71 SYSMESS 67 DONE;
    // The truck itself...
    DRIVE TRUCK: SAME 38 72 ZERO 74 ZERO 73 MESSAGE 72 ANYKEY MESSAGE 73 ANYKEY DESC DONE; // Battery dead!
    IN *: SAME 38 72 ZERO 74 ZERO 73 MESSAGE 72 ANYKEY MESSAGE 73 ANYKEY DESC DONE;
    DRIVE TRUCK: SAME 38 72 ZERO 74 NOTZERO 73 MESSAGE 80 SET 74 PROCESS 16 ANYKEY DESC;
    IN *: SAME 38 72 ZERO 74 NOTZERO 73 MESSAGE 80 SET 74 PROCESS 16 ANYKEY DESC;
    EXIT TRUCK: NOTZERO 74 MESSAGE 81 CLEAR 74 ANYKEY DESC DONE;
    OUT *:  NOTZERO 74 MESSAGE 81 CLEAR 74 ANYKEY DESC DONE;
    INSERT BATTERY: PRESENT 9 SAME 38 72 MESSAGE 78 DESTROY 9 SET 73 ANYKEY DESC DONE;
    USE BATTERY: PRESENT 9 SAME 38 72 MESSAGE 78 DESTROY 9 SET 73 ANYKEY DESC DONE;


// White Trolley Puzzles
    // Climbing the wall from both sides, drop the trolley if pushing (unless ramp)...
    CLIMB WALL: AT 17 NOTZERO 60 PROCESS 16 MESSAGE 16 ANYKEY GOTO 19 DESC DONE;
    CLIMB WALL: AT 17 ZERO 60 MESSAGE 15 ANYKEY GOTO 19 DESC DONE;
    CLIMB WALL: AT 19 NOTZERO 60 NOTZERO 68 MESSAGE 52 ANYKEY GOTO 17 DESC DONE;
    CLIMB WALL: AT 19 NOTZERO 60 PROCESS 16 MESSAGE 16 ANYKEY GOTO 17 DESC DONE;
    CLIMB WALL: AT 19 ZERO 60 MESSAGE 15 ANYKEY GOTO 17 DESC DONE;
    // Compass direction responses
    N *: AT 19 NOTZERO 60 NOTZERO 68 MESSAGE 52 ANYKEY GOTO 17 DESC DONE;
    N *: AT 19 MESSAGE 54 DONE;
    S *: AT 17 MESSAGE 54 DONE;
    // In the shed... getting the boards...
    GET WEBS: AT 20 MESSAGE 49 DONE;
    GET FLOOR: AT 20 ZERO 67 SYSMESS 66 DONE;
    GET BOARDS: AT 20 ZERO 67 SYSMESS 66 DONE;
    GET FLOOR: AT 20 NOTZERO 67 SYSMESS 64 DONE;
    LIFT FLOOR: AT 20 ZERO 67 MESSAGE 48 CREATE 10 SET 67 ANYKEY DESC DONE;
    LIFT FLOOR: AT 20 NOTZERO 67 SYSMESS 64 DONE;
    LIFT BOARDS: AT 20 ZERO 67 MESSAGE 48 CREATE 10 SET 67 ANYKEY DESC DONE;
    LIFT BOARDS: AT 20 NOTZERO 67 SYSMESS 64 DONE;
    // Making the ramp...
    PROP BOARDS: AT 19 ZERO 68 PRESENT 10 MESSAGE 50 DESTROY 10 SET 68 ANYKEY DESC DONE;
    USE BOARDS: AT 19 ZERO 68 PRESENT 10 MESSAGE 50 DESTROY 10 SET 68 ANYKEY DESC DONE;
    GET BOARDS: AT 19 NOTZERO 68 MESSAGE 51 DONE;
    // No, you can't just throw the trolley over!
    THROW TROLLEY: AT 19 PRESENT 5 MESSAGE 55 DONE;
    THROW WHITE: AT 19 PRESENT 5 MESSAGE 55 DONE;
    

// Red Trolley Puzzles
    // Getting the chain
    GET CHAIN: AT 2 ZERO 65 SYSMESS 66 DONE;
    FLUSH CHAIN: AT 2 ZERO 65 MESSAGE 36 ANYKEY MESSAGE 37 ANYKEY MESSAGE 38 ANYKEY CREATE 6 SET 65 DESC DONE;
    FLUSH CHAIN: AT 2 NOTZERO 65 MESSAGE 39 DONE;
    USE CHAIN: AT 2 ZERO 65 MESSAGE 36 ANYKEY MESSAGE 37 ANYKEY MESSAGE 38 ANYKEY CREATE 6 SET 65 DESC DONE;
    USE CHAIN: AT 2 NOTZERO 65 MESSAGE 39 DONE;
    FLUSH TOILET: AT 2 ZERO 65 MESSAGE 36 ANYKEY MESSAGE 37 ANYKEY MESSAGE 38 ANYKEY CREATE 6 SET 65 DESC DONE;
    FLUSH TOILET: AT 2 NOTZERO 65 MESSAGE 39 DONE;
    USE TOILET: AT 2 ZERO 65 MESSAGE 36 ANYKEY MESSAGE 37 ANYKEY MESSAGE 38 ANYKEY CREATE 6 SET 65 DESC DONE;
    USE TOILET: AT 2 NOTZERO 65 MESSAGE 39 DONE;
    PULL CHAIN: AT 2 ZERO 65 MESSAGE 36 ANYKEY MESSAGE 37 ANYKEY MESSAGE 38 ANYKEY CREATE 6 SET 65 DESC DONE;
    PULL CHAIN: AT 2 NOTZERO 65 MESSAGE 39 DONE;
    ATTACH CHAIN: AT 1 ZERO 75 ZERO 76 PRESENT 6 NOTSAME 38 72 MESSAGE 120 DONE;
    ATTACH CHAIN: AT 1 ZERO 75 ZERO 76 PRESENT 6 SAME 38 72 MESSAGE 83 DESTROY 6 SET 75 DONE;
    ATTACH CHAIN: PRESENT 6 MESSAGE 100 DONE;
    PULL RED: AT 1 ZERO 76 MESSAGE 84 DONE;
    PULL TROLLEY: AT 1 ZERO 76 MESSAGE 84 DONE;
    CENSORED *: AT 2 MESSAGE 112 DONE;
    S *: AT 1 NOTZERO 75 ZERO 76 NOTZERO 74 MESSAGE 85 ANYKEY DESTROY 1 SET 76 GOTO 3 MESSAGE 98 ANYKEY LET 72 3 CLEAR 74 CLEAR 75 CREATE 1 DESC DONE; 


// Blue Trolley Puzzles
    // The Dog & the horn
    E *: AT 10 ZERO 77 ZERO 74 MESSAGE 92 DONE;
    E *: AT 10 ZERO 77 NOTZERO 74 MESSAGE 93 DONE;
    PRESS HORN: NOTZERO 74 NOTAT 10 MESSAGE 88 PAUSE 100 MESSAGE 89 PAUSE 100 MESSAGE 90 DONE;
    PRESS HORN: NOTZERO 74 AT 10 NOTZERO 77 MESSAGE 88 PAUSE 100 MESSAGE 89 PAUSE 100 MESSAGE 90 DONE;
    USE HORN: NOTZERO 74 NOTAT 10 MESSAGE 88 PAUSE 100 MESSAGE 89 PAUSE 100 MESSAGE 90 DONE;
    USE HORN: NOTZERO 74 AT 10 NOTZERO 77 MESSAGE 88 PAUSE 100 MESSAGE 89 PAUSE 100 MESSAGE 90 DONE;
    PRESS HORN: NOTZERO 74 AT 10 ZERO 77 MESSAGE 88 PAUSE 100 MESSAGE 89 PAUSE 100 MESSAGE 94 ANYKEY MESSAGE 95 ANYKEY SET 77 DESC DONE;
    USE HORN: NOTZERO 74 AT 10 ZERO 77 MESSAGE 88 PAUSE 100 MESSAGE 89 PAUSE 100 MESSAGE 94 ANYKEY MESSAGE 95 ANYKEY SET 77 DESC DONE;
    ATTACH DOG: AT 10 ZERO 77 MESSAGE 113 DONE; // "attac"k
    KICK DOG: AT 10 ZERO 77 MESSAGE 113 DONE;

// Trolley truck... Limit movement...
    N *: AT 9 NOTZERO 74 MESSAGE 99 DONE;
    W *: AT 16 NOTZERO 74 MESSAGE 96 DONE;
    S *: AT 7 NOTZERO 74 MESSAGE 97 DONE;

    S *: AT 7 ZERO 74 MESSAGE 102 DONE;

}

PROCESS 1 // The process for additions to the location description
{
    * *: ZERO 250 AT 0 PROMPT 97 MODE 4 1 ANYKEY LET 72 9 CLS SET 250 DONE;
    * *: AT 19 NOTZERO 68 MES 53; // Ramp added to description
    * *: ZERO 74 SAME 38 72 MES 74; // Trolley truck parked here?
    * *: AT 10 ZERO 77 MES 91; // Dog here
    * *: AT 4 LT 30 5 MES 101; // Still trolleys to be found
    * *: PROCESS 4; // Calls pushing trolley routine
    * _: NEWLINE LISTOBJ; // Lists objects in location
    * _: PROCESS 3 NEWLINE PROTECT; // Calls exit list routine
}

PROCESS 2 // The "computer's turn"
{
    * *: AT 4 PROCESS 5; // Trolley delivery routine
    * *: NOTZERO 74 COPYFF 38 72 MESSAGE 76;
    // End game routine...
    * *: AT 4 EQ 30 5 ANYKEY CLS SYSMESS 87 ANYKEY SYSMESS 88 ANYKEY SYSMESS 89 ANYKEY CLS SYSMESS 90 ANYKEY SYSMESS 91 ANYKEY SYSMESS 92 ANYKEY SYSMESS 93 ANYKEY CLS SYSMESS 96 NEWLINE TURNS END DONE;
}

PROCESS 3 // Simple exits printing routine
{
    * *: SYSMESS 61 NEWLINE SYSMESS 68;
    * *: COPYFF 38 23 LET 33 5 MOVE 23 NOTSAME 23 38 SYSMESS 69;
    * *: COPYFF 38 23 LET 33 2 MOVE 23 NOTSAME 23 38 SYSMESS 70;
    * *: COPYFF 38 23 LET 33 3 MOVE 23 NOTSAME 23 38 SYSMESS 71;
    * *: COPYFF 38 23 LET 33 4 MOVE 23 NOTSAME 23 38 SYSMESS 72;
    * *: COPYFF 38 23 LET 33 7 MOVE 23 NOTSAME 23 38 SYSMESS 73;
    * *: COPYFF 38 23 LET 33 8 MOVE 23 NOTSAME 23 38 SYSMESS 74;
    * *: COPYFF 38 23 LET 33 9 MOVE 23 NOTSAME 23 38 SYSMESS 75;
    * *: COPYFF 38 23 LET 33 6 MOVE 23 NOTSAME 23 38 SYSMESS 76;
    * *: COPYFF 38 23 LET 33 13 MOVE 23 NOTSAME 23 38 SYSMESS 78;
    * *: COPYFF 38 23 LET 33 12 MOVE 23 NOTSAME 23 38 SYSMESS 77;
    * *: NEWLINE SYSMESS 61;
}

PROCESS 4 // Pushing trolley routine
{
    * *: CARRIED 1 MES 0 MES 1 MES 6;
    * *: CARRIED 2 MES 0 MES 2 MES 6;
    * *: CARRIED 3 MES 0 MES 3 MES 6;
    * *: CARRIED 4 MES 0 MES 4 MES 6;
    * *: CARRIED 5 MES 0 MES 5 MES 6;
}

PROCESS 5 // Trolley recovered routines
{
    * *: CARRIED 1 MESSAGE 10 DESTROY 1 PLUS 30 1 CLEAR 60 ANYKEY DESC DONE;
    * *: CARRIED 2 MESSAGE 10 DESTROY 2 PLUS 30 1 CLEAR 60 ANYKEY DESC DONE;
    * *: CARRIED 3 MESSAGE 10 DESTROY 3 PLUS 30 1 CLEAR 60 ANYKEY DESC DONE;
    * *: CARRIED 4 MESSAGE 10 DESTROY 4 PLUS 30 1 CLEAR 60 ANYKEY DESC DONE;
    * *: CARRIED 5 MESSAGE 10 DESTROY 5 PLUS 30 1 CLEAR 60 ANYKEY DESC DONE;
}

PROCESS 6 // GET/PUSH RED trolley
{
    * *: AT 1 ZERO 76 MESSAGE 86 DONE;
    * *: CARRIED 1 MESSAGE 11 DONE;
    * *: NOTCARR 1 NOTZERO 60 MESSAGE 9 DONE;
    * *: NOTCARR 1 ZERO 60 MES 7 MES 1 MESSAGE 6 PLACE 1 254 SET 60 DONE;
}

PROCESS 7 // GET/PUSH BLUE trolley
{
    * *: CARRIED 2 MESSAGE 11 DONE;
    * *: NOTCARR 2 NOTZERO 60 MESSAGE 9 DONE;
    * *: NOTCARR 2 ZERO 60 MES 7 MES 2 MESSAGE 6 PLACE 2 254 SET 60 DONE;
}

PROCESS 8 // GET/PUSH GREEN trolley
{
    * *: CARRIED 3 MESSAGE 11 DONE;
    * *: NOTCARR 3 NOTZERO 60 MESSAGE 9 DONE;
    * *: NOTCARR 3 ZERO 60 MES 7 MES 3 MESSAGE 6 PLACE 3 254 SET 60 DONE;
}

PROCESS 9 // GET/PUSH YELLOW trolley
{
    * *: CARRIED 4 MESSAGE 11 DONE;
    * *: NOTCARR 4 NOTZERO 60 MESSAGE 9 DONE;
    * *: NOTCARR 4 ZERO 60 MES 7 MES 4 MESSAGE 6 PLACE 4 254 SET 60 DONE;
}

PROCESS 10 // GET/PUSH WHITE trolley
{
    * *: CARRIED 5 MESSAGE 11 DONE;
    * *: NOTCARR 5 NOTZERO 60 MESSAGE 9 DONE;
    * *: NOTCARR 5 ZERO 60 MES 7 MES 5 MESSAGE 6 PLACE 5 254 SET 60 DONE;
}

PROCESS 11 // DROP/RELEASE RED trolley
{
    * *: NOTCARR 1 MESSAGE 12 DONE;
    * *: CARRIED 1 MES 14 MES 1 MESSAGE 6 CLEAR 60 PLACE 1 255 ANYKEY DESC DONE; // 255 is current loc of player
}

PROCESS 12 // DROP/RELEASE BLUE trolley
{
    * *: NOTCARR 2 MESSAGE 12 DONE;
    * *: CARRIED 2 MES 14 MES 2 MESSAGE 6 CLEAR 60 PLACE 2 255 ANYKEY DESC DONE;
}

PROCESS 13 // DROP/RELEASE GREEN trolley
{
    * *: NOTCARR 3 MESSAGE 12 DONE;
    * *: CARRIED 3 MES 14 MES 3 MESSAGE 6 CLEAR 60 PLACE 3 255 ANYKEY DESC DONE;
}

PROCESS 14 // DROP/RELEASE YELLOW trolley
{
    * *: NOTCARR 4 MESSAGE 12 DONE;
    * *: CARRIED 4 MES 14 MES 4 MESSAGE 6 CLEAR 60 PLACE 4 255 ANYKEY DESC DONE;

}

PROCESS 15 // DROP/RELEASE WHITE trolley
{
    * *: NOTCARR 5 MESSAGE 12 DONE;
    * *: CARRIED 5 MES 14 MES 5 MESSAGE 6 CLEAR 60 PLACE 5 255 ANYKEY DESC DONE;
}

PROCESS 16 // Automatically release trolleys... when climbing wall or entering truck, shed, toilet etc
{
    * *: CARRIED 1 PLACE 1 255 CLEAR 60 DONE;
    * *: CARRIED 2 PLACE 2 255 CLEAR 60 DONE;
    * *: CARRIED 3 PLACE 3 255 CLEAR 60 DONE;
    * *: CARRIED 4 PLACE 4 255 CLEAR 60 DONE;
    * *: CARRIED 5 PLACE 5 255 CLEAR 60 DONE;
}

PROCESS 17 // Which trolley routine? Is there more than one? Count them with flag 69
{
    * *: CLEAR 169;
    * *: PRESENT 1 PLUS 169 1 LET 34 50;
    * *: PRESENT 2 PLUS 169 1 LET 34 51;
    * *: PRESENT 3 PLUS 169 1 LET 34 52;
    * *: PRESENT 4 PLUS 169 1 LET 34 53;
    * *: PRESENT 5 PLUS 169 1 LET 34 54;
    * *: EQ 169 0 SYSMESS 26 DONE;
    * *: EQ 169 1 DONE;
    * *: GT 169 1 LET 34 60 DONE; // If more than one trolley, set the noun back to TROLLEY
    // The DONEs return to the Response table to the relevant GET TROLLEY or GET RED, WHITE etc.
}

PROCESS 18 // Drop Trolley... colour not specified
{
    * *: CARRIED 1 MES 14 MES 1 MESSAGE 6 CLEAR 60 PLACE 1 255 ANYKEY DESC DONE;
    * *: CARRIED 2 MES 14 MES 2 MESSAGE 6 CLEAR 60 PLACE 2 255 ANYKEY DESC DONE;
    * *: CARRIED 3 MES 14 MES 3 MESSAGE 6 CLEAR 60 PLACE 3 255 ANYKEY DESC DONE;
    * *: CARRIED 4 MES 14 MES 4 MESSAGE 6 CLEAR 60 PLACE 4 255 ANYKEY DESC DONE;
    * *: CARRIED 5 MES 14 MES 5 MESSAGE 6 CLEAR 60 PLACE 5 255 ANYKEY DESC DONE;
    * *: MESSAGE 56 DONE;
}

PROCESS 19 // Introduction
{
    Y *: CLS SYSMESS 79 ANYKEY SYSMESS 80 ANYKEY SYSMESS 81 ANYKEY SYSMESS 82 ANYKEY SYSMESS 83 ANYKEY SYSMESS 84 ANYKEY SYSMESS 85 ANYKEY SYSMESS 86 ANYKEY;
    _ _: PROMPT 0 CLEAR 250 GOTO 4 DESC DONE;
}