QUIT | * | 1000 | Bye! | QUIT_GAME()
LOOK | * | 1 | * | LOOK_ROOM()
HELP | * | 1 | Type commands to explore the environment. Use 'LOOK' to examine the room you're in, or 'LOOK <item>' to examine an item closely. 'TAKE <item>' and 'DROP <item>' lets you pick up and put down items. 'N', 'S', 'E', and 'W' will move you in the four cardinal directions, and 'I' will let you check your inventory. The parser is not very advanced, so do your best. Nothing more than a one- or two- word phrase is required. 'Q', 'QUIT', or 'EXIT' will let you quit. If you REALLY need help, type 'WALKTHROUGH'. |
INVENTORY | * | 1 | * | CHECK_INVENTORY()
NORTH | * | 1 | You can't go north from here. |
SOUTH | * | 1 | You can't go south from here. |
EAST | * | 1 | You can't go east from here. |
WEST | * | 1 | You can't go west from here. |
UP | * | 1 | You can't go up from here. |
DOWN | * | 1 | You can't go down from here. |
SLEEP | * | 1 | You're not especially tired |
BREAK | * | 1 | That doesn't seem like a good idea |
LOOK ROBOTS | * | 2 | There aren't any robots to look at here. |
WALKTHROUGH | * | 1 | Yeah, fair enough. I'm not great at designing adventure games. If you're really sure you want a walkthrough, ask one more time. | ENABLE(ASKED_FOR_WALKTHROUGH)
WALKTHROUGH | ENABLED(ASKED_FOR_WALKTHROUGH) | 2 | OPEN LOCKER, TAKE HAMMER, WEST, TAKE BARREL, EAST, EAST, POUR BARREL, DROP BARREL, NORTH, WEST, WEST, SOUTH, ATTACK ROBOT, WEST, LOOK SHELF, TAKE GLOVES, EAST, NORTH, EAST, NORTH, UP, TAKE REBAR, DOWN, SOUTH, WEST, SOUTH, WEST, USE ANVIL, EAST, NORTH, EAST, EAST, NORTH, USE PRYBAR, NORTH, EAST, THROW PRYBAR, TAKE PRYBAR, OPEN CABINET, READ BOOK, WEST, WEST, HIT ROBOT, TAKE KEY, EAST, NORTH, HOOK WIRES, INSERT KEY, PUSH BUTTON

### Hut ###
EAST | IN(HUT) | 2 | You walk into your east yard. | GOTO(EAST_YARD)
WEST | IN(HUT) | 2 | You walk into your west yard. | GOTO(WEST_YARD)
LOOK BED | IN(HUT) | 10 | There's not a lot of room to sleep, but you've gathered enough blankets such that it's pretty comfortable at night. |
SLEEP | IN(HUT) | 10 | The bed's comfortable, but you're not especially tired |
LOOK FOOTLOCKER | IN(HUT) | 10 | The footlocker is made of cheap plastic. It's closed but not locked. |
OPEN FOOTLOCKER | IN(HUT) | 10 | You swing the footlocker open. Inside it is a well-worn claw hammer | ENABLE(FOOTLOCKER_OPEN)
OPEN FOOTLOCKER | IN(HUT) & ENABLED(TAKEN_HAMMER) | 50 | You swing the footlocker open. It's empty. | ENABLE(FOOTLOCKER_OPEN)
OPEN FOOTLOCKER | IN(HUT) & ENABLED(FOOTLOCKER_OPEN) | 100 | The footlocker is already open. |
LOOK FOOTLOCKER | IN(HUT) & ENABLED(FOOTLOCKER_OPEN) | 100 | The footlocker is made of cheap plastic. It's open, and there's a hammer inside. |
LOOK FOOTLOCKER | IN(HUT) & ENABLED(FOOTLOCKER_OPEN) & ENABLED(TAKEN_HAMMER) | 1000 | The footlocker is made of cheap plastic. It's open, but empty. |
CLOSE FOOTLOCKER | IN(HUT) & ENABLED(FOOTLOCKER_OPEN) | 100 | You close the footlocker. | DISABLE(FOOTLOCKER_OPEN)
CLOSE FOOTLOCKER | IN(HUT) | 10 | It's already closed. |
TAKE HAMMER | IN(HUT) & ENABLED(FOOTLOCKER_OPEN) | 100 | You pick up the hammer. | TAKE(HAMMER) & ENABLE(TAKEN_HAMMER)
TAKE HAMMER | IN(HUT) & ENABLED(FOOTLOCKER_OPEN) & ENABLED(TAKEN_HAMMER) | 1000 | You've already taken it. |
TAKE HAMMER | ITEM_HERE(HAMMER) | 100 | You pick up the hammer. | TAKE(HAMMER)
DROP HAMMER | HAS_ITEM(HAMMER) | 100 | You drop the hammer. | DROP(HAMMER)

### East Yard ###
WEST | IN(EAST_YARD) | 2 | You enter your hut. | GOTO(HUT)
NORTH | IN(EAST_YARD) | 2 | Your plants are not looking too healthy. You should see if you can do something to help them out before leaving. |
NORTH | IN(EAST_YARD) & ENABLED(PLANTS_SAVED) | 5 | You open the north gate and head through it. | GOTO(SE_RESERVOIR)
SOUTH | IN(EAST_YARD) | 2 | Your plants are not looking too healthy. You should see if you can do something to help them out before leaving. |
SOUTH | IN(EAST_YARD) & ENABLED(PLANTS_SAVED) | 5 | You open the south gate and head through it. | GOTO(CLIFF)
LOOK PLANTER | IN(EAST_YARD) | 10 | The planter is pretty wide, and has <HELP I AM NOT GOOD WITH PLANTS>. They're looking pretty brown and scraggly. Positioned next to the planter is a water tank, hooked to an irrigation system. |
LOOK PLANTER | IN(EAST_YARD) & ENABLED(PLANTS_SAVED) | 20 | The planter is pretty wide, and has <HELP I AM NOT GOOD WITH PLANTS>. They're looking fairly green and healthy. Positioned next to the planter is a water tank, hooked to an irrigation system. |
LOOK TANK | IN(EAST_YARD) | 10 | This tank supplies the water to your plants. It's completely empty. |
LOOK TANK | IN(EAST_YARD) & ENABLED(PLANTS_SAVED) | 100 | This tank supplies the water to your plants. It's got enough water for a few months in it. |
TAKE TANK | IN(EAST_YARD) | 10 | The tank is attached to the irrigation system; taking it would damage all of the little pipes. |
TAKE PLANTER | IN(EAST_YARD) | 10 | The planter is enormous, you couldn't move it even if you wanted to. |
USE BARREL | IN(EAST_YARD) | 10 | What barrel? |
USE BARREL | IN(EAST_YARD) & HAS_ITEM(FULL_BARREL) | 1000 | You pour the contents of the barrel into the tank. The plants should be nice and healthy now! | ENABLE(PLANTS_SAVED) & DESTROY(FULL_BARREL) & TAKE(EMPTY_BARREL)
POUR BARREL | IN(EAST_YARD) & HAS_ITEM(FULL_BARREL) | 1000 | You pour the contents of the barrel into the tank. The plants should be nice and healthy now! | ENABLE(PLANTS_SAVED) & DESTROY(FULL_BARREL) & TAKE(EMPTY_BARREL)

### West Yard ###
EAST | IN(WEST_YARD) | 2 | You enter your hut. | GOTO(HUT)
LOOK BARREL | IN(WEST_YARD) | 10 | The barrels are positioned to collect rainwater from the roof. All of them are empty. |
LOOK BARREL | IN(WEST_YARD) & ITEM_HERE(FULL_BARREL) | 20 | The barrels are positioned to collect rainwater from the roof. Most are empty, but one of them is full of water. |
TAKE BARREL | IN(WEST_YARD) | 10 | There's no reason to take the empty barrels |
TAKE BARREL | IN(WEST_YARD) & ITEM_HERE(FULL_BARREL) | 100 | The full barrel is heavy, but you take it with you. | TAKE(FULL_BARREL)
DROP BARREL | HAS_ITEM(FULL_BARREL) | 100 | You drop the barrel. | DROP(FULL_BARREL)
DROP BARREL | HAS_ITEM(EMPTY_BARREL) | 100 | You drop the barrel. | DROP(EMPTY_BARREL)

### SE Reservoir ###
SOUTH | IN(SE_RESERVOIR) | 2 | You open the gate and reenter your yard. | GOTO(EAST_YARD)
NORTH | IN(SE_RESERVOIR) | 2 | You head up the path towards the dam. | GOTO(NE_RESERVOIR)
WEST | IN(SE_RESERVOIR) | 2 | You head down the path and around the reservoir. | GOTO(SW_RESERVOIR)
LOOK RESERVOIR | IN(SE_RESERVOIR) | 5 | It's an enormous pit with steep, dusty sides. At the bottom there's a lot of mud, but no real water to speak of. |
LOOK DAM | IN(SE_RESERVOIR) | 5 | The dam is enormous and made of concrete. High up, it has two huge metal floodgates, but they're closed. At ground lever, there seems to be a door in the side of the wall. |
LOOK ROBOTS | IN(SE_RESERVOIR) | 5 | It's hard to make out any details, but you'd recognize these robots anywhere. Their lasers are a painful deterrant from those who get to close to the places they guard. |

### NE Reservoir ###
NORTH | IN(NE_RESERVOIR) | 2 | A sturdy metal door blocks your path. |
NORTH | IN(NE_RESERVOIR) & ENABLED(OPENED_DOOR) | 5 | You make your way inside the dam. | GOTO(DAM_INSIDE)
WEST | IN(NE_RESERVOIR) | 2 | The reservoir is that way. No real reason to go in there, and there'd be no way to get back out. |
SOUTH | IN(NE_RESERVOIR) | 2 | You head back down the path. | GOTO(SE_RESERVOIR)
LOOK RESERVOIR | IN(NE_RESERVOIR) | 5 | It's an enormous pit with steep, dusty sides. At the bottom there's a lot of mud, but no real water to speak of. |
LOOK DAM | IN(NE_RESERVOIR) | 5 | The dam towers over you. It's made of concrete, now somewhat pitted and cracked from hundreds of years of exposure to the elements. |
LOOK ROBOTS | IN(NE_RESERVOIR) | 5 | The robots are above the dam, and from this angle you can't see them. |
LOOK DOOR | IN(NE_RESERVOIR) | 5 | The door is very sturdy and made of metal. It's stuck in place, but has very clearly been pried open at some point; the edge is bent in places. |
LOOK DOOR | IN(NE_RESERVOIR) & ENABLED(OPENED_DOOR) | 10 | The door is very sturdy and made of metal, but it's open now. |
OPEN DOOR | IN(NE_RESERVOIR) | 10 | You get a good grip on the door and yank as hard as you can, but it doesn't budge. The sharp edge of the door hurts your fingers. |
OPEN DOOR | IN(NE_RESERVOIR) & HAS_ITEM(GLOVES) | 50 | You get a good grip on the door and yank as hard as you can, but it doesn't budge. The edge of the door is sharp, but the gloves protect your fingers. You pull a couple more times, but the door refuses to budge. |
OPEN DOOR | IN(NE_RESERVOIR) & HAS_ITEM(REBAR) | 75 | You try to wedge the rebar into the doorframe, but it isn't the right shape to give you any leverage. If you had a way to reshape it, you might have better luck. |
USE REBAR | IN(NE_RESERVOIR) & HAS_ITEM(REBAR) | 75 | You try to wedge the rebar into the doorframe, but it isn't the right shape to give you any leverage. If you had a way to reshape it, you might have better luck. |
OPEN DOOR | IN(NE_RESERVOIR) & HAS_ITEM(PRYBAR) | 100 | You wedge the prybar against the bottom of the door, and give it a shove. With an earsplitting creak, the door slides open several inches, enough that you can wriggle your way through the opening. | ENABLE(OPENED_DOOR)
OPEN DOOR | IN(NE_RESERVOIR) & ENABLED(OPENED_DOOR) | 1000 | The door is already open. |
PULL DOOR | IN(NE_RESERVOIR) | 10 | You get a good grip on the door and yank as hard as you can, but it doesn't budge. The sharp edge of the door hurts your fingers. |
PULL DOOR | IN(NE_RESERVOIR) & HAS_ITEM(GLOVES) | 50 | You get a good grip on the door and yank as hard as you can, but it doesn't budge. The edge of the door is sharp, but the gloves protect your fingers. You pull a couple more times, but the door refuses to budge. |
PULL DOOR | IN(NE_RESERVOIR) & ENABLED(OPENED_DOOR) | 1000 | The door is already open. |
PUSH DOOR | IN(NE_RESERVOIR) | 10 | Good thought, but no, the door does not open inwards. |
USE PRYBAR | IN(NE_RESERVOIR) | 10 | You don't have anything you can use as a prybar. |
USE PRYBAR | IN(NE_RESERVOIR) & HAS_ITEM(REBAR) | 50 | You try to wedge the rebar into the doorframe, but it isn't the right shape to give you any leverage. If you had a way to reshape it, you might have better luck. |
USE PRYBAR | IN(NE_RESERVOIR) & HAS_ITEM(PRYBAR) | 100 | You wedge the prybar against the bottom of the door, and give it a shove. With an earsplitting creak, the door slides open several inches, enough that you can wriggle your way through the opening. | ENABLE(OPENED_DOOR)

### SW Reservoir ###
NORTH | IN(SW_RESERVOIR) | 2 | You head up the path towards the dam. | GOTO(NW_RESERVOIR)
WEST | IN(SW_RESERVOIR) | 2 | You walk on the train into the woods. | GOTO(TRAIL)
EAST | IN(SW_RESERVOIR) | 2 | You head down the path and around the reservoir. | GOTO(SE_RESERVOIR)
LOOK RESERVOIR | IN(SW_RESERVOIR) | 5 | It's an enormous pit with steep, dusty sides. At the bottom there's a lot of mud, but no real water to speak of. |
LOOK DAM | IN(SW_RESERVOIR) | 5 | The dam is enormous and made of concrete. High up, it has two huge metal floodgates, but they're closed. At ground lever, there seems to be a door in the side of the wall. |
LOOK ROBOTS | IN(SW_RESERVOIR) | 5 | It's hard to make out any details, but you'd recognize these robots anywhere. Their lasers are a painful deterrant from those who get to close to the places they guard. |

### NW Reservoir ###
UP | IN(NW_RESERVOIR) | 2 | You try to climb the rungs of the ladder, but they're very slippery from exposure to the elements. If you can find a way to grip onto things, you should be able to make your way up. |
UP | IN(NW_RESERVOIR) & HAS_ITEM(GLOVES) | 50 | Cautiously, you use the rungs to climb to the top of the dam. | GOTO(DAM)
UP | IN(NW_RESERVOIR) & HAS_ITEM(FULL_BARREL) | 50 | You can't make the climb while carrying a barrel around. |
UP | IN(NW_RESERVOIR) & HAS_ITEM(EMPTY_BARREL) | 50 | You can't make the climb while carrying a barrel around. |
CLIMB | IN(NW_RESERVOIR) | 2 | You try to climb the rungs of the ladder, but they're very slippery from exposure to the elements. If you can find a way to grip onto things, you should be able to make your way up. |
CLIMB | IN(NW_RESERVOIR) & HAS_ITEM(GLOVES) | 50 | Cautiously, you use the rungs to climb to the top of the dam. | GOTO(DAM)
CLIMB | IN(NW_RESERVOIR) & HAS_ITEM(FULL_BARREL) | 50 | You can't make the climb while carrying a barrel around. |
CLIMB | IN(NW_RESERVOIR) & HAS_ITEM(EMPTY_BARREL) | 50 | You can't make the climb while carrying a barrel around. |
EAST | IN(NW_RESERVOIR) | 2 | The reservoir is that way. No real reason to go in there, and there'd be no way to get back out. |
SOUTH | IN(NW_RESERVOIR) | 2 | You head back down the path. | GOTO(SW_RESERVOIR)
LOOK RESERVOIR | IN(NW_RESERVOIR) | 5 | It's an enormous pit with steep, dusty sides. At the bottom there's a lot of mud, but no real water to speak of. |
LOOK DAM | IN(NW_RESERVOIR) | 5 | The dam towers over you. It's made of concrete, now somewhat pitted and cracked from hundreds of years of exposure to the elements. |
LOOK ROBOTS | IN(NW_RESERVOIR) | 5 | The robots are above the dam, and from this angle you can't see them. |
LOOK LADDER | IN(NW_RESERVOIR) | 2 | The rungs appear to be made of concrete. They're staying together despite centuries of exposure, but they're completely smooth at this point.

### Dam ###
DOWN | IN(DAM) | 2 | Fearful of softlocking, you decide it's better to put your gloves on before climbing down. |
DOWN | IN(DAM) & HAS_ITEM(GLOVES) | 10 | You carefully navigate the ladder and climb down to the ground. | GOTO(NW_RESERVOIR)
CLIMB | IN(DAM) | 2 | Fearful of softlocking, you decide it's better to put your gloves on before climbing down. |
CLIMB | IN(DAM) & HAS_ITEM(GLOVES) | 10 | You carefully navigate the ladder and climb down to the ground. | GOTO(NW_RESERVOIR)
NORTH | IN(DAM) | 2 | The water's that way, but any one of these robots would zap you if you got too close. |
SOUTH | IN(DAM) | 2 | There's nothing but open air to the south. Instead, you could try going DOWN the ladder. |
LOOK WATER | IN(DAM) | 2 | The water is blue and beautiful. It doesn't 'belong to you', though, and the robots are here to enforce that. |
DRINK WATER | IN(DAM) | 2 | You'd love to do that, but you'd never be able to get close enough. Not even if you had a bendy straw. |
TAKE WATER | IN(DAM) | 2 | You don't have any way to get to the water, and you have no way to carry water. |
LOOK ROBOTS | IN(DAM) | 5 | You'd recognize these robots anywhere. They come in a motley variety of designs, but they all have jagged, spiky antennae sticking out in all directions, and they all have one or more glowing red eyes. They're all relatively round, but all different sizes. Their lasers are a painful deterrant from those who get to close to the places they guard. |
TAKE REBAR | ITEM_HERE(REBAR) | 100 | You pick up the rebar. | TAKE(REBAR)
DROP REBAR | HAS_ITEM(REBAR) | 100 | You drop the rebar. | DROP(REBAR)

### Trail ###
EAST | IN(TRAIL) | 2 | You emerge from the woods at the southwest corner of the reservoir. | GOTO(SW_RESERVOIR)
SOUTH | IN(TRAIL) | 2 | You head down the trail, further into the woods | GOTO(OUT_CABIN)
LOOK TREES | IN(TRAIL) | 2 | The trees are definitely alive, but the woods are not an especially vibrant place: there are very few leaves, and the air has a stillness to it. Maybe the trees are hibernating? |

### Out Cabin ###
NORTH | IN(OUT_CABIN) | 2 | You head up the trail, into the woods. | GOTO(TRAIL)
EAST | IN(OUT_CABIN) | 2 | You head down the trail, emerging from the woods onto a clifftop. | GOTO(CLIFF) & ENABLE(FOUND_CLIFF)
WEST | IN(OUT_CABIN) | 2 | You can't approach the cabin, a security robot is guarding it. |
WEST | IN(OUT_CABIN) & ENABLED(CABIN_ROBOT_DESTROYED) | 10 | You cautiously enter the cabin | GOTO(IN_CABIN)
ATTACK ROBOT | IN(OUT_CABIN) | 10 | With what, your bare hands? The robot's made of metal. |
ATTACK ROBOT | IN(OUT_CABIN) & HAS_ITEM(GLOVES) | 11 | With what, your gloved hands? The robot's made of metal. |
ATTACK ROBOT | IN(OUT_CABIN) & HAS_ITEM(HAMMER) | 20 | You grit your teeth, leap towards the robot, and bop it with your hammer. It zaps you with a laser, which knocks you back, but you've damaged its hovering capabilities, and it falls to the ground. After you catch your breath, you walk over and finish it off. | ENABLE(CABIN_ROBOT_DESTROYED)
ATTACK ROBOT | IN(OUT_CABIN) & ENABLED(CABIN_ROBOT_DESTROYED) | 50 | The robot is already destroyed |
LOOK ROBOT | IN(OUT_CABIN) | 10 | It's a smooth metal ball, punctuated by many sharp, angular antennae sticking off in all directions, and three bright red eyes, or things that look like eyes. It's mean-looking, but pretty small, and you might be able to destroy it with a weapon of some kind. |
LOOK ROBOT | IN(OUT_CABIN) & ENABLED(CABIN_ROBOT_DESTROYED) | 50 | The metal shell doesn't seem to have been that thick, and it's dented and even punctured in places. It's not moving, glowing, or making any noise at all any more. |
LOOK CABIN | IN(OUT_CABIN) | 2 | Parts of the roof are definitely missing, but you've slept in worse lodgings before. |
TAKE ROBOT | IN(OUT_CABIN) | 10 | It's not going to let you do that. |
TAKE ROBOT | IN(OUT_CABIN) & ENABLED(CABIN_ROBOT_DESTROYED) | 20 | No need to take it; you know from experience that robots are full of green, intricately-patterned rectangles, not anything useful. |

### In Cabin ###
EAST | IN(IN_CABIN) | 2 | You step out the door and back onto the trail. | GOTO(OUT_CABIN)
LOOK ANVIL | IN(IN_CABIN) | 2 | This anvil has been used a lot, it's all full of dents. |
LOOK SHELVES | IN(IN_CABIN) | 2 | The shelves are full of dusty and broken junk. The only useful things here are a pair of grippy-looking gloves. | ENABLE(SEARCHED_SHELVES) & DROP(GLOVES)
LOOK SHELVES | IN(IN_CABIN) & ENABLED(SEARCHED_SHELVES) | 5 | The shelves are full of dusty and broken junk. |
USE ANVIL | * | 2 | You don't have anything to use on the anvil. |
USE ANVIL | HAS_ITEM(HAMMER) | 5 | You've got a hammer and an anvil, but nothing to shape. |
USE ANVIL | HAS_ITEM(REBAR) | 5 | You could reshape the rebar on the anvil, if only you had a hammer. |
USE ANVIL | HAS_ITEM(HAMMER) & HAS_ITEM(REBAR) | 50 | Without a heat source, you're unable to make any fine adjustments, but you use your hammer to bend the rebar into a very crude prybar. | DESTROY(REBAR) & TAKE(PRYBAR)
USE ANVIL | HAS_ITEM(PRYBAR) | 100 | You have already created the prybar. |
TAKE ANVIL | * | 2 | It's enormous and made of iron, there's no way to pick it up. |
TAKE GLOVES | ITEM_HERE(GLOVES) | 100 | You pick up the gloves and put them on. | TAKE(GLOVES)
DROP GLOVES | HAS_ITEM(GLOVES) | 100 | You remove and drop the gloves. | DROP(GLOVES)
TAKE PRYBAR | ITEM_HERE(PRYBAR) | 100 | You pick up the prybar. | TAKE(PRYBAR)
DROP PRYBAR | HAS_ITEM(PRYBAR) | 100 | You drop the prybar. | DROP(PRYBAR)

### Cliff ###
WEST | IN(CLIFF) | 2 | There are thick woods in that direction. You don't see any way to go in without getting lost. |
WEST | IN(CLIFF) & ENABLED(FOUND_CLIFF) | 20 | You reenter the woods, heading towards the cabin. | GOTO(OUT_CABIN)
NORTH | IN(CLIFF) | 2 | You open the gate and head back into your yard. | GOTO(EAST_YARD)
SOUTH | IN(CLIFF) | 2 | There's no real way to climb safely down the cliff. |
LOOK CLIFF | IN(CLIFF) | 2 | The chalky white cliff slopes away steeply. Below, an enormous valley stretches out, full of sparse grass and sickly trees. |

### Dam Inside ###
SOUTH | IN(DAM_INSIDE) | 2 | You push your way through the broken door, and emerge below the dam. | GOTO(NE_RESERVOIR)
EAST | IN(DAM_INSIDE) | 2 | You step east into the office. | GOTO(OFFICE)
WEST | IN(DAM_INSIDE) | 2 | You step west into the break room. | GOTO(BREAK_ROOM)
NORTH | IN(DAM_INSIDE) | 2 | You step north into the control room. | GOTO(CONTROL_ROOM)
LOOK LIGHTS | IN(DAM_INSIDE) | 2 | They're really dim; you can see the walls and doorways, but not much beyond that. |

### Office ###
WEST | IN(OFFICE) | 2 | You step back out into the hallway. | GOTO(DAM_INSIDE)
LOOK ROBOT | IN(OFFICE) | 2 | This robot, as usual, bristles with antennas, but (unusually) it has one enormous eye directly in the middle. It's of a medium size, probably too hefty to destroy without hitting a weak point. |
LOOK ROBOT | IN(OFFICE) & ENABLED(OFFICE_ROBOT_DESTROYED) | 5 | The robot lies motionless behind a desk, its eye smashed and no longer glowing. |
TAKE ROBOT | IN(OFFICE) | 10 | It's not going to let you do that. |
TAKE ROBOT | IN(OFFICE) & ENABLED(OFFICE_ROBOT_DESTROYED) | 20 | No need to take it; you know from experience that robots are full of green, intricately-patterned rectangles, not anything useful. |
USE PRYBAR | IN(OFFICE) | 10 | How do you plan to use it? |
HIT ROBOT | IN(OFFICE) | 10 | With what, your hands? You won't be able to get close enough to do that. |
HIT ROBOT | IN(OFFICE) & HAS_ITEM(PRYBAR) | 20 | You'd try, but the robot's in a pretty defensive position, and it looks sturdy enough that whacking it will just make it mad. |
HIT ROBOT | IN(OFFICE) & ENABLED(OFFICE_ROBOT_DESTROYED) | 30 | It's already broken, no need to hit it any more. |
THROW PRYBAR | * | 1 | What prybar? |
THROW PRYBAR | HAS_ITEM(PRYBAR) | 5 | Okay! You gleefully toss the prybar. | DROP(PRYBAR)
THROW PRYBAR | IN(OFFICE) & HAS_ITEM(PRYBAR) | 20 | Bulls-eye! You hit the robot right in the eye. When you do, sparks shoot out and it crashes to the floor. | DROP(PRYBAR) & ENABLE(OFFICE_ROBOT_DESTROYED)
THROW PRYBAR | IN(OFFICE) & HAS_ITEM(PRYBAR) & ENABLED(OFFICE_ROBOT_DESTROYED) | 50 | You again toss the prybar. You're getting pretty accurate with it now. | DROP(PRYBAR)
LOOK DESK | IN(OFFICE) | 2 | You won't be getting a good look anytime soon with that robot hovering there. |
LOOK CABINET | IN(OFFICE) | 2 | You won't be getting a good look anytime soon with that robot hovering there. |
LOOK SHELF | IN(OFFICE) | 2 | You won't be getting a good look anytime soon with that robot hovering there. |
LOOK DESK | IN(OFFICE) & ENABLED(OFFICE_ROBOT_DESTROYED) | 5 | The desks are mostly empty aside from some stationary and long-dry ballpoint pens. |
LOOK CABINET | IN(OFFICE) & ENABLED(OFFICE_ROBOT_DESTROYED) | 5 | The first cabinet you open, a book falls out of it onto the floor. The rest are filled with mostly-empty yellow folders. | DROP(BOOK) & ENABLE(CABINET_OPENED)
LOOK CABINET | IN(OFFICE) & ENABLED(OFFICE_ROBOT_DESTROYED) & ENABLED(CABINET_OPENED) | 10 | The cabinets are filled with mostly-empty yellow folders. |
OPEN DESK | IN(OFFICE) | 2 | You can't get to any desks with that robot hovering there. |
OPEN CABINET | IN(OFFICE) | 2 | You can't get to any cabinets with that robot hovering there. |
OPEN DESK | IN(OFFICE) & ENABLED(OFFICE_ROBOT_DESTROYED) | 5 | The desks are mostly empty aside from some stationary and long-dry ballpoint pens. |
OPEN CABINET | IN(OFFICE) & ENABLED(OFFICE_ROBOT_DESTROYED) | 5 | The first cabinet you open, a book falls out of it onto the floor. The rest are filled with mostly-empty yellow folders. | DROP(BOOK) & ENABLE(CABINET_OPENED)
OPEN CABINET | IN(OFFICE) & ENABLED(OFFICE_ROBOT_DESTROYED) & ENABLED(CABINET_OPENED) | 10 | The cabinets are filled with mostly-empty yellow folders. |
LOOK SHELF | IN(OFFICE) & ENABLED(OFFICE_ROBOT_DESTROYED) | 5 | There are plenty of books on the shelves, but they're all dense technical manuals, nothing you feel like taking the time to study. |
LOOK BOOK | ITEM_HERE(BOOK) | 2 | The book is titled 'Dam Operation For Dummies'. It's probably worth giving it a read! |
LOOK BOOK | HAS_ITEM(BOOK) | 2 |The book is titled 'Dam Operation For Dummies'. It's probably worth giving it a read! |
TAKE BOOK | ITEM_HERE(BOOK) | 2 | You pick up the book. | TAKE(BOOK)
DROP BOOK | HAS_ITEM(BOOK) | 2 | You drop the book. | DROP(BOOK)
READ BOOK | ITEM_HERE(BOOK) | 2 | This book explains, on the first couple of pages, what you'd need to do to open the floodgates on this dam. You'll need to make your way to a control panel, use the key on it, then push the correct button. | ENABLE(READ_BOOK)
READ BOOK | HAS_ITEM(BOOK) | 2 | This book explains, on the first couple of pages, what you'd need to do to open the floodgates on this dam. You'll need to make your way to a control panel, use the key on it, then push the correct button. | ENABLE(READ_BOOK)

### Break Room ###
EAST | IN(BREAK_ROOM) | 2 | You step back out into the hallway. | GOTO(DAM_INSIDE)
LOOK ROBOT | IN(BREAK_ROOM) | 2 | This robot, as usual, bristles with antennas, and it has a conspicuous seam running top to bottom. It's pretty small, you might be able to just hit it to disable it. |
LOOK ROBOT | IN(BREAK_ROOM) & ENABLED(BREAK_ROOM_ROBOT_DESTROYED) | 5 | The robot lies motionless under a table, split basically in half. |
TAKE ROBOT | IN(BREAK_ROOM) | 10 | It's not going to let you do that. |
TAKE ROBOT | IN(BREAK_ROOM) & ENABLED(BREAK_ROOM_ROBOT_DESTROYED) | 20 | No need to take it; you know from experience that robots are full of green, intricately-patterned rectangles, not anything useful. |
USE PRYBAR | IN(BREAK_ROOM) | 10 | How do you plan to use it? |
HIT ROBOT | IN(BREAK_ROOM) | 10 | With what, your hands? You won't be able to get close enough to do that. |
HIT ROBOT | IN(BREAK_ROOM) & HAS_ITEM(PRYBAR) | 20 | Bang! You smack the robot like a baseball and it smacks into a wall. It emits a cloud of sparks and falls to the ground. | ENABLE(BREAK_ROOM_ROBOT_DESTROYED)
HIT ROBOT | IN(BREAK_ROOM) & HAS_ITEM(HAMMER) | 15 | The hammer doesn't have quite enough reach to hit the robot. |
HIT ROBOT | IN(BREAK_ROOM) & ENABLED(BREAK_ROOM_ROBOT_DESTROYED) | 30 | It's already broken, no need to hit it any more. |
THROW PRYBAR | IN(BREAK_ROOM) & HAS_ITEM(PRYBAR) | 20 | You throw the prybar at the little robot, but it's too small to hit. Luckily, the prybar falls somewhere where you can pick it up. | DROP(PRYBAR)
LOOK KEY | IN(BREAK_ROOM) | 2 | It's a short key on a keyring. It's too far away to grab from here. |
LOOK KEY | IN(BREAK_ROOM) & ENABLED(BREAK_ROOM_ROBOT_DESTROYED) | 5 | It's a short key on a keyring. You can go grab it if you want. |
LOOK KEY | HAS_ITEM(KEY) | 15 | It's a short key on a keyring. |
TAKE KEY | IN(BREAK_ROOM) | 2 | It's too far away to grab from here. |
TAKE KEY | IN(BREAK_ROOM) & ENABLED(BREAK_ROOM_ROBOT_DESTROYED) | 5 | Okay, you take it. | TAKE(KEY) & ENABLE(KEY_TAKEN)
DROP KEY | HAS_ITEM(KEY) | 2 | It's pretty small, you should hold onto it unless you need it. |

### Control Room ###
SOUTH | IN(CONTROL_ROOM) | 2 | You step back out into the hallway | GOTO(DAM_INSIDE)
LOOK ROBOT | IN(CONTROL_ROOM) | 2 | This robot, as usual, bristles with antennas, and it has a conspicuous bundle of wires hanging out of its lower half. It's quite large, and looks very sturdy. |
LOOK ROBOT | IN(CONTROL_ROOM) & ENABLED(CONTROL_ROOM_ROBOT_DESTROYED) | 5 | The robot lies motionless next to the console. |
INSERT KEY | * | 2 | What key? | 
INSERT KEY | HAS_ITEM(KEY) | 3 | Where do you want to insert it? | 
INSERT KEY | IN(CONTROL_ROOM) | 5 | You don't have a key. | 
INSERT KEY | IN(CONTROL_ROOM) & HAS_ITEM(KEY) | 10 | You can't get close enough to the console to insert the key while that robot's in the way. | 
INSERT KEY | IN(CONTROL_ROOM) & ENABLED(CONTROL_ROOM_ROBOT_DESTROYED) & HAS_ITEM(KEY) | 100 | You look around for a keyhole. You find one in the console and insert the key into it. | DESTROY(KEY) & ENABLE(KEY_INSERTED)
INSERT KEY | IN(CONTROL_ROOM) & ENABLED(CONTROL_ROOM_ROBOT_DESTROYED) & ENABLED(READ_BOOK) & HAS_ITEM(KEY) | 200 | You insert the key into the hole mentioned by the manual. | DESTROY(KEY) & ENABLE(KEY_INSERTED)
INSERT KEY | IN(CONTROL_ROOM) & ENABLED(CONTROL_ROOM_ROBOT_DESTROYED) | 50 | There's a keyhole on the console, but you have nothing to put into it. |
INSERT KEY | IN(CONTROL_ROOM) & ENABLED(CONTROL_ROOM_ROBOT_DESTROYED) & ENABLED(READ_BOOK) | 75 | You see the keyhole on the console, but you have nothing to put into it. |
INSERT KEY | IN(CONTROL_ROOM) & ENABLED(CONTROL_ROOM_ROBOT_DESTROYED) & ENABLED(KEY_INSERTED) | 200 | The key's already in. |
USE KEY | * | 2 | What key? | 
USE KEY | HAS_ITEM(KEY) | 3 | Where do you want to use it? | 
USE KEY | IN(CONTROL_ROOM) | 5 | You don't have a key. | 
USE KEY | IN(CONTROL_ROOM) & HAS_ITEM(KEY) | 10 | You can't get close enough to the console to use the key while that robot's in the way. | 
USE KEY | IN(CONTROL_ROOM) & ENABLED(CONTROL_ROOM_ROBOT_DESTROYED) & HAS_ITEM(KEY) | 100 | You look around for a keyhole. You find one in the console and insert the key into it. | DESTROY(KEY) & ENABLE(KEY_INSERTED)
USE KEY | IN(CONTROL_ROOM) & ENABLED(CONTROL_ROOM_ROBOT_DESTROYED) & ENABLED(READ_BOOK) & HAS_ITEM(KEY) | 200 | You insert the key into the hole mentioned by the manual. | DESTROY(KEY) & ENABLE(KEY_INSERTED)
USE KEY | IN(CONTROL_ROOM) & ENABLED(CONTROL_ROOM_ROBOT_DESTROYED) | 50 | There's a keyhole on the console, but you have nothing to put into it. |
USE KEY | IN(CONTROL_ROOM) & ENABLED(CONTROL_ROOM_ROBOT_DESTROYED) & ENABLED(READ_BOOK) | 75 | You see the keyhole on the console, but you have nothing to put into it. |
USE KEY | IN(CONTROL_ROOM) & ENABLED(CONTROL_ROOM_ROBOT_DESTROYED) & ENABLED(KEY_INSERTED) | 200 | The key's already in. |
TURN KEY | IN(CONTROL_ROOM) & ENABLED(KEY_INSERTED) | 100 | It's not that kind of key, you don't need to turn it. |
TURN KEY | HAS_ITEM(KEY) | 100 | You turn the key over in your hands. To use it, you'll need to USE KEY or INSERT KEY somewhere with a keyhole. |
TURN | * | 1 | You've got nothing to turn. |
PRESS BUTTON | IN(CONTROL_ROOM) | 2 | You can't get close enough while that robot's in the way. |
PRESS BUTTON | IN(CONTROL_ROOM) & ENABLED(CONTROL_ROOM_ROBOT_DESTROYED) | 5 | You don't know which button to press. |
PRESS BUTTON | IN(CONTROL_ROOM) & ENABLED(CONTROL_ROOM_ROBOT_DESTROYED) & ENABLED(READ_BOOK) | 10 | According to the manual, you need to insert a key before pressing the button. |
PRESS BUTTON | IN(CONTROL_ROOM) & ENABLED(CONTROL_ROOM_ROBOT_DESTROYED) & ENABLED(READ_BOOK) & ENABLED(KEY_INSERTED) | 1000 | With a mighty crunch, long-dormant machinery noisily comes to life. Fearing for the structural stability of the room, you hustle outside. With an ear-piercing screech, the rusty metal floodgates begin to lower. Water pours out of the holes and falls in an enormous waterfall into the reservoir. The swarms of robots continue to patrol the now-empty dam, and the reservoir is completely full of beautiful blue water. It won't last forever, but for now, you'll have enough water to thrive. | ENABLE(GAME_COMPLETE) & GOTO(END_OF_GAME)
TURN KNOB | IN(CONTROL_ROOM) | 2 | You can't get close enough while that robot's in the way. |
TURN KNOB | IN(CONTROL_ROOM) & ENABLED(CONTROL_ROOM_ROBOT_DESTROYED) | 5 | You don't know which knob to turn. |
TURN KNOB | IN(CONTROL_ROOM) & ENABLED(CONTROL_ROOM_ROBOT_DESTROYED) & ENABLED(READ_BOOK) | 10 | According to the manual, you shouldn't need to turn any knobs. |
PULL LEVER | * | 1 | Wrong leverrrrrrrrrrrrrr! |
PULL LEVER | IN(CONTROL_ROOM) | 2 | You can't get close enough while that robot's in the way. |
PULL LEVER | IN(CONTROL_ROOM) & ENABLED(CONTROL_ROOM_ROBOT_DESTROYED) | 5 | You don't know which lever to pull. |
PULL LEVER | IN(CONTROL_ROOM) & ENABLED(CONTROL_ROOM_ROBOT_DESTROYED) & ENABLED(READ_BOOK) | 10 | According to the manual, you shouldn't need to pull any levers. |

HIT ROBOT | IN(CONTROL_ROOM) | 5 | With what, your hands? You wouldn't make a dent. |
HIT ROBOT | IN(CONTROL_ROOM) & HAS_ITEM(PRYBAR) | 10 | This robot is pretty big, simply hitting it isn't going to damage it. |
HIT ROBOT | IN(CONTROL_ROOM) & ENABLED(CONTROL_ROOM_ROBOT_DESTROYED) | 30 | There's no reason to hit the robot, it's not a threat any more. |
THROW PRYBAR | IN(CONTROL_ROOM) & HAS_ITEM(PRYBAR) | 5 | This robot is pretty big, without an obvious weak point that could be destroyed with even a well-aimed throw. |
THROW PRYBAR | IN(CONTROL_ROOM) & HAS_ITEM(PRYBAR) & ENABLED(CONTROL_ROOM_ROBOT_DESTROYED) | 20 | You toss the prybar across the room, avoiding the console. It clatters to the ground. | DROP(PRYBAR)
HOOK ROBOT | IN(CONTROL_ROOM) | 5 | Those wires look tempting, but you don't have anything to hook them with. |
HOOK ROBOT | IN(CONTROL_ROOM) & HAS_ITEM(HAMMER) | 10 | Those wires look tempting, but your hammer isn't long enough to snag them. |
HOOK ROBOT | IN(CONTROL_ROOM) & HAS_ITEM(PRYBAR) | 20 | Yoink! You deftly hook the bent end of the prybar to the exposed wires and pull. There's a shower of sparks, and the robot emits a whine and crashes to the ground. | ENABLE(CONTROL_ROOM_ROBOT_DESTROYED)
HOOK ROBOT | IN(CONTROL_ROOM) & ENABLED(CONTROL_ROOM_ROBOT_DESTROYED) | 50 | You've already destroyed the robot. |
HOOK WIRES | IN(CONTROL_ROOM) | 5 | Those wires look tempting, but you don't have anything to hook them with. |
HOOK WIRES | IN(CONTROL_ROOM) & HAS_ITEM(HAMMER) | 10 | Those wires look tempting, but your hammer isn't long enough to snag them. |
HOOK WIRES | IN(CONTROL_ROOM) & HAS_ITEM(PRYBAR) | 20 | Yoink! You deftly hook the bent end of the prybar to the exposed wires and pull. There's a shower of sparks, and the robot emits a whine and crashes to the ground. | ENABLE(CONTROL_ROOM_ROBOT_DESTROYED)
HOOK WIRES | IN(CONTROL_ROOM) & ENABLED(CONTROL_ROOM_ROBOT_DESTROYED) | 50 | You've already destroyed the robot. |
