Cragne Manor room M1F4: Rec Room (Zack Johnson)

This file is part of the Cragne Manor source code collection. Posted with the author's permission. All rights reserved.


Chapter 1 - Do Not Change Any Of This
 
Include Cragne Suite by Ryan Veeder.
Include Object Response Tests by Juhana Leinonen
 
[Don't mess with other people's rooms!]
 
M1F is a region.
 
M1F4 is a room in M1F. M1F4 is north from M1F3.
 
M1F5 is a room in M1F. M1F5 is east from M1F4.
 
Part 1 - M1F4 Rec Room
 
Printed name of M1F4 is "Rec Room (Zack Johnson)".
 
[Ryan / Jenni:  This area is all stuff I needed for testing.  ------------------------------------------------------]
 
[I'm not sure which if either of these I'm responsible for describing or including.]
zj-key is in M1F4.  Understand "key" and "brass key" and "cabinet key" as zj-key.  The printed name of zj-key is "the tiny brass key".
denk-cleaver is nowhere.  The printed name of denk-cleaver is "rusty meat cleaver".  Understand "rusty" and "meat" and "cleaver" as denk-cleaver.
 
[this is probably already handled somewhere else.]
Use scoring;
 
[end test stuff -------------------------------------------------------------------------------------------------]
 
Description of M1F4 is "The manor's rec room is short for the manor's recreation room.  Even though it's as old as the manor itself, it looks, as all rec rooms do, like it's stuck in the 1970s.[paragraph break]The room is dominated by a pool table.  Or maybe a billiards table, you were never really sure what the difference is.  An old television sits atop a little wooden stand in front of a comfy-looking easy chair. [paragraph break]Doors lead north and east, and the south wall is covered entirely in built-in cabinets, whose glass doors lead, predictably, into their interiors."
 
Instead of examining the player, if the location is M1F4, say "You are ready for some *recreation*."
 
The zj-cabinets is in M1F4.
zj-cabinets is scenery.
Understand "cabinets" as zj-cabinets.
The printed name of zj-cabinets is "built-in cabinets".
The description of zj-cabinets is "The glass-doored cabinets stretch from wall to wall.  All of them are empty except one, which is full to bursting with old board games."
 
Instead of taking zj-cabinets: say "They're not the portable kind of thousand-pound built-in nailed-to-the-wall cabinets."
 
The zj-cabinet is an openable undescribed locked transparent scenery container in M1F4.
The zj-key unlocks zj-cabinet.
Understand "glass" and "cabinet" and "game cabinet" and "games cabinet" and "board game cabinet" and "board games cabinet" as zj-cabinet.
The printed name of zj-cabinet is "board games cabinet"
 
Instead of attacking zj-cabinet:
    say "No way.  What if one of the board games uses broken glass as its playing pieces?  You'd never know which piece of glass went where."
 
Instead of opening zj-cabinet:
    if zj-cabinet is locked:
        say "Of course, the only cabinet with anything interesting in it is also the only cabinet that is locked.";
    otherwise:
        continue the action
 
After opening zj-cabinet:
    say "You open the cabinet."
 
Instead of examining zj-cabinet:
    say "The board games cabinet is full of board games.  That's why they call it the board games cabinet."
 
The zj-chair is a supporter in M1F4.
zj-chair is enterable and scenery.
Understand "chair" and "easy" as zj-chair.
The printed name of zj-chair is "easy chair".
The description of zj-chair is "It looks very comfy.".
 
After entering zj-chair:
    say "You slouch into the chair with a protracted sigh of pleasure.  It is indeed as comfy as it looks."
After getting off zj-chair:
    say "You get out of the chair.  Your new situation kinda sucks compared to earlier, when you were in the chair."
 
zj-vaguesitting is an action applying to nothing. Understand "sit" and "sit down" and "have a seat" as zj-vaguesitting while location is M1F4.
 
Check zj-vaguesitting:
    if something supports the player:
        say "You're already sitting down, and there is definitely not a more comfortable seat in this room." instead;
    try entering zj-chair
 
The zj-pooltable is scenery in M1F4.
Understand "pool table" and "billiards table" and "pool" and "billiards" as zj-pooltable.
The printed name of zj-pooltable is "pool table".
The description of zj-pooltable is "It's got everything you need to play pool except... cues, balls, and that triangle thing you use to set up the rack."
 
The zj-televisionstand is scenery in M1F4.
Understand "stand" as zj-televisionstand.
The printed name of zj-televisionstand is "television stand".
The description of zj-televisionstand is "Its purposes are twofold and simple:  be made of wood, and hold the television off the floor.".
 
The zj-television is a device in M1F4.
zj-television is scenery.
zj-television can be zj-just-turned-on.
Understand "pink" and "television" and "tv" and "trinitron" as zj-television.
The printed name of zj-television is "television".
The description of zj-television is "It's a pink Trinitron television.  You had one like it in your room when you were a kid.  Maybe it was this one.  Wouldn't that be spooky?"
After switching on zj-television:
    say "The television flickers to life, if roaring white noise and static counts as life.";
    now the zj-television is zj-just-turned-on.
 
After switching off zj-television:
    say "You turn off the television, making the room less annoying.".
 
Every turn when the location is M1F4:
    If zj-television is switched on and zj-television is not zj-just-turned-on:
        say "[one of]The television blares its annoying noise into every corner of the room.[or]The noise from the television continues to be unbearable.[or]The shrieking of the television is like knives in your eardrums.[or]The television continues blaring.[or]The television continues to spew its infuriating idiot noise.[in random order]";
    If zj-television is zj-just-turned-on:
        now zj-television is not zj-just-turned-on.
 
zj-watching is an action applying to one visible thing.
zj-watchcount is a number that varies.
Understand "watch [something]" as zj-watching when the location is M1F4.
Report zj-watching:
    if word number 1 in the player's command is "watch":
        say "There's nothing good on [the noun] right now.";
    otherwise:
        try examining the noun.
 
Instead of zj-watching zj-television:
    If the player is not on zj-chair:
        say "You shouldn't watch TV while standing up.";
    If the player is on zj-chair:
        If zj-television is switched on:
            say "You stare into the static for a while.  It makes your eyes feel as bad as your ears.";
        If zj-television is switched off:
            Increase zj-watchcount by 1;
            if zj-watchcount is 1:
                say "You see the movement of a human figure reflected in the screen.  You whirl around, but there's nobody there.  Creepy.";
            if zj-watchcount is 2:
                say "What the hell is going on here?  The television is definitely off, but there is definitely movement on the screen.";
            if zj-watchcount is 3:
                say "In the dim grayness of the screen, you see the outline of a kid with a bowl of cereal.";
            if zj-watchcount is 4:
                say "A dim suggestion of a voice whispers in your head: 'He likes it!  Hey Mikey!'";
            if zj-watchcount is 5:
                say "The original 70s intro to Sesame Street is absolutely NOT playing on this TV right now, but you are also absolutely watching the original 70s intro to Sesame Street.";
            if zj-watchcount is 6:
                say "On my waaaaaaay to where the air is sweeeeet...";
            if zj-watchcount is greater than 6:
                say "You keep watching.";
                say "[one of]That cool pinball animation plays.  You sing along, counting to 12.[or]You watch a short animation that teaches you to be less racist.[or]Nobody except Big Bird can see Snuffleupagus.  This reminds you of your current situation somehow.[or]Another commercial comes on, this one for a board game called Marble Blasters.[or]Another commercial comes on.  Orson Welles reassures you that he will only sell you wine after its time.[or]Another commercial.  You are urged not to squeeze the Charmin.[or]Another commercial comes on.  A man has trouble believing that he ate the whole thing.[in random order]"
 
zj-boardgames is undescribed scenery inside zj-cabinet.
the printed name of zj-boardgames is "cabinet full of board games".
Understand "games" and "pile" and "board" as zj-boardgames.
Instead of examining zj-boardgames:
    If zj-cabinet is open:
        say "The games resist examination.  When you try to scan them or look at them in aggregate, they swim in your vision.  You get the sense that you could probably find a specific one if you knew the name of it.";
    otherwise:
        say "Looking at the board games makes your vision swim.  The glass must be distorting them somehow."
 
zj-bg1 is undescribed scenery inside zj-cabinet.  Understand "marble blasters" as zj-bg1. The printed name of zj-bg1 is "Marble Blasters".
instead of examining zj-bg1:
    if zj-cabinet is closed:
        say "You can see Marble Blasters in the cabinet, but not well enough to make out any details.";
    otherwise:
        say "You find Marble Blasters and rummage through its contents.  There's a board, eight red marbles, seven blue marbles, a couple of spring-loaded marble-flicker things, and hey, what's this?  A card from a different game -- one called Moonbase Bravo."
 
zj-bg2 is undescribed scenery inside zj-cabinet.  Understand "moonbase bravo" as zj-bg2. The printed name of zj-bg2 is "Moonbase Bravo".
instead of examining zj-bg2:
    if zj-cabinet is closed:
        say "You can see Moonbase Bravo in the cabinet, but not well enough to make out any details.";
    otherwise:
        say "You find Moonbase Bravo and dig through the box.  There are some cardboard squares with craters printed on them, three little plastic astronauts, a deck of 'moon unit' cards, and a domino with 'Domino Destruction Derby' printed on the back.  That one must be from a different game."
 
zj-bg3 is undescribed scenery inside zj-cabinet.  Understand "domino destruction derby" as zj-bg3. The printed name of zj-bg3 is "'Domino Destruction Derby".
instead of examining zj-bg3:
    if zj-cabinet is closed:
        say "You can see Domino Destruction Derby in the cabinet, but not well enough to make out any details.";
    otherwise:
        say "You grab Domino Destruction Derby and open the box.  It contains a few plastic ramps, a few dozen dominoes, and a little square of cardboard with a spooky ghost printed on it.   The back of the card says 'The Haunting of Haunt House' on it -- it must be from a different board game."
 
 
zj-bg4 is undescribed scenery inside zj-cabinet.  Understand "the haunting of haunt house" as zj-bg4. The printed name of zj-bg4 is "The Haunting of Haunt House".
instead of examining zj-bg4:
    if zj-cabinet is closed:
        say "You can see The Haunting of Haunt House in the cabinet, but not well enough to make out any details.";
    otherwise:
        say "You grab The Haunting of Haunt House and rummage around in the the box.  There are lots of little cardboard tokens representing ghosts and goblins and mummies, and also a red, white and blue die-cast motorcycle with 'Evil Knievel[apostrophe]s Canyon Jump' stencilled on the side of the gas tank."
 
zj-bg5 is undescribed scenery inside zj-cabinet.  Understand "evil knievel's canyon jump" as zj-bg5. The printed name of zj-bg5 is "Evil Knievel[apostrophe]s Canyon Jump".
instead of examining zj-bg5:
    if zj-cabinet is closed:
        say "You can see Evil Knievel[apostrophe]s Canyon Jump in the cabinet, but not well enough to make out any details.";
    otherwise:
        say "You grab Evil Knievel[apostrophe]s Canyon Jump, hurl the lid across the room like the daredevil you are, and examine the contents.  There's a disassembled plastic canyon, some ramps, some little metal figurines of impressed bystanders, and a card with a picture of a guy wearing a white chef's hat labeled 'Pierre Patisserie.'[paragraph break]You flip the card over -- apparently Pierre belongs in a game called 'Murder Kitchen.'"
 
zj-bg6 is undescribed scenery inside zj-cabinet.  Understand "murder kitchen" as zj-bg6. The printed name of zj-bg6 is "Murder Kitchen".
instead of examining zj-bg6:
    if zj-cabinet is closed:
        say "You can see Murder Kitchen in the cabinet, but not well enough to make out any details.";
    otherwise:
        say "You grab Murder Kitchen, reluctantly open the lid, and take a look at what's inside.  There's a deck of cards representing different chefs you can murder, and a few full-sized rusty kitchen implements.  Actually, hold on.  One of the chef cards is actually an alien card from a different game -- Space Actuary."
 
zj-bg7 is undescribed scenery inside zj-cabinet.  Understand "space actuary" as zj-bg7. The printed name of zj-bg7 is "Space Actuary".
instead of examining zj-bg7:
    if zj-cabinet is closed:
        say "You can see Space Actuary in the cabinet, but not well enough to make out any details.";
    otherwise:
        say "You grab Space Actuary and examine the contents.  It's mostly just charts and tables with different fictional space diseases and their effects on life expectancy, but there's also a little resin sculpture of a child's head mounted on a plaque.  What a creepy thing.  You look at the back of the plaque, and see 'Suburban Safari' embossed in it."
 
zj-bg8 is undescribed scenery inside zj-cabinet.  Understand "suburban safari" as zj-bg8. The printed name of zj-bg8 is "Suburban Safari".
instead of examining zj-bg8:
    if zj-cabinet is closed:
        say "You can see Suburban Safari in the cabinet, but not well enough to make out any details.";
    otherwise:
        say "You grab Suburban Safari and reluctantly open the box.  The board depicts an entire town, but only the gun stores and cul-de-sacs are labeled.  Among the grisly statuettes is a gauze eyepatch with 'Pirate Hospital' printed on the strap."
 
zj-bg9 is undescribed scenery inside zj-cabinet.  Understand "pirate hospital" as zj-bg9. The printed name of zj-bg9 is "Pirate Hospital".
instead of examining zj-bg9:
    if zj-cabinet is closed:
        say "You can see Pirate Hospital in the cabinet, but not well enough to make out any details.";
    otherwise:
        say "You grab Pirate Hospital and examine the contents.  There are a few small bottles of medical rum (all empty, sadly,) a set of pegleg-mounting wrenches, and a big rubber shark fin, which wouldn't be out of place in a pirate game, except that this is really more of a hospital game.[paragraph break]You take a closer look at the fin and see a small paper tag inside that says 'Shark Shark Shark Shark Shark."
 
zj-bg10 is undescribed scenery inside zj-cabinet.  Understand "shark shark shark shark shark" as zj-bg10. The printed name of zj-bg10 is "Shark! Shark! Shark! Shark! Shark!".
instead of examining zj-bg10:
    if zj-cabinet is closed:
        say "You can see Shark Shark Shark Shark Shark in the cabinet, but not well enough to make out any details.";
    otherwise:
        say "You grab Shark Shark Shark Shark Shark and take a look at what's inside.  It's four more of those shark fins, and a bottle of sunscreen labeled 'San Tropez Tanners by Ban de Soleil.'"
 
 
zj-bg11 is undescribed scenery inside zj-cabinet.  Understand "san tropez tanners by ban de soleil" as zj-bg11. The printed name of zj-bg11 is "San Tropez Tanners by Ban de Soleil".
zj-bg11 can be zj-looted.
instead of examining zj-bg11:
    if zj-cabinet is closed:
        say "You can see San Tropez Tanners by Ban de Soleil in the cabinet, but not well enough to make out any details.";
    otherwise:
        if zj-bg11 is not zj-looted:
            move denk-cleaver to the player;
            now zj-bg11 is zj-looted;
            say "You pull out San Tropez Tanners by Ban de Soleil and examine its contents.  There are a bunch of little plastic sunbathers, a few dice, a rulebook (in French) and holy cow, a rusty meat cleaver.  That is not even a little bit safe for people in this game's intended age range.  You'd better take it with you.";
            increase the score by 1;
        otherwise:
            say "You pull out San Tropez Tanners by Ban de Soleil and examine its contents.  There are a bunch of little plastic sunbathers, a few dice, a rulebook (in French) and a cleaver-shaped rust stain where a rusty cleaver used to be."
 
 
[Default message overrides.  Flavorful!]
instead of smelling M1F4: say "Smells like disco."
Instead of pushing or pulling or turning zj-chair: say "It's fine where it is."
Instead of taking zj-bg1: say "You should just leave it where it is.  Somebody might want to play it while you're gone."