Object red_queen "red queen" has female with name "red" "queen", describe [; if (white_kitten.state == QUEEN_STATE || black_kitten.state == QUEEN_STATE) rtrue; ], description "She's a fierce little chess piece.", after [; Take: if (white_kitten.state == QUEEN_STATE) white_kitten.state = CHAIR_STATE; if (black_kitten.state == QUEEN_STATE) black_kitten.state = CHAIR_STATE; PutOn,Transfer,Insert: if (second == chess_board) "Alone on the chess board, the red queen is monarch of all she surveys."; ]; Object chess_board "chess board" Drawing_Room has supporter with name "chess" "board" "checker" "chequer" "chessboard", initial "An abandoned chess board lies on the floor.", description "It's left here from the game you were playing just now, but the pieces are all missing - the kittens will insist on playing with them."; Object hearth "hearth" Drawing_Room has scenery with name "hearth" "fire" "place" "fireplace"; Object rug "rug" Drawing_Room has concealed static supporter enterable ! general if you've found the red queen under it with name "hearthrug" "hearth-rug" "rug" "indian" "arabian" "beautiful" "soft", description "It's a beautiful rug, made in some far off country, perhaps India or Araby, wherever those might be.", before [; Take: "The rug is much too large and heavy for you to carry."; Push,Pull: "But a hearth-rug is meant to be next to the hearth!"; LookUnder: if (player in mantelpiece || player in armchair) "You're unable to reach the rug from here."; if (player in self) "You try to lift up a corner of the rug, but fail. After a while, you realise that this is because you are standing on it. How curious the world is!"; if (self hasnt general) { give self general; move red_queen to player; "You lift up a corner of the rug and, peering underneath, discover the red queen from the chess set."; } ]; Object armchair "arm-chair" Drawing_Room has static concealed supporter enterable ! general if its by the mantelpiece with name "arm" "chair" "armchair" "arm-chair", description [; print "It's a huge arm-chair, the perfect place for a kitten or a little girl to curl up in and doze. It has been pushed over to the "; if (self has general) "fireplace."; "window."; ], before [ i; Push,Pull: if (player notin Drawing_Room) "You'll have to get off ", (the) parent(player), " first."; if (white_kitten in player || black_kitten in player) "Not with a kitten in your arms!"; if (white_kitten.state == CHAIR_STATE) i = white_kitten; else if (black_kitten.state == CHAIR_STATE) i = black_kitten; if (i ~= 0) "You are about to start moving the chair when you notice that ", (the) i, " is right in the way. It's a good thing you spotted it, or you would have squashed flat the poor little thing."; if (self has general) { give self ~general; "You push the arm-chair away from the hearth."; } give self general; "You push the arm-chair over to the hearth."; Climb,Enter: move player to armchair; "You jump into the warm and comfortable arm-chair."; Take: "The chair is so heavy you ca'n't carry it."; ]; Object mantelpiece "mantelpiece" Drawing_Room has concealed supporter enterable with name "mantel" "mantelpiece", description "It's higher off the ground than your head, but it looks wide enough and sturdy enough to support you.", before [; Enter,Climb: if (player notin armchair) "The mantelpiece is much too high to climb up onto."; if (armchair hasnt general) "You can't reach the mantelpiece from here."; if (children(player) > 0) "Your hands are too full."; move player to mantelpiece; "You scramble up onto the mantelpiece."; PutOn,LetGo: if (player notin self && (player notin armchair || armchair hasnt general)) "The mantelpiece is so high that you can't reach."; ]; Object mirror "looking-glass" Drawing_Room has static concealed with name "mirror" "looking" "glass" "looking-glass", description [; if (player in mantelpiece) "Strangely, the glass is beginning to melt away, just like a bright silvery mist."; if (player in armchair) "In the looking-glass you can see the drawing-room of the looking-glass house. What you can see is very much the same as this drawing-room, only all reversed, left for right. But you are sure that out of the corners of the glass, where you can't see, the looking-glass world is quite different from yours."; "In the looking-glass you can see the ceiling of the drawing-room of the looking-glass house. It looks much the same as the ceiling of your drawing-room."; ], before [; if (action ~= ##Examine or ##ThrownAt or ##Reflect && player notin mantelpiece) "You can't reach the looking-glass from where you're standing."; Touch,Pull,Push: "Your hand goes right through the silvery mist!"; ThrownAt: "You don't want seven years' bad luck, do you?"; Enter: ! Really, move Alice to the looking-glass house. deadflag = 2; "Your hand goes right through the silvery mist, and in another moment the rest of you follows, and you are through the glass..."; ]; Object worsted "ball of worsted" Drawing_Room ! general if its in a tangle with name "ball" "of" "worsted" "fine" "blue" "wool", describe [; if (white_kitten.state ~= WOOL_STATE && black_kitten.state ~= WOOL_STATE) "^A discarded ball of worsted lies on the floor here."; rtrue; ], description [; if (self has general) "It's in a terrible tangle. All that time you spent rolling it up, and now look at it!"; "It's a ball of fine blue wool, all rolled up in preparation for some embroidery."; ], before [; Untangle: give self ~general; "You're as quick as can be at rolling up balls of wool, though you say so yourself! Soon it's neat and tidy again."; ], after [; Take: if (white_kitten.state == WOOL_STATE) white_kitten.state = CHAIR_STATE; if (black_kitten.state == WOOL_STATE) black_kitten.state = CHAIR_STATE; ]; Object chess_pieces "chess pieces" Drawing_Room has scenery with parse_name [ w colour n; w = NextWord(); if (w == 'white' or 'red') { n ++; colour = w; w = NextWord(); } if (w == 'pawn' or 'rook' or 'castle' || w == 'knight' or 'horse' or 'bishop' || w == 'king' || (w == 'queen' && (colour == 'white' || rug hasnt general))) return n + 1; return 0; ], before [; "Alas, that chess piece seems to be missing. Those naughty kittens!"; ]; Object window "window" Drawing_Room has scenery with name "window" "pane", description "Outside the window it's snowing gently, and you're glad to be in here in the warmth.", before [; Open: "You wouldn't want to catch a chill, would you? Better leave the window shut."; Search: <>; ];