-! *********************************************************************
-! SPECIAL.INF -- Add-on for SPIRITWRAK
-! Contains: 'specials' that I wanted to keep separate from
-! the other 'city-based' .INF files (Atrii, NPC homes)
-! *********************************************************************
-
-! ----------------- (Frobar's home) -------------------------
-
-Object FROBAR_Foyer "Entrance Foyer"
- with description "You are in the Entrance Foyer of a \
-small but tasteful home. The exit is to the southwest. \
-The general area is tastefully done in maroon carpeting \
-and brass fixtures. Another room lies to the north.",
- name "maroon" "carpeting" "brass" "fixtures",
- sw_to FROBAR_Ent,
- out_to FROBAR_Ent,
- n_to FROBAR_Parlor,
- has light;
-
-Object FROBAR_Parlor "Parlor"
- with description "You are in a very decorative parlor. \
-Various furnishings of high quality are arranged around \
-an enormous rug with intricate golden symbols in the weave \
-design. Open doorways lead south, north, east and west.",
- name "rug" "doorways" "furnishings" "symbols",
- s_to FROBAR_Foyer,
- n_to FROBAR_Bedroom,
- e_to FROBAR_Study,
- w_to FROBAR_Lounge,
- has light;
-
-Object frobar_plant "large potted plant" FROBAR_Parlor
- with name "plant" "large" "potted",
- initial "A large potted plant sits in one corner.",
- description "A well-tended house-plant.",
- before [;
- Cast:
- if (the_spell_was == throck_spell) {
- "The plant seems even healthier now.";
-! if (Frobar in FROBAR_Bedroom)
-! (couldn't think of a proper reaction...:)
- }
- ],
- has static;
-
-Object FROBAR_Lounge "Lounge"
- with description "A large room here apparently serves as a lounge \
-for entertaining. The walls and furniture all have interesting \
-design work that gives an impression of dignified age. A doorway \
-heads east.",
- name "furniture" "doorway",
- e_to FROBAR_Parlor,
- has light;
-
-Object FROBAR_Study "Study"
- with description "This is a study room with fancy wood paneling and \
-plush carpeting. There is an exit to the west.",
- name "wood" "paneling" "carpeting",
- w_to FROBAR_Parlor,
- has light;
-
-Nearby FROBAR_shelves "large bookshelf"
- with name "shelves" "shelf" "bookshelf",
- initial "A large bookshelf takes up most of the north wall.",
- description "It's filled with odds and ends, mostly uninteresting.",
- capacity 30,
- has static supporter;
-
-Object FROBAR_Journal "plain journal" FROBAR_shelves
- with name "journal" "plain",
- ! weight 15,
- size 15,
- description "This is a short journal of notes that \
-Frobar was keeping. The contents are quite dull, mostly \
-consisting of entries like ~Remember to water plant~ and \
-so forth. In fact, the only non-trivial entry follows:^^\
-~Perhaps today I will go visit Barsap's latest creation. \
-Then again, maybe I won't. This so-called 'Gambit' of his \
-is supposed to be some silly diversion where people can \
-hop around floating platforms trying to reach the southeast \
-corner \
-platform on the bottom level, just so they can get \
-teleported back to the top, and start all over again! \
-Can this be a monetarily beneficial thing? I doubt it.~";
-
-! (twisted -- four ancient ones)
-Object p5 "twisted parchment" FROBAR_shelves
- class parchment_class,
- with name "twisted",
-description "~...understand. I, like many of the Order, \
-have understood that the greatest Saints of our Order were \
-the Three, those Three that we know as the Ancient Ones. \
-Why then, do I find in ancient cairns, in hidden temples, \
-and in versions of the Scriptures found in unsettled lands, \
-that _four_ beings that called themselves the Ancient Ones \
-did do battle with evil and were defeated? This surely is \
-not to be believed, but I...~";
-
-Object FROBAR_Desk "large wood desk" FROBAR_Study
- with name "desk",
- description "A massive wood desk carved from a single block of wood.",
- capacity 20,
- has static supporter;
-
-Object FROBAR_Bedroom "Bedroom"
- with description "A nice cozy bedroom. The exit is south.",
- s_to FROBAR_Parlor,
- has light;
-
-Object FROBAR_bed "large bed" FROBAR_Bedroom
- with name "bed",
- description "A large comfortable-looking bed.",
- before [;
- LookUnder: "Sorry, no monsters here.";
- ],
- has static enterable supporter;
-
-!Object FROBAR_Painting "large painting" FROBAR_Bedroom
-! with name "painting",
-! initial "There is a large painting hanging on the wall.",
-! description [;
-! if (self hasnt general)
-! "It appears to be an oil painting of a \
-! scroll on a table. A small note on the frame says, \
-! ~Still-life with Scroll, -FF, 791~";
-! else
-! "It appears to be an oil painting of a \
-! table. A small note on the frame says, \
-! ~Still-life, -FF, 791~";
-! ],
-! before [;
-! Touch, Rub, Push:
-! if (self hasnt general) {
-! give self general;
-! move painted_scroll to player;
-! Achieved(23);
-! print "As you touch the painting, your hands \
-!run across the scroll, and the oil takes on a three-dimensional \
-!quality! You ignore the strange sensations as you reach \
-!into the painting, and withdraw the scroll";
-! if (Frobar in FROBAR_Bedroom)
-! "! Frobar watches the events over your \
-!shoulder, and seems puzzled. ~Now, why didn't I ever think to try \
-!that,~ he muses.";
-! else "!";
-! }
-! else
-! "The painting seems to be nothing more than \
-!an oil painting now.";
-! ],
-! has static;
-
-! ----------------- (Thief's home) -------------------------
-
-Object THIEF_Bottom_of_staircase "Wondrous Stairway"
- with description "An enormous spiral staircase seems to wind miles \
-above your head in this curious column-like chamber. Strange \
-points of light brighten the chamber from above. \
-To the west is a small exit.",
- name "points" "light" "staircase" "stairway" "stairs",
-! TODO -- fix this weirdness...
- u_to THIEF_Ent,
- w_to "You can't go that way.", ! but later...
- before [;
- Go:
- if (noun == u_obj)
- print "^You begin the long trek upwards. Strangely, \
- the stair seems to twist and move as you step on it, \
- turning like a corkscrew, until you are \
- graciously deposited at the top, far above your \
- previous location.^";
- ],
- has light;
-
-
-Object THIEF_Ent "Fancy Hall"
- with description "This must be an apartment or penthouse in the \
-skyscraper. You are in a very high hall, with black slate stone \
-walls that seem to reflect shadows everywhere. There is a room \
-to the north. The southern edge of this room drops off into the \
-darkness, followed by a long spiral staircase. The ceiling overhead \
-seems to have tiny points of light like a night sky.",
- name "slate" "shadows" "staircase" "points" "light",
- d_to THIEF_Bottom_of_staircase,
- n_to THIEF_Foyer,
- has light;
-
-Object THIEF_Foyer "Magnificent Foyer"
- with description "This is an exceptionally grand entrance foyer, \
-with sweeping arched ceilings and sparkling chandeliers. The \
-room is dimly lit. Open hallways lead south and west.",
- name "chandeliers",
- s_to THIEF_Ent,
- w_to THIEF_Lounge,
- has light;
-
-Object THIEF_Lounge "Fancy Lounge"
- with description "A tastefully overdone lounge with tapestries \
-and gold enamel finished walls. The room is dimly lit, although \
-you see no windows or other sources of light. Open hallways lead \
-east and west.",
- name "tapestries" "enamel",
- e_to THIEF_Foyer,
- w_to THIEF_Storeroom,
- has light;
-
-Object THIEF_Journal "short journal" THIEF_Lounge
- with name "journal",
- initial "There's an open journal sitting here.",
- ! weight 15,
- size 15,
- description "This appears to be a short collection of notes:^^\
- ~TIPS ON CRACKING THE NEW FROBOZZCO 3-DIAL COMBO LOCKS: ^\
- Remember, there's a slight flaw in the design. For every \
- correct number in the correct dial, pressing the opening button \
- with cause a small click. Dials with the correct number in the \
- wrong dial place will cause a small thunk. The lock mechanism \
- scans for correct numbers in correct places first, and then \
- for correct numbers in the wrong place in the 'remaining dials'. \
- Simple! But don't forget, closing the locks will automatically \
- lock and reset the dials!^^\
- NEW FLATHEAD PAINTING: ^\
- I've completed making the copy of the new Leonardo Flathead painting, \
- received courtesy of the Royal Museum. Glad to say my skills in \
- art forgery are undiminished -- I can barely tell the difference \
- between the two myself! I'll soon replace the original with the \
- copy, and no one will be the wiser!~";
-
-
-Object THIEF_Storeroom "Workroom"
- with description [;
- print "A sight to inspire even the most avaricious, this \
- storeroom is filled with all sorts of rare and precious treasures. \
- A hallway leads east";
- if (self hasnt general)
- print ". You notice that the west wall appears to be made of \
-solid granite";
- ".";
- ],
- name "hallway",
- e_to THIEF_Lounge,
- before [;
- Examine:
- if ((noun == w_obj) && (self hasnt general))
- "The west wall is a solid piece of granite, which \
-seems very odd, considering the other walls are clearly made of \
-slate.";
- Cast:
- if ((the_spell_was==ledak_spell) && (Painting_FAKE in self)) {
- if (Painting_REAL in self)
- print "One of the paintings";
- else print "The painting";
- remove Painting_FAKE;
- " is surrounded by a yellow glow! It crumbles into \
-dust!";
- }
- ],
- has light;
-
-Nearby THIEF_treasure "precious treasures"
- with name "treasure" "jewels" "gemstones" "artifacts",
- description "Piles of rare gemstones, precious jewelry, \
- priceless artifacts, and other treasures line the walls \
- here.",
- before [;
- Take:
- "Fortunately, your high moral standing allows you \
- the benefit of having no need for such materials of excess.";
- ],
- has scenery;
-
-Object pasta "pile of fettucini carbonari"
- with name "pile" "fettucini" "carbonari" "pasta",
- description "A large pile of fettucini dripping in \
-carbonari sauce.",
- before [;
- Eat:
- if (self hasnt general) {
- give self general;
- "You manage to stuff yourself with pasta, \
-but there's still quite a lot left.";
- }
- else
- "You've already had enough of this stuff \
-to last a lifetime. Just the thought of eating more is enough to \
-make you queasy.";
- ],
- size 16,
- has edible;
-
-Object c50 "coin" class coin_class;
-
-Object Painting_FAKE "priceless painting" THIEF_Storeroom
- with name "painting",
- plural "priceless paintings",
- short_name "priceless painting",
- description "It's a beautiful oil painting of a dark stormy \
-scene. On the horizon, you can see the edges of mountaintops. Near \
-the top of the painting, two winged figures are carrying a lone \
-individual towards a break in the clouds, where a bright white light \
-seems to emanate.",
- ! weight 25,
- size 25,
- before [;
- Drop:
- if (location == Museum_north) { ! player returned fake painting to museum!
- remove self;
- "A museum curator appears and takes the \
-painting. With an expert eye, he looks closely at it. ~This is \
-a fake! I warn you sir, art forgery is a dangerous game.~ He \
-leaves, much disgusted.";
- }
- Take:
- if (Painting_REAL in parent(self))
- "They both look so genuine! You can't decide!";
- Cast:
- if (the_spell_was == ledak_spell) {
- remove self;
- "One of the paintings is surrounded by a bright \
-yellow glow, and disintegrates!";
- }
- Search:
- if (Painting_REAL in parent(self))
- "Search which one? Goodness, you can't decide!";
- ],
- ;
-
-
-! -------------ETHEREAL PLANE OF ATRII ------------
-
-Object ATRII_1 "Ethereal Plane of Atrii"
- with description "Standing on a featureless gray plane that \
- stretches to the infinite horizon against a gray sky, you \
- can only conclude one thing -- you're on the Ethereal Plane \
- of Atrii. Well, at least it fits the description Brother \
- Palemon gave you. It seems like you could go in any \
- direction from here.",
- cant_go "An invisible force blocks your way!",
- name "plane" "horizon" "sky",
- sw_to ATRII_2,
- se_to ATRII_3,
- has light;
-
-Object ATRII_2 "Ethereal Plane of Atrii"
- with description "Flat, featureless gray is in every direction \
- you look. Stranger still is the upright rectangular hole in the \
- fabric of space that stands in the center of this area. \
- Otherwise, you could wander this gray dimension in any direction, \
- it seems.",
- cant_go "An invisible force blocks your way!",
- ne_to ATRII_1,
- sw_to ATRII_4,
- e_to ATRII_3,
- s_to ATRII_6,
- has light;
-
-Nearby ATRII_2_hole "rectangular hole"
- with name "hole" "rectangle" "opening",
- description "Surely you are in a place where the very laws of \
- nature and the Gods work by different rules! Here stands a \
- rectangular hole, seemingly torn out of the very space you \
- stand in. You see some curious metal chamber through the \
- opening, but there is nothing behind the opening.",
- before [;
- Enter:
- print "^You step through and feel your stomach twist. \
- You stumble past a set of open metal doors into...^";
- in_atrii = 0;
- PlayerTo(Skyscraper);
- return 2; ! allow, but print nothing...
- ],
- has scenery enterable;
-
-Object ATRII_3 "Ethereal Plane of Atrii"
- with description "Flat, featureless gray is in every direction \
- you look. Stranger still is the flat, glass-like square in the \
- center of the 'floor' of this area. \
- Otherwise, you could wander this gray dimension in any direction, \
- it seems.",
- cant_go "An invisible force blocks your way!",
- nw_to ATRII_1,
- w_to ATRII_2,
- se_to ATRII_5,
- s_to ATRII_7,
- has light;
-
-Nearby ATRII_3_ice "square of ice"
- with name "square" "ice" "glass-like",
- description "It looks and feels like a perfect square of ice, \
- flush with the featureless gray surface you stand on.",
- before [;
- Enter:
- print "You step onto the square, and before you know it, your \
-surroundings shift and start to fade! You feel a \
-sudden chilling wind. The ice seems to lengthen and stretch. The \
-gray plane slowly turns white and bumpy.^";
- in_atrii = 0;
- PlayerTo(Frozen_river2);
- return 2;
- ],
- has scenery enterable;
-
-Object ATRII_4 "Ethereal Plane of Atrii"
- with description "Flat, featureless gray is in every direction \
-you look. Stranger still is the large black hole to the south. \
-Otherwise, you could wander this gray dimension in any direction, \
-it seems.",
- cant_go "An invisible force blocks your way!",
- ne_to ATRII_2,
- se_to ATRII_6,
- s_to [; <<Enter ATRII_4_hole>>; ],
- has light;
-
-Nearby ATRII_4_hole "black hole"
- with name "hole" "black",
- description "It looks like a large hole, probably twice your \
- height. It's completely black and featureless.",
- before [;
- Enter:
- print "^You step into the black hole. You stumble \
- forward, surrounded by blacker-than-night darkness.^";
- in_atrii = 0;
- PlayerTo(Subway_Tunnel);
- return 2;
- ],
- has scenery enterable;
-
-! (secret subway tunnel)
-Object Subway_Tunnel "Dark Tunnel"
- with description "You're in a large dark tunnel that seems \
- to run north and south. To the south you see light. There \
- seem to be two metal tracks running along the ground.",
- s_to GURTH_GUSPlatform,
- n_to "You walk north, and run into a invisible force!",
- before [;
- Go:
- if (noun==s_obj) {
- Achieved(25);
- print "^You step out into an underground chamber. \
- A burly uniformed figure sees you exit the tunnel and yells, \
- ~Hey, no playing in the tunnels, pal!~^";
- }
- ],
- each_turn [ i ;
- i = random(40);
- if (i > 35)
- "^You hear a rumbling noise echoed from somewhere, and \
- the entire tunnel seems to shake! Then, all is quiet.";
- if (i == 17 or 18) {
- deadflag = 1;
- "^Suddenly, without warning, a huge train car appears \
- heading south! It plows straight into you!";
- }
- if (i==6 or 7)
- "^Suddenly, a huge train car appears heading north! \
- You barely avoid getting pulverized! Strangely, \
- you watch as the train continues north, and \
- seems disappear into blackness nearby. It's as \
- though the train was simply removed from the tunnel \
- somehow.";
- ],
-;
-
-Nearby ST_tracks "tracks"
- with name "tracks" "tracks" "metal",
- description "Two long metal tracks, running north and south. \
- There's something oddly familiar about them.",
- has scenery;
-
-Object ATRII_5 "Ethereal Plane of Atrii"
- with description "Flat, featureless gray is in every direction \
- you look. It seems like you could go in any \
- direction from here.",
- cant_go "An invisible force blocks your way!",
- nw_to ATRII_3,
- sw_to ATRII_7
- has light;
-
-Object p9 "ripped parchment" ATRII_5
- class parchment_class,
- with name "ripped",
-description "~...now know that the Rod we believe is \
-the Rod of the Ancients, sequestered in our Monastery, is \
-an artifact of evil! Imprisoned inside, \
-true to the scriptures (at least this much is, what \
-isn't, I can nowadays say is much) we know, is Anabais. \
-What is worse, is that this very Rod is an artifact of \
-evil power created by Anabais, in the image of the True \
-Rod of the Ancients, which he planned to use to aid \
-him in his evil gains! \
-Were that evil one free again, and had about him both \
-his brothers and his Rod of Evil, we would witness a \
-reckoning \
-greater than Quendor has ever known! I take relief in \
-the knowledge that he will never be freed, and he will \
-never regain his implement of evil; only an innocent \
-being can break the false rod and \
-free him from his prison, and subsequently, \
-the false rod cannot be regained by Anabais through his \
-own will, or another evil being. \
-In fact, only a being of good again can gather \
-the resulting pieces, and only through this being \
-can Anabais regain his evil artifact, for...~";
-
-
-Object ATRII_6 "Ethereal Plane of Atrii"
- with description "Flat, featureless gray is in every direction \
- you look. It seems like you could go in any \
- direction from here.",
- cant_go "An invisible force blocks your way!",
- nw_to ATRII_4,
- e_to ATRII_7,
- n_to ATRII_2,
- se_to ATRII_8,
- has light;
-
-Object ATRII_7 "Ethereal Plane of Atrii"
- with description "Flat, featureless gray is in every direction \
- you look. Stranger still is the odd-shaped depression in the gray \
- plane here. \
- Otherwise, you could wander this gray dimension in any direction, \
- it seems.",
- cant_go "An invisible force blocks your way!",
- ne_to ATRII_5,
- w_to ATRII_6,
- sw_to ATRII_8,
- n_to ATRII_3,
- has light;
-
-Nearby ATRII_7_depression "depression"
- with name "depression" "cavity",
- description "It's a large elongated depression in the gray 'floor'. \
- The cavity has a flat bottom, and somewhat cigar-like shape.",
- before [;
- Enter:
- print "^You step into the depression. Your very \
- surroundings start to fade, replaced by sunlight that \
- makes you squint! The gray plane undulates and \
- buckles and turns into a great body of water \
- before your very eyes.^";
- in_atrii = 0;
- PlayerTo(sailboat); ! useful if the player 'lost' the boat at sea.
- return 2;
- ],
- has scenery enterable;
-
-Object ATRII_8 "Ethereal Plane of Atrii"
- with description "Flat, featureless gray is in every direction \
- you look. Directly overhead, you notice odd streaks of \
- light. From here, you could wander this gray dimension in any direction, \
- it seems.",
- name "streaks",
- cant_go "An invisible force blocks your way!",
- nw_to ATRII_6,
- ne_to ATRII_7,
- has light;
-
-! ----------- Special Implementor's Residence -----------
-
-Object Imp_Liv "Strange Room"
- with description [;
- print "You ";
- if (player in Imp_Curtains)
- "can't see much behind these curtains.";
- else "feel a great sense of dread! Surely, given the way \
-you got here, this must be the domicile of a dreaded Implementor! \
-The entire place feels strange and \
-alien and, well, ~modern~. There's some sort of kitchen to the \
-east. Long curtains cover what must be a window to the south.";
- ],
- number 1,
- e_to Imp_Kitchen,
- w_to Imp_door,
- s_to [; <<Enter Imp_Curtains>>; ],
- each_turn [ ;
- if (Imp in Imp_Bedroom) {
- if (Imp_Liv.number == 3) {
- StartDaemon(Imp);
- Imp_Liv.number = 4;
- }
- else "^You hear some faint noises to the west.";
- }
- ! create some noises if player in curtains
- if (player in Imp_Curtains) {
- if (Imp in Imp_Liv)
- "^You hear some faint noises nearby.";
- if (Imp in Imp_Kitchen)
- "^You hear some faint noises to the east.";
- }
- ],
- time_left 0,
- time_out [;
- ! if player hasn't 'listened' twice to start Imp,
- ! start him anyway (otherwise, in truth, player
- ! would be permanently stuck in (my) apartment.
- if (Imp_Liv.number < 4) {
- StartDaemon(Imp);
- Imp_Liv.number = 4;
- }
- ],
- before [;
- ! if player actually listens, better noises...
- Listen:
- if (Imp in Imp_Bedroom) {
- if (Imp hasnt general) { ! i.e. -- awake
- if (Imp_Liv.number == 1) {
- Imp_Liv.number = 2;
- "It sounds like someone is talking to himself to \
-the west. You hear: ~Now, wait just a second here, the player object \
-is gone! How did that happen?~";
- }
- if (Imp_Liv.number == 2) {
- Imp_Liv.number = 3;
- "It sounds like someone is talking to himself to \
-the west. You hear: ~That can't be right. I must be getting tired. \
-Think I'll make myself a nice hot cup of coffee.~";
-! on next turn via Imp_Liv.each_turn, Imp daemon will be started...
- }
- ! otherwise, Imp has already made his rounds and
- ! returned to bedroom, _not_ falling asleep
- "You hear someone whistling a merry tune to the west.";
- }
- else
- "You hear someone snoring loudly to the west.";
- }
- if (Imp in Imp_Liv) {
- if (Imp.number == 1)
- "You hear someone walking nearby. The footsteps \
-soon fade to the east.";
- if (Imp.number == 4)
- "You hear someone walking nearby. The footsteps \
-soon fade to the west.";
- }
- if (Imp in Imp_Kitchen) {
- ! This assumes the daemon will run before the player turn.
- if (Imp.number == 2) {
- switch (Imp.weight) {
- 118: print "You hear an irritated voice say, \
-~What happened to my coffee maker?~ Slightly softer, you \
-hear ~Well, I guess I'll have that iced tea.~";
- 119, 122: print "You hear a voice to the east say, \
-~Looks like I've got coffee, thank goodness.~";
- 121: print "You hear a voice to the east say, \
-~Great, I'm all out of coffee. Good thing I still have some \
-iced tea.~";
- }
- " Shortly after this, you hear sounds of someone to \
-the east starting some kitchen activity.";
- }
- else "You hear some brief busy noises from the west, \
-followed by what sounds like someone drinking something. Shortly \
-thereafter, you hear the sounds of someone walking into the area \
-from the east.";
- }
- ],
- has light;
-
-Nearby Imp_Curtains "set of curtains"
- with name "curtain" "curtains",
- description "Some heavy-cloth curtains along the south wall.",
- before [;
- Open: "You draw back the curtains and see a sight that \
-beggars the mind! Through the windows, the night sky falls across \
-some unknown landscape, dotted with strange bright points of light. \
-Tall buildings seem to be everywhere. Whatever world you've stumbled \
-onto, it certainly is not your own! You hastily close \
-the curtains.";
- Enter: print "In an attempt to hide, you part the curtains. ";
- ],
- has static enterable;
-
-Object Imp_Kitchen "Strange Kitchen"
- with description "A room that could be a kitchen, \
-if it didn't seem completely strange. Harsh bright lights seem to \
-be coming from some unknown source. Strange-looking white countertops and \
-cabinets fill the area, along with a curious white closet-like object. \
-A room lies to the west.",
- name "cabinet" "cabinets" "closet" "refrigerator" "countertops",
- w_to Imp_Liv,
- has light;
-
-Object Coffee_maker "curious machine" Imp_Kitchen
- with name "machine" "curious",
- description "A white plastic device that seems to \
-encase a glass pitcher or kettle of some sort. Most odd.",
- ! weight 15,
- size 15,
-;
-
-Object regular_coffee_can "can of regular coffee" Imp_Kitchen
- with name "can" "coffee" "regular",
- description [;
- "The can reads: ~Brand-X coffee crystals~^^\
- ~Rich, mountain-grown flavor.~";
- ],
- before [;
- Open:
- "You'd need a good can-opener for that.";
- ],
- ! weight 15,
- size 15,
-;
-
-
-Object Imp_Bedroom "Strange Bedroom"
- with description "A very curious small bedroom. \
- A white desk sits here amongst other odd furnishings.",
- name "furnishings" "bed" "chair",
- e_to Imp_door,
- has light;
-
-!Nearby Imp_Bed "furnishings"
-! with name "furnishings" "bed" "chair",
-! description "Some weird bedroom furniture.",
-! has scenery;
-
-Object Imp_Desk "desk" Imp_Bedroom
- with name "desk",
- description "A white desk, with a strange, modern look.",
- capacity 6,
- has scenery supporter;
-
-Object Imp_Computer "strange machine" Imp_Desk
- with name "machine" "computer",
- description
- [ ;
- print "It's a strange metal box. On top, perhaps connected in some \
-way, is another metal box with a glass plate on the front. Strange wires \
-seem to be attached to the boxes somehow. \
-In front of the boxes is an odd plastic \
-flat object with rows and rows of plastic buttons labeled every letter in \
-the alphabet";
- if (self hasnt general) {
- give self general;
- print ".^^Looking closer, you notice curious glowing \
-letters on the glass plate. You read the letters, and \
-feel drawn to respond...^^\
-SPIRITWRAK DEVELOPMENT SYSTEM:^\
-(AUTOMATIC OBJECT GARBAGE-COLLECTION)^\
-REMOVE OBJECT IMPENETRABLE_STEEL_WALL? (Y/N) ";
-if (YesOrNo() == 0) "You press a button labeled ~N~. The strange box \
-emits a tiny beep, and the glass plate is covered with fantastic colorful \
-designs.";
-else {
- ! set-up the secret room
- remove steel_wall;
- give cave_intersection general;
- Achieved(18);
-"You press a button labeled ~Y~. The strange box \
-emits a tiny beep, and the glass plate is covered with fantastic colorful \
-designs.";
- }
- }
- else ". The glass plate currently has strange glowing colorful \
-patterns displayed on it.";
- ],
- has static;
-
-[ ImpSendBack ;
- print "~I'm afraid you'll have to go back.~ The Implementor \
-snaps his fingers, and suddenly, you're back in...^";
- spell_block = 0;
- StopDaemon(Imp);
- StopTimer(Imp_Liv);
- PlayerTo(ATRII_8);
-];
-
-Nearby Imp_door "door"
- with name "door",
- when_closed [;
- if (self in Imp_Liv) {
- if (player notin Imp_Curtains)
- "There's a closed door to the west.";
- else rtrue;
- }
- else "There's a closed door to the east.";
- ],
- when_open [;
- if (self in Imp_Liv) {
- if (player notin Imp_Curtains)
- "There's an open door to the west.";
- else rtrue;
- }
- else "There's an open door to the east.";
- ],
- description "A plain-looking door. A note \
-attached to it says ~DO NOT DISTURB, IMPLEMENTOR AT WORK~.",
- door_dir [;
- if (self in Imp_Liv) return w_to;
- else return e_to;
- ],
- door_to [;
- if (self in Imp_Liv) return Imp_Bedroom;
- else return Imp_Liv;
- ],
- found_in Imp_Liv Imp_Bedroom,
- before [;
- Open:
- if ((Imp in Imp_Bedroom) && (Imp hasnt general)) {
- print "You open the door, revealing a small room with \
-what must be an Implementor sitting behind a desk. The Implementor looks \
-up, startled. ~You're here?~ he says, observantly. ";
- ImpSendBack();
- return 1;
- }
- ],
- has static door openable;
-
-
-! *************** And, for my final trick, the endgame **************
-
-Object Mystical_Cave "Mystical Cave"
- with description "You've entered a wondrous natural cave, lit \
-everywhere by reflected light from some sort of purple crystalline substance \
-in the walls. A tunnel exits to the northwest.",
- name "reflected" "crystal" "crystalline" "substance",
- number 0,
- nw_to [;
- if (Mystical_Cave.number ~= 4)
- "The purple light in the chamber seems to pulse with energy, \
-and find your way blocked by an invisible force!";
- else {
- spell_block = 0;
- ! fill with things, if necc.
- print "As you leave, a sudden tremor shakes the \
-cave! You just narrowly avoid a sudden cave-in behind you!^";
- give cave_intersection ~general;
- return cave_intersection;
- }
- ],
- has light;
-
-Nearby purple_sphere "purple sphere"
- with name "sphere" "purple",
- initial "There's a purple crystal sphere partially embedded \
-in the rock floor here.",
- description "A large purple sphere that seems to pulse with \
-strange energy.",
- before [;
- Push, Touch, Rub:
- ! various endgame trickery...
- if (silver_rod_piece in player) {
- while (child(player)~=0) {
- give child(player) ~worn;
- move child(player) to Mystical_Cave;
- }
- move silver_rod_piece to player;
- spell_block = 1;
- print "The sphere pulses with angry energy! It seems to \
-be fighting the silver rod piece you hold! With a sudden burst, you \
-feel your mind reel and your very surroundings change!^";
- give stone_marker general;
-! give snowy_intersection general ~visited;
- give snowy_intersection general;
- StartTimer(White_Dragon,3);
- PlayerTo(Dragon_Cave);
- rtrue;
- }
- if (green_rod_piece in player) {
- while (child(player)~=0) {
- give child(player) ~worn;
- move child(player) to Mystical_Cave;
- }
- move green_rod_piece to player;
- spell_block = 1;
- print "The sphere pulses with angry energy! It seems to \
-be fighting the green rod piece you hold! With a sudden burst, you \
-feel your mind reel and your very surroundings change!^";
- StartTimer(captain,3);
- PlayerTo(On_Boat);
- rtrue;
- }
- if (red_rod_piece in player) {
- while (child(player)~=0) {
- give child(player) ~worn;
- move child(player) to Mystical_Cave;
- }
- move red_rod_piece to player;
- spell_block = 1;
- print "The sphere pulses with angry energy! It seems to \
-be fighting the red rod piece you hold! With a sudden burst, you \
-feel your mind reel and your very surroundings change!^";
-! give Stadium_entrance general ~visited;
-! remove stadium_sign;
-! remove stadium_statue;
-! move statue_base to Stadium_entrance;
- StartTimer(statue_base,2);
- PlayerTo(Stadium_entrance2);
- rtrue;
- }
- if (brown_rod_piece in player) {
- while (child(player)~=0) {
- give child(player) ~worn;
- move child(player) to Mystical_Cave;
- }
- move brown_rod_piece to player;
- spell_block = 1;
- print "The sphere pulses with angry energy! It seems to \
-be fighting the brown rod piece you hold! With a sudden burst, you \
-feel your mind reel and your very surroundings change!^";
-! give GURTH_House general ~visited;
-! move bad_brick to GURTH_House;
- StartTimer(bad_brick,7);
- PlayerTo(GURTH_House2);
- rtrue;
- }
- ! default...
- "A purple blast of force throws you back!";
- ],
- has static;
-
-Object skeleton "skeleton" Mystical_Cave
- with name "skeleton" "bones",
- initial "Lying in one corner of the room is a skeleton.",
- description "Just some bones, not much else, is all.",
- before [;
- Pull, Push, Turn, ThrownAt, Touch, Attack, Rub,
-Cut, Shake, Squeeze, Kiss:
- remove self;
- "The skeleton crumbles into dust, as though \
-many years of time had suddenly caught up with it in one \
-moment.";
- ],
-has static;
-
-! (black -- final parchment of Palemon's final words)
-Object p8 "blackened parchment" Mystical_Cave
- class parchment_class,
- with name "blackened",
-description "~I write these final words not in the hope \
-that others will find and heed them, for this is too great \
-a hope in my moment of death, but rather, to try and maintain my mind and soul \
-in the face of the terror I now know is the truth.^^\
-For how can a man survive, knowing that his entire life, \
-his entire belief, has been a ruse, a dupe, from the \
-early beginning? That he has merely been a pawn in a \
-working of evil that cannot be stopped?^^\
-I have fought all manner of terrors, and recovered that which \
-I know is the _true_ Rod of the Ancients, broken and scattered \
-eons ago in the face of great evil. I sought also those \
-ancient spheres that the Four Ancients never had the chance to \
-use against the evil four elemental demons, but alas, I could \
-not find them all, and sequestered those which I did with \
-good people that the elemental evil could not touch.^^\
-Alas, my quest has ended here. I lie trapped here, \
-with the pieces of the true Rod in hand, unable to go forward, trapped by the \
-elemental mystic locks on the rod that prevent it from leaving this \
-very room, yet unable to go back, to leave the rod here and \
-deny the very real danger of the defeat of the Ancients, of \
-the power that the evil elementals hold.^^\
-What is a faith destroyed? Who can help me to believe, in my moment \
-of disbelief?^^\
---P--~";
-
-
-
-
-Object Dragon_Cave "Giant Cavern"
- with description "You find yourself in a huge cavern. To the west \
-is a large exit that looks out into a void of snow-covered mountains.",
- name "mountains",
- w_to "You hesitate. The cave seems to just \
-exit off the side of a mountain, and all you can see below is whiteness. \
-It could be a long way down.",
- d_to [; <<Jump>>; ],
- out_to [; <<Jump>>; ],
- before [;
- Jump:
- print "You close your eyes and leap out of the cave! \
-You plummet through silent white winds. \
-Moments later, you fall right into an enormous snowbank, and \
-roll downwards, into...^";
- PlayerTo(snowy_intersection2);
- rtrue;
- ],
- has light;
-
-Object On_Boat "On strange boat"
- with description "You are on a long open boat, riding the waves of \
-some great sea. The boat seems to be filled with sailors from \
-some militia.",
- name "waves" "sea" "mast" "floorboards" "ship" "boat",
- before [;
- Drop:
- if (captain has general) {
- if (noun==green_rod_piece) {
- remove green_rod_piece; ! it'll be back
- give shipwreck general;
- Mystical_Cave.number = Mystical_Cave.number + 1;
- StopTimer(captain);
- StopTimer(militia);
- print "You drop the green rod and watch it roll near \
-a mast and get stuck in the floorboards.^^\
-There's a load crack! The ship is breaking apart! Sailors \
-scramble in vain for safety! You hang onto the side of the \
-boat, but the vessel rocks wildly, and you fall into the waters. \
-^^As you sink, you notice the waters seem to change to a purplish \
-hue, and you find yourself back in...^";
- PlayerTo(Mystical_Cave);
- rtrue;
- }
- }
- else
- "The sailors are holding you fast, so you \
-can't do this at the moment.";
- ],
- has light;
-
-Nearby militia "sailors"
- with name "sailors" "militia" "navy",
- description "A bunch of dour-looking navy sailors.",
- time_left 0,
- time_out [;
- deadflag = 1;
- "The ship breaks asunder! Sailors scramble madly \
-and fall into the violent waves! You hear \
-the captain scream ~Blast! I can't swim!~ before the \
-waters cover you completely.";
- ],
- has scenery;
-
-Object ENDGAME_ROOM "Nothingness"
- with description "Nothingness surrounds you. Yet, you feel like \
-your conscious being extends into worlds and dimensions never \
-imagined. You float in a void of total being.",
- number 0, ! number of elementals banished
- each_turn [;
- switch (ENDGAME_timer.number) {
- 0: ENDGAME_timer.number = 1;
- if (black_elemental in ENDGAME_ROOM)
- "^Echoing in your mind, you hear a voice, that you \
-somehow know is from the black sphere. ~Give me the rod priest, \
-and you shall be immortalized as a symbol to an entire civilization!~";
- 1: ENDGAME_timer.number = 2;
- if (smoke_elemental in ENDGAME_ROOM)
- "^Echoing in your mind, you hear a voice, that you \
-somehow know is from the smoke-colored sphere. ~Give me the rod priest, \
-and I shall let you be witness to a feat of great magic, never \
-before witnessed!~";
- 2: ENDGAME_timer.number = 3;
- if (gray_elemental in ENDGAME_ROOM)
- "^Echoing in your mind, you hear a voice, that you \
-somehow know is from the gray-colored sphere. ~Give me the rod priest, \
-and I will grant you power over all who surround you!~";
- 3: ENDGAME_timer.number = 4;
- if (white_elemental in ENDGAME_ROOM)
- "^Echoing in your mind, you hear a voice, that you \
-somehow know is from the white sphere. ~Give me the rod priest, \
-and you will gain the attention of one of the more powerful \
-figures of your time!~";
- }
- ],
-has light;
-
-Object ENDGAME_timer "void" ENDGAME_ROOM
- with name "void" "nothingness",
- description "The absence of anything. Yet, at the same \
-time, the sense that everything possible is near.",
- number 0,
- time_left 0,
- time_out [;
- deadflag = 1;
- if (ENDGAME_ROOM.number < 3)
- print "The spheres nearby suddenly converge";
- else print "The sphere nearby suddenly converges";
- " towards you! In your mind, you hear \
-~Hesitation, foolish priest, was the downfall of the Ancient \
-Ones~ before you feel the full force of the void.";
- ],
- has scenery;
-
-! *** fake room/encounter for bad ending #x
-Object badend1 "On Giant Cube"
- with description "You stand on a single giant floating white \
-cube, in the middle of some dimly lit cavern. \
-^^A small newt floats nearby, concentrating on something.^^\
-The newt suddenly opens its eyes! ~What?~ it croaks in \
-surprise. ~Who are you? You've broken my concentration on \
-the spell, you fool!~ the newt croaks. You feel the cube \
-shift, then stop floating! You plummet into the lava you \
-feared was below..."
- has light;
-
-Object badend2 "Top of Pyramid"
- with description "You are on top of a pyramid in some \
-ancient city. You see dense jungle to the horizon. \
-An ancient civilization spreads before you, in all its \
-mysterious glory.^^Several robed figures surround you.^^\
-Suddenly, you realize you are tightly bound! One of the \
-figures points towards the horizon and makes a complicated \
-gesture. In a language you do not understand, he seems \
-to make a prayer to some nameless god! Fearing the \
-inevitable, you struggle mightily, but to no avail. \
-In moments, the group of robed figures hurls you off the \
-pyramid to your death!"
- has light;
-
-! *************
-! Creatures
-! *************
-
-Object Imp "Implementor" Imp_Bedroom
- with name "Implementor",
- article "an",
- description [;
- print "Some Implementor. Looks more like a oddly-dressed \
-young man badly in need of a haircut";
- if (self has general)
- ". He's also sound asleep!";
- else ".";
- ],
- describe [;
- print "^Someone you assume must be an Implementor \
-is here";
- if (self has general)
- ", sound asleep.";
- else ".";
- ],
- number 0,
- weight 120, ! about right
- life [;
- ! if asleep, which is usually the case
- if (self has general) {
- if (action==##WakeOther or ##Attack) {
- print "You manage to rouse the Implementor from his \
-slumber. He stares at you, bewildered. ~What are you doing here?~ \
-he asks. ";
-ImpSendBack(); rtrue;
- }
- else
- "He appears to be sound asleep right now, and isn't very \
-responsive.";
- }
-! else {
-! (I suppose this is unnecessary. -- i.e. the player shouldn't be able to
-! interact with the implementor unless the implementor is asleep)
-! print "Well, that got his attention. The Implementor \
-!looks completely startled. ~What are you doing here?~ he says. ";
-!ImpSendBack(); rtrue;
-! }
- ],
- daemon [;
- ! ASSUMPTION -- daemon started by start event
- StopTimer(Imp_Liv);
- if (Imp.number == 0) {
- give Imp_door open;
- if ((player in Imp_Liv) && (player notin Imp_Curtains)) {
- print "^The door to the west suddenly flies open! \
-A somewhat bedraggled Implementor steps out! He spots you and his \
-jaw drops. ~You, here?~ he says. ";
-ImpSendBack(); rtrue;
- }
- else
- print "^You hear a door open to the west.^";
- Imp.number = 1;
- move Imp to Imp_Liv;
- }
- else {
- ! first a little 'lazy' clause that kicks the player
- ! out if the Imp is moving around and the player isn't
- ! in the curtains
- if ((Imp.number < 5) && (player notin Imp_Curtains)) {
- if (Imp in location) print "^The Implementor ";
- else print "^From nearby, an Implementor rushes up and \
-";
- print " grabs you by the shoulder! \
-~What are you doing here?~ he \
-says. "; ImpSendBack(); return 1;
- }
- ! now, otherwise, we move the Imp and set his
- ! number accordingly. Room descs and 'Listen'
- ! traps in Imp_Liv will need to use this info
- switch (Imp.number) {
- ! [step 1, moving to Kitchen]
- 1: move Imp to Imp_Kitchen;
- Imp.number = 2;
- if (Coffee_maker notin Imp_Kitchen) Imp.weight = 118;
- else {
- if (regular_coffee_can in Imp_Kitchen) {
- Imp.weight = 119;
- remove regular_coffee_can;
- }
- else {
- if (decaf_coffee_can in Imp_Kitchen) {
- Imp.weight = 122;
- remove decaf_coffee_can;
- }
- else {
- ! no coffee, gosh darn it
- Imp.weight = 121;
- }
- }
- }
- return 0;
- ! [step 2, making/drinking the beverage]
- 2: Imp.number = 3;
- ! [step 3, leaving kitchen, back to living room]
- 3: Imp.number = 4;
- move Imp to Imp_Liv;
- ! [step 4, goes back into bedroom]
- 4: Imp.number = 5;
- give Imp_door ~open;
- if (player in Imp_Curtains)
- print "^You hear a door close to the west.^";
- move Imp to Imp_Bedroom;
-! move coffee_cup to Imp_Bedroom;
- if (Imp.weight == 122)
- give Imp general; ! asleep
- StopDaemon(Imp);
- }
- }
- ],
-has animate;
-
-!Object coffee_cup "large cup"
-! with name "cup" "large",
-! description "A large mug, with the residue of some brown liquid \
-!left in it.",
- ! weight 5,
-! size 4,
-! has container open;
-
-! MOVEPRINTNPC routine, from Gareth Rees' 'THIEF.INF'
-! (TODO -- you really don't need this, since only Frobar moves in this fashion)
-[ MovePrintNPC n dest dir;
- if (n in location) {
- print "^", (The) n, " walks off";
- if (dir ~= in_obj or out_obj or u_obj && dir ~= d_obj)
- print " to the ", (DirectionName) dir.door_dir;
- print ".^";
- }
- if (dest == 0) remove n; ! This seems odd - if dest bogus, 'unlink' NPC?
- else move n to dest;
- if (n in location)
- print "^", (The) n, " walks in.^";
-];
-
-Object White_Dragon "White Dragon" Dragon_Cave
- with name "dragon" "white" "giant",
- describe [;
- print "There is a gigantic white dragon here";
- if (self has general)
- " sleeping peacefully.";
- "!";
- ],
- description "A giant white dragon, the size of a small house.",
- time_left 0,
- time_out [;
- give self ~general;
- if (location == Dragon_Cave) {
- deadflag = 1;
- "^The dragon suddenly snorts and wakes! It sees you \
-and attacks! In moments, you are no more...";
- }
- else {
- remove self;
- give stone_marker ~general;
- move stone_marker_top to snowy_intersection2;
- "^You hear a roar from the east! From out of the \
-sky, a giant white dragon descends! It draws near, spots you, \
-and bellows in rage! You shrink back, and pray for a quick but \
-painless end.^^There is a loud crack! The dragon, in trying to \
-land, almost impales itself on the obelisk marker! Part of the \
-marker breaks off, and the dragon flies off, whimpering in pain!";
- }
- ],
- life [;
- Attack, ThrowAt, WakeOther:
-deadflag = 1;
-"You disturb the sleeping dragon, who promptly makes you wish \
-you hadn't.";
- default: "Best not to disturb the dragon, I'd guess.";
- ],
- has animate;
-
-Object captain "sea captain" On_Boat
- with name "captain",
- description "A rough-looking navy captain.",
- number 0,
- each_turn [;
- if (self hasnt general) {
- if (captain.number == 0) {
- captain.number = 1;
- "^You suddenly realize that you are being \
-held fast by two navy sailors! The captain walks forward and \
-points his cutlass near your ear.^^\
-~What we have here, lads, is a stowaway!~ Some sailor cries out \
-~Overboard with the stowaway!~ The captain smiles. \
-~Now, we was planning on feeding you to the groupers, \
-but we could use a scullion in the hold. One things for sure, \
-ye ain't finding passage on this ship if ye ain't aligned with \
-the Antharian Navy cause!~ Some sailor cries out \
-(unnecessarily) ~The Antharian Navy cause!~. ~So, tell us lad, \
-are ye with us? If ye are true, you'll tell me the Antharian \
-Navy patron saint! So speak quickly, lad, if ye wish to stay \
-dry!~";
- }
- else "^~Speak up fellow! We havn't got all day!~";
- }
- ],
- time_left 0,
- time_out [;
- deadflag = 1;
- "The captain sighs. ~Into the water with ye, then,~ \
-he says, and the two sailors push you roughly overboard. \
-You land in the sea with a splash, and struggle to stay afloat. \
-The ship sails off, but oddly, moments later, it seems to \
-stall and start to sink! Before you get a chance to reflect on \
-this, a large grouper swallows you whole.";
- ],
- life [;
- if (self has general)
- "The captain's a bit too busy trying to save \
-a sinking ship.";
- Answer:
- if (noun=='minirva') {
- give self general;
- StopTimer(self);
- StartTimer(militia,2);
- "~Aye, that's right. Escort the new scullion \
-down to the hold where --~^^\
-The captain's orders are cut short by a sudden grinding noise, \
-and the boat rocks violently! ~Reef, captain!~ you hear someone \
-cry. ~Blast!~ the captain says, ~quickly men, we've got to --~ \
-But it's too late. The boat starts to tip and sway, and \
-the two sailors release you and hastily try to help raise the \
-rigging!";
- }
- else {
- if (noun=='duncanthrax') {
- deadflag = 1;
- "The sailors suddenly pale at the mention of \
-Lord Duncanthrax. ~A traitor in our midst, eh?~ the captain \
-shouts and beheads you with one stroke.";
- }
- if (noun=='ulysses' or 'odysseus')
- "~Nay lad, me thinks that \
-was a sailor.~";
- else "~Nay lad, that doesn't sound right.~";
- }
- Attack, ThrowAt, Kiss, Show, Give:
- "Given that you are in the grips of several \
-strong navy sailors, this is impossible.";
- ],
- has animate;
-
-! ***** THE EVIL ELEMENTALS
-Object black_elemental "black sphere" ENDGAME_ROOM
- with name "anabais" "black" "sphere" "earth",
- description "A black sphere of energy.",
- life [;
- ThrowAt:
- if (noun==brown_sphere) {
- remove self; remove brown_sphere;
- ENDGAME_ROOM.number = ENDGAME_ROOM.number + 1;
- if (ENDGAME_ROOM.number == 4) {
- GameWinner(); rtrue; }
- "The black sphere howls in rage and is no more!";
- }
- Give:
- if (noun==TRUEROD) {
- remove TRUEROD;
- print "You feel a strange foreboding feeling as \
-the black sphere seems to engulf the rod, then you! Your \
-surroundings change once again!^";
- deadflag = 1;
- PlayerTo(badend2);
- rtrue;
- }
- default: "The black sphere is unresponsive.";
- ],
- has animate;
-
-Object smoke_elemental "smoke-colored sphere" ENDGAME_ROOM
- with name "smoke" "sphere" "fire", ! TODO new name...
- description "A smoke-filled sphere of energy.",
- life [;
- ThrowAt:
- if (noun==red_sphere) {
- remove self; remove red_sphere;
- ENDGAME_ROOM.number = ENDGAME_ROOM.number + 1;
- if (ENDGAME_ROOM.number == 4) {
- GameWinner(); rtrue; }
- "The smoke-filled sphere howls in rage and is no more!";
- }
- Give:
- if (noun==TRUEROD) {
- remove TRUEROD;
- print "You feel a strange foreboding feeling as \
-the smoke-filled sphere seems to engulf the rod, then you! Your \
-surroundings change once again!^";
- deadflag = 1;
- PlayerTo(badend1);
- rtrue;
- }
- default: "The smoke-filled sphere is unresponsive.";
- ],
- has animate;
-
-Object gray_elemental "gray sphere" ENDGAME_ROOM
- with name "gray" "sphere" "water", ! TODO new name
- description "A gray sphere of energy.",
- life [;
- ThrowAt:
- if (noun==green_sphere) {
- remove self; remove green_sphere;
- ENDGAME_ROOM.number = ENDGAME_ROOM.number + 1;
- if (ENDGAME_ROOM.number == 4) {
- GameWinner(); rtrue; }
- "The gray sphere howls in rage and is no more!";
- }
- Give:
- if (noun==TRUEROD) {
- remove TRUEROD;
- print "You feel a strange foreboding feeling as \
-the gray sphere seems to engulf the rod, then you! Your \
-surroundings change once again!^";
- PlayerTo(FUBLIO_Cave);
- StartTimer(mad_hermit,3);
- rtrue;
- }
- default: "The gray sphere is unresponsive.";
- ],
- has animate;
-
-Object white_elemental "white sphere" ENDGAME_ROOM
- with name "white" "sphere" "air", ! TODO new name
- description "A white sphere of energy.",
- life [;
- ThrowAt:
- if (noun==silver_sphere) {
- remove self; remove silver_sphere;
- ENDGAME_ROOM.number = ENDGAME_ROOM.number + 1;
- if (ENDGAME_ROOM.number == 4) {
- GameWinner(); rtrue; }
- "The white sphere howls in rage and is no more!";
- }
- Give:
- if (noun==TRUEROD) {
- remove TRUEROD;
- print "You feel a strange foreboding feeling as \
-the white sphere seems to engulf the rod, then you! Your \
-surroundings change once again!^";
- PlayerTo(TROPHY_SECRET);
- rtrue;
- }
- default: "The white sphere is unresponsive.";
- ],
- has animate;
-
-
-! ******************
-! scrolls/spells
-! ******************
-
-Object fancy_scroll "fancy scroll"
- class scroll_class,
- with name "fancy",
-;
-
-Object wigro_spell "turn undead" fancy_scroll
- class spell_class,
- with name "wigro",
- magic [;
- "You speak the chant. Nothing seems to happen.";
- ],
-;
-
-Object briefcase "briefcase" Subway_Tunnel
- with name "briefcase" "case",
- description "A somewhat battered brown-leather briefcase.",
- capacity 5,
- ! weight 20,
- size 15,
- has container openable;
-
-Object red_scroll "red scroll" briefcase
- class scroll_class,
- with name "red",
-;
-
-Object luncho_spell "send object to lower plane" red_scroll
- class spell_class,
- with name "luncho",
- magic [;
- if (second == 0)
-"You see a brief flash of smoke, but nothing happens.";
- if (second has animate)
- "You feel a slight rumbling beneath your feet, but nothing else \
-happens.";
- else {
- if ((second hasnt static) && (second hasnt scenery)) {
- if (second has clothing) give second ~worn;
- if (in_atrii == 1) {
- move second to MON_Chapel2;
- }
- else
- move second to Hades_5;
- print "There is a sudden puff of smoke, and "; DefArt(second);
- " suddenly vanishes!";
- }
- "Your chant goes unanswered.";
- }
- ],
-;
-
-! ******************
-! special obs
-! ******************
-
-Object Atrii_gate "strange contraption" GUE_Labs_SECRET
- with name "contraption" "plate" "disc" "strange",
- description "It looks like a large, slightly convex round disc \
- made of some silvery material.",
- before [;
- Enter:
- print "As you step onto the silvery disc, you feel a \
- strange jolt run through your body. A bright white \
- flash blinds you momentarily!^^You blink, trying to \
- register your surroundings.^";
- in_atrii = 1;
- PlayerTo(ATRII_1);
- return 2;
- Receive:
- move noun to ATRII_1;
- CDefArt(noun); " suddenly disappears in a bright \
- flash of light as you place it on the silver disc!";
- Push, Pull, Touch, Take:
- "As you reach for the strange contraption, you notice \
- white sparks of something arc from the silver surface \
- to your fingers! You hastily draw back.";
- ],
- has static supporter enterable;
-
-! *** the true rod pieces, and the golden rod (after joined)
-Object silver_rod_piece "silver rod piece" Mystical_Cave
- class rod_class,
- with name "silver",
- description "A strange short section of rod colored \
-silver.",
- before [;
- Join:
- if (location ~= Mystical_Cave) {
- if (second == TRUEROD)
- <<Join TRUEROD self>>;
- if ((second == brown_rod_piece) ||
- (second == red_rod_piece) ||
- (second == green_rod_piece)) {
- if (TRUEROD.number == 0) {
- TRUEROD.number = 1;
- move TRUEROD to parent(self);
- remove self; remove second;
- "There is a dazzling golden light as \
-you join the two rod pieces! What remains is a new, strange \
-rod piece!";
- }
- else "There is a dazzling burst of \
-golden light. However, the pieces will not join, and seem \
-to be seeking out something else...";
- }
- }
- else "Some strange purple flash of force \
-blocks your efforts.";
- ],
-;
-Object red_rod_piece "red rod piece" Mystical_Cave
- class rod_class,
- with name "red",
- description "A strange short section of rod colored \
-red.",
- before [;
- Join:
- if (location ~= Mystical_Cave) {
- if (second == TRUEROD)
- <<Join TRUEROD self>>;
- if ((second == silver_rod_piece) ||
- (second == brown_rod_piece) ||
- (second == green_rod_piece)) {
- if (TRUEROD.number == 0) {
- TRUEROD.number = 1;
- move TRUEROD to parent(self);
- remove self; remove second;
- "There is a dazzling golden light as \
-you join the two rod pieces! What remains is a new, strange \
-rod piece!";
- }
- else "There is a dazzling burst of \
-golden light. However, the pieces will not join, and seem \
-to be seeking out something else...";
- }
- }
- else "Some strange purple flash of force \
-blocks your efforts.";
- ],
-;
-Object green_rod_piece "green rod piece" Mystical_Cave
- class rod_class,
- with name "green",
- description "A strange short section of rod colored \
-green.",
- before [;
- Join:
- if (location ~= Mystical_Cave) {
- if (second == TRUEROD)
- <<Join TRUEROD self>>;
- if ((second == silver_rod_piece) ||
- (second == red_rod_piece) ||
- (second == brown_rod_piece)) {
- if (TRUEROD.number == 0) {
- TRUEROD.number = 1;
- move TRUEROD to parent(self);
- remove self; remove second;
- "There is a dazzling golden light as \
-you join the two rod pieces! What remains is a new, strange \
-rod piece!";
- }
- else "There is a dazzling burst of \
-golden light. However, the pieces will not join, and seem \
-to be seeking out something else...";
- }
- }
- else "Some strange purple flash of force \
-blocks your efforts.";
- ],
-;
-Object brown_rod_piece "brown rod piece" Mystical_Cave
- class rod_class,
- with name "brown",
- description "A strange short section of rod colored \
-brown.",
- before [;
- Join:
- if (location ~= Mystical_Cave) {
- if (second == TRUEROD)
- <<Join TRUEROD self>>;
- if ((second == silver_rod_piece) ||
- (second == red_rod_piece) ||
- (second == green_rod_piece)) {
- if (TRUEROD.number == 0) {
- TRUEROD.number = 1;
- move TRUEROD to parent(self);
- remove self; remove second;
- "There is a dazzling golden light as \
-you join the two rod pieces! What remains is a new, strange \
-rod piece!";
- }
- else "There is a dazzling burst of \
-golden light. However, the pieces will not join, and seem \
-to be seeking out something else...";
- }
- }
- else "Some strange purple flash of force \
-blocks your efforts.";
- ],
-;
-Object TRUEROD "golden rod"
- class rod_class,
- with name "golden",
- number 0,
- description [;
- print "A wondrous, shimmering golden rod";
- if (TRUEROD.number < 3)
- " that seems slightly short.";
- else ".";
- ],
- before [;
- Wave:
- if (TRUEROD.number == 3) {
- deadflag = 1;
-! TODO -- this is essentially another 'win', but not a good one
- "You wave the rod, and feel a sudden blast of force! \
-The spheres howl in terror and \
-suddenly explode! The jolt of power from the rod sends you \
-hurtling through space, and you are lost in an endless \
-tumble through the void...";
- }
- Join:
- if ((second == silver_rod_piece) ||
- (second == red_rod_piece) ||
- (second == green_rod_piece) ||
- (second == brown_rod_piece)) {
- remove second;
- TRUEROD.number = TRUEROD.number + 1;
- print "You feel a strange surge of \
-mystic energy as you join the rod pieces. ", (The) second, " \
-joins with the golden rod";
- if (TRUEROD.number == 3) {
- Achieved(19);
- print "!^^Time and space seem to grind to \
-a halt.^^\
-Your surroundings and the very ground you stand on shatter like \
-planes of glass, revealing a strange, new dimension...^";
- spell_block = 1;
- PlayerTo(ENDGAME_ROOM);
- StartTimer(ENDGAME_timer,12);
- rtrue;
- }
- else "!";
- }
- ],
-;
-
-! *** The results of winning the game ***
-[ GameWinner ;
- Achieved(26);
- print "The last sphere howls in rage and disappears!";
- deadflag = 2;
- " You scream in agony as the void that surrounds you \
-seems to implode! You feel yourself dissipating into the \
-surrounding nothingness. ~Is this my reward?~ you scream, \
-~Is this, then, the end?~^^\
-A white light makes you open your eyes.^^\
-You are lying on a beach. The Great Sea laps at your \
-tattered garments. Slowly, you rise to your knees.^^\
-The sun, like a bloated, radiant bird, is sinking below the \
-wave on the horizon. Another day is coming to an end.^^\
-A voice startles you. ~Tis a fine spot for watching \
-sunsets.~ You turn to see Morgan the Ranger, Frobar and \
-the Thief nearby. The Thief helps you to your feet, and Frobar \
-glances your way. ~I sensed a great upheaval in the \
-fabric of time and space not long ago. I gather you \
-have quite a story to tell,~ he says. ~We \
-probably can relate to much of what you have seen, \
-although your unwavering faith is something we \
-desire to understand.~ Morgan explains, ~Belief in the \
-face of the unbelievable is an enviable strength.~ \
-The Thief chuckles quietly. \
-~Perhaps you will join us at Delbins, where we will \
-partake in a belief of fine cuisine while you tell all?~ he says. \
-He notices your weary expression and \
-adds with surprising seriousness, ~Not that I \
-prepose to offer advice from one as myself, \
-but humbly, I admit, that many a time, a belief in myself \
-was often sufficient.~ He pauses. \
-~Gods or no, now, you make your own destiny.~";
-];