#include "undef.h" #include "exits.h" #include "special.h" Zone = window Author = "Unknown" Quest = Rod EndZone = window Mobile = giant Name = "The Giant" Location = glittering@window Speed = 0 Strength = 140 Damage = 11 Armor = 0 Aggression = 0 Desc = "A giant snores loudly in one corner." EndMobile = giant Mobile = hermit Name = "The Hermit" Location = hut@window Strength = 60 Armor = 0 Damage = 10 Aggression = 0 PFlags = NoSummon, NoSteal MFlags = CanMissile, QFood Desc = "A hungry, unwashed hermit sits here." EndMobile = hermit Mobile = ghoul Name = "The Ghoul" Location = crypt@window Strength = 40 Armor = 0 Damage = 10 Aggression = 30 MFlags = Cross Desc = "An evil looking ghoul skulks in the shadows." EndMobile = ghoul Mobile = figure Name = "The Figure" Location = entrance@window Strength = 90 Armor = 0 Damage = 14 Aggression = 0 Speed = 0 MFlags = BarDown Desc = "A huge magical figure stands on guard." Trap = all @ switch(event) { case E_ONMOVE: if (ploc (param_s.pl) == ploc (param_s.plx) && !iswornby (OBJ_WINDOW_BLACKROBE, param_s.plx) && param_s.ob == EX_SOUTH) { send_player("\001pThe Figure\003 holds you back!\n"); send_player("\001pThe Figure\003 says 'Only true sorcerors may pass.'\n"); do_not_continue; } break; default: break; } @ EndTrap EndMobile = figure Mobile = ogre Name = "The Ogre" Location = guard@window Strength = 40 Armor = 0 Damage = 14 Aggression = 30 Desc = "A large ogre wanders past, looking for heads to break." EndMobile = ogre Mobile = riatha Location = temple@window Strength = 50 Armor = 0 Damage = 15 Aggression = 31 Desc = "Riatha The Acolyte stands arrogantly before you." EndMobile = riatha Object = ball Location = IN_CONTAINER:bag@window MaxState = 3 BaseValue = 20 Size = 15 Weight = 15 Desc0 = "A crystal ball has been placed here." Desc1 = "A crystal ball has been placed here, glowing a pale red." Desc2 = "A crystal ball has been placed here, glowing a pale blue." Desc3 = "A crystal ball has been placed here, glowing a pale green." Trap = all @ switch (event) { case E_ONEXAMINE: setobjstate (param_s.ob, randperc () % 3 + 1); switch (state (param_s.ob)) { case 1: send_player("It glows red.\n"); break; case 2: send_player("It glows blue.\n"); break; case 3: send_player("It glows green.\n"); break; } do_not_continue; break; default: break; } @ EndTrap EndObject = ball Object = garlic Altname = "food" Location = IN_ROOM:window@window OFlags = Food BaseValue = 10 Size = 2 Weight = 2 Desc0 = "Some garlic lies at your feet, its smell wafting upwards." Examine = " The garlic seems quite fresh, since it still smells strongly. Because of this, it might be very good for exorcizing vampires. What do you think the other players will think of you if you eat it?" EndObject = garlic Object = BlackRobe Name = "robe" Altname = "black" Location = IN_ROOM:robing@window OFlags = WearOnBack BaseValue = 10 Size = 6 Weight = 1 Desc0 = " A black robe with two silver lightning bolts down the back has been put here." Examine = " The robe has two silver lightning bolts inscribed on the back... do you think it belonged to Captain Marvel?" Trap = all @ switch (event) { case E_ONEXAMINE: if (oarmor (param_s.ob) == 0) { int obj = clone_object (OBJ_WINDOW_KEY, -1, NULL); if (obj >= 0) { bprintf ("You take a key from one pocket.\n"); osetarmor (param_s.ob, 1); setoloc (obj, param_s.plx, CARRIED_BY); param_s.ret = -1; } } break; default: break; } @ EndTrap EndObject = BlackRobe Object = rations Altname = "food" Location = IN_ROOM:gloomy@window OFlags = Food BaseValue = 10 Size = 2 Weight = 2 Desc0 = "Some rations have been left here, old but edible." EndObject = rations Object = rations1 Name = "rations" Altname = "food" Location = IN_ROOM:gloomy@window OFlags = Food BaseValue = 10 Size = 2 Weight = 2 Desc0 = "Some old rations have been left here." EndObject = rations1 Object = statue_up Name = "statue" Location = IN_ROOM:stonewalled@window OFlags = PushToggle, NoGet Linked = statue_down State = 1 MaxState = 1 Desc0 = " A huge stone statue of a sorcerer stands here, beside a hole leading down." Desc1 = " A huge stone statue of a sorcerer stands proudly against the north wall." Examine = " You see a large marble statue of a mighty sorcerer, though its features have been disfigured by passing adventurers." EndObject = statue_up Object = statue_down Name = "statue" Location = IN_ROOM:secret@window OFlags = NoGet Linked = statue_up State = 1 MaxState = 1 Desc0 = "There is a hole in the roof above you." Desc1 = " There is a hole in the roof above you,but it is blocked by the statue's base." Trap = all @ switch(event) { case E_ONPUSH: if (ptothlp (param_s.plx) == -1) { bprintf ("You can't shift it alone, maybe you need help.\n"); param_s.ret = -1; break; } sillytp (ptothlp (param_s.plx), "pushes the statue with your help."); break; default: break; } @ EndTrap EndObject = statue_down Object = scarlet Name = "robe" Altname = "scarlet" Location = IN_ROOM:robing@window OFlags = WearOnBack BaseValue = 10 Size = 6 Weight = 2 Desc0 = "A scarlet robe has been neatly folded and left here." EndObject = scarlet Object = key Location = IN_ROOM:robing@window OFlags = Key, Destroyed BaseValue = 50 Size = 1 Weight = 1 Desc0 = "A small silver key has been dropped here." EndObject = key Object = soap Location = IN_ROOM:store@window BaseValue = 20 Size = 1 Weight = 1 Desc0 = "Some soap has been dropped here." Examine = 'Stamped in the soap are the strange runes "Neutrogena"' EndObject = soap Object = broom Location = IN_ROOM:store@window OFlags = Weapon Damage = 8 BaseValue = 20 Size = 25 Weight = 2 Desc0 = "An old broom has been left here." Examine = " It has a Mark IV Super-Demon engine, unfortunately out of order, and looks as if its been kick started once too often.." EndObject = broom Object = coffin Location = IN_ROOM:crypt@window OFlags = Openable, Container, NoGet State = 1 MaxState = 1 Size = 120 Weight = 200 Desc0 = " An ornate coffin is set in the centre of the room. The coffin is open." Desc1 = "An ornate coffin is set in the centre of the room." Examine = "The coffin has 'MIST' scratched onto the lid." EndObject = coffin Object = powerstone Location = IN_CONTAINER:coffin@window OFlags = EnhanceMagic BaseValue = 100 Size = 1 Weight = 1 Desc0 = "A magical powerstone has been put here by someone." EndObject = powerstone Object = shield Location = IN_ROOM:pillared@window OFlags = NoGet Trap = all @ switch (event) { case E_ONGET: if (param_s.misc != BEFORE_GET) break; if (oloc(OBJ_WINDOW_SHIELD1) == oloc(THIS_OBJECT) && otstbit(OBJ_WINDOW_SHIELD1,OFL_DESTROYED)) param_s.ob = OBJ_WINDOW_SHIELD1; else if (oloc(OBJ_WINDOW_SHIELD2) == oloc(THIS_OBJECT) && otstbit(OBJ_WINDOW_SHIELD2,OFL_DESTROYED)) param_s.ob = OBJ_WINDOW_SHIELD2; else param_s.ob = -1; if (param_s.ob == OBJ_WINDOW_SHIELD1 || param_s.ob == OBJ_WINDOW_SHIELD2) { create(param_s.ob); bprintf("You remove the shield from the wall.\n"); setoloc(param_s.ob,THIS_PLAYER,CARRIED_BY); param_s.ret = 0; return; } bprintf("The shields are too firmly secured to the walls.\n"); param_s.ret = 0; break; default: break; } @ EndTrap EndObject = shield Object = shield1 Name = "shield" Altname = "painted" Location = IN_ROOM:pillared@window OFlags = Destroyed, Armor, WearOnArms, ExcludeWear Armor = 10 BaseValue = 30/* 0 because of bug.. should be set back to 30 ***********/ Size = 10 Weight = 8 Desc0 = "A heavy painted shield has been dropped here." EndObject = shield1 Object = shield2 Name = "shield" Altname = "wooden" Location = IN_ROOM:pillared@window OFlags = Destroyed, Armor, WearOnArms, ExcludeWear Armor = 10 BaseValue = 30/*Same as above....*******************/ Size = 10 Weight = 4 Desc0 = "A small wooden shield has been left here." EndObject = shield2 Object = RunesMagic Name = "runes" Altname = "writing" Location = IN_ROOM:rune_cave@window OFlags = NoGet Examine = " The runes are apparently part of an educational guide to spell casting and list several basic pieces of magic. These are: DEAFEN, DUMB, CRIPPLE, BLIND and CURE The runes also allude to a spell for summoning people, SUMMON, but note that several amulets and talismans can protect the victim from its effects. A spell for finding the exact locations of players, objects and mobiles, WHERE, is also mentioned." EndObject = RunesMagic Object = obsidian Location = IN_ROOM:lava_path2@window BaseValue = 100 Size = 1 Weight = 1 Desc0 = "A large, gleaming piece of obsidian lies on the ground." EndObject = obsidian Object = pumice Location = IN_ROOM:lava_path2@window BaseValue = 100 Size = 1 Weight = 1 Desc0 = "A piece of pumice has been discarded here." EndObject = pumice Object = CoinPlat Name = "coins" Location = IN_ROOM:well@window BaseValue = 150 Size = 1 Weight = 1 Desc0 = "A few small platinum coins has been dropped here." EndObject = CoinPlat Object = hat Location = IN_ROOM:slime@window OFlags = WearOnHead BaseValue = 40 Size = 60 Weight = 3 Desc0 = "A tall pointed hat of some form has been placed here." EndObject = hat Object = powerstone1 Name = "powerstone" OFlags = EnhanceMagic Location = IN_ROOM:slime@window BaseValue = 100 Size = 1 Weight = 1 Desc0 = "A magical powerstone has been placed here." EndObject = powerstone1 Object = pillar_west Name = "pillar" Location = IN_ROOM:shattered@window OFlags = PushToggle, NoGet Linked = pillar_east State = 1 MaxState = 1 Desc0 = "A huge stone pillar bridges the gap and allows you to go east." Desc1 = "A huge stone pillar lies fallen on the floor." EndObject = pillar_west Object = pillar_east Name = "pillar" Location = IN_ROOM:narrow@window OFlags = PushToggle, NoGet Linked = pillar_west State = 1 MaxState = 1 Desc0 = "A huge stone pillar bridges the gap to the west." EndObject = pillar_east Object = door_shadowy Name = "door" Location = IN_ROOM:shadowy@window OFlags = Openable, Lockable, NoGet Linked = door_laboratory State = 2 MaxState = 2 Desc0 = "The door is open." Desc1 = "The door is closed." Desc2 = "The door is locked." EndObject = door_shadowy Object = door_laboratory Name = "door" Location = IN_ROOM:laboratory@window OFlags = Openable, Lockable, NoGet Linked = door_shadowy State = 2 MaxState = 2 Desc0 = "The door is open." Desc1 = "The door is closed." Desc2 = "The door is locked." EndObject = door_laboratory Object = tripwire Altname = "wire" Location = IN_ROOM:moldy@window OFlags = NoGet Desc0 = "There is a tripwire stretched out across the passage." Examine = " You see a highly coloured, multi dimensional trip wire, though it is obviously harmless to those that have seen it." Trap = all @ switch(event) { case E_ONPUSH: bprintf ("The tripwire moves and a huge stone crashes down from above!\n"); broad ("\001dYou hear a thud and a squelch in the distance.\n\003"); crapup (" S P L A T !", SAVE_ME); break; default: break; } @ EndTrap EndObject = tripwire Object = knife Location = IN_ROOM:dark_chmb@window OFlags = Weapon Damage = 3 BaseValue = 20 Size = 1 Weight = 1 Desc0 = "A small, curved surgeon's knife has been dropped here." EndObject = knife Object = door_dungeon Name = "door" Location = IN_ROOM:dungeon@window OFlags = Openable, Lockable, NoGet Linked = door_cell State = 2 MaxState = 2 Desc0 = "The door is open." Desc1 = "The door is closed." Desc2 = "The door is locked." EndObject = door_dungeon Object = door_cell Name = "door" Location = IN_ROOM:stone_cell@window OFlags = Openable, Lockable, NoGet Linked = door_dungeon State = 2 MaxState = 2 Desc0 = "The door is open." Desc1 = "The door is closed." Desc2 = "The door is locked." EndObject = door_cell Object = IronBar Name = "bar" Location = IN_ROOM:stone_cell@window OFlags = NoGet Desc0 = "An iron bar is set into the wall." Trap = all @ switch(event) { case E_ONPUSH: if (state (OBJ_WINDOW_PASS_STONE) == 1) { setobjstate (OBJ_WINDOW_PASS_FISSURE, 0); bprintf ("A secret panel opens in the east wall!\n"); param_s.ret = -1; break; } bprintf ("Nothing happens.\n"); param_s.ret = -1; break; default: break; } @ EndTrap EndObject = IronBar Object = boulder Location = IN_ROOM:crack@window OFlags = NoGet Desc0 = "A huge boulder rests against one of the walls." Trap = all @ switch(event) { case E_ONPUSH: bprintf ("With a mighty heave you manage to move the boulder a few feet\n"); if (state (OBJ_WINDOW_HOLE_CRACK) == 1) { bprintf ("uncovering a hole behind it.\n"); setobjstate (OBJ_WINDOW_HOLE_CRACK, 0); } else { bprintf ("covering a hole behind it.\n"); setobjstate (OBJ_WINDOW_HOLE_CRACK, 1); } param_s.ret = -1; break; default: break; } @ EndTrap EndObject = boulder Object = Pass_Stone Name = "passage" Location = IN_ROOM:stone_cell@window OFlags = NoGet Linked = Pass_Fissure State = 1 MaxState = 1 Desc0 = "A secret passage leads eastwards." EndObject = Pass_Stone Object = Pass_Fissure Name = "passage" Location = IN_ROOM:fissure@window OFlags = NoGet Linked = Pass_Stone State = 1 MaxState = 1 Desc0 = "A secret passage leads westwards." EndObject = Pass_Fissure Object = Hole_Crack Name = "hole" Location = IN_ROOM:crack@window OFlags = NoGet Linked = Hole_Gallery State = 1 MaxState = 1 Desc0 = "A hole allows you to clamber eastwards." Examine = "How can you examine a hole, there's nothing there to examine!" EndObject = Hole_Crack Object = Hole_Gallery Name = "hole" Location = IN_ROOM:gallery@window OFlags = NoGet Linked = Hole_Crack State = 1 MaxState = 1 Desc0 = "A hole allows you to go west." Examine = "How can you examine a hole, there's nothing there to examine!" EndObject = Hole_Gallery Object = Bridge_Wand Name = "wand" Location = IN_ROOM:laboratory@window BaseValue = 100 Size = 15 Weight = 4 Desc0 = "A long red wand has been placed here." Examine = " It has a fiery bridge etched upon one side, apparently a fiery drawbridge half opened." Trap = all @ switch (event) { case E_ONMISC: if (param_s.misc == VERB_WAVE) { if ((state (OBJ_WINDOW_BRIDGE_FIRE) == 1) && (oloc (OBJ_WINDOW_BRIDGE_FIRE) == param_s.loc)) { setobjstate (OBJ_WINDOW_BRIDGE_HALL, 0); sendf (param_s.loc, "The drawbridge is lowered!\n"); param_s.ret = -1; } } break; default: break; } @ EndTrap EndObject = Bridge_Wand Object = slime_pit Name = "pit" Altname = "slime" Location = IN_ROOM:damp@window OFlags = NoGet State = 1 MaxState = 1 Desc0 = "There is a pit in the floor." Desc1 = "There is a pit of slime in the floor." Trap = all @ if (event == E_ONPUT) { if (param_s.ob == OBJ_WINDOW_SLIME_PIT) { if (state(param_s.ob) == 0) { setoloc(param_s.misc, LOC_WINDOW_SLIME, IN_ROOM); bprintf("Ok\n"); return; } destroy(param_s.misc); bprintf("It dissappears with a fizzle into the slime.\n"); if (onum(param_s.misc) == OBJ_WINDOW_SOAP) { bprintf("The soap dissolves the slime away!\n"); setobjstate(OBJ_WINDOW_SLIME_PIT, 0); } param_s.ret = -1; } } @ EndTrap EndObject = slime_pit Object = lever Location = IN_ROOM:pillared2@window OFlags = NoGet Desc0 = "A heavy iron lever is set into the south wall." Trap = all @ switch(event) { case E_ONPUSH: if (ptothlp (param_s.plx) == -1) { bprintf ("It's too stiff. Maybe you need help.\n"); fail(-1); } bprintf ("Ok\n"); if (state (OBJ_WINDOW_SLIME_PIT) != 0) { sillycom ("\001s%s\002%s pulls the lever.\n\003"); sendf (oloc (OBJ_WINDOW_LEVER), "\001dYou hear a gurgling noise and then silence.\n\003"); setobjstate (OBJ_WINDOW_SLIME_PIT, 0); sendf (oloc (OBJ_WINDOW_SLIME_PIT), "\001cThere is a muffled click and the slime drains away.\n\003"); } param_s.ret = -1; break; default: break; } @ EndTrap EndObject = lever Object = grille Location = IN_ROOM:stonew_room@window OFlags = Openable, NoGet Linked = Grille_Treasure State = 1 MaxState = 1 Desc0 = "The grille is open." Desc1 = "The grille is closed." EndObject = grille Object = Grille_Treasure Name = "grille" Location = IN_ROOM:treasure@window OFlags = NoGet Linked = grille State = 1 MaxState = 1 Desc0 = "The grille is open." Desc1 = "The grille is closed." EndObject = Grille_Treasure Object = coins Altname = "copper" Location = IN_ROOM:treasure@window BaseValue = 20 Size = 2 Weight = 1 Desc0 = "A few copper coins lie scattered on the ground." EndObject = coins Object = necklace Location = IN_ROOM:treasure@window OFlags = WearOnNeck BaseValue = 200 Size = 5 Weight = 1 Desc0 = "A beautiful necklace has been left here." EndObject = necklace Object = tube Altname = "ivory" Location = IN_ROOM:rocky_can@window BaseValue = 50 Size = 5 Weight = 1 Desc0 = "A long ivory scroll tube has been dropped here." Trap = all @ if (event == E_ONEXAMINE) { if (oarmor (param_s.ob) == 0) { int obj = clone_object (OBJ_WINDOW_SCROLL, -1, NULL); if (obj >= 0) { osetarmor (param_s.ob, 1); bprintf ("You take a scroll from the tube.\n"); setoloc (obj, mynum, CARRIED_BY); param_s.ret = -1; } } } @ EndTrap EndObject = tube Object = scroll Location = IN_ROOM:rocky_can@window OFlags = Destroyed BaseValue = 100 Size = 12 Weight = 1 Desc0 = "A battered papyrus scroll has been dropped here." Trap = all @ if (event == E_ONEXAMINE) { if (iscarrby (OBJ_CATACOMB_CUPSERAPH, param_s.plx)) { bprintf ("Funny, I thought this was a teleport scroll, but " "nothing happened.\n"); param_s.ret = -1; return; } bprintf ("As you read the scroll you are teleported!\n"); destroy (param_s.ob); setoloc(param_s.ob,LOC_DEAD_DESTROYED,IN_ROOM); teletrap (LOC_WINDOW_PENTACLE); fail(-1); } @ EndTrap EndObject = scroll Object = Throne_Curtains Name = "curtains" Location = IN_ROOM:throne@window OFlags = Openable, NoGet Linked = Rough_Curtains Trap = all @ switch(event) { case E_ONPUSH: setobjstate (OBJ_WINDOW_THRONE_CURTAINS, 1 - state (OBJ_WINDOW_THRONE_CURTAINS)); bprintf ("Ok\n"); param_s.ret = -1; break; default: break; } @ EndTrap State = 1 MaxState = 1 Desc0 = "A narrow passage leads north, through a gap in the curtains." Desc1 = "The curtains are closed." Examine = " These are made of the best quality velvet, but are so large and heavy that only immortals may carry them out of the chamber." EndObject = Throne_Curtains Object = Rough_Curtains Name = "curtains" Location = IN_ROOM:rough@window OFlags = Openable, NoGet Linked = Throne_Curtains State = 1 MaxState = 1 Desc0 = "To the south the passage leads into a curtained hall." Desc1 = "To the south the passage passes through some curtains." Examine = "They aren't the sort you'd expect to find a peeping Tom behind." UseTrap = all:Throne_Curtains EndObject = Rough_Curtains Object = harp Location = IN_ROOM:glittering@window BaseValue = 300 Size = 70 Weight = 20 Desc0 = "A beautiful golden harp has been placed here." Trap = all @ switch(event) { case E_ONMISC: if (param_s.misc == VERB_PLAY) { broad("A beautiful harp melody &+Cfloats&* to you on a gentle breeze.\n"); param_s.ret = -1; } break; default: break; } @ EndTrap EndObject = harp Object = Bridge_Lever Name = "lever" Location = IN_ROOM:hall@window OFlags = NoGet Examine = "This lever would seem to operate the drawbridge." Trap = all @ switch(event) { case E_ONPUSH: setobjstate (OBJ_WINDOW_BRIDGE_HALL, 1 - state (OBJ_WINDOW_BRIDGE_HALL)); if (state (OBJ_WINDOW_BRIDGE_HALL)) { sendf (oloc (OBJ_WINDOW_BRIDGE_HALL), "\001cThe drawbridge rises.\n\003"); sendf (oloc (OBJ_WINDOW_BRIDGE_FIRE), "\001cThe drawbridge rises.\n\003"); } else { sendf (oloc (OBJ_WINDOW_BRIDGE_HALL), "\001cThe drawbridge is lowered.\n\003"); sendf (oloc (OBJ_WINDOW_BRIDGE_FIRE), "\001cThe drawbridge is lowered.\n\003"); } param_s.ret = -1; break; default: break; } @ EndTrap EndObject = Bridge_Lever Object = Bridge_Fire Name = "bridge" Altname = "drawbridge" Location = IN_ROOM:fire_gate@window OFlags = NoGet Linked = Bridge_Hall State = 1 Desc0 = "A huge iron drawbridge crosses the lava to the east." Examine = "It's just a bridge over VERY troubled waters!" EndObject = Bridge_Fire Object = Bridge_Hall Name = "bridge" Altname = "drawbridge" Location = IN_ROOM:hall@window OFlags = NoGet Linked = Bridge_Fire State = 1 Desc0 = "A huge iron drawbridge crosses the lava to the west." Examine = "It's just a bridge over troubled waters...." EndObject = Bridge_Hall Object = Riatha_Fire Name = "fire" Altname = "flames" Location = IN_ROOM:temple@window OFlags = Extinguish, Lit, NoGet Examine = "It looks a trifle hot for any mortal to handle." EndObject = Riatha_Fire Object = orb Location = IN_ROOM:workroom@window BaseValue = 300 Size = 1 Weight = 1 Desc0 = "A glowing white orb pulsates before you." EndObject = orb Object = moonstone Location = IN_ROOM:workroom@window BaseValue = 200 Size = 10 Weight = 3 Desc0 = "A huge moonstone lies in front of you." EndObject = moonstone Object = rod Location = IN_ROOM:workroom@window BaseValue = 150 Size = 20 Weight = 2 Desc0 = "A black rod marked with a red pentacle has been placed here." Trap = all @ switch (event) { case E_ONMISC: if (param_s.misc == VERB_WAVE) if (iscarrby (OBJ_CATACOMB_CUPSERAPH, param_s.plx)) { bprintf ("Something prevents the rod's functioning.\n"); return; } if (oarmor (param_s.ob) >= 3) { bprintf ("The rod crumbles to dust!\n"); destroy (param_s.ob); param_s.ret = -1; return; } oarmor (param_s.ob)++; bprintf ("You are teleported!\n"); teletrap (LOC_WINDOW_PENTACLE); param_s.ret = -1; break; case E_ONGET: if (param_s.loc == LOC_WINDOW_WORKROOM && param_s.misc == BEFORE_GET) set_quest(Q_ROD,param_s.plx); break; default: break; } @ EndTrap EndObject = rod Object = worn Name = "robe" Altname = "worn" Location = IN_ROOM:robing@window OFlags = WearOnBack BaseValue = 10 Size = 6 Weight = 2 Desc0 = "A rather worn robe lies here tatty and fraying." EndObject = worn Object = bookcase Altname = "case" Location = IN_ROOM:library@window OFlags = NoGet Examine = "You see shelves of books. What else did you expect, a secret passage?" Trap = all @ switch( event) { case E_ONPUSH: bprintf ("A trapdoor opens at your feet and you plumment downwards!\n"); sillycom ("\001p%s\003 disappears through a trapdoor!\n"); teletrap (LOC_WINDOW_FISSURE); param_s.ret = -1; break; default: break; } @ EndTrap EndObject = bookcase Object = powerstone2 OFlags = EnhanceMagic Name = "powerstone" Location = IN_ROOM:library@window BaseValue = 100 Size = 1 Weight = 1 Desc0 = "A magical powerstone has been placed here." EndObject = powerstone2 Object = book Location = IN_ROOM:library@window BaseValue = 200 Size = 10 Weight = 12 Desc0 = "A heavy iron bound book has been left here." Examine = ^ The book details many arcane and powerful magic, mostly to cause severe pain to other beings. In a flowing hand is written: Fireball A potent piece of magic much dependent upon the power of the caster as to the damage it does, although sulphur enhances this. Missile A similar magic, much popular amongst mages. It is said that magical talismans may be created to aid this spell. Shock A spell of touch, which can pass through metal armors with great ease. A decent caster never uses this as a party trick. Lodestones help with its casting. Frost A spell similar to a fireball in power. A direct hit will slow your opponent down and make his aim less sure. It is said that wintergreen will enhance this spell. Any mage should beware that casting magic, though potent, will drain the Strength of the caster.^ EndObject = book Object = well Location = IN_ROOM:large_cav@window OFlags = NoGet Examine = "'Yes thanks, and you...?'" EndObject = well Object = bag Location = CARRIED_BY:hermit@window OFlags = Container BaseValue = 20 Size = 25 Weight = 20 Desc0 = "A small bag has been dumped in one corner." EndObject = bag Object = Orange_Gem Name = "gem" Altname = "orange" Location = IN_ROOM:secret@window BaseValue = 20 Size = 1 Weight = 1 Desc0 = "A small orange gem has been dropped here." EndObject = Orange_Gem Object = effigy Location = IN_ROOM:secret@window BaseValue = 75 Size = 20 Weight = 30 Desc0 = "A small stone effigy has been left here." EndObject = effigy Object = statuette Location = IN_ROOM:secret@window BaseValue = 75 Size = 10 Weight = 15 Desc0 = "A small gold statuette stands here, glittering in the light." EndObject = statuette Location = "window" West = chamber@window Up = treravine@window Down = pass@blizzard LFlags = Outdoors, Realtime, cold, NoMobiles Title = "&+WCliff Window&*" Desc = ^ You are hanging onto a fairly precipitous cliff, beside a rocky window. Far below you can see the pass which seems to sway backwards and forwards as the icy wind tries to tear you away from the cliff and lashes you with huge clouds of blinding snow. The window is west. ^ EndLocation = "window" Location = "chamber" North = gloomy@window East = window@window South = passage@window Title = "&+WStonewalled Chamber&*" Desc = ^ You are in a small stonewalled chamber. Light streams in through a somewhat vandalized window east of you, to the north is a darker chamber only partially lit, while to the south through a doorway veiled in deep shadow you can see a dark passage. ^ EndLocation = "chamber" Location = "gloomy" South = chamber@window Title = "&+WGloomy Room&*" Desc = ^ You are in a dark gloomy room, light from the window to the south dimly illuminates one wall. To the south is another much brighter chamber. ^ EndLocation = "gloomy" Location = "passage" North = chamber@window East = crypt@window West = stonewalled@window Title = "&+WDark Passage&*" Desc = ^ You are following a dark passage which leads north into a brightly lit room and east-west at a T junction. The thick dust on the floor shows that you are the only person to have come this way for a long time. ^ EndLocation = "passage" Location = "stonewalled" North = robing@window East = passage@window West = dark@window Down = ^statue_up@window Title = "&+WStonewalled Passage&*" Desc = ^ You are walking along a long and fairly wide stonewalled passage leading east and west through the mountain. To the north through a doorway there is a small room. ^ EndLocation = "stonewalled" Location = "secret" South = ruined@window Up = ^statue_down@window Title = "&+WLow Secret Passage&*" Desc = ^ You are in a low secret passage that leads southward to some kind of dark pillared room. The north wall has niches cut into it to allow you to climb through a hole in the roof above. ^ EndLocation = "secret" Location = "ruined" North = secret@window Title = "&+WRuined Temple Hall&*" Desc = ^ You are in a dark rather gloomy temple. Huge pillars hold up the roof of this vast chamber and cast strange shadows that seem to dance around you as you move around. The center of the temple is a flat platform with a now broken altar as its centerpiece. ^ EndLocation = "ruined" Location = "dark" East = stonewalled@window West = corridor@window Down = landing@window Title = "&+WDark Room&*" Desc = ^ You are in a large dark room, passages lead east and west. A set of crumbling stone steps leads steeply downwards plunging into the shadows ^ EndLocation = "dark" Location = "corridor" North = store@window East = dark@window West = pentacle@window Title = "&+WCorridor&*" Desc = ^ You are in a short section of east-west corridor. To the west, the corridor leads to a huge hall, while to the north is a small, dimly lit room. ^ EndLocation = "corridor" Location = "store" South = corridor@window Title = "&+WStore Room&*" Desc = ^ You are in a small rather dirty room which appears to have been a store room of some kind. Through a doorway to the south is a corridor. ^ EndLocation = "store" Location = "pentacle" East = corridor@window Title = "&+WPentacle Hall&*" Desc = ^ You are in a huge pillared hall deep within the mountain. Huge, ornately carved pillars support the millions of tons of rock above you. Sinister and rather ugly gargoyles protrude from the pillars gazing centrally towards a mass of mystical symbols engraved on the floor. ^ EndLocation = "pentacle" Location = "landing" East = shattered@window Up = dark@window Down = guard2@window Title = "&+WLanding&*" Desc = ^ You are on a landing with steep stairs leading both upwards and down. Below, at the foot of the descending stairs you can see a dark hall and in the faint light from the rock you can just make out several zombie guards. A doorway leads east. ^ EndLocation = "landing" Location = "shattered" East = ^pillar_west@window West = landing@window Title = "&+WShattered Hall&*" Desc = ^ You are in a shattered hall, scorch marks and strange burns indicate a tremendous amount of powerful sorcery was used here. Indeed, sufficient to blow huge chunks out of the wall. The passage to the east is now unreachable, as a huge fissure has opened up in the floor. ^ EndLocation = "shattered" Location = "narrow" East = dark_cave@window South = restch@window West = ^pillar_east@window Title = "&+WNarrow Corridor&*" Desc = ^ You are in a low narrow corridor. To the south is a small chamber while to the east the passage opens up into a large cave. ^ EndLocation = "narrow" Location = "restch" North = narrow@window Title = "&+WRest Chamber&*" Desc = ^ You are in what appears to have been a large rest chamber of some sort. There is a great deal of dried blood on the floor here, and several more marks that seem to indicate the use of sorcery. A narrow corridor leads north. ^ EndLocation = "restch" Location = "dark_cave" East = shadowy@window West = narrow@window Title = "&+WDark Cave&*" Desc = ^ You are in a dark cave with earth walls and a rather low ceiling. The earth gives way to stone in the passages leading out of the cave to the east and west. ^ EndLocation = "dark_cave" Location = "shadowy" East = limestone@window South = ^door_shadowy@window West = dark_cave@window Title = "&+WShadowy Corridor&*" Desc = ^ You are in a shadowy east-west corridor that links two caves. There is a door to the south. ^ EndLocation = "shadowy" Location = "limestone" South = moldy@window West = shadowy@window Title = "&+WLimestone Grotto&*" Desc = ^ You are in a beautiful limestone cave. Multi colored stalactites hang from the roof forming amazing patterns of brilliant color. The floor is similarly decorated with a huge variety of stalagmites. A man-made corridor leads west, and a dim and moldy passageway winds southward. ^ EndLocation = "limestone" Location = "laboratory" North = ^door_laboratory@window Title = "&+WLaboratory&*" Desc = ^ You are in an old laboratory for sorcerous experiments. Almost everything to indicate this has been removed, however, leaving only marks in the dust. There is a door to the north. ^ EndLocation = "laboratory" Location = "moldy" North = limestone@window South = dungeon@window Title = "&+WMoldy Passage&*" Desc = ^ You are in a low passageway. Mold covers the walls and floor, making it slippery and quite treacherous. To the north is a beautiful cave while to the south the mold gets even thicker. ^ EndLocation = "moldy" Location = "dark_chmb" East = dungeon@window Title = "&+WDark Chamber&*" Desc = ^ You are in a dark chamber, which smells of old blood and rotting flesh. Marks on the floor reveal where old torture equipment one stood. A single doorway leads east. ^ EndLocation = "dark_chmb" Location = "dungeon" North = moldy@window East = ^door_dungeon@window South = messy@window West = dark_chmb@window Title = "&+WDungeon Corridor&*" Desc = ^ You are in a low arched dungeon corridor. The air is dank and musty and an air of gloom and evil hangs around it. Rooms to the south and west appear equally unpleasant and sinister. A dark passageway leads northwards. There is a door to the east. ^ EndLocation = "dungeon" Location = "messy" North = dungeon@window Title = "&+WMessy Chamber&*" Desc = ^ You are in a large messy chamber. Several wooden gallows are set across the damp ceiling and beneath them pools of blood indicate they were not merely decorations. A low archway leads north into an unpleasant looking corridor. ^ EndLocation = "messy" Location = "stone_cell" East = ^pass_stone@window West = ^door_cell@window Title = "&+WStone Cell&*" Desc = ^ You are in a cold and bare stone cell, scratches on the walls mark where prisoners have left their last futile marks on the walls. There is a door to the west. ^ EndLocation = "stone_cell" Location = "robing" South = stonewalled@window Title = "&+WRobing Room&*" Desc = ^ You are in a small robing room which appears to have been unused for quite some time. To the south a dark corridor leads east and west into darkness. ^ EndLocation = "robing" Location = "crypt" East = large_cav@window South = entrance@window West = passage@window Title = "&+WThe Crypt&*" Desc = ^ You are in a charnel smelling crypt. Dark drapes hang between the pillars that make up the walls. The whole room has an atmosphere of waiting malignant evil and an oppressive silence that makes you jump at the slightest draught in the still, cold air. ^ EndLocation = "crypt" Location = "entrance" North = crypt@window South = library@window Title = "&+WLibrary Entrance&*" Desc = ^ You are in a small chamber with two high-arched exits leading north and south. ^ EndLocation = "entrance" Location = "library" North = entrance@window Title = "&+WThe Library&*" Desc = ^ You are in a dusty, bare library. Hundreds of worm eaten bookcases stand devoid of all books, their shelves laden only with dust. An archway leads north. ^ EndLocation = "library" Location = "large_cav" South = pillared@window West = crypt@window Down = well@window Title = "&+WLarge Cavern&*" Desc = ^ You are in a large cavern. Huge stalagmites have grown up almost to the ceiling, in places actually merging with the multicolored stalactites above. To the south you perceive a great hall, and a fetid odor comes from the west. A small, low-walled well occupies the center of the cave. ^ EndLocation = "large_cav" Location = "well" Up = large_cav@window Title = "&+WDried Up Well&*" Desc = ^ You are standing at the bottom of a small dried up well. The walls are (fortunately) rough enough to make climbing out only slightly harder than falling in. ^ EndLocation = "well" Location = "pillared" North = large_cav@window East = rune_cave@window South = lava_cav@window Title = "&+WPillared Hall&*" Desc = ^ You are in a massive pillared hall decorated with the shields of ancient and long forgotten heroes. Exits between the pillars lead into several different caves. ^ EndLocation = "pillared" Location = "lava_cav" North = pillared@window Down = lava_path@window Title = "&+WLava Cavern&*" Desc = ^ You are in a huge cavern. The walls glow and pulse with an intense red light, reflected up from a river of lava which flows sluggishly westwards at the south end of the cavern. Huge explosions of lava regularly light up the cavern to an extent that the light is almost blinding, accompanied by almost deafening explosions. A path leads down almost suicidally close to the lava river. ^ EndLocation = "lava_cav" Location = "secret_chmb" West = well@window Title = "&+WSecret Chamber&*" Desc = ^ You are in low musty chamber concealed down the well. The chamber is cold and damp, perhaps as a result of this. ^ EndLocation = "secret_chmb" Location = "rune_cave" West = pillared@window Title = "&+WRune Cave&*" Desc = ^ You are in a large cave. The rough rocky walls are inscribed with deep angular runic writings, which appear totally incomprehensible to you. A pillared hall stretches off to the west. ^ EndLocation = "rune_cave" Location = "lava_path" East = lava_path2@window Up = lava_cav@window Title = "&+WLava Path&*" Desc = ^ You are on a narrow sloping path running uncomfortably close to the lava. Huge explosions of lava send blasts of intense scorching heat across the path. The path leads eastwards but the intense red glow and heat haze prevents you from seeing where to. A steep climb heads up. ^ EndLocation = "lava_path" Location = "lava_path2" West = lava_path@window Trap = all @ switch(event) { case E_ONENTRY: if (!iswornby(OBJ_WINDOW_SHIELD1, param_s.plx) && !iswornby (OBJ_WINDOW_SHIELD2, param_s.plx) && !iswornby (OBJ_TREEHOUSE_SHIELD, param_s.plx) && !iswornby (OBJ_CATACOMB_SHIELD, param_s.plx) && !iswornby (OBJ_EFOREST_SHIELD, param_s.plx)) { bprintf ("The intense heat drives you back.\n"); param_s.ret = -1; break; } bprintf ("The shield protects you from the worst of the lava's heat.\n"); break; default: break; } @ EndTrap Title = "&+WLava Path&*" Desc = ^ You are at the end of an east-west path. The lava is some distance away from you here but even so the intense red glow still lights up the chamber and the heat is scarcely bearable. ^ EndLocation = "lava_path2" Location = "fissure" West = ^pass_fissure@window Down = fis_bottom@window Title = "&+WFissure&*" Desc = ^ You are on a ledge in a huge fissure. The fissure is so wide that the far wall is hidden in darkness. Looking down (a rather bad idea) you can see that it is just about possible to climb the horrendous distance down to the floor of the fissure. ^ EndLocation = "fissure" Location = "fis_bottom" South = crack@window Title = "&+WFissure Bottom&*" Desc = ^ You are at the bottom of the fissure. Precipitous rocky walls reach upwards hanging over you as if about to crush you. To the south, the walls vanish beyond your light without any sign of a break. ^ EndLocation = "fis_bottom" Location = "crack" North = fis_bottom@window East = ^hole_crack@window Title = "&+WNarrow Crack&*" Desc = ^ You are in a narrow crack, off one side of the fissure. The walls lean in at crazy angles making it hard to get through. A passage leads back north. ^ EndLocation = "crack" Location = "gallery" West = ^hole_gallery@window Down = guard@window Title = "&+WGallery&*" Desc = ^ You are in an ornate gallery which overlooks a wide stone guardroom. A set of steps curve steeply down into the guardroom. ^ EndLocation = "gallery" Location = "guard" East = flickering@window West = guard2@window Up = gallery@window Title = "&+WGuard Room&*" Desc = ^ You are in a large guardroom lit by a red glow to the east. A set of stone steps curve steeply up to a gallery above. To the west is another guardroom, although the dim light reveals the presence of many zombie warriors. ^ EndLocation = "guard" Location = "guard2" East = guard@window West = pass@blizzard Up = landing@window LFlags = death Title = "&+WGuard Room&*" Desc = ^ You are in a large guardroom. A set of stairs leads up and down. A number of zombie guardsmen swarm around you, tearing you mercilessly into shreds... In your dying moments you notice another guardroom to the east. ^ EndLocation = "guard2" Location = "flickering" North = huge_cav@window East = fire_gate@window West = guard@window Title = "&+WFlickering Passageway&*" Desc = ^ You are in a wide passageway. To the east is a cave lit by a flickering red glow. To the north is a large cave, to the west is a guardroom. ^ EndLocation = "flickering" Location = "narrow_ledge" West = stone_cell@window Title = "&+WNarrow Ledge&*" Desc = ^ You are in a fissure standing on a terrifyingly narrow ledge. Above you on the opposite side is another ledge. A passage leads back west. ^ EndLocation = "narrow_ledge" Location = "huge_cav" East = rocky@window South = flickering@window Down = canyon@window Title = "&+WHuge Cavern&*" Desc = ^ You are in a huge cavern, at the western end. Some steep rough-hewn steps lead down into a canyon at one end of the cave and at the bottom faint light flickers off water. ^ EndLocation = "huge_cav" Location = "fire_gate" West = flickering@window East = ^bridge_fire@window Title = "&+WFire Gate&*" Desc = ^ You are in a large rocky and very uneven cave. A smooth path has been cut across the floor permitting easy walking. The whole cave is filled with a thundering roar which reaches deep into your mind. A huge, deep and steep- walled channel full of lava prevents you from going east through a huge gateway. ^ EndLocation = "fire_gate" Location = "rocky" West = huge_cav@window Title = "&+WRocky Cavern&*" Desc = ^ You are in a large rocky cavern. From this vantage point at the eastern end you can gaze almost the full length of the cave, although the far wall fades into shadows. ^ EndLocation = "rocky" Location = "hall" East = lava_ledge@window West = ^bridge_hall@window Title = "&+WThe Hall Of Fire&*" Desc = ^ You are in the hall of fire. The very walls are tinged with a fiery radiance, as if the rock itself is burning. A red pentacle is near one wall beside a picture carved in the wall. A lever on one wall is beside a huge metal drawbridge. A passage leads east. ^ EndLocation = "hall" Location = "canyon" East = rocky_can@window Up = huge_cav@window Title = "&+WCanyon&*" Desc = ^ You are at the bottom of a narrow canyon looking across a stream to the far bank. Narrow steps wind steeply upwards behind you. You can easily wade east across the stream. ^ EndLocation = "canyon" Location = "rocky_can" East = damp@window West = canyon@window Title = "&+WRocky Canyon&*" Desc = ^ You are in a rocky canyon beside a deep blue stream. A narrow crack leads eastwards into a gloomy, shadowed cave. You can easily wade west across the stream. ^ EndLocation = "rocky_can" Location = "lava_ledge" South = lava_led2@window West = hall@window Title = "&+WLava Ledge&*" Desc = ^ You are on a wide ledge looking down on a pool of bubbling lava below. There is another ledge on the other side. A crystal bridge spans the pool to the south. ^ EndLocation = "lava_ledge" Location = "damp" East = pillared2@window West = rocky_can@window Down = #EX_DOWN_SLIME Trap = special_exit @ if (state(OBJ_WINDOW_SLIME_PIT) == 0) param_s.loc = LOC_WINDOW_SLIME; @ EndTrap Title = "&+WLarge Damp Cave&*" Desc = ^ You are in a large cave. The cave echoes to the dripping of water from its cold damp roof, thickly coated in algae and mosses. A pillared hall stretches off the the east, and a rocky canyon goes west. ^ EndLocation = "damp" Location = "pillared2" North = throne@window East = stonew_room@window West = damp@window Title = "&+WPillared Hall&*" Desc = ^ You are in a ornate pillared hall. The stunning fan vaulted roof would decorate any cathedral as would the huge pillars that support it. Exits lead off in many directions. ^ EndLocation = "pillared2" Location = "throne" North = ^throne_curtains@window South = pillared2@window Title = "&+WThrone Hall&*" Desc = ^ You are in a magnificent throne hall. The walls and roof are carved and painted into stunning otherworldly scenes of mystical beasts and magical forms. Dark curtains cover the walls. ^ EndLocation = "throne" Location = "stonew_room" West = pillared2@window Down = ^grille@window Title = "&+WStonewalled Room&*" Desc = ^ You are in a small stonewalled room with a grille in the floor. A pillared hall stretches off to the west. ^ EndLocation = "stonew_room" Location = "treasure" Title = "&+WTreasure Chamber&*" Desc = ^ You are in a treasure storage room. The high ceiling ensures that no thief will ever escape without help. There is a grille in the ceiling, far beyond your despairing reach. ^ EndLocation = "treasure" Location = "rough" North = glittering@window South = ^rough_curtains@window Title = "&+WLow, Rough Passage&*" Desc = ^ You are in a low rough passage which winds around and is clearly only an escape route of some form. A sign hanging on the wall reads in a rather crude and untidy hand 'DANGER: STORM GIANTS CAN SERIOUSLY DAMAGE YOUR ELF' ^ EndLocation = "rough" Location = "glittering" South = rough@window Title = "&+WGlittering Cave&*" Desc = ^ You are in a huge glittering cave. Millions of tiny crystals on the wall scintilate with rainbows of colors baffling your eyes and mind with a stunning mass of changing color. A set of huge steps lead upwards out of the cave, but only a giant could hope to climb them. ^ EndLocation = "glittering" Location = "slime" Up = damp@window Trap = all @ catch_special_exit { if (state(OBJ_WINDOW_SLIME_PIT) != 0) { bprintf("That doesn't look like a very good idea!\n"); fail(-1); } THIS_LOCATION = LOC_WINDOW_SLIME; } @ EndTrap Title = "&+WSlime Pit&*" Desc = ^ You are in the smelly pit which once contained the slime. The horrible charnel rotting smell is so strong that you can scarcely keep your stomach under control. ^ EndLocation = "slime" Location = "lava_led2" North = lava_ledge@window South = temple@window Title = "&+WLava Ledge&*" Desc = ^ You are on a ledge looking across a huge pit of flaming lava to another ledge on the other side. A passage leads south. A crystal bridge spans the pool to the north. ^ EndLocation = "lava_led2" Location = "temple" North = lava_led2@window East = workroom@window Title = "&+WThe Temple&*" Desc = ^ You are in a sinister temple. Hideous shapes seem to reach out of nothing- ness towards you and vanish as immaterial shadows. The whole room radiates a crushing sense of power filling you with awe and dread. A huge fire burns at an end of the temple, seemingly without a source. Doorways lead lead north and east. ^ EndLocation = "temple" Location = "workroom" West = temple@window Title = "&+WSorceror's Workroom&*" Desc = ^ You are standing in a circular workroom. The only exit is a western doorway, through which the temple fire casts its flickering glow across the room. ^ EndLocation = "workroom" Location = "treravine" East = pasture@window Down = window@window LFlags = Outdoors, Realtime Title = "&+WTreacherous Ravine&*" Desc = ^ You are crawling along a narrow treacherous ravine which runs eastwards into some kind of level area. Below you could scramble back down to the cliff window. ^ EndLocation = "treravine" Location = "pasture" North = hut@window West = treravine@window LFlags = Outdoors, Realtime Title = "&+WHidden Pasture&*" Desc = ^ You are standing in a small hidden field, its lush grass coated with snow. The pasture is enclosed on all sides by steep cliffs, save for a small gap to the west which leads into a narrow ravine. To the north is an old crumbling hut of some sort. ^ EndLocation = "pasture" Location = "hut" South = pasture@window Title = "&+WThe Hermit's Hut&*" Desc = ^ This small dank hut appears to have once been the home of a hermit or maybe even a sorceror of some form, as the rotting junk which litters the floor contains bits of things you have never seen before. A narrow doorway leads south into fresh air. ^ EndLocation = "hut"