#include "undef.h" #include "exits.h" #include "special.h" Zone = catacomb Author = "Rassilon/Daz" Quest = FindGrail EndZone = catacomb Mobile = shadow Name = "The Shadow" Location = catacomb_19 Strength = 100 Armor = 0 Damage = 12 Aggression = 50 MFlags = Cross Desc = " A spooky black shadow, human in shape, slides across the wall." EndMobile = shadow Mobile = ghost Name = "The Ghost" Location = catacomb_8 Strength = 80 Armor = 0 Damage = 6 Aggression = 10 MFlags = Cross Desc = "A ghostly apparition hovers about you, preparing to strike." Trap = all @ switch (event) { case E_ONTIMER: if (alive(param_s.plx) != -1 && randperc() < 12) sendf(ploc(param_s.plx),"The Ghost moans, sending chills down your spine.\n"); break; default: break; } @ EndTrap EndMobile = ghost Mobile = skeleton Name = "The Skeleton" Location = Closet@catacomb Strength = 50 Armor = 0 Damage = 8 Aggression = 70 MFlags = Cross Desc = "A human skeleton stands upright before you." EndMobile = skeleton Mobile = defender Name = "The Defender" Location = hall@catacomb Strength = 200 Armor = 0 Damage = 15 Aggression = 0 Speed = 0 MFlags = BarN, NoSteal Desc = "An ancient knight stands here, readying himself for battle." Trap = all @ switch(event) { case E_ONMISC: if (param_s.misc == VERB_STEAL) { sendf(ploc(param_s.plx), "%s says 'How dare you steal from me, %s!'\n", pname(param_s.pl), pname(param_s.pl)); hit_player(param_s.pl, param_s.plx, -1); param_s.ret = -1; } break; default: break; } @ EndTrap EndMobile = defender Mobile = seraph Name = "The Seraph" Location = resting_place@catacomb Strength = 1500 Armor = 0 Damage = 10 Aggression = 0 Speed = 0 PFlags = NoSummon Desc = " An enormous six-winged seraph stands over you in solemn judgment." Trap = all @ switch(event) { case E_ONCOMM: if (strchr (param_s.buf, '?')) { switch (MY_RANDOM () % 4) { case 0: sprintf (param_s.buf, "Charity"); break; case 1: sprintf (param_s.buf, "Faith"); break; case 2: sprintf (param_s.buf, "Wisdom"); break; case 3: sprintf (param_s.buf, "Courage"); break; } } else sprintf (param_s.buf, "A blessing be upon your house."); param_s.ret = 0; break; case E_WHILEFIGHT: sendf (param_s.plx, "The Seraph is amused by your foolhardiness. For your " "impudence, he draws his\nflaming sword and slays you with a " "single blow.\n"); send_msg (ploc (param_s.plx), 0, pvis (param_s.plx) > 0 ? pvis (param_s.plx) : LVL_MIN, LVL_MAX, param_s.plx, NOBODY, "%s is sliced in half by the Seraph!\n\003", pname (param_s.plx)); p_crapup (param_s.plx, "\t\tNever pick a fight with an angel..", CRAP_SAVE | CRAP_RETURN); param_s.ret = -1; break; case E_ONMOVE: if (iscarrby (OBJ_CATACOMB_CUPSERAPH, param_s.plx) && ploc (param_s.pl) == ploc (param_s.plx)) { bprintf ("The Seraph says 'I cannot allow you to leave this place " "with the Holy Relic.'\n"); param_s.ret = -1; } break; default: break; } @ EndTrap EndMobile = seraph Mobile = beggar Name = "The Beggar" Location = beggar@catacomb Strength = 1 Armor = 0 Damage = 10 Aggression = 0 Speed = 0 Desc = " An aged and emaciated beggar sits cross-legged on a mat on the floor." Trap = all @ extern const int pits[]; int o = 0; int i,j; switch(event) { case E_ONGIVE: if (otstbit(param_s.ob, OFL_FOOD)) { sendf(param_s.plx,"The Beggar thanks you and greedily devours the %s.\n", oname(param_s.ob)); setpscore(param_s.plx, pscore(param_s.plx) + 50); eat(param_s.ob); bprintf("After finishing his meal, the beggar stares at you and says '"); switch (MY_RANDOM() % 4) { case 0: bprintf("Charity"); o = OBJ_CATACOMB_PIT_NORTH; break; case 1: bprintf("Faith"); o = OBJ_CATACOMB_PIT_EAST; break; case 2: bprintf("Wisdom"); o = OBJ_CATACOMB_PIT_SOUTH; break; case 3: bprintf("Courage"); o = OBJ_CATACOMB_PIT_WEST; break; } bprintf("'\n"); for (i = 0; (j = pits[i++]) != -1;) setobjstate(j, 0); setobjstate(o, 1); sendf(oloc(o), "A faint glow emanates from the pit.\n"); param_s.ret = -1; } else param_s.ret = 1; break; case E_ONTIMER: if (randperc() < 5) sendf(ploc(param_s.pl),"The Beggar says: &+C'I could sure use some food.'&*\n"); break; case E_WHILEFIGHT: sendf (param_s.plx, "You drop everything as you are summoned by The Seraph.\n" "The Seraph scowls at you contemptuously. For your lack of " "compassion, he\n" "draws his flaming sword and slays you with a single " "blow.\n"); send_msg (ploc (param_s.plx), 0, pvis (param_s.plx) > 0 ? pvis (param_s.plx) : LVL_MIN, LVL_MAX, param_s.plx, NOBODY, "%s is sliced in half by the Seraph!\n\003", pname (param_s.plx)); p_crapup (param_s.plx, "\tRemember the ten commandments: Thou Shalt Not Kill", CRAP_SAVE | CRAP_RETURN); param_s.ret = -1; break; default: break; } @ EndTrap EndMobile = beggar Object = dust Location = IN_ROOM:crypt@catacomb OFlags = NoGet Desc0 = " A thick layer of dust covers everything, and swirls around as you move." Trap = all @ switch(event) { case E_ONPUSH: bprintf ("Great clouds of dust billow up, causing you to sneeze " "horribly.\nWhen you're finished sneezing, you notice " "a message carved into one wall.\n"); broad ("\001dA loud sneeze echoes through the land.\n\003"); destroy (OBJ_CATACOMB_DUST); create (OBJ_CATACOMB_KOAN); param_s.ret = -1; break; default: break; } @ EndTrap EndObject = dust Object = koan Altname = "message" Location = IN_ROOM:crypt@catacomb OFlags = Destroyed, NoGet Desc0 = "A koan has been carved into the eastern wall." Examine = ^ The koan reads: One day, Cedric and Ged found themselves standing at the entrance to the Catacombs. Said Ced, "How are we ever to traverse this maze of catacombs?" Said Ged, "I do not know, for the interconnections of its chambers are most intricate. Perhaps we should ask Tedd, the Zen Master of Aber." So they did. Said Ged, "Oh wise and most learned Tedd, how can one find one's way through the treacherous maze of the catacombs?" Said Tedd, "One can't. Send Ned." And suddenly Cedric and Ged were most pleased, for Tedd had shown them the path to enlightenment. ^ EndObject = koan Object = umbrellas Altname = "umbrella" Location = IN_ROOM:cavern@catacomb OFlags = NoGet Desc0 = "A pile of discarded umbrellas does nothing to lift your spirits." EndObject = umbrellas Object = CupSeraph Name = "cup" Altname = "stone" Location = IN_ROOM:resting_place@catacomb OFlags = GetFlips, NoDonate State = 1 MaxState = 1 BaseValue = 1600 Size = 5 Weight = 5 Desc0 = "A simple stone cup lies before you." Desc1 = "A stone cup rests upon the pedestal." Examine = " It looks very old, and inspires a strange sense of awe and wonder." Trap = all @ switch(event) { case E_ONDROP: if (ploc(mobile(MOB_CATACOMB_SERAPH)) == LOC_START_CHURCH) setplev(mobile(MOB_CATACOMB_SERAPH),-2); break; case E_ONGET: if (param_s.misc == DURING_GET) { int l; if ((l = alive((max_players + MOB_CATACOMB_SERAPH))) != -1 && ploc(l) == ploc(param_s.plx)) { bprintf("\001pThe Seraph\003 says 'Well done, my %s. " "Truly you are a %s of virtue.'\n", psex(param_s.plx) ? "daughter" : "son", psex(param_s.plx) ? "woman" : "man"); } } else if (param_s.misc == AFTER_GET) { int l; if ((l = alive(max_players + MOB_CATACOMB_SERAPH)) != -1 && ploc(l) == ploc(param_s.plx)) { bprintf("The Seraph gestures and you are transported to ...\n"); send_msg( ploc(param_s.plx), 0, LVL_MIN, LVL_MAX, param_s.plx, NOBODY, "%s vanishes, taking \001p%s\003 with him!\n", pname(l), pname(param_s.plx)); sendf(LOC_START_CHURCH,"\001p%s\003 appears, accompanied by an angel!\n", pname(param_s.plx)); setploc((max_players + MOB_CATACOMB_SERAPH), LOC_START_CHURCH); set_quest(Q_GRAIL,param_s.plx); trapch(LOC_START_CHURCH); param_s.ret = 0; } } break; default: break; } @ EndTrap EndObject = CupSeraph Object = notebook Altname = "diary" Location = CARRIED_BY:skeleton@catacomb BaseValue = 50 Size = 3 Weight = 5 Desc0 = " An old notebook, its pages and binding in decay, has been left here." Examine = " Most of the writing is too faint to read. It appears to have been a diary. The only legible parts remaining are individual phrases scattered throughout its pages: long quest ... nearly ended who is Ned? lost in Catacombs torch exhausted last of my rations dark... lonely... hungry... a locked door ... my quest is over! " EndObject = notebook Object = mace Location = CARRIED_BY:defender@catacomb OFlags = Weapon Damage = 15 BaseValue = 150 Size = 10 Weight = 25 Desc0 = "A heavy iron mace has been dropped here." Examine = " The mace consists of an iron ball, covered with deadly spikes, chained to a wooden handle. What else were you expecting?" EndObject = mace Object = shield Altname = "silver" Location = WORN_BY:defender@catacomb OFlags = Armor, WearOnArms, ExcludeWear, WearBlMagic Armor = 10 BaseValue = 300 Size = 10 Weight = 15 Desc0 = " A silver shield, bearing a striking coat of arms, lies at your feet." Examine = " It's rather heavy, and, being made of silver, looks quite valuable. The coat of arms includes the sigil of Camelot, suggesting that the original owner was among those few honored with a seat at the Round Table." EndObject = shield Object = Pit_North Name = "pit" Location = IN_ROOM:catacomb_north OFlags = NoGet MaxState = 1 Desc0 = " There is a sacrificial pit in the floor. Within it you see only darkness." Desc1 = " There is a sacrificial pit in the floor. A faint glow emanates from deep within it." EndObject = Pit_North Object = Pit_East Name = "pit" Location = IN_ROOM:catacomb_east OFlags = NoGet MaxState = 1 Desc0 = " There is a sacrificial pit in the floor. Within it you see only darkness." Desc1 = " There is a sacrificial pit in the floor. A faint glow emanates from deep within it." EndObject = Pit_East Object = Pit_South Name = "pit" Location = IN_ROOM:catacomb_south OFlags = NoGet MaxState = 1 Desc0 = " There is a sacrificial pit in the floor. Within it you see only darkness." Desc1 = " There is a sacrificial pit in the floor. A faint glow emanates from deep within it." EndObject = Pit_South Object = Pit_West Name = "pit" Location = IN_ROOM:catacomb_west OFlags = NoGet MaxState = 1 Desc0 = " There is a sacrificial pit in the floor. Within it you see only darkness." Desc1 = " There is a sacrificial pit in the floor. A faint glow emanates from deep within it." EndObject = Pit_West Object = Door1Skeleton Name = "door" Location = IN_ROOM:catacomb_17 OFlags = Openable, NoGet, Lockable Linked = Door2Skeleton State = 2 MaxState = 2 Desc0 = "A massive iron door lies open to the south." Desc1 = "A massive iron door blocks your passage south." Desc2 = "A massive iron door with a mighty lock bars the south passage." EndObject = Door1Skeleton Object = Door2Skeleton Name = "door" Location = IN_ROOM:Closet@catacomb OFlags = Openable, Lockable, NoGet Linked = Door1Skeleton State = 2 MaxState = 2 Desc0 = "The door is open." Desc1 = "The door is closed." Desc2 = "The door is locked." EndObject = Door2Skeleton Object = Door1Seraph Name = "door" Location = IN_ROOM:Hall@catacomb OFlags = Openable, Lockable, NoGet Linked = Door2Seraph State = 2 MaxState = 2 Desc0 = "The door is open." Desc1 = "The door is closed." Desc2 = "The door is locked." EndObject = Door1Seraph Object = Door2Seraph Name = "door" Location = IN_ROOM:resting_place@catacomb OFlags = Openable, Lockable, NoGet Linked = Door1Seraph State = 2 MaxState = 2 Desc0 = "The door is open." Desc1 = "The door is closed." Desc2 = "The door is locked." EndObject = Door2Seraph Location = "Crypt" South = catacomb_2 Up = Stairs1@Church LFlags = NoMobiles Title = "&+WThe Crypt&*" Desc = ^ You are in a small room, standing before the entrance to a vast and ancient crypt. Low moaning sounds echo from within the catacombs before you, sending chills up your spine. An archway, its keystone carved in the shape of a human skull, leads south into darkness, while cool air blows in from the relative safety of the church above. ^ EndLocation = "Crypt" Location = "catacomb_1" North = catacomb_1 East = catacomb_2 South = catacomb_4 West = catacomb_1 Down = catacomb_19 LFlags = Dark, Maze Title = "&+WThe Catacombs&*" Desc = ^ You are standing in a small, subterranean chamber. Set into the walls at regular intervals are deep recesses, within which lie the stone tombs of a generation long since departed. A gentle breeze blows in from the passage to the north, while dark hallways lead south, east, and west. A spiral staircase fills one corner of the room. ^ EndLocation = "catacomb_1" Location = "catacomb_2" North = Crypt@catacomb East = catacomb_3 South = catacomb_5 West = catacomb_1 Down = catacomb_20 LFlags = Dark, Maze Title = "&+WThe Catacombs&*" Desc = ^ You are lost in the catacombs. ^ EndLocation = "catacomb_2" Location = "catacomb_3" North = catacomb_9 East = catacomb_6 South = catacomb_6 West = catacomb_2 Down = catacomb_21 LFlags = Dark, Maze Title = "&+WThe Catacombs&*" Desc = ^ You are lost in the catacombs. ^ EndLocation = "catacomb_3" Location = "catacomb_4" North = catacomb_1 East = catacomb_5 South = catacomb_7 West = catacomb_7 Down = catacomb_22 LFlags = Dark, Maze Title = "&+WThe Catacombs&*" Desc = ^ You are lost in the catacombs. ^ EndLocation = "catacomb_4" Location = "catacomb_5" North = catacomb_2 East = catacomb_6 South = catacomb_8 West = catacomb_4 Down = catacomb_21 LFlags = Dark, Maze Title = "&+WThe Catacombs&*" Desc = ^ You are lost in the catacombs. ^ EndLocation = "catacomb_5" Location = "catacomb_6" North = catacomb_3 East = catacomb_3 South = catacomb_8 West = catacomb_5 Down = catacomb_21 LFlags = Dark, Maze Title = "&+WThe Catacombs&*" Desc = ^ You are lost in the catacombs. ^ EndLocation = "catacomb_6" Location = "catacomb_7" North = catacomb_4 East = catacomb_8 South = catacomb_8 West = catacomb_4 Down = catacomb_25 LFlags = Dark, Maze Title = "&+WThe Catacombs&*" Desc = ^ You are lost in the catacombs. ^ EndLocation = "catacomb_7" Location = "catacomb_8" North = catacomb_5 East = catacomb_6 South = catacomb_7 West = catacomb_7 Down = catacomb_26 LFlags = Dark, Maze Title = "&+WThe Catacombs&*" Desc = ^ You are lost in the catacombs. ^ EndLocation = "catacomb_8" Location = "catacomb_9" North = catacomb_6 East = catacomb_3 South = catacomb_8 West = catacomb_8 Down = catacomb_17 LFlags = Dark, Maze Title = "&+WThe Catacombs&*" Desc = ^ You are lost in the catacombs. ^ EndLocation = "catacomb_9" Location = "catacomb_10" North = catacomb_10 East = catacomb_11 South = catacomb_16 West = catacomb_10 Up = catacomb_4 Down = catacomb_19 LFlags = Dark, Maze Title = "&+WThe Catacombs&*" Desc = ^ You are lost in the catacombs. ^ EndLocation = "catacomb_10" Location = "catacomb_11" North = catacomb_15 East = catacomb_12 South = catacomb_17 West = catacomb_10 Up = catacomb_15 Down = catacomb_15 LFlags = Dark, Maze Title = "&+WThe Catacombs&*" Desc = ^ You are lost in the catacombs. ^ EndLocation = "catacomb_11" Location = "catacomb_12" North = catacomb_12 East = catacomb_12 South = catacomb_15 West = catacomb_11 Up = catacomb_5 Down = catacomb_21 LFlags = Dark, Maze Title = "&+WThe Catacombs&*" Desc = ^ You are lost in the catacombs. ^ EndLocation = "catacomb_12" Location = "catacomb_13" North = catacomb_10 East = catacomb_14 South = catacomb_16 West = catacomb_22 Up = catacomb_5 Down = catacomb_22 LFlags = Dark, Maze Title = "&+WThe Catacombs&*" Desc = ^ You are lost in the catacombs. ^ EndLocation = "catacomb_13" Location = "catacomb_14" North = catacomb_11 East = catacomb_15 South = catacomb_17 West = catacomb_13 Up = catacomb_5 Down = catacomb_23 LFlags = Dark, Maze Title = "&+WThe Catacombs&*" Desc = ^ You are lost in the catacombs. ^ EndLocation = "catacomb_14" Location = "catacomb_15" North = catacomb_12 East = catacomb_11 South = catacomb_18 West = catacomb_17 Up = catacomb_11 Down = catacomb_11 LFlags = Dark, Maze Title = "&+WThe Catacombs&*" Desc = ^ You are lost in the catacombs. ^ EndLocation = "catacomb_15" Location = "catacomb_16" North = catacomb_10 East = catacomb_17 South = catacomb_16 West = catacomb_16 Up = catacomb_4 Down = catacomb_18 LFlags = Dark, Maze Title = "&+WThe Catacombs&*" Desc = ^ You are lost in the catacombs. ^ EndLocation = "catacomb_16" Location = "catacomb_17" North = catacomb_13 East = catacomb_18 South = ^Door1Skeleton@catacomb West = catacomb_16 Up = catacomb_9 Down = catacomb_17 LFlags = Dark, Maze Title = "&+WThe Catacombs&*" Desc = ^ You are lost in the catacombs. ^ EndLocation = "catacomb_17" Location = "catacomb_18" North = catacomb_15 East = catacomb_18 South = catacomb_18 West = catacomb_17 Up = catacomb_16 Down = catacomb_27 LFlags = Dark, Maze Title = "&+WThe Catacombs&*" Desc = ^ You are lost in the catacombs. ^ EndLocation = "catacomb_18" Location = "catacomb_19" North = catacomb_19 East = catacomb_20 South = catacomb_22 West = catacomb_19 Up = catacomb_1 LFlags = Dark, Maze Title = "&+WThe Catacombs&*" Desc = ^ You are lost in the catacombs. ^ EndLocation = "catacomb_19" Location = "catacomb_20" North = catacomb_22 East = catacomb_21 South = catacomb_24 West = catacomb_19 Up = catacomb_2 LFlags = Dark, Maze Title = "&+WThe Catacombs&*" Desc = ^ You are lost in the catacombs. ^ EndLocation = "catacomb_20" Location = "catacomb_21" North = catacomb_21 East = catacomb_21 South = catacomb_24 West = catacomb_20 Up = catacomb_3 LFlags = Dark, Maze Title = "&+WThe Catacombs&*" Desc = ^ You are lost in the catacombs. ^ EndLocation = "catacomb_21" Location = "catacomb_22" North = catacomb_19 East = catacomb_20 South = catacomb_25 West = catacomb_20 Up = catacomb_22 LFlags = Dark, Maze Title = "&+WThe Catacombs&*" Desc = ^ You are lost in the catacombs. ^ EndLocation = "catacomb_22" Location = "catacomb_23" North = catacomb_20 East = catacomb_24 South = catacomb_26 West = catacomb_22 Up = catacomb_14 Down = Beggar@catacomb LFlags = Dark, Maze Title = "&+WThe Catacombs&*" Desc = ^ You are lost in the catacombs. However, you notice a faint light by the spiral stairs, apparently emanating from the room below. ^ EndLocation = "catacomb_23" Location = "catacomb_24" North = catacomb_21 East = catacomb_26 South = catacomb_27 West = catacomb_26 Up = catacomb_6 LFlags = Dark, Maze Title = "&+WThe Catacombs&*" Desc = ^ You are lost in the catacombs. ^ EndLocation = "catacomb_24" Location = "catacomb_25" North = catacomb_22 East = catacomb_26 South = catacomb_25 West = catacomb_25 Up = catacomb_7 LFlags = Dark, Maze Title = "&+WThe Catacombs&*" Desc = ^ You are lost in the catacombs. ^ EndLocation = "catacomb_25" Location = "catacomb_26" North = catacomb_22 East = catacomb_27 South = catacomb_24 West = catacomb_25 Up = catacomb_8 LFlags = Dark, Maze Title = "&+WThe Catacombs&*" Desc = ^ You are lost in the catacombs. ^ EndLocation = "catacomb_26" Location = "catacomb_27" North = catacomb_24 East = catacomb_27 South = catacomb_27 West = catacomb_26 Up = catacomb_18 LFlags = Dark, Maze Title = "&+WThe Catacombs&*" Desc = ^ You are lost in the catacombs. ^ EndLocation = "catacomb_27" Location = "Closet" North = ^Door2Skeleton@catacomb LFlags = Dark, Maze Title = "&+WThe Closet&*" Desc = ^ You are in a small closet. Discarded rags on the floor suggest that it may once have been used as a storage area for burial clothes. The only exit is through the door to the north. ^ EndLocation = "Closet" Location = "Rips" LFlags = Death Title = "&+WYour umbrella rips and ...&*" Desc = ^ ... you plummet into a small spherical chamber which has somehow been carved out of the living stone. Many objects litter the ground, including your unpleasant remains ... ^ EndLocation = "Rips" Location = "Beggar" North = catacomb_North East = catacomb_East South = catacomb_South West = catacomb_West Up = catacomb_23 Down = Stairs@catacomb Trap = all @ switch (event) { case E_ONMOVE: if (gotanything(param_s.plx) && param_s.ob == EX_DOWN) { bprintf ("A mysterious force blocks your passage.\n"); if (ploc ((max_players + MOB_CATACOMB_BEGGAR)) == ploc (param_s.plx)) sendf (ploc (param_s.plx), "%s says 'To continue on, you must forego all worldly " "possessions.'\n", pname (max_players + MOB_CATACOMB_BEGGAR)); param_s.ret = -1; } break; default: break; } @ EndTrap Title = "&+WThe Beggar's Room&*" Desc = ^ You are in a large, rectangular room. There is a feeling of anticipation to this place. Doorways lead in all directions, above each is an inscription. The northern inscription reads "Charity", the eastern says "Faith", to the south lies "Wisdom", and "Courage" can be found to the west. It seems there is no "Hope" ... A spiral staircase runs up and down in the north-east corner of the room. ^ EndLocation = "Beggar" Location = "catacomb_North" South = Beggar@catacomb Title = "&+WThe North Cave&*" Desc = ^ You are in a small, unadorned cave. ^ EndLocation = "catacomb_North" Location = "catacomb_East" West = Beggar@catacomb Title = "&+WThe East Cave&*" Desc = ^ You are in a small, unadorned cave. ^ EndLocation = "catacomb_East" Location = "catacomb_South" North = Beggar@catacomb Title = "&+WThe South Cave&*" Desc = ^ You are in a small, unadorned cave. ^ EndLocation = "catacomb_South" Location = "catacomb_West" East = Beggar@catacomb Title = "&+WThe West Cave&*" Desc = ^ You are in a small, unadorned cave. ^ EndLocation = "catacomb_West" Location = "Stairs" North = Foot@catacomb Up = Beggar@catacomb Down = Foot@catacomb Title = "&+WThe Stone-Carved Stairs&*" Desc = ^ Here, the spiral staircase straightens out. You may climb the stairs, or descend to the north. ^ EndLocation = "Stairs" Location = "Foot" North = SLedge1@catacomb South = Stairs@catacomb Up = Stairs@catacomb Title = "&+WThe Foot of the Stairs&*" Desc = ^ You are standing in an underground cave at the foot of a set of stone stairs which ascend to the south. The front of the first step is decorated with a carving of a human skull. To the north, an archway has been carved out of the rock wall. ^ EndLocation = "Foot" Location = "SLedge1" North = NLedge1@catacomb South = Foot@catacomb Trap = all @ switch(event) { case E_ONJUMP: bprintf("You step off the ledge, but instead of plummeting into the darkness below,\n" "your motion is stopped and you find yourself ...\n"); trapch( (param_s.loc==LOC_CATACOMB_SLEDGE2)? LOC_CATACOMB_CHASM1:LOC_CATACOMB_CHASM2); param_s.ret = -1; break; default: break; } @ EndTrap Title = "&+WSouthern End of the Ledge&*" Desc = ^ You find yourself at the southern end of a narrow ledge overlooking a deep, seemingly bottomless chasm. An archway has been carved into the stone here. ^ EndLocation = "SLedge1" Location = "NLedge1" South = SLedge1@catacomb UseTrap = all:SLedge1 Title = "&+WNorthern End of the Ledge&*" Desc = ^ You find yourself at the northern end of a narrow ledge overlooking a deep, seemingly bottomless chasm. An archway has been carved into the stone here. ^ EndLocation = "NLedge1" Location = "Chasm1" East = SLedge2@catacomb Title = "&+WSuspended Above The Chasm&*" Desc = ^ You are borne up by a mysterious force. Below your feet, the chasm continues down into darkness. Above you, the heights of the chasm also disappear into blackness. To the east is solid ground: a narrow ledge. ^ EndLocation = "Chasm1" Location = "Chasm2" East = NLedge2@catacomb Title = "&+WSuspended Above The Chasm&*" Desc = ^ You are borne up by a mysterious force. Below your feet, the chasm continues down into darkness. Above you, the heights of the chasm also disappear into blackness. To the east is solid ground: a narrow ledge. ^ EndLocation = "Chasm2" Location = "SLedge2" North = NLedge2@catacomb South = #EX_GET_STUFF Trap = special_exit @ param_s.loc = LOC_CATACOMB_CHAMBER; @ EndTrap West = Chasm1@catacomb Trap = jump @ switch(event) { case E_ONJUMP: /* param_s.plx = mynum, so no setup_globals needed */ if(oloc(OBJ_START_UMBRELLA)==param_s.plx && ocarrf(OBJ_START_UMBRELLA)==CARRIED_BY) { bprintf( "You grab hold of the umbrella and step off the ledge.\n" "\n" "You are drifting slowly through the darkness of the chasm, falling towards an\n" "uncertain fate. The rocky walls slide past you, as does another ledge, just\n" "beyond your reach. After several minutes, your descent comes to an end and\n" "you alight in ...\n"); trapch(param_s.to); } else { bprintf( "You step off the ledge, but instead of plummeting into the darkness below,\n" "your motion is stopped and you find yourself ...\n"); trapch((ploc(param_s.plx)==LOC_CATACOMB_SLEDGE2)? LOC_CATACOMB_CHASM1 : LOC_CATACOMB_CHASM2); } param_s.ret = -1; break; default: break; } @ EndTrap Title = "&+WSouthern End of the Ledge&*" Desc = ^ You find yourself at the southern end of a narrow north-south ledge overlooking a deep, seemingly bottomless chasm. The outline of an archway has been carved into the stone. ^ EndLocation = "SLedge2" Location = "NLedge2" Trap = special_exit @ param_s.loc = LOC_CATACOMB_HALL; @ EndTrap North = #EX_DEFENDER South = SLedge2@catacomb West = Chasm2@catacomb /*UseTrap = jump:SLedge2*/ Title = "&+WNorthern End of the Ledge&*" Desc = ^ You find yourself at the northern end of a narrow north-south ledge overlooking a deep, seemingly bottomless chasm. The outline of an archway has been carved into the stone. ^ EndLocation = "NLedge2" Location = "Cavern" Title = "&+WThe Cavern of the Faithless&*" Desc = ^ You are standing at the bottom of a very deep chasm. The rock walls which which surround you on all sides vanish up into the darkness overhead. You feel quite daunted by the sheer weight of earth and stone which lies between you and the surface above. ^ EndLocation = "Cavern" Location = "Chamber" North = SLedge2@catacomb Title = "&+WThe Rough-Walled Chamber&*" Desc = ^ You are in a small spherical chamber, which has somehow been carved out of the living stone. Although you can see no exits, the room is lit and there is an updraft... ^ EndLocation = "Chamber" Location = "Hall" North = ^Door1Seraph@catacomb South = NLedge2@catacomb LFlags = NoMagic Title = "&+WThe Hall of Challenging&*" Desc = ^ You are in a large, oval-shaped chamber. Tapestries, depicting scenes of single combat, hang from the roof of the chamber, which is high overhead. A vast array of weapons and armor, from various ages, adorn the walls all about you. The arena is ringed with torches, burning silently. There is an archway leading south. There is a heavy wooden door, made of cedar and overlayed with gold, at the northern end of the Hall. ^ EndLocation = "Hall" Location = "Resting_place" South = ^Door2Seraph@catacomb Title = "&+WThe Final Resting Place&*" Desc = ^ You are in a rectangular hall, with smooth stone walls, and a marble floor. An overwhelming sense of satisfaction fills the air in this room. Twelve marble pillars line the eastern and western walls of the chamber. At the northern end of the hall is a dais, made from a single round slab of pure gold. There is a crystal pedestal in the center of the dais. To the south is a heavy wooden door, made of cedar and overlayed with gold. ^ EndLocation = "Resting_place"