1 ! *******************************************************************
2 ! MIZNIA -- add-on for SPIRITWRAK
3 ! *******************************************************************
6 Object MIZNIA_GUSStop "Mizniaport"
7 with description "The Great Change certainly hasn't changed the \
8 ultra-swank city of Mizniaport. The entire place is filled with \
9 splashy color and a disturbing sense of moderness. There's a \
10 stairway down here, while side walkways head west and \
12 name "color" "moderness" "stairway" "walkway" "walkways",
13 d_to MIZNIA_GUSStation,
18 Object MIZNIA_Park "Miznia Suburbs"
19 with description "Overly cozy-looking homes sprout up all over \
20 the place here. Ridiculously \
21 well-trimmed front lawns remind you that you're still in Miznia. \
22 A nice pebble path heads east and west. You see the entrance to \
23 a swank-looking boutique to the south.",
24 name "homes" "lawns" "pebble" "path",
26 w_to MIZNIA_Outskirts,
28 in_to MIZNIA_Boutique,
31 Object MIZNIA_Boutique "Swank Boutique"
32 with description "A ultra-swank accessory store, filled with \
33 flashy items for the fashion-unconscious shopper. \
35 name "items" "accessory",
40 Object boutique_sign "small sign" MIZNIA_Boutique
41 with description "The sign reads ~PLEASE RING BELL FOR SERVICE~",
45 Object MIZNIA_Outskirts "City Limits"
46 with description "The city stops here abruptly. The Miznia jungle \
47 makes its presence known for real here, forming a natural barrier. A \
48 path leads east, while an almost overgrown path leads into the jungle \
50 name "path" "jungle" "barrier",
55 Object c8 "coin" MIZNIA_Boutique class coin_class;
57 Object Jungle_Edge "Edge of Jungle"
58 with description "Wild birds and wilder vegetation distract you from \
59 a faint trail through the jungle here. The path leads northeast and \
61 name "birds" "vegetation" "trail",
62 ne_to MIZNIA_Outskirts,
66 Object Deep_Jungle "Deep Jungle"
67 with description "You're in very deep jungle, just on the verge of \
68 getting lost. Your surroundings are green and untamed. A path \
69 leads northeast, while a muddy path heads south.",
77 print "You're knee-deep in a murky swamp. Huge swamp grasses \
80 print ", except for a section to the west";
81 ". Drier land is north or south.";
87 if (self hasnt general)
88 "You can't go that way.";
89 else return Jungle_Ruins;
93 Nearby grasses "grasses"
94 with name "grass" "grasses",
95 description "Tall, thick swampgrass.",
97 Push, Pull, Cut, Attack:
98 "The grass is extremely hardy.";
100 if ((Jungle_Map notin player))
101 "You hunt around in the grasses for a while and find nothing.";
105 "You check the jungle map. Sure enough, there's a loose \
106 patch of grass that you could duck under to the west.";
109 if (the_spell_was == throck_spell)
110 "Grasses don't grow much more than this.";
115 Object Jungle_Clearing "Jungle Clearing"
116 with description "The Jungle clears out a bit here, so you can actually \
117 see patches of sky and walk ten paces without running into a tree. There's \
118 a path into the jungle undergrowth to the north. \
119 You notice a group of jungle natives gathered here.",
124 if (Jungle_Clearing.number == 2) {
125 move Shaman to Jungle_Clearing;
126 Jungle_Clearing.number = 5;
127 "^A single native tribesman breaks away from the group and \
130 if (Jungle_Clearing.number == 1)
131 Jungle_Clearing.number = 2;
135 Nearby natives "natives"
136 with name "natives" "group",
137 description "A group of jungle natives in elaborate feather and \
138 fur clothing. They appear to be armed with large spears.",
140 default: "The group of natives looks at you with distrusting stares.";
144 if (the_spell_was == espnis_spell or foblub_spell)
145 "They can't understand your language, thus the meaning of \
146 the sermon is lost on them.";
148 has animate concealed;
152 Object Jungle_Ruins "Hidden Ruins"
153 with description "Hidden here in some extremely deep jungle \
154 are the ruins of some ancient civilization. Broken sandstone \
155 structures are nearly covered with jungle vines and mosses. \
156 There is a partially intact structure to the north. \
157 It seems to be a short pyramid-like building, with a single \
158 dark entrance hidden amongst vines. Definitely a find to \
159 write the Monastery about, or at least your local \
161 name "sandstone" "structures" "structure" "vines"
162 "pyramid" "entrance" "mosses",
167 ! (The ancient temple, unlit, of course)
168 Object TEMPLE_Ent "Pyramid Entrance"
169 with description "A damp, dark, unmarked stone room. You can hear \
170 the sounds of the jungle from the exit to the south. There \
171 are dark passages north and east.",
173 e_to TEMPLE_Statue_room,
176 Listen: "You hear noises of the jungle from the south.";
180 Object TEMPLE_Statue_room "Statue Room"
181 with description "A tiny dark chamber, with a passage west.",
185 Nearby TEMPLE_Statue "large statue"
187 description "A stone statue of some ancient \
188 warrior, probably intended to frighten off visitors.",
190 ! manual dealing with PushDir (only 3 possible locs anyway)
192 if (self has general)
193 "The statue is stuck fast and doesn't budge.";
194 if ((self in TEMPLE_Statue_room) && (second == w_obj)) {
195 print "^There's a grinding noise as you push the statue west.^";
196 AllowPushDir(); rtrue;
198 if ((self in TEMPLE_Ent) && (second == s_obj))
199 "^The statue doesn't appear to fit through the \
201 if ((self in TEMPLE_Ent) &&
202 ((second == n_obj) || (second == e_obj))) {
203 print "^There's a grinding noise as you push the statue.^";
204 AllowPushDir(); rtrue;
206 if ((self in TEMPLE_Trap) && (second == s_obj)) {
207 print "^There's a grinding noise as you push the statue south.^";
208 AllowPushDir(); rtrue;
210 if ((self in TEMPLE_Trap) && (second == n_obj)) {
212 move rollers to TEMPLE_Trap;
213 "You start to push the statue north, and hear a strange \
214 click. Suddenly, two enormous stone rolling pins slide \
215 down from the east and west sides of the room! \
216 Desperately, you topple the statue and hide behind it. \
217 You hear a huge crash!^^\
218 You open your eyes, surprised to find yourself not \
219 squashed into pancake. The statue has wedged itself \
220 neatly between the two giant rollers, effectively \
223 "You can't push the statue that way.";
225 "The statue rocks back and forth a bit, but is \
226 far too heavy to take.";
229 if (self hasnt general)
230 "rocks back and forth a bit.";
231 else "seems to be stuck.";
235 Object TEMPLE_Trap "Strange Chamber"
236 with description "This is an odd long hallway running north and south. \
237 The stone floor is noticeably concave, sloping upwards to \
238 the east and west. It's like being in a long stone \
240 name "slope" "channel",
242 e_to "The floor gets too steep, and you slide back down.",
243 w_to "The floor gets too steep, and you slide back down.",
245 if (TEMPLE_Statue hasnt general) {
247 "You head north, and hear a strange click. Suddenly, \
248 two huge stone rolling pins roll down from the east \
249 and west sides of the room! Desperately, you try to \
250 escape, but the hall is too long, and the stone \
251 rollers too fast. You are crushed to jelly.";
254 print "You step over and around the jammed rollers and \
255 the statue and head north.^";
261 Object rollers "stone rollers"
262 with name "roller" "rollers" "stone",
263 initial "There are two stone rollers pinned against the statue.",
264 description "Massive stone rolling pins.",
266 Push, Pull, Attack, Turn, Shake, Squeeze:
267 "The rollers are huge and stuck fast.";
271 Object TEMPLE_1 "Bare Chamber"
272 with description "You are in a bare stone chamber with passages leading \
273 north, east, south and west. A stone ladder also heads upwards through a \
274 dark hole in the ceiling.",
275 name "ladder" "hole",
283 Object TEMPLE_1W "Small Chamber"
284 with description "You're in a small bare chamber. On one of the walls, \
285 you notice an engraving, almost worn away with age. It seems to be a \
286 picture of a jungle village, and you recognize the pyramid you are currently in. \
291 Object TEMPLE_1N "Small Chamber"
292 with description "You're in a rather bare chamber. On one of the walls, \
293 you see a worn engraving depicting a group of robed figures standing in \
294 some chamber. They are carrying several long reeds. An exit lies south.",
298 Object TEMPLE_1E "Small Chamber"
299 with description "You're in a small stone chamber. In the center of the \
300 floor is a strange funnel-like depression, which starts as a large \
301 circular opening, and narrows into a very small tunnel below, \
302 probably no wider than your hand. You also see a small round hole \
303 in the ceiling above. An exit heads west.",
305 d_to "You'd never fit down that opening.",
306 u_to "You can't reach the hole, and besides, you'd never fit through \
310 Object TEMPLE_1_HOLEU "hole" TEMPLE_1E
312 description "You see a dark small hole in the center of the \
315 Rub, Push, Pull, Touch, Receive, LetGo, Search:
316 "The hole is far above your head.";
320 Object TEMPLE_1_Opening "opening" TEMPLE_1E
321 with name "opening" "funnel" "depression" "tunnel",
322 description "A smooth funnel in the stone in the floor, that descends \
323 into darkness as it narrows.",
325 print "^The opening ";
326 if (children(self) == 0)
327 "appears to be empty.";
331 x = FULLINV_BIT + INDENT_BIT + NEWLINE_BIT + RECURSE_BIT;
332 WriteListFrom (child(self), x, 1);
338 if (noun ~= TEMPLE_Artifact) {
339 print "That doesn't quite fit -- ";
340 if (noun.size > TEMPLE_Artifact.size)
341 "the funnel becomes too narrow too quickly.";
345 "You stick your hand down the small hole, but it must be \
346 quite deep, and you can't quite reach.";
350 has static container open;
352 Object TEMPLE_2 "Bare Chamber"
353 with description "You are in a bare stone chamber with passages leading \
354 north, east, south and west. A stone ladder leads upwards and downwards \
356 name "ladder" "hole",
365 Object TEMPLE_2N "Small Chamber"
366 with description "You're in a small bare chamber. Engravings on the \
367 wall show several robed figures in a low domed chamber. Some of \
368 the figures are pushing what appears to be reeds down a small hole \
369 in the ground, while others stand by and seem to be praying or \
370 engaged in some ceremony. In a separate scene, similar robed \
371 figures can be seen throwing some poor bound individual off the \
372 top of the pyramid, apparently in some sort of ritualistic \
373 sacrifice. An exit heads south.",
377 Object TEMPLE_2W "Small Chamber"
378 with description "You're in a small bare chamber. Engravings on \
379 the wall depict several robed figures in a room mostly filled \
380 with water. The figures are watching reeds that seem to fall \
381 from the sky and land in the water. Several reeds are floating \
382 towards an apparent drain in the water, where a few reeds that are thin \
383 enough fall through with the flow of the water. An exit lies east.",
387 Object TEMPLE_2S "Small Chamber"
388 with description "You're in a rather small chamber. Engravings on \
389 the walls depict several robed figures in a strange room with a \
390 circular depression in the ground, filled with water. Water also \
391 flows into the pool in a thin stream from some undrawn source above. \
392 With the stream of water, a few reeds appear to be falling. A single \
393 figure is collecting the reeds as they fall and placing them in \
394 a long thin vase or container. The significance of \
395 this is uncertain. An exit lies north.",
399 Object TEMPLE_engravings "engravings"
400 with name "engravings" "engraving",
401 description [; <Look>; ],
402 found_in TEMPLE_1W TEMPLE_1N TEMPLE_2N TEMPLE_2W TEMPLE_2S,
405 Object TEMPLE_2E "Small Chamber"
407 print "You're in a bare stone chamber which is partially \
408 filled with a sunken pool of dirty blackish water. Near the south wall \
409 is a depression in the floor that was probably a drain for the pool, given the \
410 apparent water stains; however the level of the pool is below \
411 the point where it would overflow into the drain. Near the center \
412 of the ceiling is a small round hole, right above the pool. An \
414 if ((self hasnt general) && (TEMPLE_3 hasnt general) &&
417 ".^^Your amulet suddenly gives off a bright purple flash!";
424 "The blackish water seems like something you really don't want.";
429 Object TEMPLE_2_HOLEU "hole" TEMPLE_2E
431 description "You see a dark small hole in the center of the \
434 Rub, Push, Pull, Touch, Receive, LetGo, Search:
435 "The hole is far above your head.";
439 Object TEMPLE_2_Opening "opening" TEMPLE_2E
440 with name "opening" "drain" "depression",
441 description "A smooth drain opening in the stone in the floor, \
442 that descends into darkness.",
445 if ((noun ~= TEMPLE_Artifact) && (noun hasnt is_rod)) ! TODO ADD?
446 "Oddly, that doesn't fit through the small round drain.";
448 if (children(TEMPLE_1_Opening) == 0)
449 move noun to TEMPLE_1_Opening;
450 if (TEMPLE_Artifact in TEMPLE_1_Opening &&
451 children(TEMPLE_Artifact) == 0)
452 move noun to TEMPLE_Artifact;
453 else move noun to TEMPLE_1E;
454 CDefArt(noun); " drops into the drain and disappears \
455 out of sight. Moments later you hear a thump from \
461 has scenery container open;
463 Object TEMPLE_Pool "pool" TEMPLE_2E
464 with name "pool" "water",
466 print "^The black pool is disturbingly calm";
467 if (umbrella in self)
468 ". Floating on the surface is a black open umbrella.";
472 print "Murky black water that seems disturbingly calm";
473 if (umbrella notin self)
476 ". Floating on the surface is a black open umbrella.";
480 if (the_spell_was == frotz_spell)
481 "There's a strange gurgling noise as you finish the \
482 chant, and the black water starts to glow! But, \
483 to your horror, the inky water seems to absorb the \
484 light and return to its original blackness! The \
489 "You notice the water seems unusually cold as you enter \
490 the pool. Without warning, something grabs your legs and \
491 pulls you under! In pitch black liquid that seems to \
492 absorb all light, you can't defend yourself, or even \
493 see your adversary, who devours you shortly.";
495 "You can't see a thing, the water is blacker than night.";
497 if (noun == toy_volcano) {
499 "You drop the toy volcano into the black pool and \
500 watch it sink. Moments later, a large large bubble rises, and \
501 pops at the surface, followed by a strange, belch-like noise!";
503 if ((noun ~= umbrella) || (umbrella hasnt open)) {
506 print " falls into the pool and slowly sinks into the black water. \
507 Suddenly, ", (the) noun, " seems to get pulled into the pool, \
508 and is soon gone! Something dwells in that pool, apparently, \
509 hidden well in a cover of"; " blackness!";
512 move umbrella to TEMPLE_Pool;
513 give umbrella ~light; ! a 'special-effect'?
514 "The open umbrella sits in the pool, floating on the \
515 surface like a cloth dome.";
519 has static container open;
522 Object TEMPLE_3 "Collapsed Chamber"
524 print "You are in a stone chamber that has broken and \
525 eroded walls in several places. Broken stones and dirt are everywhere. \
526 It appears there was once an open archway east, however the heavy stones \
527 that framed it have collapsed. A tiny hole remains, \
528 but it would be an exceptionally tight squeeze. \
529 A stone ladder leads downwards into a dark hole";
530 if ((self hasnt general) && (TEMPLE_2E hasnt general) &&
533 ".^^Your amulet suddenly gives off a bright purple flash!";
537 name "stones" "dirt" "archway" "ladder" "hole",
539 if (children(player) ~= 0)
540 "You try to squeeze through the hole, to \
541 no avail. You're carrying too much to fit.";
542 else return TEMPLE_3E;
547 Object TEMPLE_3E "Low Chamber"
548 with description "You're in a tiny low room, dimly lit by strange \
549 glowing lichens and mosses. A tiny exit lies west between some \
550 collapsed rock -- it looks like a very tight squeeze. The room is \
551 otherwise filled with broken rock and the like. A tiny round hole \
552 is in the very center of the floor.",
553 name "lichens" "mosses" "rock",
555 if (children(player) ~= 0)
556 "You try to squeeze through the hole, to \
557 no avail. You're carrying too much to fit.";
558 else return TEMPLE_3;
560 d_to "You can barely fit your hand in the hole.",
563 Nearby TEMPLE_3_Opening "opening"
564 with name "opening" "hole" "tiny" "round",
565 description "A smooth round hole in the stone in the floor \
566 that descends into darkness.",
569 if (noun hasnt is_rod)
570 "Oddly, that doesn't quite fit.";
572 print "The rod slips through with ease. \
574 if (umbrella notin TEMPLE_Pool) {
576 " hear a splash from somewhere below.";
579 if (children(TEMPLE_1_Opening) == 0)
580 move noun to TEMPLE_1_Opening;
582 if (TEMPLE_Artifact in TEMPLE_1_Opening &&
583 children(TEMPLE_Artifact) == 0)
584 move noun to TEMPLE_Artifact;
585 else move noun to TEMPLE_1E;
588 ! if (TEMPLE_Artifact notin TEMPLE_1_Opening)
589 ! move noun to TEMPLE_1_Opening;
591 ! move noun to TEMPLE_Artifact;
592 " hear a thump from below, followed by a rattling noise, \
593 and finally another thump, much fainter.";
599 has scenery container open;
602 ! (Super Zmart) (REMOVED)
604 Object stuffed_toy "stuffed toy" MIZNIA_Park
605 with name "toy" "stuffed" "alligator",
606 initial "A stuffed toy has been left unattended on someone's lawn.",
607 description "A cute little stuffed toy alligator.",
614 Object FROBAR_Ent "In Front of Swank House"
615 with description "You're in front of a rather swank looking house to the \
616 northeast. To the southwest is the rest of Mizniaport.",
618 sw_to MIZNIA_GUSStop,
620 if (Frobar in Delbins)
621 "You walk up to the front door, only to find it locked.";
622 else return FROBAR_Foyer;
625 if (Frobar in Delbins)
626 "You walk up to the front door, only to find it locked.";
627 else return FROBAR_Foyer;
631 Nearby Frobar_mailbox "mailbox"
632 with name "mailbox" "box",
633 description "A mailbox stands in front of the house. The letter \
634 ~F~ is on one side.",
637 ! block a receive here?
638 has static container openable;
640 Object Ench_mag "copy of ~Enchanter Monthly~" Frobar_mailbox
641 with name "magazine" "monthly" "enchanter" "copy",
642 description "~Enchanter Monthly~ has been somewhat lacking in \
643 quality content these days (The absence of magic probably \
644 being a large factor behind this). For filler, the editors have \
645 been turning in mostly tabloid drivel articles about ~What ever \
646 happened to so-and-so?~. This month's cover story \
647 suggests that Barsap the magician was actually turned into a tortoise \
648 during the Great Cataclysm, and underwent a slow mutation into a \
661 Object Shaman "jungle shaman"
662 with name "shaman" "tribesman" "native",
664 print "A jungle native with a rather elaborate costume \
665 make of bird feathers and animal hides. He seems old, but wise";
666 if (self hasnt general)
667 ". Unlike the rest of the natives, this one is not wearing a \
668 fancy feather-and-fur headdress.";
673 if ((action==##Give) && (noun==Jungle_Map) && (Jungle_Map in self))
674 "You try to convey your desire for the map with \
675 gestures. The shaman seems to understand. He \
676 points to the map, then you. Then, he raises his \
677 hand in a 'stop' gesture. Then, he points to his \
679 "The shaman does not seem to understand.";
681 if (noun==headdress) {
682 move Jungle_Map to player;
683 move headdress to Shaman;
685 "The shaman takes the headdress and places it on his \
686 head. He smiles, and gives you a strange map in return.";
688 "The shaman smiles and shakes his head.";
691 "As you make a threatening move, several of the natives \
692 step forward and pierce your body with stout spears. \
693 It appears they've had bad dealings with outsiders \
696 if (noun == headdress)
697 "The shaman nods and points to the headdress, then \
699 "The shaman says something in a language you've never \
701 default: "You can't seem to communicate with him; their \
702 language is completely foreign to you.";
706 if (the_spell_was == foblub_spell or espnis_spell)
707 "You begin the sermon, but the shaman and natives \
708 seem very puzzled by your speech, and clearly \
709 can't understand a word you're saying. The chant \
712 has animate; ! transparent?
714 Object Jungle_Map "jungle map" Shaman
715 with name "map" "jungle",
717 print "The map is somewhat crudely drawn:^^";
719 spaces 23; print "xxxx^";
720 spaces 23; print "xxxx^";
721 spaces 23; print "XXXX^";
722 spaces 22; print "/^";
723 spaces 18; print "XXXX^";
724 spaces 18; print "XXXX^";
725 spaces 18; print "XXXX^";
726 spaces 20; print "I^";
727 spaces 18; print "oooo^";
728 spaces 12; print "<#>---oooo^";
729 spaces 18; print "oooo^";
730 spaces 20; print "I^";
731 spaces 18; print "XXXX^";
732 spaces 18; print "XXXX^";
733 spaces 18; print "XXXX^";
740 Object earth_spirit "earth spirit" TEMPLE_3 ! TEMPLE_3E
742 description "It looks like a large moving mass of mud and earth, \
743 in a somewhat man-like shape.",
746 ! (in general, the 4 spirits are _very_ dangerous.
747 ! There's a 1/5 chance of killing outright, and 2
748 ! chances of doing 10 and 5 points of damage respectively.
749 ! In short, the player needs to realize it's time to swanko,
750 ! and do so, quickly)
751 if (self hasnt general) {
752 give self general ~concealed;
753 "^Some of the dirt and mud in one corner stirs! A form \
754 made of mud and earth suddenly rises to attack!";
759 "^The earth creature moves quickly, and blinds you with \
760 a spray of dirt! You clear your eyes, only to see the \
761 brown mass move forward and bury you! You struggle, but \
762 suffocate in short time.";
765 Player_HP_CUR = Player_HP_CUR - 10;
767 Player_HP_CUR = Player_HP_CUR - 5;
768 if (Player_HP_CUR <= 0) {
770 "^The last blow from the earth spirit was too much for \
771 you, I'm afraid to say. The spirit slowly sludges \
772 towards you for the final blow...";
774 print "^The earth spirit ";
776 "clubs you with a heavy pseudopod \
777 made of animated soil and rock. Ouch!";
779 print "throws some loose soil and sand in \
780 your face! The attack knocks you back, and \
781 you fall into the chamber below!";
785 "sends a spray of sharp rocks \
786 your way, and you just dodge in time!";
790 if (the_spell_was == swanko_spell) {
792 "As you speak the chant, the earth spirit falls back \
793 in fear! You finish the chant, and the earth spirit \
794 collapses into a heap of dirt and mud, banished!";
796 print "The creature makes a banshee-howl as you chant.^";
802 "strike the earth creature, but your attack passes \
803 harmlessly through it! You hear a strange noise from \
804 the creature -- akin to mad laughter from someone \
805 trapped underground in a coffin.";
806 "attack the earth spirit, but miss!";
807 default: "It's too busy trying to kill you.";
809 has animate concealed;
815 ! TODO (Dan, why is this declared _here_?)
816 Object white_scroll "white scroll"
821 Object huncho_spell "send object to higher plane" white_scroll
826 "You see a brief flash of light, but nothing happens.";
827 if (second == player) {
828 print "You finish the chant";
829 ! if ((location == ATRII_8) && (ATRII_8 hasnt general) &&
830 ! (white_rod_piece in player) && (black_rod_piece in player) &&
831 ! (smoke_rod_piece in player) && (gray_rod_piece in player)) {
832 if ((location == ATRII_8) && (ATRII_8 hasnt general)) {
833 give ATRII_8 general;
835 print " and notice the \
836 white streaks of light above widen, as though a rift was \
837 being torn in the sky! You feel a force pulling you \
838 upwards, into the unknown!^";
839 StartTimer(Imp_Liv,10);
844 ", and see a short-lived flash
845 of light above, but nothing else.";
847 if (second has animate) {
848 "You feel a slight rumbling overhead, but nothing else \
852 if ((second hasnt static) && (second hasnt scenery) &&
854 if (second has clothing) give second ~worn;
855 move second to ATRII_8;
856 print "There is a flash of light, and "; DefArt(second);
857 " suddenly vanishes!";
859 "Your chant goes unanswered.";
864 Object muddy_scroll "muddy scroll" Deep_Jungle
867 initial "Partially buried in the mud is a scroll.",
870 Object throck_spell "grow plant" muddy_scroll
874 "Your chant goes unanswered. It's intended for plants only.";
883 ! 'earth' rod piece -- BLACK
884 Object black_rod_piece "black rod piece" TEMPLE_3E
887 initial "In the center of the room is a short black rod.",
888 description "It's a short section of a rod made of some \
889 undeterminable hard substance, \
890 colored an inky black. A piece of the Rod of \
891 the Ancients, I'd warrant!",