X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=src%2Fmiznia.inf;fp=src%2Fmiznia.inf;h=6a18b50e9efa19b336473fade8bb0476fc74c669;hb=8cf6c360a875867b3cb9b78b9e73a0e72d527d17;hp=0000000000000000000000000000000000000000;hpb=eabbe6652d6c382ba6fe25cba07074f73020b4d0;p=spiritwrak.git diff --git a/src/miznia.inf b/src/miznia.inf new file mode 100644 index 0000000..6a18b50 --- /dev/null +++ b/src/miznia.inf @@ -0,0 +1,892 @@ +! ******************************************************************* +! MIZNIA -- add-on for SPIRITWRAK +! ******************************************************************* + + +Object MIZNIA_GUSStop "Mizniaport" + with description "The Great Change certainly hasn't changed the \ +ultra-swank city of Mizniaport. The entire place is filled with \ +splashy color and a disturbing sense of moderness. There's a \ +stairway down here, while side walkways head west and \ +northeast.", + name "color" "moderness" "stairway" "walkway" "walkways", + d_to MIZNIA_GUSStation, + w_to MIZNIA_Park, + ne_to FROBAR_Ent, + has light; + +Object MIZNIA_Park "Miznia Suburbs" + with description "Overly cozy-looking homes sprout up all over \ +the place here. Ridiculously \ +well-trimmed front lawns remind you that you're still in Miznia. \ +A nice pebble path heads east and west. You see the entrance to \ +a swank-looking boutique to the south.", + name "homes" "lawns" "pebble" "path", + e_to MIZNIA_GUSStop, + w_to MIZNIA_Outskirts, + s_to MIZNIA_Boutique, + in_to MIZNIA_Boutique, + has light; + +Object MIZNIA_Boutique "Swank Boutique" + with description "A ultra-swank accessory store, filled with \ +flashy items for the fashion-unconscious shopper. \ +An exit lies north.", + name "items" "accessory", + out_to MIZNIA_Park, + n_to MIZNIA_Park, + has light; + +Object boutique_sign "small sign" MIZNIA_Boutique + with description "The sign reads ~PLEASE RING BELL FOR SERVICE~", + name "small" "sign", + has static; + +Object MIZNIA_Outskirts "City Limits" + with description "The city stops here abruptly. The Miznia jungle \ +makes its presence known for real here, forming a natural barrier. A \ +path leads east, while an almost overgrown path leads into the jungle \ +to the southwest.", + name "path" "jungle" "barrier", + e_to MIZNIA_Park, + sw_to Jungle_Edge, + has light; + +Object c8 "coin" MIZNIA_Boutique class coin_class; + +Object Jungle_Edge "Edge of Jungle" + with description "Wild birds and wilder vegetation distract you from \ +a faint trail through the jungle here. The path leads northeast and \ +southwest.", + name "birds" "vegetation" "trail", + ne_to MIZNIA_Outskirts, + sw_to Deep_Jungle, + has light; + +Object Deep_Jungle "Deep Jungle" + with description "You're in very deep jungle, just on the verge of \ +getting lost. Your surroundings are green and untamed. A path \ +leads northeast, while a muddy path heads south.", + name "mud" "path", + ne_to Jungle_Edge, + s_to Swamp, + has light; + +Object Swamp "Swamp" + with description [; + print "You're knee-deep in a murky swamp. Huge swamp grasses \ +wall you in"; + if (self has general) + print ", except for a section to the west"; + ". Drier land is north or south."; + ], + name "swamp" "land", + n_to Deep_Jungle, + s_to Jungle_Clearing, + w_to [; + if (self hasnt general) + "You can't go that way."; + else return Jungle_Ruins; + ], + has light; + +Nearby grasses "grasses" + with name "grass" "grasses", + description "Tall, thick swampgrass.", + before [; + Push, Pull, Cut, Attack: + "The grass is extremely hardy."; + Search: + if ((Jungle_Map notin player)) + "You hunt around in the grasses for a while and find nothing."; + else { + give Swamp general; + Achieved(21); + "You check the jungle map. Sure enough, there's a loose \ +patch of grass that you could duck under to the west."; + } + Cast: + if (the_spell_was == throck_spell) + "Grasses don't grow much more than this."; + ], + has scenery; + + +Object Jungle_Clearing "Jungle Clearing" + with description "The Jungle clears out a bit here, so you can actually \ +see patches of sky and walk ten paces without running into a tree. There's \ +a path into the jungle undergrowth to the north. \ +You notice a group of jungle natives gathered here.", + name "sky" "path", + number 1, + n_to Swamp, + each_turn [ ; + if (Jungle_Clearing.number == 2) { + move Shaman to Jungle_Clearing; + Jungle_Clearing.number = 5; + "^A single native tribesman breaks away from the group and \ +approaches you."; + } + if (Jungle_Clearing.number == 1) + Jungle_Clearing.number = 2; + ], + has light; + +Nearby natives "natives" + with name "natives" "group", + description "A group of jungle natives in elaborate feather and \ + fur clothing. They appear to be armed with large spears.", + life [; +default: "The group of natives looks at you with distrusting stares."; + ], + before [; +Cast: + if (the_spell_was == espnis_spell or foblub_spell) +"They can't understand your language, thus the meaning of \ +the sermon is lost on them."; + ], + has animate concealed; + + + +Object Jungle_Ruins "Hidden Ruins" + with description "Hidden here in some extremely deep jungle \ + are the ruins of some ancient civilization. Broken sandstone \ + structures are nearly covered with jungle vines and mosses. \ + There is a partially intact structure to the north. \ + It seems to be a short pyramid-like building, with a single \ + dark entrance hidden amongst vines. Definitely a find to \ + write the Monastery about, or at least your local \ + Archeology Guild.", + name "sandstone" "structures" "structure" "vines" +"pyramid" "entrance" "mosses", + e_to Swamp, + n_to TEMPLE_Ent, + has light; + +! (The ancient temple, unlit, of course) +Object TEMPLE_Ent "Pyramid Entrance" + with description "A damp, dark, unmarked stone room. You can hear \ + the sounds of the jungle from the exit to the south. There \ + are dark passages north and east.", + s_to Jungle_Ruins, + e_to TEMPLE_Statue_room, + n_to TEMPLE_Trap, + before [; + Listen: "You hear noises of the jungle from the south."; + ], +; + +Object TEMPLE_Statue_room "Statue Room" + with description "A tiny dark chamber, with a passage west.", + w_to TEMPLE_Ent, +; + +Nearby TEMPLE_Statue "large statue" + with name "statue", + description "A stone statue of some ancient \ + warrior, probably intended to frighten off visitors.", + before [; + ! manual dealing with PushDir (only 3 possible locs anyway) + PushDir: + if (self has general) + "The statue is stuck fast and doesn't budge."; + if ((self in TEMPLE_Statue_room) && (second == w_obj)) { + print "^There's a grinding noise as you push the statue west.^"; + AllowPushDir(); rtrue; + } + if ((self in TEMPLE_Ent) && (second == s_obj)) + "^The statue doesn't appear to fit through the \ + entranceway."; + if ((self in TEMPLE_Ent) && + ((second == n_obj) || (second == e_obj))) { + print "^There's a grinding noise as you push the statue.^"; + AllowPushDir(); rtrue; + } + if ((self in TEMPLE_Trap) && (second == s_obj)) { + print "^There's a grinding noise as you push the statue south.^"; + AllowPushDir(); rtrue; + } + if ((self in TEMPLE_Trap) && (second == n_obj)) { + give self general; + move rollers to TEMPLE_Trap; + "You start to push the statue north, and hear a strange \ + click. Suddenly, two enormous stone rolling pins slide \ + down from the east and west sides of the room! \ + Desperately, you topple the statue and hide behind it. \ + You hear a huge crash!^^\ + You open your eyes, surprised to find yourself not \ + squashed into pancake. The statue has wedged itself \ + neatly between the two giant rollers, effectively \ + blocking them!"; + } + "You can't push the statue that way."; + Take: + "The statue rocks back and forth a bit, but is \ +far too heavy to take."; + Push: + print "The statue "; + if (self hasnt general) + "rocks back and forth a bit."; + else "seems to be stuck."; + ], + has static; + +Object TEMPLE_Trap "Strange Chamber" + with description "This is an odd long hallway running north and south. \ +The stone floor is noticeably concave, sloping upwards to \ +the east and west. It's like being in a long stone \ +channel.", + name "slope" "channel", + s_to TEMPLE_Ent, + e_to "The floor gets too steep, and you slide back down.", + w_to "The floor gets too steep, and you slide back down.", + n_to [; + if (TEMPLE_Statue hasnt general) { + deadflag = 1; + "You head north, and hear a strange click. Suddenly, \ + two huge stone rolling pins roll down from the east \ + and west sides of the room! Desperately, you try to \ + escape, but the hall is too long, and the stone \ + rollers too fast. You are crushed to jelly."; + } + else { + print "You step over and around the jammed rollers and \ + the statue and head north.^"; + return TEMPLE_1; + } + ], +; + +Object rollers "stone rollers" + with name "roller" "rollers" "stone", + initial "There are two stone rollers pinned against the statue.", + description "Massive stone rolling pins.", + before [; +Push, Pull, Attack, Turn, Shake, Squeeze: +"The rollers are huge and stuck fast."; + ], + has static; + +Object TEMPLE_1 "Bare Chamber" + with description "You are in a bare stone chamber with passages leading \ +north, east, south and west. A stone ladder also heads upwards through a \ +dark hole in the ceiling.", + name "ladder" "hole", + s_to TEMPLE_Trap, + n_to TEMPLE_1N, + e_to TEMPLE_1E, + w_to TEMPLE_1W, + u_to TEMPLE_2, +; + +Object TEMPLE_1W "Small Chamber" + with description "You're in a small bare chamber. On one of the walls, \ + you notice an engraving, almost worn away with age. It seems to be a \ + picture of a jungle village, and you recognize the pyramid you are currently in. \ + An exit lies east.", + e_to TEMPLE_1, +; + +Object TEMPLE_1N "Small Chamber" + with description "You're in a rather bare chamber. On one of the walls, \ + you see a worn engraving depicting a group of robed figures standing in \ + some chamber. They are carrying several long reeds. An exit lies south.", + s_to TEMPLE_1, +; + +Object TEMPLE_1E "Small Chamber" + with description "You're in a small stone chamber. In the center of the \ + floor is a strange funnel-like depression, which starts as a large \ + circular opening, and narrows into a very small tunnel below, \ + probably no wider than your hand. You also see a small round hole \ + in the ceiling above. An exit heads west.", + w_to TEMPLE_1, + d_to "You'd never fit down that opening.", + u_to "You can't reach the hole, and besides, you'd never fit through \ +it if you could.", +; + +Object TEMPLE_1_HOLEU "hole" TEMPLE_1E + with name "hole", + description "You see a dark small hole in the center of the \ +ceiling.", + before [; +Rub, Push, Pull, Touch, Receive, LetGo, Search: +"The hole is far above your head."; + ], + has scenery; + +Object TEMPLE_1_Opening "opening" TEMPLE_1E + with name "opening" "funnel" "depression" "tunnel", + description "A smooth funnel in the stone in the floor, that descends \ + into darkness as it narrows.", + describe [ x; + print "^The opening "; + if (children(self) == 0) + "appears to be empty."; + else { + print "contains:^"; + x = children(self); + x = FULLINV_BIT + INDENT_BIT + NEWLINE_BIT + RECURSE_BIT; + WriteListFrom (child(self), x, 1); + rtrue; + } + ], + before [; + Receive: + if (noun ~= TEMPLE_Artifact) { + print "That doesn't quite fit -- "; + if (noun.size > TEMPLE_Artifact.size) + "the funnel becomes too narrow too quickly."; + else "strangely..."; + } + LetGo: + "You stick your hand down the small hole, but it must be \ + quite deep, and you can't quite reach."; + ], + capacity 1, + size 10, + has static container open; + +Object TEMPLE_2 "Bare Chamber" + with description "You are in a bare stone chamber with passages leading \ +north, east, south and west. A stone ladder leads upwards and downwards \ +into dark holes.", + name "ladder" "hole", + s_to TEMPLE_2S, + n_to TEMPLE_2N, + e_to TEMPLE_2E, + w_to TEMPLE_2W, + u_to TEMPLE_3, + d_to TEMPLE_1, +; + +Object TEMPLE_2N "Small Chamber" + with description "You're in a small bare chamber. Engravings on the \ + wall show several robed figures in a low domed chamber. Some of \ + the figures are pushing what appears to be reeds down a small hole \ + in the ground, while others stand by and seem to be praying or \ + engaged in some ceremony. In a separate scene, similar robed \ + figures can be seen throwing some poor bound individual off the \ + top of the pyramid, apparently in some sort of ritualistic \ + sacrifice. An exit heads south.", + s_to TEMPLE_2, +; + +Object TEMPLE_2W "Small Chamber" + with description "You're in a small bare chamber. Engravings on \ + the wall depict several robed figures in a room mostly filled \ + with water. The figures are watching reeds that seem to fall \ + from the sky and land in the water. Several reeds are floating \ + towards an apparent drain in the water, where a few reeds that are thin \ + enough fall through with the flow of the water. An exit lies east.", + e_to TEMPLE_2, +; + +Object TEMPLE_2S "Small Chamber" + with description "You're in a rather small chamber. Engravings on \ + the walls depict several robed figures in a strange room with a \ + circular depression in the ground, filled with water. Water also \ + flows into the pool in a thin stream from some undrawn source above. \ + With the stream of water, a few reeds appear to be falling. A single \ + figure is collecting the reeds as they fall and placing them in \ + a long thin vase or container. The significance of \ + this is uncertain. An exit lies north.", + n_to TEMPLE_2, +; + +Object TEMPLE_engravings "engravings" + with name "engravings" "engraving", + description [; ; ], + found_in TEMPLE_1W TEMPLE_1N TEMPLE_2N TEMPLE_2W TEMPLE_2S, + has scenery; + +Object TEMPLE_2E "Small Chamber" + with description [; + print "You're in a bare stone chamber which is partially \ +filled with a sunken pool of dirty blackish water. Near the south wall \ +is a depression in the floor that was probably a drain for the pool, given the \ +apparent water stains; however the level of the pool is below \ +the point where it would overflow into the drain. Near the center \ +of the ceiling is a small round hole, right above the pool. An \ +exit lies west"; + if ((self hasnt general) && (TEMPLE_3 hasnt general) && + (amulet has worn)) { + give self general; + ".^^Your amulet suddenly gives off a bright purple flash!"; + } + else "."; + ], + name "stains", + before [; + Fill: +"The blackish water seems like something you really don't want."; + ], + w_to TEMPLE_2, +; + +Object TEMPLE_2_HOLEU "hole" TEMPLE_2E + with name "hole", + description "You see a dark small hole in the center of the \ +ceiling.", + before [; +Rub, Push, Pull, Touch, Receive, LetGo, Search: +"The hole is far above your head."; + ], + has scenery; + +Object TEMPLE_2_Opening "opening" TEMPLE_2E + with name "opening" "drain" "depression", + description "A smooth drain opening in the stone in the floor, \ + that descends into darkness.", + before [; + Receive: + if ((noun ~= TEMPLE_Artifact) && (noun hasnt is_rod)) ! TODO ADD? + "Oddly, that doesn't fit through the small round drain."; + else { + if (children(TEMPLE_1_Opening) == 0) + move noun to TEMPLE_1_Opening; + if (TEMPLE_Artifact in TEMPLE_1_Opening && + children(TEMPLE_Artifact) == 0) + move noun to TEMPLE_Artifact; + else move noun to TEMPLE_1E; + CDefArt(noun); " drops into the drain and disappears \ + out of sight. Moments later you hear a thump from \ + somewhere below."; + } + ], + capacity 1, + size 10, + has scenery container open; + +Object TEMPLE_Pool "pool" TEMPLE_2E + with name "pool" "water", + describe [; +print "^The black pool is disturbingly calm"; +if (umbrella in self) + ". Floating on the surface is a black open umbrella."; +else "."; + ], + description [; + print "Murky black water that seems disturbingly calm"; + if (umbrella notin self) + "."; + else + ". Floating on the surface is a black open umbrella."; + ], + before [; + Cast: + if (the_spell_was == frotz_spell) + "There's a strange gurgling noise as you finish the \ + chant, and the black water starts to glow! But, \ + to your horror, the inky water seems to absorb the \ + light and return to its original blackness! The \ + chant fails."; + + Enter: + deadflag = 1; + "You notice the water seems unusually cold as you enter \ + the pool. Without warning, something grabs your legs and \ + pulls you under! In pitch black liquid that seems to \ + absorb all light, you can't defend yourself, or even \ + see your adversary, who devours you shortly."; + Search: + "You can't see a thing, the water is blacker than night."; + Receive: + if (noun == toy_volcano) { + remove noun; + "You drop the toy volcano into the black pool and \ +watch it sink. Moments later, a large large bubble rises, and \ +pops at the surface, followed by a strange, belch-like noise!"; + } + if ((noun ~= umbrella) || (umbrella hasnt open)) { + remove noun; + CDefArt(noun); +print " falls into the pool and slowly sinks into the black water. \ +Suddenly, ", (the) noun, " seems to get pulled into the pool, \ +and is soon gone! Something dwells in that pool, apparently, \ +hidden well in a cover of"; " blackness!"; + } + else { + move umbrella to TEMPLE_Pool; + give umbrella ~light; ! a 'special-effect'? + "The open umbrella sits in the pool, floating on the \ + surface like a cloth dome."; + } + ], + size 25, + has static container open; + + +Object TEMPLE_3 "Collapsed Chamber" + with description [; + print "You are in a stone chamber that has broken and \ + eroded walls in several places. Broken stones and dirt are everywhere. \ + It appears there was once an open archway east, however the heavy stones \ + that framed it have collapsed. A tiny hole remains, \ + but it would be an exceptionally tight squeeze. \ + A stone ladder leads downwards into a dark hole"; + if ((self hasnt general) && (TEMPLE_2E hasnt general) && + (amulet has worn)) { + give self general; + ".^^Your amulet suddenly gives off a bright purple flash!"; + } + else "."; + ], + name "stones" "dirt" "archway" "ladder" "hole", + e_to [; + if (children(player) ~= 0) + "You try to squeeze through the hole, to \ + no avail. You're carrying too much to fit."; + else return TEMPLE_3E; + ], + d_to TEMPLE_2, +; + +Object TEMPLE_3E "Low Chamber" + with description "You're in a tiny low room, dimly lit by strange \ + glowing lichens and mosses. A tiny exit lies west between some \ + collapsed rock -- it looks like a very tight squeeze. The room is \ + otherwise filled with broken rock and the like. A tiny round hole \ + is in the very center of the floor.", + name "lichens" "mosses" "rock", + w_to [; + if (children(player) ~= 0) + "You try to squeeze through the hole, to \ + no avail. You're carrying too much to fit."; + else return TEMPLE_3; + ], + d_to "You can barely fit your hand in the hole.", +has light; + +Nearby TEMPLE_3_Opening "opening" + with name "opening" "hole" "tiny" "round", + description "A smooth round hole in the stone in the floor \ + that descends into darkness.", + before [; + Receive: + if (noun hasnt is_rod) + "Oddly, that doesn't quite fit."; + else { + print "The rod slips through with ease. \ +Moments later you"; + if (umbrella notin TEMPLE_Pool) { + remove noun; + " hear a splash from somewhere below."; + } + else { + if (children(TEMPLE_1_Opening) == 0) + move noun to TEMPLE_1_Opening; + else { + if (TEMPLE_Artifact in TEMPLE_1_Opening && + children(TEMPLE_Artifact) == 0) + move noun to TEMPLE_Artifact; + else move noun to TEMPLE_1E; + Achieved(22); + } + ! if (TEMPLE_Artifact notin TEMPLE_1_Opening) + ! move noun to TEMPLE_1_Opening; + ! else + ! move noun to TEMPLE_Artifact; + " hear a thump from below, followed by a rattling noise, \ + and finally another thump, much fainter."; + } + } + ], + capacity 1, + size 10, + has scenery container open; + + +! (Super Zmart) (REMOVED) + +Object stuffed_toy "stuffed toy" MIZNIA_Park + with name "toy" "stuffed" "alligator", + initial "A stuffed toy has been left unattended on someone's lawn.", + description "A cute little stuffed toy alligator.", + !weight 5, + size 15, +; + + + +Object FROBAR_Ent "In Front of Swank House" + with description "You're in front of a rather swank looking house to the \ + northeast. To the southwest is the rest of Mizniaport.", + name "house", + sw_to MIZNIA_GUSStop, + ne_to [; + if (Frobar in Delbins) + "You walk up to the front door, only to find it locked."; + else return FROBAR_Foyer; + ], + in_to [; + if (Frobar in Delbins) + "You walk up to the front door, only to find it locked."; + else return FROBAR_Foyer; + ], + has light; + +Nearby Frobar_mailbox "mailbox" + with name "mailbox" "box", + description "A mailbox stands in front of the house. The letter \ + ~F~ is on one side.", + capacity 5, + size 15, + ! block a receive here? + has static container openable; + +Object Ench_mag "copy of ~Enchanter Monthly~" Frobar_mailbox + with name "magazine" "monthly" "enchanter" "copy", + description "~Enchanter Monthly~ has been somewhat lacking in \ + quality content these days (The absence of magic probably \ + being a large factor behind this). For filler, the editors have \ + been turning in mostly tabloid drivel articles about ~What ever \ + happened to so-and-so?~. This month's cover story \ + suggests that Barsap the magician was actually turned into a tortoise \ + during the Great Cataclysm, and underwent a slow mutation into a \ + newt.", + !weight 5, + size 15, +; + + + + +! ********** +! critters/people +! ********** + +Object Shaman "jungle shaman" + with name "shaman" "tribesman" "native", + description [; +print "A jungle native with a rather elaborate costume \ + make of bird feathers and animal hides. He seems old, but wise"; +if (self hasnt general) + ". Unlike the rest of the natives, this one is not wearing a \ + fancy feather-and-fur headdress."; +else "."; + ], + life [; + Order: + if ((action==##Give) && (noun==Jungle_Map) && (Jungle_Map in self)) + "You try to convey your desire for the map with \ + gestures. The shaman seems to understand. He \ + points to the map, then you. Then, he raises his \ + hand in a 'stop' gesture. Then, he points to his \ + bare head."; + "The shaman does not seem to understand."; + Give: + if (noun==headdress) { + move Jungle_Map to player; + move headdress to Shaman; + give self general; + "The shaman takes the headdress and places it on his \ + head. He smiles, and gives you a strange map in return."; + } + "The shaman smiles and shakes his head."; + Attack, ThrowAt: + deadflag = 1; + "As you make a threatening move, several of the natives \ + step forward and pierce your body with stout spears. \ + It appears they've had bad dealings with outsiders \ + before."; + Show: + if (noun == headdress) + "The shaman nods and points to the headdress, then \ + himself."; + "The shaman says something in a language you've never \ + heard before."; + default: "You can't seem to communicate with him; their \ + language is completely foreign to you."; + ], + before [; + Cast: + if (the_spell_was == foblub_spell or espnis_spell) + "You begin the sermon, but the shaman and natives \ + seem very puzzled by your speech, and clearly \ + can't understand a word you're saying. The chant \ + fails."; + ], + has animate; ! transparent? + +Object Jungle_Map "jungle map" Shaman + with name "map" "jungle", + description [; + print "The map is somewhat crudely drawn:^^"; + font off; + spaces 23; print "xxxx^"; + spaces 23; print "xxxx^"; + spaces 23; print "XXXX^"; + spaces 22; print "/^"; + spaces 18; print "XXXX^"; + spaces 18; print "XXXX^"; + spaces 18; print "XXXX^"; + spaces 20; print "I^"; + spaces 18; print "oooo^"; + spaces 12; print "<#>---oooo^"; + spaces 18; print "oooo^"; + spaces 20; print "I^"; + spaces 18; print "XXXX^"; + spaces 18; print "XXXX^"; + spaces 18; print "XXXX^"; + font on; + ], + ! weight 10, + size 10, +; + +Object earth_spirit "earth spirit" TEMPLE_3 ! TEMPLE_3E + with name "spirit", + description "It looks like a large moving mass of mud and earth, \ + 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; + "^Some of the dirt and mud in one corner stirs! A form \ + made of mud and earth suddenly rises to attack!"; + } + i = random(5); + if (i == 1) { + deadflag = 1; + "^The earth creature moves quickly, and blinds you with \ + a spray of dirt! You clear your eyes, only to see the \ + brown mass move forward and bury you! You struggle, but \ + suffocate in short time."; + } + 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 earth spirit was too much for \ + you, I'm afraid to say. The spirit slowly sludges \ + towards you for the final blow..."; + } + print "^The earth spirit "; + if (i==2) + "clubs you with a heavy pseudopod \ + made of animated soil and rock. Ouch!"; + if (i==3) { + print "throws some loose soil and sand in \ + your face! The attack knocks you back, and \ + you fall into the chamber below!"; + PlayerTo(TEMPLE_2); + rtrue; + } + "sends a spray of sharp rocks \ + your way, and you just dodge in time!"; + ], + before [; + Cast: + if (the_spell_was == swanko_spell) { + remove self; + "As you speak the chant, the earth spirit falls back \ + in fear! You finish the chant, and the earth spirit \ + collapses into a heap of dirt and mud, banished!"; + } + print "The creature makes a banshee-howl as you chant.^"; + ], + life [ ; + Attack: + print "You "; + if (random(20) >= 8) + "strike the earth creature, but your attack passes \ + harmlessly through it! You hear a strange noise from \ + the creature -- akin to mad laughter from someone \ + trapped underground in a coffin."; + "attack the earth spirit, but miss!"; + default: "It's too busy trying to kill you."; + ], + has animate concealed; + +! ********** +! spells/scrolls +! ********** + +! TODO (Dan, why is this declared _here_?) +Object white_scroll "white scroll" + class scroll_class, + with name "white", +; + +Object huncho_spell "send object to higher plane" white_scroll + class spell_class, + with name "huncho", + magic [; + if (second == 0) +"You see a brief flash of light, but nothing happens."; + if (second == player) { + print "You finish the chant"; +! if ((location == ATRII_8) && (ATRII_8 hasnt general) && +! (white_rod_piece in player) && (black_rod_piece in player) && +! (smoke_rod_piece in player) && (gray_rod_piece in player)) { + if ((location == ATRII_8) && (ATRII_8 hasnt general)) { + give ATRII_8 general; + spell_block = 1; + print " and notice the \ +white streaks of light above widen, as though a rift was \ +being torn in the sky! You feel a force pulling you \ +upwards, into the unknown!^"; + StartTimer(Imp_Liv,10); + PlayerTo(Imp_Liv); + rtrue; + } + else + ", and see a short-lived flash +of light above, but nothing else."; + } + if (second has animate) { + "You feel a slight rumbling overhead, but nothing else \ +happens."; + } + else { + if ((second hasnt static) && (second hasnt scenery) && + (in_atrii == 0)) { + if (second has clothing) give second ~worn; + move second to ATRII_8; + print "There is a flash of light, and "; DefArt(second); + " suddenly vanishes!"; + } + "Your chant goes unanswered."; + } + ], +; + +Object muddy_scroll "muddy scroll" Deep_Jungle + class scroll_class, + with name "muddy", + initial "Partially buried in the mud is a scroll.", +; + +Object throck_spell "grow plant" muddy_scroll + class spell_class, + with name "throck", + magic [; + "Your chant goes unanswered. It's intended for plants only."; + ], +; + +! ********** +! misc objs +! ********** + + +! 'earth' rod piece -- BLACK +Object black_rod_piece "black rod piece" TEMPLE_3E + class rod_class, + with name "black", + initial "In the center of the room is a short black rod.", + description "It's a short section of a rod made of some \ +undeterminable hard substance, \ +colored an inky black. A piece of the Rod of \ +the Ancients, I'd warrant!", +;