! This file is part of the game: Typo! ! Copyright 2004 Kevin Lynn and Peter Seebach. Feel free to ! copy what you need as long as you give credit where it's ! due. No fair stealing. Dibs. ! ------- machine components and accessories: Object cabinet "supply cabinet" has absent container openable scenery ~open, with name 'supply' 'storage' 'cabinet' 'cupboard' 'closet', description [; "You see a large supply cabinet of the sort that might be used in an office to hold supplies. It's about six feet tall, and made of metal."; ], before [; if (location ~= chamber) { PlayerTo(chamber,1); return false; } Shaker: "The cabinet is far too large for you to shake."; Empty: "You'll have to take the items out of the cabinet individually."; ], after [; !Open: "Surprise. Opening the door reveals an interior."; ], found_in chamber atwindow atdoor, ; Object bundle "bundle of cardboard" cabinet has openable transparent ~open, with name 'plastic' 'band' 'bundle' 'cardboard' 'boxes' 'sheets', description "This is a bundle of cardboard sheets, held together by a strong plastic band.", before [; if (location ~= chamber) { PlayerTo(chamber,1); }; Take: print "Bundle of cardboard sheets: "; Insert: if (second == machine) { if (bundle notin player) print "Grabbing the bundle, you insert it into the metal hopper, the only place it will fit.^"; else print "You insert the bundle into the metal hopper, the only place it will fit.^"; move bundle to hopper; return true; } if (second == hopper) { if (bundle notin player) print "You pick up the bundle. "; print "The bundle fits perfectly into the metal hopper.^"; move bundle to hopper; return true; } Remove: "The bundle is held together by a plastic band that cannot be removed or broken."; Cut: "You have nothing that would cut the thick plastic band. "; Attack: "You try, but cannot break the plastic band. "; Open: "You try, but cannot break the plastic band. "; Shaker: "The bundle of cardboard has been shaken."; ], after [; ] ; Object standard "cartridge labeled ~standard~" cabinet has container openable ~open, with name 'labeled' 'standard' 'plastic' 'cart' 'cartridge', description [; "This is a large plastic cartridge which appears to be sealed shut. It might remind you of an ink cartridge for a computer printer, if it weren't larger than most desktop printers. It is completely black, but for a small label that reads ~standard~."; ], before [; if (location ~= chamber) { PlayerTo(chamber,1); } Open: "There's no obvious way to open the plastic cartridge."; Attack: "There's no obvious way to open the unbreakable plastic cartridge."; Shaker: "You hear and feel the contents jostling inside the cartridge, but you cannot tell what's inside."; Insert: if (second == machine) print_ret "You'll have to be more specific, it's a big machine!"; if (cabinet has open && self notin player) { print "You take the standard cartridge. "; move self to player; } if (second == door1 || second == compartment1) { if (door1 has open) { print "The standard cartridge fits perfectly in the compartment.^"; move self to compartment1; } else print "The door is closed.^"; return true; } else if (second == door2 || second == compartment2) { if (door2 has open) { print "The standard cartridge fits perfectly in the compartment.^"; move self to compartment2; } else print "The door is closed.^"; return true; } else { print_ret "It doesn't fit. "; } ], ; Object premium "cartridge labeled ~premium~" cabinet has container openable ~open, with name 'labeled' 'premium' 'plastic' 'cart' 'cartridge', description [; "This is a large plastic cartridge which appears to be sealed shut. It might remind you of an ink cartridge for a computer printer, if it weren't larger than most desktop printers. It is completely black, but for a small label that reads ~premium~."; ], before [; if (location ~= chamber) { PlayerTo(chamber,1); } Open: "There's no obvious way to open the plastic cartridge."; Attack: "There's no obvious way to open the unbreakable plastic cartridge."; Shaker: "You hear and feel the contents jostling inside the cartridge, but you cannot tell what's inside."; Insert: if (second == machine) print_ret "You'll have to be more specific, it's a big machine!"; if (cabinet has open && self notin player) { print "You take the premium cartridge. "; move self to player; } if (second == door1 || second == compartment1) { if (door1 has open) { print "The premium cartridge fits perfectly in the compartment.^"; move self to compartment1; return true; } else print "The door is closed.^"; } else if (second == door2 || second == compartment2) { if (door2 has open) { print "The premium cartridge fits perfectly in the compartment.^"; move self to compartment2; } else print "The door is closed.^"; return true; } else { print_ret "It doesn't fit. "; } ], ; Object machine "machine" has absent transparent switchable scenery container ~openable open, with name 'metal' 'apparatus' 'machine', description [ ; print "The purpose of this massive apparatus is not immediately obvious. It has a thin insulated wire attached to one side of it, a coiled transparent tube that attaches to the machine in two different places, a pair of numbered access doors, a control panel, a two foot wide conveyor belt jutting out of one side, and a pair of hoses that emerge from the top of the machine. Mounted on a platform attached to the back of the machine are two barrels and a large square metal bin. A large pipe, possibly an exhaust chimney, emerges from one end of the machine and disappears into the ceiling. "; ; ], when_on [; ], when_off [; ], before [; if (location ~= chamber) { PlayerTo(chamber,1); print "You cross the room and approach the machine. "; }; Open: "You will have to specify which panel on the machine you wish to open."; Push: "Unsurprisingly, you are unable to move the machine."; Shaker: "The machine is far too large for you to shake."; SwitchOn: <>; SwitchOff: <>; Listen: if (powerswitch hasnt on) "Silence."; if (powerswitch has on && blueswitch has on && yellowswitch has on && greenswitch has on) "It is difficult to isolate any one sound amid the cacophony of noises emanating from the machine. It is very loud."; if (powerswitch has on && blueswitch has on && yellowswitch has on) "Against a steady background hum, you hear what might be gears spinning, and fluid flowing through pipes, accented by the occasionally sequence of electronic tones."; if (powerswitch has on && blueswitch has on) "Against a steady background hum, you hear occasional clicks and electronic tones."; if (powerswitch has on) "You can hear the steady hum of a massive power supply."; ], found_in chamber atwindow atdoor, ; Object slot "slot" machine has absent transparent scenery container ~openable open, with name 'slot' , description [ ; if (tray in machine) { "Protruding from a slot in the front of the machine you recognize a paper tray, such as a printer or copier might have."; } else { "There is an empty slot on the front of the machine. The slot's rectangular, about a foot long and maybe three inches high."; } ], before [; if (location ~= chamber) { PlayerTo(chamber,1); print "You approach the machine. "; }; ], ; Object tray "paper tray" cabinet has container openable transparent ~open, with name 'paper' 'tray' 'papertray', description "A typical paper tray, such as you might find on a computer printer or a facsimile machine. The tray is fully loaded with paper and ready for use.", before [; if (location ~= chamber) { PlayerTo(chamber,1); print "You move to the center of the room and approach the machine. "; }; Take: print "Paper tray: "; Insert: if (second == machine || second == slot) { if (powerOn > 0 && greenswitch has on) { if (tray notin player) print "You pick up the tray. "; print "That's odd. As you try to insert the tray into it's slot, something seems to be preventing it from snapping into place. Suddenly, paper begins to shoot out of the tray at unbelievable high speeds. You move instinctively to cover your face, but not before you sustain severe lacerations to the face and neck. You may be the first person ever to die of paper cuts!"; paperDeathCount++; deadflag = 1; rtrue; } else { if (tray notin player) print "You pick up the tray, and insert it into its slot in the machine.^"; else print "You insert the paper tray into its slot in the machine.^"; move tray to machine; return true; } } Shaker: "You hear and feel the pages jostling inside the tray."; Remove: "Strangely, there doesn't seem to be a way to remove the paper from the tray. It's almost as if someone didn't want to code that action."; Open: "Unlike a standard paper tray, this tray cannot be opened."; ], after [; ], !found_in chamber atwindow atdoor, ; Object door2 "access door to compartment number 2" machine has absent door openable scenery container , with name 'access' 'door' 'number' 'two' "2", article "the", describe [; return true; ], description [; print "This is a small metal door with the number ~2~ stamped into it. "; if (door2 has open) { ; } else print_ret ""; ], before [; if (location ~= chamber) { PlayerTo(chamber,1); print "You move to the center of the room and approach the machine. "; }; Open: if (powerOn > 0) "That's odd. You can't seem to get the access door open."; Search: <>; Shaker: "For what it's worth, the access door has been shaken."; Enter: "It's not that the compartment is too small; it's just that you're too big."; ], after [; ], found_in chamber atwindow atdoor, ; Object door1 "access door to compartment number 1" machine has absent door openable scenery container , with name 'access' 'door' 'number' 'one' "1", article "the", description [; print "This is a small metal door with the number ~1~ stamped into it. "; if (door1 has open) { ; } else print_ret ""; ], before [; if (location ~= chamber) { PlayerTo(chamber,1); print "You move to the center of the room and approach the machine. "; }; Open: if (powerOn > 0) "That's odd. You can't seem to get the access door open."; Search: <>; Shaker: "For what it's worth, the access door has been shaken."; Enter: "It's not that you're too big; it's just that the compartment is too small."; ], after [; ], found_in chamber atwindow atdoor, ; Object compartment1 "compartment" machine has absent scenery container open, with name 'compartment' 'number' 'one' "1", article "", description [; if (door1 has open) { ; } else { "Compartment 1 is hidden behind access door number 1."; } ], before [; if (location ~= chamber) { PlayerTo(chamber,1); print "You move to the center of the room and approach the machine. "; }; Open: if (powerOn > 0) "That's odd. You can't seem to get the access door open."; Close: <>; Search: if (door1 hasnt open) "You'll have to open the access door first."; Shaker: "For what it's worth, the access door has been shaken."; Enter: "It's not that the compartment is too small; it's just that you're too big."; ], ; Object compartment2 "compartment" machine has absent scenery container open, with name 'compartment' 'number' 'two' "2", article "", description [; if (door2 has open) { ; } else { "Compartment 2 is hidden behind access door number 2."; } ], before [; if (location ~= chamber) { PlayerTo(chamber,1); print "You stroll to the center of the room and approach the machine. "; }; Open: if (powerOn > 0) "That's odd. You can't seem to get the access door open."; Close: <>; Search: if (door2 hasnt open) "You'll have to open the access door first."; Shaker: "For what it's worth, the access door has been shaken."; Enter: "It's not that you're too big; it's just that the compartment is too small."; ], ; Object wire "end of the thin wire" machine has absent, with name 'end' 'thin' 'phone' 'wire' 'cord' 'cable', article "one", describe [; return true; ], description [; print "This is a thin, insulated wire with a plug on the end of the sort used with telephone equipment. One end of the wire seems to be attached somewhere within the machine"; if (self in socket) { print_ret ", and the other is connected to the wall socket. "; } else { print_ret "."; } ], before [; if (location ~= chamber) { PlayerTo(chamber,1); print "You move to the center of the room and approach the machine. "; }; Take: print "The free end of the wire: "; Shaker: "The wire has been shaken."; Insert: if (self in socket) { print "You remove the end of the wire from the socket. "; move wire to player; } if (second == socket) { if (powerOn > 0 && blueswitch has on) { print "That's odd. Although it's only a standard phone jack and wire, sparks fly, and you receive a massive electric shock as you attempt to plug a live wire into the socket!"; wireDeathCount++; deadflag = 1; } else { print "The wire snaps neatly into the socket.^"; move wire to socket; } return true; } else { print_ret "It doesn't fit. "; } ], after [; ], found_in chamber atwindow atdoor, ; Object tube "coiled tube" machine has absent scenery, with name 'coiled' 'transparent' 'coil' 'tube', describe [; return true; ], description [; print "A transparent plastic tube; it emerges from the top of the machine near one end, and disappears back into the machine at the other end. "; if (fluid == 1 or 2) ; print_ret ""; ], before [; if (location ~= chamber) { PlayerTo(chamber,1); print "You move to the center of the room and approach the machine. "; } Take: "The tube is permanently attached to the machine at both ends."; Shaker: "The shaking of the coiled tube is now complete."; ], found_in chamber atwindow atdoor, ; Object sauce "viscous fluid" tube has absent scenery, with name 'thick' 'viscous' 'fluid' 'sauce', describe [; return true; ], description [; if (fluid == 0) print "You can't see any fluid here."; if (fluid == 1) print "Running through the tube is a black viscous fluid."; if (fluid == 2) print "Bubbling through the tube is a red viscous fluid."; print_ret ""; ], before [; if (location ~= chamber) { PlayerTo(chamber,1); print "You move to the center of the room and approach the machine. "; } ], found_in chamber atwindow atdoor, ; Object pipe "exhaust pipe" machine has absent scenery, with name 'exhaust' 'chimney' 'pipe' 'seams', describe [; return true; ], description "The pipe is made of galvanized metal, though it is a little discolored at the seams.", before [; if (location ~= chamber) { PlayerTo(chamber,1); }; Shaker: "The exhaust pipe too large to shake."; Take: "The pipe is permanently attached to the machine at one end and the ceiling at the other."; ], found_in chamber atwindow atdoor, ; Object platform "platform" machine has absent scenery, with name 'platform', describe [; return true; ], description "This is a flat, slightly raised surface attached to the rear of the machine. Mounted on the platform is a pair of barrels, with a metal hopper between them.", before [; if (location ~= chamber) { PlayerTo(chamber,1); }; Shaker: "The platform is too sturdy to shake."; Take: "The platform is permanently attached to the machine."; ], found_in chamber atwindow atdoor, ; Object belt "conveyor belt" machine has absent scenery supporter, with name 'conveyor' 'belt', describe [; return true; ], description "The conveyor belt emerges from a closed hatch at one end of the machine. ", before [; if (location ~= chamber) { PlayerTo(chamber,1); print "You move to the center of the room and approach the machine. "; }; Shaker: "The conveyor belt is part of the machine, and so cannot be shaken."; ], found_in chamber atwindow atdoor, ; Object hatch "metal hatch" machine has absent door openable scenery, with name 'hatch' 'output', describe [; return true; ], description "This appears to be a vertical sliding hatch, but there is no handle to be seen.", before [; if (location ~= chamber) { PlayerTo(chamber,1); print "You move to the center of the room and approach the machine. "; }; Open: "The metal hatch doesn't budge."; Push: "You are unable to move the hatch."; Shaker: "The hatch is part of the machine, and so cannot be shaken."; ], found_in chamber atwindow atdoor, ; Attribute clean; Object hose1 "free end of the red hose" machine has absent , with name 'red' 'sauce' 'conduit' 'hose', article "the", describe [; return true; ], description [; print "A red hose, with one end permanently connected to the machine"; if (self in barrel1) { print_ret ", and the other connected to the copper barrel. "; } if (self in barrel2) { print_ret ", and the other connected to the silver barrel. "; } else { print_ret "."; } ], before [; if (location ~= chamber) { PlayerTo(chamber,1); print "You move to the center of the room and approach the machine. "; }; Empty: <>; Shaker: if (self hasnt clean) { give self clean; move glob to player; hosesCleaned = hosesCleaned + 1; "Shaking the hose clears a glob of flotsam, jetsam, and lagan from the end of the hose."; } else "Shaken."; Cleaner: if (self hasnt clean) { give self clean; move glob to player; hosesCleaned = hosesCleaned + 1; "You clear a glob of flotsam, jetsam, and lagan from the end of the hose."; } Take: print "The free end of the red hose: "; Insert: if (second == barrel1 or spigot1) { if (hose2 in barrel1 or spigot1) { print_ret "The spigot on the copper barrel is already occupied."; } if (powerOn > 0 && yellowswitch has on) { print "That's odd. As you attempt to attach the hose to the spigot, it begins to writhe uncontrollably, which is strange behavior for an intake hose. The end of the hose slips from your hands and whips wildly around the room, bruising you in several places before it finally strikes your head."; hoseDeathCount++; deadflag = 1; rtrue; } else { print "You attach the free end of the red hose to the spigot on the copper barrel.^"; move hose1 to barrel1; return true; } } if (second == barrel2 or spigot2) { if (hose2 in barrel2 or spigot2) { print_ret "The spigot on the silver barrel is already occupied."; } print "You connect the free end of the red hose to the spigot on the silver barrel.^"; move hose1 to barrel2; return true; } if (second == machine) { "You'll have to be more specific. --It's a big machine."; } else { print_ret "It doesn't fit. "; } ], found_in chamber atwindow atdoor, ; Object hose2 "free end of the white hose" machine has absent, with name 'white' 'cheese' 'conduit' 'hose', article "the", describe [; return true; ], description [; print "A white hose, with one end permanently connected to the machine"; if (self in barrel1) { print_ret ", and the other connected to the copper barrel. "; } if (self in barrel2) { print_ret ", and the other connected to the silver barrel. "; } else { print_ret "."; } ], before [; if (location ~= chamber) { PlayerTo(chamber,1); print "You approach the machine. "; }; Empty: <>; Shaker: if (self hasnt clean) { give self clean; move glob to player; hosesCleaned = hosesCleaned + 1; "Shaking the hose clears a glob of superfluum from the end of the hose."; } else "Shaken."; Cleaner: if (self hasnt clean) { give self clean; move glob to player; hosesCleaned = hosesCleaned + 1; "You clear a glob of superfluum from end of the hose."; } Take: print "The free end of the white hose: "; Insert: if (second == barrel2 or spigot2) { if (hose1 in barrel2) { print_ret "The spigot on the silver barrel is already occupied."; } if (powerOn > 0 && yellowswitch has on) { print "That's odd. As you attempt to attach the hose to the spigot, it begins to writhe uncontrollably, which is strange behavior for an intake hose. The end of the hose slips from your hands and whips wildly around the room, bruising you in several places before it finally strikes your head.^"; deadflag = 1; rtrue; } else { print "You connect the free end of the white hose to the spigot in the silver barrel.^"; move hose2 to barrel2; return true; } } if (second == barrel1 or spigot1) { if (hose1 in barrel1) { print_ret "The spigot on the copper barrel is already occupied."; } print "You attach the free end of the red hose to its spigot in the copper barrel.^"; move hose2 to barrel1; return true; } if (second == machine) { "You'll have to be more specific. --It's a big machine."; } else { print_ret "It doesn't fit. "; } ], found_in chamber atwindow atdoor, ; Object barrel2 "silver barrel" machine has absent container ~openable scenery ~open transparent, with name 'silver' 'cheese' 'barrel', describe [; return true; ], description [; print "This is a silver-colored barrel, attached to the rear of the machine. "; if (hose2 in self) { print_ret "The white hose is connected to the spigot on the barrel."; } if (hose1 in self) { print_ret "The red hose is connected to the spigot on the barrel."; } print_ret "It features a spigot to which a hose could be attached. "; ], before [; if (location ~= chamber) { PlayerTo(chamber,1); print "You move to the center of the room and approach the machine. "; }; Push: "You cannot move the barrel."; Open: "The barrel is sealed and cannot be opened."; Search: "The barrel is sealed and cannot be opened."; Shaker: "The barrel is far too large for you to shake."; ], found_in chamber atwindow atdoor, ; Object barrel1 "copper barrel" machine has absent container ~openable scenery ~open transparent, with name 'copper' 'tomato' 'sauce' 'barrel', describe [; return true; ], description [; print "This is a copper-colored barrel, attached to the rear of the machine. "; if (hose2 in self) { print_ret "The white hose is connected to the spigot on the barrel."; } if (hose1 in self) { print_ret "The red hose is connected to the spigot on the barrel."; } print_ret "It features a spigot to which a hose could be attached. "; ], before [; if (location ~= chamber) { PlayerTo(chamber,1); print "You move to the center of the room and approach the machine. "; }; Push: "You cannot move the barrel."; Open: "The barrel is sealed and cannot be opened."; Search: "The barrel is sealed and cannot be opened."; Shaker: "The barrel is far too large for you to shake."; ], found_in chamber atwindow atdoor, ; Object spigot1 "spigot on the copper barrel" machine has absent container ~openable scenery, with name 'copper' 'tomato' 'sauce' 'coupler' 'spigot' 'faucet' 'valve' 'tap', describe [; return true; ], description [; print "The spigot on the copper-colored barrel features a threaded nozzle to which a hose could be connected, but there is no visible way to open or close it. "; if (hose2 in self) { print_ret "The white hose is connected to the spigot."; } if (hose1 in self) { print_ret "The red hose is connected to the spigot."; } print_ret " "; ], before [; if (location ~= chamber) { PlayerTo(chamber,1); print "You move around behind the machine. "; }; Empty: <>; Cleaner: if (self hasnt clean) { give self clean; move crust1 to player; spigotsCleaned = spigotsCleaned + 1; "You clear some crusty brown stuff from the spigot."; } Push: "The spigot is part of the immovable barrel."; Open: "There doesn't seem to be any way to manually operate the spigot."; Shaker: "The spigot is part of the barrel and so cannot be shaken."; ], found_in chamber atwindow atdoor, ; Object spigot2 "spigot on the silver barrel" machine has absent container ~openable scenery, with name 'silver' 'cheese' 'coupler' 'spigot' 'faucet' 'valve' 'tap', describe [; return true; ], description [; print "The spigot on the silver-colored barrel features a threaded nozzle to which a hose could be connected, but there is no visible way to open or close it. "; if (hose2 in self) { print_ret "The white hose is connected to the spigot."; } if (hose1 in self) { print_ret "The red hose is connected to the spigot."; } print_ret " "; ], before [; if (location ~= chamber) { PlayerTo(chamber,1); print "You move around behind the machine. "; }; Empty: <>; Cleaner: if (self hasnt clean) { give self clean; move crust2 to player; spigotsCleaned = spigotsCleaned + 1; "You clear some gooey gray stuff from the spigot."; } Push: "The spigot is part of the immovable barrel."; Open: "There doesn't seem to be any way to operate open the spigot."; Shaker: "The spigot is part of the barrel and so cannot be shaken."; ], found_in chamber atwindow atdoor, ; Object panel "control panel" machine has absent container ~openable open transparent scenery, with name 'control' 'controls' 'access' 'panel', describe [; return true; ], description [; print "In addition to the power switch, the control panel offers 3 control switches, each with a matching indicator light. There's a blue switch, a yellow switch, and a green switch. "; if (bluelight has flashing) print "The blue light is blinking. "; if (bluelight has on) print "The blue light is shining. "; if (yellowlight has flashing) print "The yellow light is blinking. "; if (yellowlight has on) print "The yellow light is shining. "; if (greenlight has flashing) print "The green light is blinking. "; if (greenlight has on) print "The green light is shining."; print_ret ""; ], before [; if (location ~= chamber) { PlayerTo(chamber,1); print "You move to the center of the room where the machine looms over you. "; }; Shaker: "The panel is part of the machine and so cannot be shaken."; ], found_in chamber atwindow atdoor, ; Object blueswitch "blue switch" panel has absent switchable scenery, with name 'blue' 'control' 'switch' 'button', describe [; return true; ], description [; return false; ], before [; if (location ~= chamber) { PlayerTo(chamber,1); print "You approach the machine and address the control panel. "; }; Shaker: "The switch is part of the machine and so cannot be shaken."; SwitchOn: if (self has on) "Compulsively, you make sure that the switch is still ~on~. "; print "You flip the blue switch to the ~on~ position. "; give self on; BlueSwitchOnSub(); print_ret ""; SwitchOff: give bluelight ~flashing; give bluelight ~on; ], ; Object greenswitch "green switch" panel has absent switchable scenery, with name 'green' 'control' 'switch' 'button', describe [; return true; ], description [; return false; ], before [; if (location ~= chamber) { PlayerTo(chamber,1); print "You approach the machine and address the control panel. "; }; Shaker: "The switch is part of the machine and so cannot be shaken."; SwitchOn: if (self has on) "Yes, the green switch is still ~on~. "; print "You flip the green switch to the ~on~ position. "; give self on; GreenSwitchOnSub(); print_ret ""; SwitchOff: give greenlight ~flashing; give greenlight ~on; ], ; Object yellowswitch "yellow switch" panel has absent switchable scenery, with name 'yellow' 'control' 'switch' 'button', describe [; return true; ], description [; return false; ], before [; if (location ~= chamber) { PlayerTo(chamber,1); print "You approach the machine and address the control panel. "; }; Shaker: "The switch is part of the machine and so cannot be shaken."; SwitchOn: if (self has on) "The yellow switch is already ~on~. "; print "You flip the yellow switch to the ~on~ position. "; give self on; YellowSwitchOnSub(); print_ret ""; SwitchOff: give yellowlight ~flashing; give yellowlight ~on; ], ; Object powerswitch "power switch" panel has absent switchable scenery, with name 'power' 'switch' 'button', describe [; return true; ], description [; return false; ], when_on [; ], when_off [; ], before [; if (location ~= chamber) { PlayerTo(chamber,1); print "You approach the machine and address the control panel. "; }; Shaker: "The switch is part of the machine and so cannot be shaken."; SwitchOn: if (powerOn > 0) "The power is already on."; give self on; PowerUpSub(); give machine on; rtrue; ], after [; SwitchOff: PowerDownSub(); give self ~on; give machine ~on; rtrue; ] ; Attribute flashing; Object bluelight "blue indicator light" panel has absent scenery, with name 'blue' 'indicator' 'light', describe [; return true; ], description [; if (powerOn <= 0 || blueswitch hasnt on) "The light is dark."; if (self has flashing) "The blue light is blinking."; "The blue light is shining."; ], when_on [; if (self has flashing) "The blue light is blinking."; "The blue light is shining."; ], when_off [; if (powerOn <= 0) "The light is dark."; ], before [; if (location ~= chamber) { PlayerTo(chamber,1); print "You approach the machine and address the control panel. "; }; Shaker: "The light is part of the machine and so cannot be shaken."; SwitchOn: print "Presumably the blue switch controls the blue light somehow. "; <>; SwitchOff: print "Presumably the blue switch controls the blue light somehow. "; give self ~flashing; <>; ], ; Object greenlight "green indicator light" panel has absent scenery, with name 'green' 'indicator' 'light', describe [; return true; ], description [; if (powerOn <= 0 || greenswitch hasnt on) "The light is dark."; if (self has flashing) "The green light is blinking."; "The green light is lit."; ], when_on [; if (self has flashing) "The green light is blinking."; "The green light is lit."; ], when_off [; "The light is dark."; ], before [; if (location ~= chamber) { PlayerTo(chamber,1); print "You approach the machine and address the control panel. "; }; Shaker: "The light is part of the machine and so cannot be shaken."; SwitchOn: print "Presumably the green switch controls the green light somehow. "; <>; SwitchOff: print "Presumably the green switch controls the green light somehow. "; give self ~flashing; <>; ], ; Object yellowlight "yellow indicator light" panel has absent scenery, with name 'yellow' 'indicator' 'light', describe [; return true; ], description [; if (powerOn <= 0 || yellowswitch hasnt on) "The light is dark."; if (self has flashing) "The yellow light is blinking."; "The yellow light is lit."; ], when_on [; if (self has flashing) "The yellow light is blinking."; "The yellow light is lit."; ], when_off [; "The light is dark."; ], before [; if (location ~= chamber) { PlayerTo(chamber,1); print "You approach the machine and address the control panel. "; }; Shaker: "The light is part of the machine and so cannot be shaken."; SwitchOn: print "Presumably the yellow switch controls the yellow light somehow. "; <>; SwitchOff: print "Presumably the yellow switch controls the yellow light somehow. "; give self ~flashing; <>; ], ; Object hopper "square hopper" machine has absent scenery container ~openable open transparent, with name 'square' 'bin' 'hopper', describe [; return true; ], description [; print "This is a square metal hopper. "; if (bundle in self) print "The hopper is loaded with a bundle of cardboard."; print_ret ""; ], when_on [; ], when_off [; ], before [; if (location ~= chamber) { PlayerTo(chamber,1); print "You approach the machine and address the control panel. "; } Shaker: "The hopper is part of the machine and so cannot be shaken."; Take: "The hopper is permanently attached to the platform."; ], found_in chamber atwindow atdoor, ; Object crust1 "crusty brown stuff" with article "the", name 'flotsam' 'crusty' 'brown' 'stuff', description "Crusty. Brown.", before [; Smell: "There's not much of an odor, but it smells vaguely like something that may have once smelled like tomatoes."; Taste: "[Not the best idea you've had, but...] It has a mildly acidic flavor."; ] ; Object crust2 "gooey gray stuff" with article "the", name 'gooey' 'gray' 'grey' 'stuff', description "Gooey. Gray.", before [; Smell: "There's not much of an odor, but it smells vaguely like something that may have once smelled like cheese."; Taste: "[Not the best idea you've had, but...] It has a mildly cheesy flavor."; ] ; Object glob "glob of gunk" with article "the", name 'flotsam' 'jetsam' 'lagan' 'superfluum' 'glob' 'gunk', description [; if (spigotsCleaned == 1) "This is the glob of gunk you cleaned from the hose."; else "This is the glob of gunk you cleaned from the hoses."; ], before [; Smell: "There's not much of an odor, but it smells vaguely like something that may have once smelled like rubber."; Taste: "[Not the best idea you've had, but...] It has a mildly rubbery flavor."; ] ;