Child's Play

An interactive fiction by Stephen Granade (2007) - the Inform 7 source text

Section 2 - Cassie Sandoval

Cassie is a playmate in the East End of Couch. Cassie is female. The description is "That is Cassie Sandoval, she is wearing a [if Cassie is wearing the pumpkin costume]costume that makes her look like a pumpkin[otherwise]white dress that is all bright against her dark skin and her hair is captured with pink clips[end if]. Her arms are scraped up and she has some bruises on her legs[if Cassie is carrying something]. She is carrying [a list of things carried by Cassie][end if]." The base act percentage is 20. The act percentage is 20. The act increment is 15. Understand "Sandoval" or "baby" as Cassie.

Cassie wears a white dress and some pink hair clips. The description of the white dress is "It is so bright white, her mom must launder it every ten minutes." The description of some pink hair clips is "Wow those are pink." The white dress and some pink hair clips are small.

Check smelling Cassie: instead say "She smells all speedy."

Rule for pre-writing a paragraph about Cassie during Tabletime: rule succeeds.

Rule for pre-writing a paragraph about Cassie when Cassie is wearing the pumpkin costume: say "Cassie is dressed in this pumpkin costume, it is adorable. [run paragraph on]"

Rule for pre-writing a paragraph about Cassie when Parry is puzzle-allowing during Snacktime: say "Cassie is sprawled in Lisa's arms all sniffly. [run paragraph on]"

Rule for pre-writing a paragraph about Cassie when Cassie is pulled up on something (called the support):
    say "Cassie is all pulled up on [the support]. [run paragraph on]";

Rule for pre-writing a paragraph about Cassie when Cassie is gnawing something (called the mastication):
    say "Cassie has [the mastication] in her mouth. [run paragraph on]";

Rule for pre-writing a paragraph about Cassie when Cassie is carrying something (called the item):
    say "Cassie has hold of [the item] and keeps [one of]fiddling with[or]shaking[purely at random] [it-them]. [run paragraph on]";

Rule for pre-writing a paragraph about Cassie:
    say "Cassie is looking around for mischief to make. [run paragraph on]";

Instead of Cassie giving something to the player: if Cassie is present, say "Cassie offers you [the noun] but pfft, like you want to [one of]be in her debt[or]owe her anything[purely at random]."

Instead of Cassie giving something to a playmate: if Cassie is present, say "Cassie tries giving [the noun] to [the second noun] but [the second noun] ignores the offer."

Instead of showing or giving something to Cassie when Cassie is carrying something (called the item) and Cassie is active:
    say "You show [the noun] to Cassie who looks at [it-them of the noun] and then shows you [the item] in response."

Instead of showing or giving something to Cassie when Cassie is active:
    say "You show [the noun] to Cassie and she laughs happily."

[Start with Cassie pulled up on the east grey couch so the player can see her cruise and know that such an action is possible.]
Cassie is pulled up on the east grey couch.

After visiting the East End of Couch for the first time:
    if Cassie is in the East End of Couch begin;
        cruise Cassie to the west and hold the middle grey couch;
        announce Cassie cruising to the west letting go of the east grey couch and holding the middle grey couch;
        now Cassie is active;
    end if.

To announce Cassie cruising to (goal - a direction) letting go of (the old support - a thing) and holding (the new support - a thing):
    if Cassie was recently present, say "Cassie [one of]cruises[or]moves[purely at random] hand over hand along [the old support] to [the goal] and is gone[note kid-hint-giving].";
    if Cassie is present, say "Cassie comes cruising in from [the opposite of the goal] holding on to [the new support]."

This is the CS taking report rule:
    if 1 out of 6, say "Cassie sees [the noun] and decides she has to have [it-them] and so she takes [it-them]";
    otherwise say "Cassie [takes] [the noun][if 1 out of 3] off the floor[otherwise if 1 out of 3] excitedly[end if]";
    if 1 out of 6, say ", she is so grabby";
    say ". [run paragraph on]";

This is the CS dropping report rule:
    let switch-value be a random number from 1 to 3;
    if switch-value is 1, say "Cassie drops [the noun] forcefully";
    if switch-value is 2, say "Cassie throws [the noun] at the ground[if 1 out of 3] and unsurprisingly she hits her target";
    if switch-value is 3, say "Cassie [one of]throws[or]tosses[purely at random] [the noun] up [if 1 out of 3]in the air [end if]and [it-them] falls[if 1 out of 4] and Cassie all laughs";
    say "[note randomness-sux]. [run paragraph on]";

This is the CS going report rule:
    if Cassie was recently present or Cassie is present begin;
        let p be a random parent person in the last location of Cassie;
        [This next statement is to hack around a bug: if you print the name of the mom, it's printed as "mom" instead of "the mom"]
        if p is the mom, now p is nothing;
        if 1 out of 2 and Cassie was recently present begin;
            say "[Cassie possibly making noise when moving]Cassie [if the just-released item is not nothing]lets go of [the just-released item] and [end if][if 1 out of 3 and p is not nothing]looks up at [the p] to orient herself and [end if]falls forward onto her hands and then she is [if 1 out of 3]all [end if]crawling off to [the direction tried of Cassie][if 1 out of 4] and is gone[end if]";
        otherwise;
            say "[Cassie possibly making noise when moving]Cassie [if Cassie is not present and the just-released item is not nothing]lets go of [the just-released item] and [end if][if 1 out of 3 and p is not nothing and Cassie is not present]looks up at [p] to orient herself and [end if][one of]zips[or]zooms[or]crawls[purely at random] ";
            if Cassie is present, say "in from [the opposite of the direction tried of Cassie][if 1 out of 4] and sits down all pleased";
            otherwise say "off to [the direction tried of Cassie]";
        end if;
        say "[note randomness-sux]. [run paragraph on]";
    end if.

This is the CS sitting down report rule:
    let switch-value be a random number from 1 to 3;
    if switch-value is 1, say "Cassie lets go of [the previous-support] and falls backwards and before she hits the ground she bends her knees and sits";
    if switch-value is 2, say "Cassie lets go of [the previous-support] and falls onto her diaper and is all [one of]'eee ba ba ba'[or]chortling[purely at random] as she does so";
    if switch-value is 3, say "Cassie has this shifty grin [if 1 out of 6]as if to say 'watch this!' [end if]and she lets go of [the previous-support] and sits";
    say "[note randomness-sux]. [run paragraph on]";

Report Cassie chewing: if Cassie is present, say "Cassie [one of]shoves [the noun] in her mouth[or]chews on [the noun][purely at random][if 1 out of 5] with gusto[end if][note randomness-sux]."; stop the action.

Report Cassie stopping chewing:
    if Cassie is not present, stop the action;
    if 3 out of 5, say "Cassie [one of]yanks[or]pops[purely at random] [the noun][if 1 out of 5] that she was chewing on[end if] out of her mouth";
    otherwise say "Cassie stops chewing [if 1 out of 4]on [end if][the noun] and spits it into her hands[if 1 out of 5], I guess she used up all of the flavor[end if]";
    say "[note randomness-sux]."

Report Cassie upstanding using:
    if Cassie is not present, stop the action;
    let switch-value be a random number from 1 to 3;
    if switch-value is 1, say "Cassie grabs [if 1 out of 4]hold of [end if][the noun] and pulls herself up[if 1 out of 3], then she [one of]smiles[or]babbles happily[purely at random][end if]";
    if switch-value is 2, say "Cassie pulls [if 1 out of 3]herself [end if]up on [the noun][if 1 out of 6] and then tries to keep climbing up but she is now as high as she can go[end if]";
    if switch-value is 3, say "Cassie goes hand over hand up [the noun] until she is standing";
    if 1 out of 6, instead say " and Lisa calls out, 'Oh, honey, be careful, you don't want to fall and hurt yourself. Please?'";
    otherwise instead say "[note randomness-sux]."

Report Cassie entering:
    if Cassie is not present, stop the action;
    instead say "Cassie climbs onto [the noun]."

Report Cassie exiting:
    if Cassie is not present, stop the action;
    say "Cassie climbs down off of [the noun]";
    if Cassie is on something (called the platform), say " and onto [the platform]";
    instead say "."

CS hint-giving rules is a rulebook.

A CS hint-giving rule when Cassie is standing:
    try Cassie sitting down;
    move the squishy ball to Cassie;
    change the base act percentage of Cassie to 100;
    change the act percentage of Cassie to 100;
    rule succeeds.

A CS hint-giving rule when Cassie and Zoe are not co-located:
    let destination be the location of Zoe;
    let aim be the best route from the location of Cassie to destination;
    if aim is a direction, try Cassie going aim.

A CS hint-giving rule when Cassie and Zoe are co-located:
    if Cassie is present begin;
        try Cassie giving the squishy ball to Zoe;
        choose row with a baby name of Cassie in the Table of Baby State Machines;
        change machine entry to CS State Rules;
        change the base act percentage of Cassie to 20;
        change the act percentage of Cassie to 20;
    end if;
    rule succeeds.

CS state rules is a rulebook.

[Ew, this is nasty. But it lets me hack around "a random playmate in the location of Cassie who is not Cassie" not working.]
Definition: a person is not-Cassie-baby:
    if it is the player, decide yes;
    if it is a playmate and it is not Cassie, decide yes;
    decide no.

A CS state rule when Cassie is on the tall plastic block (this is the Cassie does a death-defying leap rule):
    if Cassie is present, say "Cassie giggles and leaps off of the tall block and that would be okay if she didn't then smack her face into the floor. [run paragraph on]";
    otherwise say "You suddenly hear this heavy thud which must be Cassie leaping off the tall plastic block. [run paragraph on]";
    have Cassie get hurt;
    rule succeeds.

A CS state rule when Cassie is on the tall plastic block (this is the Cassie climbs down gently from the tall plastic block rule):
    if Cassie and the bugish plastic block are co-located begin;
        try Cassie entering the bugish plastic block;
        now the act percentage of Cassie is 100;
    end if;
    rule succeeds.

A CS state rule when Cassie is on the bugish plastic block (this is the Cassie climbs up or down the medium block rule):
    [Don't let Cassie climb up if the player's on a taller block]
    if Cassie and the tall plastic block are co-located and the player is not on the tall plastic block begin;
        try Cassie entering the tall plastic block;
        now the act percentage of Cassie is 100;
        rule succeeds;
    otherwise if Cassie and the short plastic block are co-located;
        try Cassie entering the short plastic block;
        now the act percentage of Cassie is 100;
        rule succeeds;
    otherwise;
        try Cassie getting off the bugish plastic block;
        rule succeeds;
    end if;

A CS state rule when Cassie is on the short plastic block (this is the Cassie climbs up or down the short block rule):
    [Don't let Cassie climb up if the player's on a taller block]
    if Cassie and the bugish plastic block are co-located and the player is not on the bugish plastic block and the player is not on the tall plastic block begin;
        try Cassie entering the bugish plastic block;
        now the act percentage of Cassie is 100;
        rule succeeds;
    otherwise;
        try Cassie getting off the short plastic block;
        rule succeeds;
    end if.

A CS state rule when Cassie and the short plastic block are co-located during Snacktime (this is the Cassie climbs up on the short block rule):
    try Cassie entering the short plastic block;
    now the act percentage of Cassie is 100;
    rule succeeds.

The Cassie climbs up on the short block rule is listed after the Cassie climbs up or down the short block rule in the CS state rulebook.

A CS state rule when Cassie is carrying anything (this is the Cassie shares the wealth rule):
    if 2 out of 10 and Cassie is not alone begin;
        let item be a random thing carried by Cassie;
        let target be a random not-Cassie-baby person in the location of Cassie;
        if target is Zoe and Marion encloses the backpack begin;
            [Don't let Cassie solve this puzzle for the player by accident]
            do nothing;
        otherwise;
            try Cassie giving item to target;
            rule succeeds;
        end if;
    end if.

A CS state rule when Cassie is carrying anything (this is the Cassie drops her inventory rule):
    if 2 out of 8 begin;
        try Cassie dropping a random thing carried by Cassie;
        rule succeeds;
    end if.

A CS state rule when Cassie is carrying anything (this is the Cassie stops chewing rule):
    if Cassie is gnawing anything (called the mastication) begin;
        try Cassie stopping chewing the mastication;
        rule succeeds;
    end if.

A CS state rule when Cassie is carrying anything (this is the Cassie chews on her inventory rule):
    if 2 out of 6 begin;
        try Cassie chewing a random thing carried by Cassie;
        rule succeeds;
    end if.

A CS state rule when Cassie is carrying anything (this is the Cassie plays with her inventory rule):
    if Cassie is not present, rule succeeds;
    let target be a random thing carried by Cassie;
    if 2 out of 5 begin;
        if 1 out of 2, say "Cassie gives [the target] a [if 1 out of 6]good hard [end if]shake.";
        otherwise say "Cassie shakes [the target].";
    otherwise;
        let switch-value be a random number from 1 to 3;
        if switch-value is 1, say "Cassie takes [the target] and kinda [one of]fiddles[or]plays[purely at random] with it.";
        if switch-value is 2, say "Cassie plays with [the target].";
        if switch-value is 3, say "Cassie holds [the target] first in one hand and then in the other hand.";
    end if;
    rule succeeds.

A CS state rule when Cassie is standing (this is the Cassie cruises or climbs rule):
    if 1 out of 2 and Cassie is pulled up on something (called the support) begin;
        if 3 out of 4 and the support is suitable for cruising begin;
            sort the Table of Cruising Possibilities in random order;
            choose row with a Primary of support in the Table of Cruising Possibilities;
            cruise Cassie to the Direction entry and hold the reciprocal entry;
            announce Cassie cruising to the Direction entry letting go of the primary entry and holding the reciprocal entry;
        otherwise;
            if Cassie is present, say "Cassie tries to [one of]go[or]climb[purely at random] higher up [the support] but she is already standing and can't go any higher[if 1 out of 6], maybe if she stays there long enough she will grow taller[end if].";
        end if;
        rule succeeds;
    end if.

A CS state rule when Cassie is standing (this is the Cassie lets go of a supporter rule):
    try Cassie sitting down;
    rule succeeds.

A CS state rule (this is the Cassie pulls up on parents during Playtime rule):
    if a parent person (called p) is in the location of Cassie and Playtime is happening and 1 out of 3 begin;
        [Don't let a kid solve the Parry rocking puzzle]
        if p is not Parry or Playtime is not happening begin;
            try Cassie upstanding using p;
            rule succeeds;
        end if;
    end if.

A CS state rule (this is the Cassie pulls up or climbs rule):
    if a random supporter is in the location of Cassie begin;
        let target be a random supporter in the location of Cassie;
        if target is the gliding rocking chair and Playtime is happening begin;
            do nothing;
        otherwise if target is the footstool and Snacktime is happening;
            do nothing;
        otherwise if target is the short plastic block or target is the bugish plastic block or target is the tall plastic block;
            do nothing;
        otherwise if 3 out of 10 and target is not nothing;
            if target is suitable for pulling up on begin;
                try Cassie upstanding using the target;
            otherwise if Cassie is present;
                say "Cassie tries to climb [the target] but there are not really any handholds[if 1 out of 6] and so she gives up[end if].";
            end if;
            rule succeeds;
        end if;
    end if.

A CS state rule (this is the Cassie picks up stuff rule):
    if 3 out of 7 begin;
        let position be the location of Cassie;
        if a pickupable thing is in position begin;
            let target be a random pickupable thing in position;
            try Cassie taking target;
            rule succeeds;
        end if;
    end if.

A CS state rule when Cassie and the short plastic block are not co-located during Snacktime (this is the Cassie heads for the short block rule):
    if Cassie is ready to leave begin;
        let way be the best route from the location of Cassie to the location of the short plastic block;
        if way is a direction, try Cassie going way;
        rule succeeds;
    end if.

The Cassie heads for the short block rule is listed after the Cassie picks up stuff rule in the CS state rulebook.

A CS state rule (this is the Cassie wanders rule):
    if 2 out of 4 and Cassie is ready to leave begin;
        have Cassie wander;
        rule succeeds;
    end if.

A CS state rule (this is the Cassie eyeing the plastic block rule):
    if Cassie and the tall plastic block are co-located begin;
        if Cassie is present, say "Cassie looks at the tall plastic block and then she sidles away from it.";
        rule succeeds;
    end if.

A CS state rule (this is the Cassie babbling rule):
    if Cassie is present begin;
        if 1 out of 3, say "Cassie says '[one of]B-b-b-b-b-buh buh buh.'[or]Eeeeeee eeee ee-ah!'[or]Pbbbbbth.'[purely at random]";
        otherwise say "Cassie [one of]makes these noises like a wounded pteranodon and smiles[or]babbles happily[purely at random].";
    end if;
    rule succeeds.

The short plastic block is a pushable between rooms enterable supporter. The description is "It is red and it is about as wide as you are and as tall as your head is high when you are crawling around." Understand "red" or "small" as the short plastic block.

[Can't call this the medium plastic block -- that would interfere with the medium size designation.]
The bugish plastic block is a pushable between rooms enterable supporter. The description is "It is green and it is about as wide as you are and as tall as your head is high when you are sitting down." The printed name is "medium plastic block". Understand "medium" or "green" as the bugish plastic block.

The tall plastic block is a pushable between rooms enterable supporter. The description is "It is blue and it is about as wide as you are and tall as your head is high when you are pulled up." Understand "blue" or "large" as the tall plastic block. The tall plastic block is suitable for pulling up on and not suitable for cruising.

After dropping when the player is on the short plastic block or the player is on the bugish plastic block or the player is on the tall plastic block: move the noun to the location of the player; continue the action.

Instead of jumping when the player is on the short plastic block or the player is on the bugish plastic block: say "Jumping would probably hurt you, so instead you climb down."; silently try exiting; try looking.

Instead of jumping when the player is on the tall plastic block, say "Wow that would end with your face all planted and full of pain, let's not do that."

[For players' convenience]
Before going a direction (called way) when the player is on the short plastic block:
    if way is not down and way is not up begin;
        say "(first climbing off of the short block)[command clarification break]";
        silently try exiting;
        if the player is on the short plastic block, stop the action;
    end if.

[Access rules for the blocks]

A height reachability rule when the reaching object is the short plastic block (this is the short block reachability rule):
    if the reaching actor is zeroth-height, continue action processing;
    if the reaching actor is on the short plastic block, continue action processing;
    if the reaching actor is on the bugish plastic block, continue action processing;
    if the reaching actor is the player, say "You have short arms, you can't reach the short plastic block from [if the player is quarter-height-or-higher]up[otherwise]down[end if] here.";
    stop action processing.

A height reachability rule when the reaching object is the bugish plastic block (this is the bugish block reachability rule):
    if the reaching actor is zeroth-height, continue action processing;
    if the reaching actor is on the short plastic block, continue action processing;
    if the reaching actor is on the bugish plastic block, continue action processing;
    if the reaching actor is on the tall plastic block, continue action processing;
    if the reaching actor is the player, say "You have short arms, you can't reach the medium plastic block from [if the player is quarter-height-or-higher]up[otherwise]down[end if] here.";
    stop action processing.

A height reachability rule when the reaching object is the tall plastic block (this is the tall block reachability rule):
    if the reaching actor is zeroth-height, continue action processing;
    if the reaching actor is on the bugish plastic block, continue action processing;
    if the reaching actor is on the tall plastic block, continue action processing;
    if the reaching actor is pulled up on the tall plastic block, continue action processing;
    if the reaching actor is the player, say "You have short arms, you can't reach the tall plastic block from [if the player is half-height-or-higher]up[otherwise]down[end if] here.";
    stop action processing.

[This rule is to get around the "Instead of entering/climbing something suitable for pulling up on" rules]
Instead of entering the tall plastic block:
    abide by the check entering rules;
    abide by the carry out entering rules;
    if the actor is present, abide by the report entering rules.

Instead of upstanding using the short plastic block, try entering the short plastic block.

Instead of climbing or upstanding using the tall plastic block when the player is on the short plastic block or the player is on the bugish plastic block or the player is on the tall plastic block, try entering the tall plastic block instead.

Instead of entering the bugish plastic block when the player is not on the short plastic block and the player is not on the tall plastic block and the player is not on the bugish plastic block, say "The block is just short enough that you cannot pull yourself up on it and tall enough that you cannot really climb up on it from the floor."

Instead of upstanding using the bugish plastic block, try entering the bugish plastic block.

Instead of entering the tall plastic block when the player is not on the bugish plastic block and the player is not on the tall plastic block (this is the tall block is way too tall to enter rule), say "The block is so tall and you are not high enough to get up on it."

Instead of entering the tall plastic block when the player is on the short plastic block (this is the tall block versus the short block rule), say "Since you are on the short plastic block you are at this weird height where the tall block is too tall to climb up on but it is too short to really pull up on."

The tall block versus the short block rule is listed before the tall block is way too tall to enter rule in the instead rulebook.

Report entering the short plastic block for the first time: instead say "You start out pulling up on the block but it is so short you fall forward onto it and then you are sitting on it a little ways above the ground[note those-annoying-blocks]."

Report entering the bugish plastic block: instead say "You carefully climb onto the medium plastic block, it is a ways off the ground."

Report entering the tall plastic block: instead say "You clamber up onto the tall plastic block, you are getting so high."

[For some reason, I7's "standard report entering rule" fires whether or not the player is actually in the room. Fix that for the plastic blocks.]
Report someone entering a supporter:
    if the person asked is not present, stop the action;
    continue the action.

[An "instead of getting off the tall plastic block" rule will block the player from *ever* getting off the tall plastic block. I hack around that with a flag.]

The tall plastic block can be climb-blocking or climb-allowing. The tall plastic block is climb-blocking.

Before entering the bugish plastic block when the player is on the tall plastic block: now the tall plastic block is climb-allowing.

After entering the bugish plastic block: now the tall plastic block is climb-blocking; continue the action.

Instead of getting off the tall plastic block when the tall plastic block is climb-blocking, say "The tall block is way tall and you would hurt yourself if you tried to get down from it directly."

Instead of getting off the tall plastic block when the tall plastic block is climb-blocking and the bugish plastic block is present:
    silently try the player entering the bugish plastic block;
    say "The tall block is way tall and you would hurt yourself if you tried to get down from it directly[if the player is on the bugish plastic block] so instead you climb onto the medium block[end if].";
    if the player is not on the bugish plastic block, now the tall plastic block is climb-blocking.

Report someone getting off the short plastic block:
    if the person asked is present, say "[The person asked] climbs down off of the short plastic block.";
    rule succeeds.

Report someone getting off the bugish plastic block:
    if the person asked is present, say "[The person asked] climbs down off of the medium plastic block.";
    rule succeeds.

Instead of going up when the player is on the short plastic block and the bugish plastic block is present, try entering the bugish plastic block.

Instead of going up when the player is on the bugish plastic block and the tall plastic block is present, try entering the tall plastic block.

Instead of pushing or pulling Cassie when Cassie is standing and Snacktime is happening:
    if a parent person is present, continue the action; [Let the default rule handle this]
    say "You look around and there are no parents right here so you shove Cassie and she topples over with a squeak of surprise. Her head goes all bounce on the floor. [run paragraph on]";
    have Cassie get hurt.

To have Cassie get hurt:
    say "Cassie shrieks, it is the loudest you have ever heard her be. I guess she is not the super-tough baby she thinks she is[note Cassie-falls-down]. Anyway Lisa leaps up and runs to Cassie and Parry leaves his tumbler and runs to Cassie too, they scatter the plastic blocks around the room in their haste. 'Baby, baby, it's okay, shh,' you hear Lisa saying and then Parry is [if Cassie is present]also checking Cassie over and shining this little flashlight in her eyes and [end if]saying, 'I think she's okay, she's just scared. Her pupillary response is just fine.'";
    [If adults are talking, cut their convo short]
    cut chatter short;
    [Scatter the blocks]
    let block-room be the location of the tall plastic block;
    let end-spot be a random room adjacent to block-room;
    if no person is on the short plastic block, move the short plastic block to end-spot;
    let end-spot be a random room adjacent to block-room;
    if no person is on the bugish plastic block, move the bugish plastic block to end-spot;
    now Cassie is in the location of the tall plastic block;
    now Cassie is passive;
    now Lisa is in the location of Cassie;
    now Parry is in the location of Cassie;
    Lisa soothes more in one turn from now;
    now Parry is puzzle-allowing.

At the time when Lisa soothes more:
    say "Lisa is still saying 'It'll be okay, Cassie, it'll be okay' and Parry is saying 'Breathe, Cassie, breathe' and Cassie is now taking big hiccuping breaths.";
    Cassie is okay in one turn from now.

At the time when Cassie is okay:
    say "Cassie finally is all better and is laughing some and Lisa says, 'Thanks, Parry, I appreciate your help' and Parry says, 'No problem.' And they go back to their seats";
    if the heavy tumbler is in the West End of Couch begin;
        if the heavy tumbler is damp or something (called floater) is in the heavy tumbler begin;
            if the location is the West End of Couch, say ". You see Parry pick up his tumbler for a drink and he lifts it to his lips and says ";
            otherwise say ". Then you hear Parry say ";
            say "'Ugh! [if something is in the heavy tumbler]There's [a floater] in my tumbler[otherwise]My tumbler's damp[end if]!' and everyone laughs at Parry. Becca says, 'That's why you don't put things where the kids can [if something is in the heavy tumbler]get to[otherwise]chew all over[end if] them!' And Parry sighs";
            if the location is the West End of Couch or the location is By the Cabinet, say " and you see him put";
            otherwise say " and you hear the wooden thunk of Parry putting";
            say " the tumbler way up on the wood cabinet in the corner between the couch and the loveseat and definitely out of your reach[note ruined-tumbler]";
            now the heavy tumbler is on the cabinet top;
            if the coaster is on the cabinet top, remove the coaster from play;
            record 5 points for "getting the tumbler on the cabinet";
        end if;
    end if;
    say ".";
    now Cassie is active;
    now Lisa is in the North End of Loveseat;
    now Parry is in the West End of Couch;
    now Parry is puzzle-blocking;
    change the chatter status to ready to act.

The source code to Child's Play is licensed under a Creative Commons NonCommercial Sampling Plus 1.0 License.