/**************************************************************************** * MOOR.ZONE * * Core Zone: Author Unknown * * Distribute with full Dyrt distribution only * * Edited by Rex on 21 December 1995 * ****************************************************************************/ #include "undef.h" #include "exits.h" #include "special.h" Zone = moor Author = "Unknown" EndZone = moor Object = RopeTopPit Name = "rope" Altname = "ladder" Location = IN_ROOM:pit@moor OFlags = NoGet, Destroyed Linked = RopeBotPit@ledge Desc0 = "A rope ladder leads down into the pit." UseTrap = all:ropebotpit@ledge EndObject = RopeTopPit Object = heather Location = IN_ROOM:rocky@moor OFlags = GetFlips State = 1 MaxState = 1 BaseValue = 30 Size = 1 Weight = 1 Desc0 = "Some rare &+Wwhite&* heather has been left here." Desc1 = "Some &+Wwhite&* heather is growing here." Examine = "The heather is very &+Wwhite&* and very pretty." EndObject = heather Object = chalice Location = IN_ROOM:circle@moor BaseValue = 40 Size = 10 Weight = 5 State = 0 MAxState = 1 Desc0 = "A bloodstained chalice lies before you." Examine = " The chalice is old and bloodstained. You feel sure that it once played an important role in many religious sacrifices." Trap = all @ catch_eat { bprintf("However much &+rblood&* you drink from the chalice it " "stays just as stained!\n"); fail(-1); } catch_get { if (param_s.ob == OBJ_MOOR_CHALICE && state(OBJ_MOOR_CHALICE) > 0) { setobjstate(OBJ_MOOR_ALTAR, 0); create(OBJ_MOOR_CHALICE); bprintf("You remove the chalice from the altar.\n"); setobjstate(THIS_OBJECT,0); } } @ EndTrap EndObject = chalice Object = altar Location = IN_ROOM:circle@moor OFlags = NoGet State = 0 MaxState = 1 Desc1 = "A chalice rests upon the altar." Examine = " The altar is blackened and pitted from the fires and blood of many sacrifices. The center of the altar simply bears the words: 'Acsthad Of the Fiery Planes.'" Trap = all @ switch (event) { case E_ONTIMER: case E_ONENTRY: if (plev(param_s.plx) < LVL_APPREN) { if (oloc(OBJ_CHURCH_CROSS) == param_s.plx) { sendf(param_s.plx,"The altar and cross suddenly start sparking and flashing, as if in come kind\n" "of conflict. With a massive bang, the altar crasks.\n"); destroy(OBJ_MOOR_ALTAR); } } break; case E_ONPUT: if (param_s.misc == OBJ_MOOR_CHALICE) { setobjstate(OBJ_MOOR_ALTAR, 1); setobjstate(OBJ_MOOR_CHALICE,1); setoloc(OBJ_MOOR_CHALICE,ploc(mynum),IN_ROOM); /*destroy(OBJ_MOOR_CHALICE);*/ bprintf("Ok.\n"); param_s.ret = -1; } break; default: break; } @ EndTrap EndObject = altar /*moor1*/ Location = "misty1" North = edge@moor East = misty2@moor South = moorpath@valley LFlags = Outdoors, RealTime Title = "Misty Moorlands" Desc = ^ You are standing on the south-eastern edge of a vast tract of misty, tangled moorland. Thick gorse and bracken make travel almost impossible save for narrow, animal-worn tracks to the north and east. ^ EndLocation = "misty1" /*moor2*/ Location = "misty2" North = circle@moor West = misty1@moor LFlags = Outdoors, RealTime Title = "Misty Moorland" Desc = ^ You are wandering amidst the thickets and stones far out upon the moor. Grey and barren, they extend all around you. Thick gorse and bushes prevent even the most determined adventurer from doing anything but following the paths to the north and west. ^ EndLocation = "misty2" /*moor3*/ Location = "pit" North = lost1@moor Trap = all @ if (event == E_ONTIE) { setobjstate(OBJ_MOOR_ROPETOPPIT, 0); oclrbit(OBJ_MOOR_ROPETOPPIT, OFL_DESTROYED); oclrbit(OBJ_LEDGE_ROPEBOTPIT, OFL_DESTROYED); setexit(LOC_MOOR_PIT, 5, LOC_LEDGE_PIT); setexit(LOC_LEDGE_PIT, 4, LOC_MOOR_PIT); bprintf("You tie the rope to the pit.\n"); destroy(param_s.misc); send_msg(param_s.loc, MODE_NSFLAG|MS(SFL_BLIND), LVL_MIN, LVL_MAX, param_s.plx, NOBODY, "\001p%s\003 ties the rope over the gap.\n", pname(param_s.plx)); param_s.ret = -1; } @ EndTrap LFlags = Outdoors, RealTime Title = "By the Pit" Desc = ^ You are standing on the rim of a huge open pit looking down some twenty feet to the floor below. The walls of the pit are too sheer to climb down, which is unfortunate, as there seem to be caves leading off from it. A path winds its dusty way north out onto the moor. ^ EndLocation = "pit" /*moor4*/ Location = "edge" North = rocky@moor East = circle@moor South = misty1@moor LFlags = Outdoors, RealTime Title = "Western Edge of Moor" Desc = ^ You are standing somewhere near the western edge of the moors. Narrow, gorse-walled paths wind their narrow ways north, east, and south from here. ^ EndLocation = "edge" /*moor5*/ Location = "circle" North = lost2@moor East = lost1@moor South = misty2@moor West = edge@moor Trap = all @ switch (event) { case E_ONMISC: if (param_s.misc == VERB_PRAY) { if (state(OBJ_MOOR_ALTAR)) { bprintf("Some mighty force hurls you across the universe.\n" "The stars seem to spin and whirl around you, whipping into a fiery storm of\n" "multihued flaming light, spinning, twisting, half blinding you in its wild\n" "crazy flickerings.\n" "Suddenly, everything seems to jolt back to a kind of almost sanity.\n"); trapch(LOC_WASTE_BEFORE); if (iscarrby(OBJ_ICECAVE_DAGGER, param_s.plx)) { bprintf("The icy dagger melts under the extreme heat.\n"); destroy(OBJ_ICECAVE_DAGGER); } setobjstate(OBJ_MOOR_ALTAR, 0); param_s.ret = -1; } } break; default: break; } @ EndTrap LFlags = Outdoors, RealTime Title = "The Stone Circle on the Moor" Desc = ^ You are standing in the center of an ancient circle of jagged stones hidden in a deep bowl in the center of the moors. Narrow, scarcely-used tracks wind up from the deathly quiet bowl. In the center of the circle is a black gloomy altar to some ancient god. ^ EndLocation = "circle" /*moor6*/ Location = "lost1" North = lost2@moor East = pit@moor South = misty2@moor West = edge@moor LFlags = Outdoors, RealTime Title = "Lost on the Moor" Desc = ^ You are lost on the moor. Thick gorse and tangled bushes prevent you from seeing far in any direction. A multitude of little twisted paths wind in all directions from here. ^ EndLocation = "lost1" /*moor7*/ Location = "cottage" North = waste@moor East = inside@moor West = lost1@moor LFlags = Outdoors, RealTime Title = "By the Ruined Cottage" Desc = ^ You are standing somewhere on the eastern side of the moor. A narrow, worn path leads east between two crumbling dry-stone walls towards the remains of an old cottage. ^ EndLocation = "cottage" /*moor8*/ Location = "inside" West = cottage@moor LFlags = Outdoors, RealTime Title = "Inside the Ruined Cottage" Desc = ^ You are standing in the sad, desolate ruins of an old farmhouse. The roof has long since caved in, leaving a crumbling shell to gradually fall. A single doorway leads west back outside onto the moor. ^ EndLocation = "inside" /*moor9*/ Location = "waste" South = cottage@moor East = eastcoast40@eastcoast West = lost2@moor LFlags = Outdoors, RealTime Title = "Rocky Waste" Desc = ^ You are standing on the northeastern corner of the moor, looking out across a mass of jumbled rock. Paths lead south and west across the moor, while the rock steepens into precipitous cliffs to the east and north, preventing further travel. ^ EndLocation = "waste" /*moor10*/ Location = "lost2" East = waste@moor South = lost1@moor West = rocky@moor LFlags = Outdoors, RealTime Title = "Lost on the Moor" Desc = ^ You are lost somewhere on a vast expanse of ancient moorland. Thick bushes and tangled piles of gorse and rock prevent you from seeing far in any direction. Narrow paths wind east, west, and south across the moor. ^ EndLocation = "lost2" /*moor11*/ Location = "rocky" South = edge@moor West = road7e@newvillage North = camelot@camelot LFlags = Outdoors, RealTime Title = "Rocky End" Desc = ^ The path you are following across the moor ends here in a narrow rocky hollow. You can follow the path back toward the South, or follow a path to the west or north. You can't see far because of the thick gorse and rock, but you believe you can make out some smoke in the distance to the west. Perhaps what you see are signs of civilization. ^ EndLocation = "rocky"