1 ! *******************************************************************
2 ! MIZNIA -- add-on for SPIRITWRAK
4 ! SPIRITWRAK is free software; you can redistribute it and/or modify
5 ! it under the terms of the GNU General Public License as published by
6 ! the Free Software Foundation; either version 3 of the License, or
7 ! (at your option) any later version.
9 ! SPIRITWRAK is distributed in the hope that it will be useful, but
10 ! WITHOUT ANY WARRANTY; without even the implied warranty of
11 ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 ! General Public License for more details.
14 ! You should have received a copy of the GNU General Public License
15 ! along with SPIRITWRAK. If not, see <https://www.gnu.org/licenses/>.
16 ! *******************************************************************
19 Object MIZNIA_GUSStop "Mizniaport"
20 with description "The Great Change certainly hasn't changed the \
21 ultra-swank city of Mizniaport. The entire place is filled with \
22 splashy color and a disturbing sense of moderness. There's a \
23 stairway down here, while side walkways head west and \
25 name "color" "moderness" "stairway" "walkway" "walkways",
26 d_to MIZNIA_GUSStation,
31 Object MIZNIA_Park "Miznia Suburbs"
32 with description "Overly cozy-looking homes sprout up all over \
33 the place here. Ridiculously \
34 well-trimmed front lawns remind you that you're still in Miznia. \
35 A nice pebble path heads east and west. You see the entrance to \
36 a swank-looking boutique to the south.",
37 name "homes" "lawns" "pebble" "path",
39 w_to MIZNIA_Outskirts,
41 in_to MIZNIA_Boutique,
44 Object MIZNIA_Boutique "Swank Boutique"
45 with description "A ultra-swank accessory store, filled with \
46 flashy items for the fashion-unconscious shopper. \
48 name "items" "accessory",
53 Object boutique_sign "small sign" MIZNIA_Boutique
54 with description "The sign reads ~PLEASE RING BELL FOR SERVICE~",
58 Object MIZNIA_Outskirts "City Limits"
59 with description "The city stops here abruptly. The Miznia jungle \
60 makes its presence known for real here, forming a natural barrier. A \
61 path leads east, while an almost overgrown path leads into the jungle \
63 name "path" "jungle" "barrier",
68 Object c8 "coin" MIZNIA_Boutique class coin_class;
70 Object Jungle_Edge "Edge of Jungle"
71 with description "Wild birds and wilder vegetation distract you from \
72 a faint trail through the jungle here. The path leads northeast and \
74 name "birds" "vegetation" "trail",
75 ne_to MIZNIA_Outskirts,
79 Object Deep_Jungle "Deep Jungle"
80 with description "You're in very deep jungle, just on the verge of \
81 getting lost. Your surroundings are green and untamed. A path \
82 leads northeast, while a muddy path heads south.",
90 print "You're knee-deep in a murky swamp. Huge swamp grasses \
93 print ", except for a section to the west";
94 ". Drier land is north or south.";
100 if (self hasnt general)
101 "You can't go that way.";
102 else return Jungle_Ruins;
106 Nearby grasses "grasses"
107 with name "grass" "grasses",
108 description "Tall, thick swampgrass.",
110 Push, Pull, Cut, Attack:
111 "The grass is extremely hardy.";
113 if ((Jungle_Map notin player))
114 "You hunt around in the grasses for a while and find nothing.";
118 "You check the jungle map. Sure enough, there's a loose \
119 patch of grass that you could duck under to the west.";
122 if (the_spell_was == throck_spell)
123 "Grasses don't grow much more than this.";
128 Object Jungle_Clearing "Jungle Clearing"
129 with description "The Jungle clears out a bit here, so you can actually \
130 see patches of sky and walk ten paces without running into a tree. There's \
131 a path into the jungle undergrowth to the north. \
132 You notice a group of jungle natives gathered here.",
137 if (Jungle_Clearing.number == 2) {
138 move Shaman to Jungle_Clearing;
139 Jungle_Clearing.number = 5;
140 "^A single native tribesman breaks away from the group and \
143 if (Jungle_Clearing.number == 1)
144 Jungle_Clearing.number = 2;
148 Nearby natives "natives"
149 with name "natives" "group",
150 description "A group of jungle natives in elaborate feather and \
151 fur clothing. They appear to be armed with large spears.",
153 default: "The group of natives looks at you with distrusting stares.";
157 if (the_spell_was == espnis_spell or foblub_spell)
158 "They can't understand your language, thus the meaning of \
159 the sermon is lost on them.";
161 has animate concealed;
165 Object Jungle_Ruins "Hidden Ruins"
166 with description "Hidden here in some extremely deep jungle \
167 are the ruins of some ancient civilization. Broken sandstone \
168 structures are nearly covered with jungle vines and mosses. \
169 There is a partially intact structure to the north. \
170 It seems to be a short pyramid-like building, with a single \
171 dark entrance hidden amongst vines. Definitely a find to \
172 write the Monastery about, or at least your local \
174 name "sandstone" "structures" "structure" "vines"
175 "pyramid" "entrance" "mosses",
180 ! (The ancient temple, unlit, of course)
181 Object TEMPLE_Ent "Pyramid Entrance"
182 with description "A damp, dark, unmarked stone room. You can hear \
183 the sounds of the jungle from the exit to the south. There \
184 are dark passages north and east.",
186 e_to TEMPLE_Statue_room,
189 Listen: "You hear noises of the jungle from the south.";
193 Object TEMPLE_Statue_room "Statue Room"
194 with description "A tiny dark chamber, with a passage west.",
198 Nearby TEMPLE_Statue "large statue"
200 description "A stone statue of some ancient \
201 warrior, probably intended to frighten off visitors.",
203 ! manual dealing with PushDir (only 3 possible locs anyway)
205 if (self has general)
206 "The statue is stuck fast and doesn't budge.";
207 if ((self in TEMPLE_Statue_room) && (second == w_obj)) {
208 print "^There's a grinding noise as you push the statue west.^";
209 AllowPushDir(); rtrue;
211 if ((self in TEMPLE_Ent) && (second == s_obj))
212 "^The statue doesn't appear to fit through the \
214 if ((self in TEMPLE_Ent) &&
215 ((second == n_obj) || (second == e_obj))) {
216 print "^There's a grinding noise as you push the statue.^";
217 AllowPushDir(); rtrue;
219 if ((self in TEMPLE_Trap) && (second == s_obj)) {
220 print "^There's a grinding noise as you push the statue south.^";
221 AllowPushDir(); rtrue;
223 if ((self in TEMPLE_Trap) && (second == n_obj)) {
225 move rollers to TEMPLE_Trap;
226 "You start to push the statue north, and hear a strange \
227 click. Suddenly, two enormous stone rolling pins slide \
228 down from the east and west sides of the room! \
229 Desperately, you topple the statue and hide behind it. \
230 You hear a huge crash!^^\
231 You open your eyes, surprised to find yourself not \
232 squashed into pancake. The statue has wedged itself \
233 neatly between the two giant rollers, effectively \
236 "You can't push the statue that way.";
238 "The statue rocks back and forth a bit, but is \
239 far too heavy to take.";
242 if (self hasnt general)
243 "rocks back and forth a bit.";
244 else "seems to be stuck.";
248 Object TEMPLE_Trap "Strange Chamber"
249 with description "This is an odd long hallway running north and south. \
250 The stone floor is noticeably concave, sloping upwards to \
251 the east and west. It's like being in a long stone \
253 name "slope" "channel",
255 e_to "The floor gets too steep, and you slide back down.",
256 w_to "The floor gets too steep, and you slide back down.",
258 if (TEMPLE_Statue hasnt general) {
260 "You head north, and hear a strange click. Suddenly, \
261 two huge stone rolling pins roll down from the east \
262 and west sides of the room! Desperately, you try to \
263 escape, but the hall is too long, and the stone \
264 rollers too fast. You are crushed to jelly.";
267 print "You step over and around the jammed rollers and \
268 the statue and head north.^";
274 Object rollers "stone rollers"
275 with name "roller" "rollers" "stone",
276 initial "There are two stone rollers pinned against the statue.",
277 description "Massive stone rolling pins.",
279 Push, Pull, Attack, Turn, Shake, Squeeze:
280 "The rollers are huge and stuck fast.";
284 Object TEMPLE_1 "Bare Chamber"
285 with description "You are in a bare stone chamber with passages leading \
286 north, east, south and west. A stone ladder also heads upwards through a \
287 dark hole in the ceiling.",
288 name "ladder" "hole",
296 Object TEMPLE_1W "Small Chamber"
297 with description "You're in a small bare chamber. On one of the walls, \
298 you notice an engraving, almost worn away with age. It seems to be a \
299 picture of a jungle village, and you recognize the pyramid you are currently in. \
304 Object TEMPLE_1N "Small Chamber"
305 with description "You're in a rather bare chamber. On one of the walls, \
306 you see a worn engraving depicting a group of robed figures standing in \
307 some chamber. They are carrying several long reeds. An exit lies south.",
311 Object TEMPLE_1E "Small Chamber"
312 with description "You're in a small stone chamber. In the center of the \
313 floor is a strange funnel-like depression, which starts as a large \
314 circular opening, and narrows into a very small tunnel below, \
315 probably no wider than your hand. You also see a small round hole \
316 in the ceiling above. An exit heads west.",
318 d_to "You'd never fit down that opening.",
319 u_to "You can't reach the hole, and besides, you'd never fit through \
323 Object TEMPLE_1_HOLEU "hole" TEMPLE_1E
325 description "You see a dark small hole in the center of the \
328 Rub, Push, Pull, Touch, Receive, LetGo, Search:
329 "The hole is far above your head.";
333 Object TEMPLE_1_Opening "opening" TEMPLE_1E
334 with name "opening" "funnel" "depression" "tunnel",
335 description "A smooth funnel in the stone in the floor, that descends \
336 into darkness as it narrows.",
338 print "^The opening ";
339 if (children(self) == 0)
340 "appears to be empty.";
344 x = FULLINV_BIT + INDENT_BIT + NEWLINE_BIT + RECURSE_BIT;
345 WriteListFrom (child(self), x, 1);
351 if (noun ~= TEMPLE_Artifact) {
352 print "That doesn't quite fit -- ";
353 if (noun.size > TEMPLE_Artifact.size)
354 "the funnel becomes too narrow too quickly.";
358 "You stick your hand down the small hole, but it must be \
359 quite deep, and you can't quite reach.";
363 has static container open;
365 Object TEMPLE_2 "Bare Chamber"
366 with description "You are in a bare stone chamber with passages leading \
367 north, east, south and west. A stone ladder leads upwards and downwards \
369 name "ladder" "hole",
378 Object TEMPLE_2N "Small Chamber"
379 with description "You're in a small bare chamber. Engravings on the \
380 wall show several robed figures in a low domed chamber. Some of \
381 the figures are pushing what appears to be reeds down a small hole \
382 in the ground, while others stand by and seem to be praying or \
383 engaged in some ceremony. In a separate scene, similar robed \
384 figures can be seen throwing some poor bound individual off the \
385 top of the pyramid, apparently in some sort of ritualistic \
386 sacrifice. An exit heads south.",
390 Object TEMPLE_2W "Small Chamber"
391 with description "You're in a small bare chamber. Engravings on \
392 the wall depict several robed figures in a room mostly filled \
393 with water. The figures are watching reeds that seem to fall \
394 from the sky and land in the water. Several reeds are floating \
395 towards an apparent drain in the water, where a few reeds that are thin \
396 enough fall through with the flow of the water. An exit lies east.",
400 Object TEMPLE_2S "Small Chamber"
401 with description "You're in a rather small chamber. Engravings on \
402 the walls depict several robed figures in a strange room with a \
403 circular depression in the ground, filled with water. Water also \
404 flows into the pool in a thin stream from some undrawn source above. \
405 With the stream of water, a few reeds appear to be falling. A single \
406 figure is collecting the reeds as they fall and placing them in \
407 a long thin vase or container. The significance of \
408 this is uncertain. An exit lies north.",
412 Object TEMPLE_engravings "engravings"
413 with name "engravings" "engraving",
414 description [; <Look>; ],
415 found_in TEMPLE_1W TEMPLE_1N TEMPLE_2N TEMPLE_2W TEMPLE_2S,
418 Object TEMPLE_2E "Small Chamber"
420 print "You're in a bare stone chamber which is partially \
421 filled with a sunken pool of dirty blackish water. Near the south wall \
422 is a depression in the floor that was probably a drain for the pool, given the \
423 apparent water stains; however the level of the pool is below \
424 the point where it would overflow into the drain. Near the center \
425 of the ceiling is a small round hole, right above the pool. An \
427 if ((self hasnt general) && (TEMPLE_3 hasnt general) &&
430 ".^^Your amulet suddenly gives off a bright purple flash!";
437 "The blackish water seems like something you really don't want.";
442 Object TEMPLE_2_HOLEU "hole" TEMPLE_2E
444 description "You see a dark small hole in the center of the \
447 Rub, Push, Pull, Touch, Receive, LetGo, Search:
448 "The hole is far above your head.";
452 Object TEMPLE_2_Opening "opening" TEMPLE_2E
453 with name "opening" "drain" "depression",
454 description "A smooth drain opening in the stone in the floor, \
455 that descends into darkness.",
458 if ((noun ~= TEMPLE_Artifact) && (noun hasnt is_rod)) ! TODO ADD?
459 "Oddly, that doesn't fit through the small round drain.";
461 if (children(TEMPLE_1_Opening) == 0)
462 move noun to TEMPLE_1_Opening;
463 if (TEMPLE_Artifact in TEMPLE_1_Opening &&
464 children(TEMPLE_Artifact) == 0)
465 move noun to TEMPLE_Artifact;
466 else move noun to TEMPLE_1E;
467 CDefArt(noun); " drops into the drain and disappears \
468 out of sight. Moments later you hear a thump from \
474 has scenery container open;
476 Object TEMPLE_Pool "pool" TEMPLE_2E
477 with name "pool" "water",
479 print "^The black pool is disturbingly calm";
480 if (umbrella in self)
481 ". Floating on the surface is a black open umbrella.";
485 print "Murky black water that seems disturbingly calm";
486 if (umbrella notin self)
489 ". Floating on the surface is a black open umbrella.";
493 if (the_spell_was == frotz_spell)
494 "There's a strange gurgling noise as you finish the \
495 chant, and the black water starts to glow! But, \
496 to your horror, the inky water seems to absorb the \
497 light and return to its original blackness! The \
502 "You notice the water seems unusually cold as you enter \
503 the pool. Without warning, something grabs your legs and \
504 pulls you under! In pitch black liquid that seems to \
505 absorb all light, you can't defend yourself, or even \
506 see your adversary, who devours you shortly.";
508 "You can't see a thing, the water is blacker than night.";
510 if (noun == toy_volcano) {
512 "You drop the toy volcano into the black pool and \
513 watch it sink. Moments later, a large large bubble rises, and \
514 pops at the surface, followed by a strange, belch-like noise!";
516 if ((noun ~= umbrella) || (umbrella hasnt open)) {
519 print " falls into the pool and slowly sinks into the black water. \
520 Suddenly, ", (the) noun, " seems to get pulled into the pool, \
521 and is soon gone! Something dwells in that pool, apparently, \
522 hidden well in a cover of"; " blackness!";
525 move umbrella to TEMPLE_Pool;
526 give umbrella ~light; ! a 'special-effect'?
527 "The open umbrella sits in the pool, floating on the \
528 surface like a cloth dome.";
532 has static container open;
535 Object TEMPLE_3 "Collapsed Chamber"
537 print "You are in a stone chamber that has broken and \
538 eroded walls in several places. Broken stones and dirt are everywhere. \
539 It appears there was once an open archway east, however the heavy stones \
540 that framed it have collapsed. A tiny hole remains, \
541 but it would be an exceptionally tight squeeze. \
542 A stone ladder leads downwards into a dark hole";
543 if ((self hasnt general) && (TEMPLE_2E hasnt general) &&
546 ".^^Your amulet suddenly gives off a bright purple flash!";
550 name "stones" "dirt" "archway" "ladder" "hole",
552 if (children(player) ~= 0)
553 "You try to squeeze through the hole, to \
554 no avail. You're carrying too much to fit.";
555 else return TEMPLE_3E;
560 Object TEMPLE_3E "Low Chamber"
561 with description "You're in a tiny low room, dimly lit by strange \
562 glowing lichens and mosses. A tiny exit lies west between some \
563 collapsed rock -- it looks like a very tight squeeze. The room is \
564 otherwise filled with broken rock and the like. A tiny round hole \
565 is in the very center of the floor.",
566 name "lichens" "mosses" "rock",
568 if (children(player) ~= 0)
569 "You try to squeeze through the hole, to \
570 no avail. You're carrying too much to fit.";
571 else return TEMPLE_3;
573 d_to "You can barely fit your hand in the hole.",
576 Nearby TEMPLE_3_Opening "opening"
577 with name "opening" "hole" "tiny" "round",
578 description "A smooth round hole in the stone in the floor \
579 that descends into darkness.",
582 if (noun hasnt is_rod)
583 "Oddly, that doesn't quite fit.";
585 print "The rod slips through with ease. \
587 if (umbrella notin TEMPLE_Pool) {
589 " hear a splash from somewhere below.";
592 if (children(TEMPLE_1_Opening) == 0)
593 move noun to TEMPLE_1_Opening;
595 if (TEMPLE_Artifact in TEMPLE_1_Opening &&
596 children(TEMPLE_Artifact) == 0)
597 move noun to TEMPLE_Artifact;
598 else move noun to TEMPLE_1E;
601 ! if (TEMPLE_Artifact notin TEMPLE_1_Opening)
602 ! move noun to TEMPLE_1_Opening;
604 ! move noun to TEMPLE_Artifact;
605 " hear a thump from below, followed by a rattling noise, \
606 and finally another thump, much fainter.";
612 has scenery container open;
615 ! (Super Zmart) (REMOVED)
617 Object stuffed_toy "stuffed toy" MIZNIA_Park
618 with name "toy" "stuffed" "alligator",
619 initial "A stuffed toy has been left unattended on someone's lawn.",
620 description "A cute little stuffed toy alligator.",
627 Object FROBAR_Ent "In Front of Swank House"
628 with description "You're in front of a rather swank looking house to the \
629 northeast. To the southwest is the rest of Mizniaport.",
631 sw_to MIZNIA_GUSStop,
633 if (Frobar in Delbins)
634 "You walk up to the front door, only to find it locked.";
635 else return FROBAR_Foyer;
638 if (Frobar in Delbins)
639 "You walk up to the front door, only to find it locked.";
640 else return FROBAR_Foyer;
644 Nearby Frobar_mailbox "mailbox"
645 with name "mailbox" "box",
646 description "A mailbox stands in front of the house. The letter \
647 ~F~ is on one side.",
650 ! block a receive here?
651 has static container openable;
653 Object Ench_mag "copy of ~Enchanter Monthly~" Frobar_mailbox
654 with name "magazine" "monthly" "enchanter" "copy",
655 description "~Enchanter Monthly~ has been somewhat lacking in \
656 quality content these days (The absence of magic probably \
657 being a large factor behind this). For filler, the editors have \
658 been turning in mostly tabloid drivel articles about ~What ever \
659 happened to so-and-so?~. This month's cover story \
660 suggests that Barsap the magician was actually turned into a tortoise \
661 during the Great Cataclysm, and underwent a slow mutation into a \
674 Object Shaman "jungle shaman"
675 with name "shaman" "tribesman" "native",
677 print "A jungle native with a rather elaborate costume \
678 make of bird feathers and animal hides. He seems old, but wise";
679 if (self hasnt general)
680 ". Unlike the rest of the natives, this one is not wearing a \
681 fancy feather-and-fur headdress.";
686 if ((action==##Give) && (noun==Jungle_Map) && (Jungle_Map in self))
687 "You try to convey your desire for the map with \
688 gestures. The shaman seems to understand. He \
689 points to the map, then you. Then, he raises his \
690 hand in a 'stop' gesture. Then, he points to his \
692 "The shaman does not seem to understand.";
694 if (noun==headdress) {
695 move Jungle_Map to player;
696 move headdress to Shaman;
698 "The shaman takes the headdress and places it on his \
699 head. He smiles, and gives you a strange map in return.";
701 "The shaman smiles and shakes his head.";
704 "As you make a threatening move, several of the natives \
705 step forward and pierce your body with stout spears. \
706 It appears they've had bad dealings with outsiders \
709 if (noun == headdress)
710 "The shaman nods and points to the headdress, then \
712 "The shaman says something in a language you've never \
714 default: "You can't seem to communicate with him; their \
715 language is completely foreign to you.";
719 if (the_spell_was == foblub_spell or espnis_spell)
720 "You begin the sermon, but the shaman and natives \
721 seem very puzzled by your speech, and clearly \
722 can't understand a word you're saying. The chant \
725 has animate; ! transparent?
727 Object Jungle_Map "jungle map" Shaman
728 with name "map" "jungle",
730 print "The map is somewhat crudely drawn:^^";
732 spaces 23; print "xxxx^";
733 spaces 23; print "xxxx^";
734 spaces 23; print "XXXX^";
735 spaces 22; print "/^";
736 spaces 18; print "XXXX^";
737 spaces 18; print "XXXX^";
738 spaces 18; print "XXXX^";
739 spaces 20; print "I^";
740 spaces 18; print "oooo^";
741 spaces 12; print "<#>---oooo^";
742 spaces 18; print "oooo^";
743 spaces 20; print "I^";
744 spaces 18; print "XXXX^";
745 spaces 18; print "XXXX^";
746 spaces 18; print "XXXX^";
753 Object earth_spirit "earth spirit" TEMPLE_3 ! TEMPLE_3E
755 description "It looks like a large moving mass of mud and earth, \
756 in a somewhat man-like shape.",
759 ! (in general, the 4 spirits are _very_ dangerous.
760 ! There's a 1/5 chance of killing outright, and 2
761 ! chances of doing 10 and 5 points of damage respectively.
762 ! In short, the player needs to realize it's time to swanko,
763 ! and do so, quickly)
764 if (self hasnt general) {
765 give self general ~concealed;
766 "^Some of the dirt and mud in one corner stirs! A form \
767 made of mud and earth suddenly rises to attack!";
772 "^The earth creature moves quickly, and blinds you with \
773 a spray of dirt! You clear your eyes, only to see the \
774 brown mass move forward and bury you! You struggle, but \
775 suffocate in short time.";
778 Player_HP_CUR = Player_HP_CUR - 10;
780 Player_HP_CUR = Player_HP_CUR - 5;
781 if (Player_HP_CUR <= 0) {
783 "^The last blow from the earth spirit was too much for \
784 you, I'm afraid to say. The spirit slowly sludges \
785 towards you for the final blow...";
787 print "^The earth spirit ";
789 "clubs you with a heavy pseudopod \
790 made of animated soil and rock. Ouch!";
792 print "throws some loose soil and sand in \
793 your face! The attack knocks you back, and \
794 you fall into the chamber below!";
798 "sends a spray of sharp rocks \
799 your way, and you just dodge in time!";
803 if (the_spell_was == swanko_spell) {
805 "As you speak the chant, the earth spirit falls back \
806 in fear! You finish the chant, and the earth spirit \
807 collapses into a heap of dirt and mud, banished!";
809 print "The creature makes a banshee-howl as you chant.^";
815 "strike the earth creature, but your attack passes \
816 harmlessly through it! You hear a strange noise from \
817 the creature -- akin to mad laughter from someone \
818 trapped underground in a coffin.";
819 "attack the earth spirit, but miss!";
820 default: "It's too busy trying to kill you.";
822 has animate concealed;
828 ! TODO (Dan, why is this declared _here_?)
829 Object white_scroll "white scroll"
834 Object huncho_spell "send object to higher plane" white_scroll
839 "You see a brief flash of light, but nothing happens.";
840 if (second == player) {
841 print "You finish the chant";
842 ! if ((location == ATRII_8) && (ATRII_8 hasnt general) &&
843 ! (white_rod_piece in player) && (black_rod_piece in player) &&
844 ! (smoke_rod_piece in player) && (gray_rod_piece in player)) {
845 if ((location == ATRII_8) && (ATRII_8 hasnt general)) {
846 give ATRII_8 general;
848 print " and notice the \
849 white streaks of light above widen, as though a rift was \
850 being torn in the sky! You feel a force pulling you \
851 upwards, into the unknown!^";
852 StartTimer(Imp_Liv,10);
857 ", and see a short-lived flash
858 of light above, but nothing else.";
860 if (second has animate) {
861 "You feel a slight rumbling overhead, but nothing else \
865 if ((second hasnt static) && (second hasnt scenery) &&
867 if (second has clothing) give second ~worn;
868 move second to ATRII_8;
869 print "There is a flash of light, and "; DefArt(second);
870 " suddenly vanishes!";
872 "Your chant goes unanswered.";
877 Object muddy_scroll "muddy scroll" Deep_Jungle
880 initial "Partially buried in the mud is a scroll.",
883 Object throck_spell "grow plant" muddy_scroll
887 "Your chant goes unanswered. It's intended for plants only.";
896 ! 'earth' rod piece -- BLACK
897 Object black_rod_piece "black rod piece" TEMPLE_3E
900 initial "In the center of the room is a short black rod.",
901 description "It's a short section of a rod made of some \
902 undeterminable hard substance, \
903 colored an inky black. A piece of the Rod of \
904 the Ancients, I'd warrant!",