+++ /dev/null
-
-! ******************************************************************
-! FUBLIO.INF
-! ----------
-! Add-on file for SPIRITWRAK
-! -- Contains South Fublio Valley locations, items and creatures
-! ******************************************************************
-
-Object FUBLIO_GUSStop "Southern Fublio Valley"
- with description "You are in a southern region of Fublio \
-Valley, where someone apparently decided to start \
-a city. So far, a couple huts and farmhouses are the \
-result. A rather run-down farmhouse lies to the \
-southwest, a trail runs through grasslands to \
-the south and a smaller trail runs along the hills to the \
-southeast. To the north, you see a decrepit old \
-building. There is also a stairway into the ground here.",
- name "huts" "farmhouses" "farmhouse" "trail" "grasslands"
-"hills" "stairway",
- d_to FUBLIO_GUSStation,
- sw_to Farm,
- s_to Grasslands,
- se_to Fublio_forest,
- n_to Fublio_bank,
- cant_go "You amble around the local area a bit, and return here.",
- has light;
-
-Object Fublio_bank "Abandoned Bank"
- with description "You're inside what must have once been a \
-small branch office of the once indestructible Bank of Zork. \
-However, the place has clearly been abandoned, and age has not \
-been kind. Even the required portrait of J. Pierpont Flathead \
-has been pilfered. An exit lies south.",
- s_to [;
-! first case, r & (!p & !q & !s)
- if ((children(r_vault) == 20) &&
- (children(p_vault) == 0) &&
- (children(q_vault) == 0) &&
- (children(s_vault) == 0)) return FUBLIO_GUSStop;
-! second case, (p & s) & (q & !r)
- if (((children(s_vault) > 0) &&
- (children(p_vault) == children(s_vault))) &&
- ((children(q_vault) == (children(p_vault) + 5)) &&
- (children(r_vault) ~= 20)))
- return FUBLIO_GUSStop;
- "A buzzer sounds, and some mysterious force \
-prevents you from leaving!";
- ],
- has light;
-
-Class vault_class
- with name "vault",
- description "Basically a hollow rectangular hole cut \
-into the wall.",
- before [;
- Receive:
-if (noun hasnt is_coin)
- "A strange force pushes your hand away.";
- ],
- capacity 100,
- size 10,
-has static container open transparent;
-
-Object p_vault "interest vault" Fublio_bank
- class vault_class,
- with name "interest",
- initial [;
- print "An vault labeled ~INTEREST PAID~ is \
-open in the wall";
-if (children(self) > 0) {
- print ". Inside";
- WriteListFrom(child(self), FULLINV_BIT + ENGLISH_BIT + ISARE_BIT);
-}
-".";
- ],
-;
-Object q_vault "overhead vault" Fublio_bank
- class vault_class,
- with name "overhead",
- initial [;
-print "An vault labeled ~OVERHEAD~ is \
-open in the wall";
-if (children(self) > 0) {
- print ". Inside";
- WriteListFrom(child(self), FULLINV_BIT + ENGLISH_BIT + ISARE_BIT);
-}
-".";
- ],
-;
-Object r_vault "basis vault" Fublio_bank
- class vault_class,
- with name "basis",
- initial [;
-print "An vault labeled ~BASIS~ is \
-open in the wall";
-if (children(self) > 0) {
- print ". Inside";
- WriteListFrom(child(self), FULLINV_BIT + ENGLISH_BIT + ISARE_BIT);
-}
-".";
- ],
-;
-Object s_vault "loans vault" Fublio_bank
- class vault_class,
- with name "loans",
- initial [;
-print "An vault labeled ~LOANS~ is \
-open in the wall";
-if (children(self) > 0) {
- print ". Inside";
- WriteListFrom(child(self), FULLINV_BIT + ENGLISH_BIT + ISARE_BIT);
-}
-".";
- ],
-;
-
-
-Object bank_memo "bank memo" Fublio_bank
- with name "memo",
-description "BANK WORKER GUIDELINES^^\
-If at any point, account activity has been suspended \
-(i.e. all regular account vaults have no funds) then \
-it must be ensured that 20 zorkmids remain in basis, \
-for potential loan requests.^^\
-Otherwise, vaults must be maintained as follows:^^\
-For interest waiting to be paid, the amount must \
-equal the amount held in the loan payments vault. \
-If this amount goes over the loan payments, talk \
-to your local gnome manager to see about getting \
-some outstanding loans paid back.^^\
-Overhead should be kept at the amount in interest,
-plus five.^^\
-Loan payments should be kept at a positive amount.^^\
-Make sure that both the loan and interest vaults \
-are maintained properly, and at the same time, the \
-overhead vault is maintained while the basis vault \
-is kept at a non-suspended bank amount. If this \
-is not the case, you may need to put some overtime \
-in to straighten out the bank funds.",
- size 15;
-
-Object c30 "coin" r_vault class coin_class;
-Object c31 "coin" r_vault class coin_class;
-Object c32 "coin" r_vault class coin_class;
-Object c33 "coin" r_vault class coin_class;
-Object c34 "coin" r_vault class coin_class;
-Object c35 "coin" r_vault class coin_class;
-Object c36 "coin" r_vault class coin_class;
-Object c37 "coin" r_vault class coin_class;
-Object c38 "coin" r_vault class coin_class;
-Object c39 "coin" r_vault class coin_class;
-Object c40 "coin" r_vault class coin_class;
-Object c41 "coin" r_vault class coin_class;
-Object c42 "coin" r_vault class coin_class;
-Object c43 "coin" r_vault class coin_class;
-Object c44 "coin" r_vault class coin_class;
-Object c45 "coin" r_vault class coin_class;
-Object c46 "coin" r_vault class coin_class;
-Object c47 "coin" r_vault class coin_class;
-Object c48 "coin" r_vault class coin_class;
-Object c49 "coin" r_vault class coin_class;
-
-Object Farm "Farm"
- with description "You're standing in front of a small farmhouse. \
-A trail leads northeast, a sand bar lies to the southwest, \
-and another trail heads east.",
- name "trail",
- ne_to FUBLIO_GUSStop,
- sw_to Veg_fields,
- e_to Grasslands,
- has light;
-
-Nearby farmhouse "farmhouse"
- with name "farmhouse" "house",
- description "A small farmhouse, barely a shack.",
- before [;
- Enter: "The farmhouse is run-down enough already without you \
- stomping around in it.";
- ],
- has scenery;
-
-Object Veg_fields "Oyster Farm"
- with description [;
- print "A coastline sand bar curves west a short distance \
-here, ending in a shoal of large rocks. Nearby, \
-someone has dug some shallow holes in the \
-sand, probably farming for live Rotund Oysters, a popular \
-Eastland delicacy.";
- if (self hasnt general)
-"Unfortunately, the oyster \
-beds are too far inland, and they appear to be \
-empty. A bit to the west you can see a small \
-shoreline cave in the rocks.";
- else
-"The oyster \
-beds are filled with water (similar to a good portion \
-of the shoal) and look well stocked!";
- ],
- name "sand" "bar" "shoal" "rocks" "cave",
- before [;
-Fill: "Seawater is hardly a rare commodity these days.";
- ],
- ne_to Farm,
- w_to [;
- if (self hasnt general) {
- print "You try to head towards the cave, but \
-the unstable rocks and sea waves make it ";
- if (FUBLIO_Cave hasnt general) {
- give FUBLIO_Cave general;
- print "difficult \
-to get there from here. Suddenly, a rock slips from underfoot! \
-You fall...^";
- return FUBLIO_Cave;
- }
- else
- print "impossible \
-to get there from here.^"; return 1;
- }
- else
- "Any remainder of the sand bar west is \
-now submerged by a high tide or rise in the sea.";
- ],
- has light;
-
-Nearby oyster_beds "oyster beds"
- with name "beds" "holes" "hole",
- description [;
- print "Some shallow";
- if (Veg_fields hasnt general)
- ", mostly empty holes in the sand.";
- " holes in the sand, filled with sea water.";
- ],
- before [;
- Search:
- if (Veg_fields has general)
- "You find a couple immature oysters, and throw \
-them back.";
- Receive:
- "Someone is obviously trying to use these holes \
-for oyster farming. Best to leave them as you found them.";
- ],
- has scenery;
-
-Object FUBLIO_Cave "Dark Damp Cave"
- with description [;
- print "You seem to be in some underground cave. ";
- if (FUBLIO_Cave.number == 1)
-"There are no visible exits. You feel rather claustrophobic. \
-You also hear some unexpected noises.";
- else
-"There is a small dark tunnel leading south. \
-You hear the sounds of rushing water from somewhere nearby.";
- ],
- number 1,
- name "tunnel",
- s_to [;
- if (FUBLIO_Cave.number == 1)
- "You can't go that way.";
- if (FUBLIO_Cave.number == 3)
- "The dark tunnel becomes blocked after a short distance \
-by a great tidal swell! The sea has risen above the entrance!";
- else {
- print "^You crawl through the dark tunnel, which \
-seems to snake back and forth. After what seems like an \
-eternity, you see daylight, and stumble forward. You find \
-yourself on the sand bar again! Looking back, you can't \
-locate the tunnel you just left at all!^";
- FUBLIO_Cave.number = 3;
- return Veg_fields;
- }
- ],
- before [;
- Listen: "You hear the sounds of the sea all around you.";
- Smell: "You smell the musty odor of the sea.";
- ],
-;
-
-
-
-Object Grasslands "Grassland Beach"
- with description [;
- if (self hasnt general)
- print "A nice beach with lots of tall grasses hides \
-behind a short dune here. The Great Sea stretches out \
-to the south.";
- else
- print "A deep marsh hides behind a short dune here. The Great Sea \
- is making some inroads here, apparently. That volcano in \
- the water to the south may have had something to do with it.";
- " From here, you can go north, west or east. \
- You can just glimpse some sort of tower-like structure \
- far across the bay in the east.";
- ],
- name "beach" "grasses" "dune" "marsh" "sea" "tower",
- w_to [;
- if (player in sailboat)
- "You'll have to get out of the sailboat first.";
- else return Farm;
- ],
- e_to [;
- if (player in sailboat)
- "You'll have to get out of the sailboat first.";
- else return Fublio_forest;
- ],
- n_to [;
- if (player in sailboat)
- "You'll have to get out of the sailboat first.";
- else return FUBLIO_GUSStop;
- ],
- s_to [;
- if (player in sailboat) return On_Fublio_bay;
- else
- "The tides here make swimming unadvisable.";
- ],
- before [;
- Swim:
- "The tides here make swimming unadvisable.";
- ],
- has light;
-
-Nearby sailboat "small sailboat"
- with name "sailboat" "boat",
- description [;
- if (self hasnt general)
- "A nice little sailboat that looks pretty sea-worthy. \
-The word ~MINIRVA~ is painted on one side.";
- "A badly damaged sailboat. Several places bear deep \
-cracks, as though the boat had been tossed in a violent storm.";
- ],
- before [;
- Go:
- if (self has general) {
- print "In it's current condition, this boat is lucky to \
- be floating.^";
- return 2; ! disallow movement but say nothing
- }
- else rtrue;
- Cast:
- if (the_spell_was == fiznav_spell) {
- print "You perform a nice liturgy to the Sea Gods,";
- if (self has general) {
- give self ~general;
- Achieved(6);
- " and before your very eyes, the sailboat repairs itself!";
- }
- else " however the boat seems unchanged.";
- }
- Take:
- "That's too cumbersome to carry.";
- ],
- capacity 15,
- size 30,
- has enterable static container open;
-
-! Object c6 "coin" sailboat class coin_class;
-
-Object On_Fublio_bay "On Fublio Bay"
- with description [;
- print "You are sailing on Fublio Bay. A shoreline lies \
-to the north. You could probably sail out of the bay \
-to the south, but I'd advise against it, \
-the winds aren't very strong. To the northeast \
-you can see ";
- if (self hasnt general)
- "the tip \
- of a peninsula where a lighthouse tower is standing.";
- else
- "a partially submerged lighthouse tower. \
- Also, to the southeast is a small volcanic island where \
- you could probably land.";
- ],
- name "shoreline" "bay" "peninsula" "tower" "lighthouse"
-"island",
- n_to Grasslands,
- s_to Lost_at_sea,
- ne_to [;
- if (self hasnt general)
- "The winds blow the wrong way, and you end up back here.";
- else return Lighthouse2;
- ],
- se_to [;
- if (self hasnt general)
- "You can't go that way.";
- else return Volcano_island;
- ],
- before [;
- Go:
- if (noun==s_obj)
- print "^A sudden gust of wind sends your small craft \
- skimming out of control!^";
- Swim, Exit:
- if (player in sailboat)
- "The water's pretty deep here. I'd stay in the boat.";
- Fill: "Seawater is hardly a rare commodity these days.";
- ],
- each_turn [;
- if (seawater.number == 5) {
- seawater.number = 10;
- "^Many large bubbles are coming from somewhere deep in the \
- seawater near you, as though the water was boiling! Also, \
- you see some dark shape in the depths below rising!";
- }
- if (seawater.number == 4) {
- seawater.number = 5;
- "^There appears to be a steady stream of bubbles coming from \
- somewhere deep in the water near you! Also, you see something \
- dark rising from the depths below you!";
- }
- if (seawater.number == 3) {
- seawater.number = 4;
- "^You notice a few small bubbles rise to the surface of the sea.";
- }
- if (seawater.number == 2)
- seawater.number = 3;
- ],
-
- has light;
-
-Object Lost_at_sea "Lost at Sea"
- with description [;
- print "You're lost at sea. The winds are completely dead. \
-They managed to take you quite a ways out before they died, \
-however, and it's currently hard to tell which way land was \
-from here";
- if (self has general)
- ". Oddly, there's a volcano far out to the south, \
- still smoldering from a recent eruption.";
- else ".";
- ],
- name "sea" "winds" "land",
- cant_go "The winds are dead, and you're not going anywhere.",
- before [;
- Swim, Exit:
- if (player in sailboat)
- "The water's pretty deep here. I'd stay in the boat.";
- Fill: "Seawater is hardly a rare commodity these days.";
- ],
- each_turn [;
- if (seawater.number == 9) {
- seawater.number = 11;
- "^Many large bubbles are coming from somewhere deep in the \
- seawater near you, as though the water was boiling! Also, \
- you see some dark shape in the depths below rising!";
- }
- if (seawater.number == 8) {
- seawater.number = 9;
- "^There appears to be a steady stream of bubbles coming from \
- somewhere deep in the water near you.";
- }
- if (seawater.number == 7) {
- seawater.number = 8;
- "^You notice a small bubble rise to the surface of the sea.";
- }
- if (seawater.number == 6)
- seawater.number = 7;
- ],
- has light;
-
-Object Fublio_forest "On Peninsula"
- with description [;
- print "You stand ";
- if (self hasnt general)
- "in a clearing on a grassland peninsula. A \
- trail leads northwest from here, and another leads west. \
- Off to the \
- southeast, there's an entrance into what looks like an old \
- abandoned lighthouse, just at the tip of the peninsula.";
- if (self has general)
- "on the southeast tip of a grassland peninsula. A \
- trail leads northwest from here, and another leads west. Off to the \
- southeast, you can see the top of what looks like a \
- lighthouse, partially submerged in the Great Sea.";
- ],
- name "clearing" "grassland" "peninsula" "trail"
-"tower" "lighthouse" "sea",
- nw_to FUBLIO_GUSStop,
- w_to Grasslands,
- se_to [;
- if (self has general)
- "Looks like you'd need a boat to get out to that \
- lighthouse now.";
- else return Lighthouse1;
- ],
- has light;
-
-Object Lighthouse1 "Bottom of Lighthouse"
- with description [;
- print "You're inside an ancient lighthouse. The place \
- must have been deserted quite a long time ago, and \
- is now a mess of broken stone, cobwebs and seabird \
- droppings. The rest of the peninsula is back \
- northwest. You can see a hole above where a stairway \
- probably entered an upper floor of the place, but \
- the stairway itself crumbled into dust long ago";
- if ((self hasnt general) && (amulet has worn)) {
- give self general;
- ".^^Your amulet suddenly gives off a bright purple flash, then \
- returns to normal!";
- }
- else ".";
- ],
- name "stone" "cobwebs" "droppings" "hole",
- nw_to Fublio_forest,
- u_to "The hole is too far above you.",
- has light;
-
-! more scenery stuff. This one's key though
-! (Sidenote: Here's an example of a situation where one would probably
-! want an object that could be both a supporter and a container --
-! i.e. objects that float or sink could be handled easily.)
-Object seawater "water"
- with name "water" "sea" "ocean",
- description "Salty blue-green water surrounds you.",
- time_left 0,
- number 1,
- weight 0,
- size 100,
- before [;
- ThrownAt, Receive:
- if (noun == toy_volcano) {
- if (location == On_Fublio_bay) {
- seawater.number = 2;
- seawater.weight = 1;
- }
- else {
- seawater.number = 6;
- seawater.weight = 2;
- }
- StartTimer(self,3);
- remove toy_volcano;
- "The toy volcano drops into the water and sinks like a stone.";
- }
- else {
- remove noun;
- if (noun == umbrella && umbrella has open)
- "The umbrella seems to float on the water like a \
-cloth dome for a short bit, but eventually sinks into the water.";
- CDefArt(noun); " sinks into the water and is soon out of sight.";
- }
- Push, Pull, Turn, Take, Attack, Rub, Squeeze: "The sea water runs through your fingers.";
- Taste, Drink: "It's just salty sea water.";
- Search, LookUnder:
- if (seawater.weight > 0 && seawater.number < 12)
- "There's something down there all right!";
- else {
- if (random(10) < 2)
- "You glimpse a large grouper swimming under the \
-water, and watch it swim away.";
- else
- "The water seems choppy and deep. You notice \
-nothing beneath the waves at the moment.";
- }
- ],
- found_in On_Fublio_bay Lost_at_sea,
- time_out [ ;
- ! a fairly simple event here, but nonetheless dramatic...
- ! -- 1st, if we dropped the volcano in the bay (correct)
- ! set water descriptions so that player won't see bubbles
- seawater.number = 12;
- ! set CAVE number for endgame
- FUBLIO_Cave.number = 3;
- if (seawater.weight == 1) {
- ! first, set up all room generals so that descriptions are
- ! changed.
- give Grasslands general;
- give Veg_fields general;
- give Fublio_forest general;
- give farmer general; ! he'll give player sphere next encounter
- give sailboat general; ! damages sailboat, regardless of where it is
- move sailboat to Grasslands;
- ! Modify On_Fublio_bay paths, new one to island, new one to tower.
- give On_Fublio_bay general;
- ! Now, check location. Certain areas will kill player in
- ! tidalwave. Certain areas will cause an audible explosion.
- ! Remainder do nothing (but shouldn't happen)
- if (location == Veg_fields or Grasslands or Lighthouse1) {
- deadflag = 1;
- "^There's a massive explosion from the south! You turn \
- and rub your eyes in disbelief. There's a \
- volcano rising out of the sea! Unfortunately, \
- there's also a large tidalwave headed your way \
- (caused by volcanic eruption at sea, no doubt) which \
- engulfs you as you try to scramble for higher ground! \
- You struggle valiantly, but drown in deep water.";
- }
- if (location == FUBLIO_GUSStop or Farm or Fublio_forest) {
- "^You hear a massive explosion from the south! \
- It sounded pretty far off, but whatever it was, it \
- was loud.";
- }
- if (location == On_Fublio_bay) {
- deadflag = 1;
- "^Suddenly, the water around you literally lifts you into \
- the sky in an enormous explosion! The last thing you \
- see is the emerging mouth of an active and hungry volcano!";
- }
- if (location == Lost_at_sea) {
- deadflag = 1;
- "^You hear a large explosion off to the north! \
-A massive tidal swell rushes by and tosses your small craft violently, \
-knocking you into the water. As you watch the waves carry the boat
-away, a giant grouper swims up and swallows you.";
- }
- }
- ! -- else, we dropped it in the sea (bummer)
- ! (this implies that 1) only the sea descrp will change,
- ! 2) the player is still stuck at sea, and will be killed
- ! for his trouble.
- else {
- give sailboat general; ! just keeping with the story...
- give Lost_at_sea general;
- move sailboat to Grasslands; ! made it back to shore somehow...
- deadflag = 1;
- "^Suddenly, the water around you literally lifts you into \
- the sky in an enormous explosion! The last thing you \
- see is the emerging mouth of an active and hungry volcano!";
- }
- ],
- has scenery container open;
-
-
-Object Lighthouse2 "Near Submerged Lighthouse"
- with description [;
- print "You're on the outside of what looks like the upper \
- part of a lighthouse, sticking straight out of the sea. \
- The lighthouse is broken in many places, and several areas \
- provide ledge-space to stand on. In fact, you could probably \
- climb into the lighthouse through one of many large \
- cracks in the walls to the east. The rest of Fublio bay \
- is back southwest";
- if ((self has general) || (Lighthouse1 has general) ||
- (amulet hasnt worn))
- ".";
- else {
- give self general;
- ".^^Your amulet suddenly gives off a bright purple flash, then \
- returns to normal!";
- }
- ],
- name "lighthouse" "cracks",
- e_to [;
- if (player in sailboat)
- "You'll need to get out of the boat first.";
- else return In_lighthouse;
- ],
- ! in_to [;
- ! if (player in sailboat)
- ! "You'll need to get out of the boat first.";
- ! else return In_lighthouse;
- ! ],
- sw_to [;
- if (player notin sailboat)
- "The water looks pretty choppy. I'd suggest you use a \
- sea-going vessel of some sort.";
- else return On_Fublio_bay;
- ],
- has light;
-
-
-Object Volcano_island "Volcanic Island"
- with description "You're on the north shore of a small volcanic \
- island in the middle of Fublio bay. A little more \
- shore lies to the south. The bay spreads out before \
- you to the northwest.",
- name "bay",
- nw_to [;
- if (player notin sailboat)
- "The water looks pretty choppy. I'd suggest you use a \
- sea-going vessel of some sort.";
- else return On_Fublio_bay;
- ],
- s_to [;
- if (player in sailboat)
- "You'll need to get out of the boat first.";
- else return Island2;
- ],
- before [;
- Swim: "Near a still-active volcano? Not wise.";
- ],
- has light;
-
-Object Island2 "South Part of Island"
- with description "You're on a southern section of a small \
- volcanic island in the middle of Fublio bay. Most \
- of the area here is lava-rock, still warm. You can \
- see a more open shore to the north.",
- name "bay" "rock" "lava" "shore",
- n_to Volcano_island,
- before [;
- Swim: "Near a still-active volcano? Not wise.";
- ],
- has light;
-
-Nearby shipwreck "old shipwreck"
- with name "shipwreck" "wreck" "ship",
- initial "An old shipwreck is almost embedded in the lava \
- here.",
- description "It looks like an old navy vessel, \
- stuck fast in the surrounding rock. Its obviously \
- been underwater for some time, as it is covered in \
- barnacles and seaweed. The hull has partially rotted apart \
- in many places.",
- before [;
- Enter:
- "You find that anything left to enter in the wreck \
- has pretty much decayed away.";
- Cast:
- if (the_spell_was == fiznav_spell)
- "You perform a nice ritual to the Sea Gods, and \
- before your very eyes, the ship attempts to repair \
- itself! But there's too much damage, and not \
- even the aid of the Sea Gods can fix this craft. \
- The chant fails.";
- Search:
- if (self has general) {
- move green_rod_piece to parent(self);
- give self ~general;
- Achieved(7);
- "Something about the old boat rings a familiar tune. \
-You check near something that might have once been a mast, and \
-uncover a familiar green rod!";
- }
- ],
- has static;
-
-Object In_lighthouse "Lighthouse, upper level"
- with description "You're inside an abandoned lighthouse, on what \
- must be an upper floor. The whole interior is lifeless and \
- barren. There's a large broken crack in the western wall. \
- You also notice a hole in the floor nearby, which might \
- have been an exitway a long, long time ago.",
- name "crack" "hole",
- w_to [;
- if (water_spirit in self)
- "The water spirit buffets you with water and \
- prevents you from leaving.";
- else return Lighthouse2;
- ],
- d_to [;
- deadflag = 1;
- "You drop through the hole, and land in cold dark water! \
- Trapped in an enclosed pool of seawater, with the hole \
- too far above you, you drown shortly afterwards.";
- ],
- before [;
- Listen: "You hear some sloshing noises from below the floor.";
- ],
-has light;
-
-
-
-! ************
-! creatures
-! ************
-
-Object farmer "farmer" Farm
- with name "farmer",
- initial "There's a tired-looking farmer here.",
- description "It looks like he's been working pretty hard \
- in the sun.",
- each_turn [;
- if (self hasnt general) {
- if (random(10) == 1)
- "^~'Forget zucchini,' they told me, 'Go into oyster \
- farming. You'll make a fortune.' Ha!~";
- }
- else {
- remove farmer;
- move silver_sphere to player;
- "^The farmer sees you approach and rushes to \
- greet you. ~I saw what you did, sir, yes indeed. \
- A mighty crazy thing to do, calling a volcano outa \
- the water like that. But you did it! And \
- my oyster beds thank you kindly! I'd like to \
- repay the favor, but I'm only a poor farmer.~ He \
- pauses, then searches his pockets. ~Here,~ he says, \
- putting something in your hand. ~Found it digging in \
- the sand. Don't know what it is, but I'll bet you \
- can use it.~ He smiles and disappears into the \
- farmhouse.";
- }
- ],
- life [;
- Attack, ThrowAt:
- "Something about attacking a down-on-his-luck \
-farmer just doesn't seem right, so you stop.";
- Answer:
- if (special_word == 'hello')
- "The farmer nods in your direction. \
-~How do, stranger?~";
- Ask:
- if (second == 'oyster' or 'farm' or 'oysters')
- "~Did a foolish thing, sir, tried my luck with \
- oyster farming this year. The place is too far \
- from the sea, and I can't get any oysters in my \
- beds, 'cause there's no water to grow 'em in.~";
- Show:
- if (noun has is_sphere)
- "~Hey, I seen something like that once.~";
- Give, Tell:
- "The farmer smiles, but shakes his head.";
- default: "The farmer is preoccupied with something as \
-he squints into the sun.";
- ],
- before [;
- Cast:
- if (the_spell_was == foblub_spell or espnis_spell)
-"~I'm just a simple farmer, sir. I'm afraid you're losing me \
-with your fancy words.~";
- ],
- has animate;
-
-Object water_spirit "water spirit" In_Lighthouse
- with name "spirit",
- description "It looks like a large moving mass of seawater, \
- in a somewhat man-like shape.",
- each_turn [ i ;
- ! spirit attack
- ! (in general, the 4 spirits are _very_ dangerous.
- ! There's a 1/5 chance of killing outright, and 2
- ! chances of doing 10 and 5 points of damage respectively.
- ! In short, the player needs to realize it's time to swanko,
- ! and do so, quickly)
- if (self hasnt general) {
- give self general ~concealed;
- "^Suddenly, water seeps in from the west, and forms \
- into a large vaguely-humanoid shape before your very \
- eyes!";
- }
- i = random(5);
- if (i == 1) {
- deadflag = 1;
- "^The water creature moves quickly, and smothers you \
- in water! You try to escape, but the creature has \
- amazing strength and weight! The spirit soon \
- envelopes your head, and you drown...";
- }
- if (i == 2)
- Player_HP_CUR = Player_HP_CUR - 10;
- if (i==3)
- Player_HP_CUR = Player_HP_CUR - 5;
- if (Player_HP_CUR <= 0) {
- deadflag = 1;
- "^The last blow from the water spirit was too much for \
- you, I'm afraid to say. You sink to the ground, to \
- weak to defend yourself, as the spirit slowly oozes \
- towards you for the final blow...";
- }
- print "^The water spirit ";
- if (i==2)
- "blasts you with a jet of seawater! \
- It feels like a battering ram just used you for a \
- practice drawbridge!";
- if (i==3)
- "buffets you with small jets of water! \
- You feel exposed areas of skin getting rubbed raw by \
- the force of the water!";
- "forms into a small wave and tries to \
- crush you, but you evade just in time!";
- ],
- before [;
- Cast:
- if (the_spell_was == swanko_spell) {
- remove self;
- "As you speak the chant, the water spirit falls back \
- in fear! You finish the chant, and the water spirit \
- makes one last attempt to smother you, but dissipates \
- with a splash!";
- }
- print "The creature makes a banshee-howl as you chant.^";
- ],
- life [ ;
- Attack:
- print "You ";
- if (random(20) >= 8)
- "strike the water creature, but your attack passes \
- harmlessly through it! You hear a strange noise from \
- the creature -- akin to a drowning man laughing.";
- "attack the water spirit, but miss!";
- default: "It's too busy trying to kill you.";
- ],
- has animate concealed;
-
-Object mad_hermit "mad hermit" FUBLIO_Cave
- with name "hermit" "madman" "mad",
- description "He looks quite crazed -- his wild eyes \
-are almost unbearable to watch. His clothes are complete \
-tatters, and he looks rather emaciated.",
- each_turn [ i ;
- i = random(10);
- switch(i) {
- 1: "^The hermit stares at you and screams. \
-~Demon, trickster -- you'll not fool me again!~";
- 2: "^The hermit smiles at you. ~Come to pay \
-your respects to an old man, Humboz? I know it's you.~";
- 3: "^The hermit shrinks into a corner and weeps. ~No more, no more. I \
-can help you no more.~";
- 4: "^The hermit hums a little tune.";
- 5: "^The hermit talks to someone or thing unseen. \
-~Closer, closer, nary a sound betray...~";
- 6: "^The hermit grabs your shoulder. ~I am hampered,~ \
-he pleads with you, ~by the lack of an algebraic solution! \
-That was where I went wrong!~";
- 7: "^The hermit babbles something about a shining \
-tower on a hill.";
- 8: "^The hermit pauses. ~Listen, do you hear them? \
-The voices -- everywhere!~";
- default: "^The hermit giggles for no reason.";
- }
- ],
- life [;
- Answer:
- if (special_word=='hello')
- "~We meet again, do we not?~";
- Ask:
- switch (second) {
- 'exit', 'outside': "The hermit laughs. \
-~You want to leave already? Very well, you'll find \
-the exit where you came in.~";
- 'entrance':
- print "The hermit chuckles. ~Forgotten where \
-you came in? It hasn't gone anywhere.";
- if (FUBLIO_Cave.number == 1) {
- FUBLIO_Cave.number = 2;
- "~ He points at a space in the south wall, which \
-you realize is actually a well-hidden tunnel.";
- }
- else "~";
- ! 'sack': "~A fine pet, mine and mine forever.~";
- 'food', 'fish': "~My friends of the deep, they \
-sacrifice themselves for me, as I will some day for them.~";
- default: "~Many are the secrets you keep.~";
- }
- Give:
- if (noun has edible) {
- print "The hermit greedily takes ", (the) noun, " and \
-gobbles it quickly";
- remove noun;
- if (p1 in self) {
- move p1 to player;
- print ". ~Good, yes. \
-I have something for you -- something you will treasure as I have.~ He \
-gives you a piece of parchment.";
- }
- ".";
- }
- "~No, no, I already have many of those.~";
- Attack, ThrowAt, Order:
- "The hermit cowers in one corner of \
-the cave, screaming. You stop, and reconsider.";
- Kiss:
- "Tears run down the hermit's cheek.";
- Show, Tell:
- if (noun has edible)
- "The hermit visibly salivates.";
- "The hermit gibbers maniacally.";
- ],
- before [;
- Cast:
- "The hermit joins in with your chanting, and \
-twists the meaning of the words! You quickly stop.";
- ],
- time_left 0,
- time_out [;
- deadflag = 1;
- "^The hermit seems to recognize you through his madness! \
-~You have returned! The Big Man! Biggest of them all! \
-Returned to deliver me from my prison. I had never forsaken \
-you!~^^\
-~Wait,~ you protest, ~stop this madness!~^^\
-But the crazed hermit continues. He prostrates in front \
-of you and babbles incoherently. ~I put all my faith \
-in you -- I have to leave here, before I go insane! \
-The others, they abandoned hope. But not me. No! \
-You have always had our best interests in mind.~^^\
-He begins an eerie, frenetic song that jars your very soul. \
-You watch the water level start to rise near the southern \
-entrance, and wait for the end.";
- ],
- has animate transparent;
-
-
-
-! ************
-! spells/scrolls
-! ************
-
-Object spotted_scroll "spotted scroll" FUBLIO_Cave
- class scroll_class,
- with name "spotted",
-;
-
-Object bekdab_spell "turn iron to rust" spotted_scroll
- class spell_class,
- with name "bekdab",
- magic [;
- "Your chant goes unanswered. I guess you need pure iron.";
- ],
-;
-
-! ************
-! Misc objects
-! ************
-
-
-Object sack "fur sack" sailboat
- with name "sack" "fur",
- description "A fairly large sack made of furs and animal \
-hides.",
- ! weight 20,
- size 24,
- ! capacity 20,
- has container openable;
-
-! (wet -- Anabais is one of four evil elemental powers)
-Object p1 "wet parchment" mad_hermit
- class parchment_class,
- with name "wet",
-description "~...evidence that there are more demons like \
-the evil Anabais! In fact, I suspect that four demons, not \
-one, faced the Ancient Ones in spiritual battle at the \
-dawn of time! To suspect this is...~";
-
-
-! 1st rod piece -- GRAY
-Object gray_rod_piece "gray rod piece" In_Lighthouse
- class rod_class,
- with name "gray",
- initial "In the center of the room is a short gray rod.",
- description "It's a short section of a rod made of some \
-undeterminable hard substance, \
-colored gray like murky water. A piece of the Rod of \
-the Ancients, no doubt!",
-;
-
-! 1st sphere - SILVER
-Object silver_sphere "silver sphere"
- class sphere_class,
- with name "silver",
- description "A tiny perfect silver sphere, made of some strange \
- unknown metal.",
-;
-