/************************************************************************ * File: kastle.zone * * Author: Unknown * * Code by: Rex (taken from AberIV) * * Notes: you will need a few extra objects and rooms * * in order to add in this zone. * ************************************************************************/ #include "undef.h" #include "exits.h" #include "special.h" Zone = kastle Author = "Unknown" Quest = SkiLesson EndZone = kastle Mobile = blix Location = kastle13@kastle Strength = 80 Damage = 10 Armor = 0 Aggression = 0 Speed = 2 Desc = "Blix the Goblin looks happy to see you." EndMobile = blix Mobile = crud Location = kastle16@kastle Strength = 120 Damage = 10 Armor = 0 Aggression = 10 Speed = 2 Desc = "A Creeping Crud is slushing about trying to get at you." EndMobile = crud Mobile = knight Location = kastle4@kastle Strength = 200 Damage = 10 Armor = 0 Aggression = 30 Speed = 0 Desc = "A Skeletal Knight is waiting here for someone to strangle." EndMobile = knight Mobile = skapti Location = kastle19@kastle Strength = 100 Damage = 10 Armor = 0 Aggression = 80 Speed = 0 Desc = " Skapti the Tax Collector wrings his hands at the prospect of new taxes." EndMobile = skapti Mobile = flosi Location = kastle19@kastle Strength = 100 Damage = 10 Armor = 0 Aggression = 80 Speed = 0 Desc = " Flosi the Tax Collector wrings his hands at the prospect of new taxes." EndMobile = flosi Object = fireplace Location = IN_ROOM:kastle4@kastle OFlags = Lit, Extinguish, Lightable, NoGet MaxState = 1 Desc0 = " A cheerful fire blazing in the fireplace makes the room feel quite toasty." Desc1 = " There is a cold draft coming from the stone cold fireplace." Examine = "The flue is open leading up into a large chimney." EndObject = fireplace Object = rock_wall Name = "wall" Altname = "rock" Location = IN_ROOM:kastle1@kastle OFlags = Pushtoggle, NoGet Linked = rock_wall@castle MaxState = 1 State = 1 Desc0 = " An open panel disguised as solid rock allows passage to the north." Desc1 = "The passage ends to the north in a solid rock wall." EndObject = rock_wall Object = null_door Name = "door" Altname = "null" Location = IN_ROOM:kastle2@kastle OFlags = Lockable, Openable, NoGet Linked = heavy_door MaxState = 2 State = 2 Desc0 = "The door is open." Desc1 = "The door is closed." Desc2 = "The door is locked." EndObject = null_door Object = heavy_door Name = "door" Altname = "heavy" Location = IN_ROOM:kastle3@kastle OFlags = Lockable, Openable, NoGet Linked = null_door MaxState = 2 State = 2 Desc0 = "The heavy door is open." Desc1 = "The heavy door is closed." Desc2 = "The heavy door is locked." EndObject = heavy_door Object = oak_door Name = "door" Altname = "oakdoor" Location = IN_ROOM:kastle3@kastle OFlags = Lockable, Openable, NoGet Linked = oak_door_1 MaxState = 1 State = 1 Desc0 = "The oak door is open." Desc1 = "The oak door is closed." EndObject = oak_door Object = oak_door_1 Name = "door" Altname = "oak" Location = IN_ROOM:kastle4@kastle OFlags = Lockable, Openable, NoGet Linked = oak_door MaxState = 1 State = 1 Desc0 = "The door is open." Desc1 = "The door is closed." EndObject = oak_door_1 Object = door Location = IN_ROOM:kastle20@kastle OFlags = Lockable, Openable, NoGet Linked = door_1 MaxState = 2 State = 2 Desc0 = "The door is open." Desc1 = "The door is closed." Desc2 = "The door is locked." EndObject = door Object = door_1 Name = "door" Location = IN_ROOM:kastle21@kastle OFlags = Lockable, Openable, NoGet Linked = door MaxState = 2 State = 2 Desc0 = "The door is open." Desc1 = "The door is closed." Desc2 = "The door is locked." EndObject = door_1 Object = bar_stone Name = "stone" Altname = "bar" Location = IN_ROOM:kastle18@kastle OFlags = Pushable, NoGet Linked = wall_stone@castle MaxState = 1 State = 1 Desc0 = " A block of stone is sitting on the stairs here beside an opening leading up." Desc1 = " The stairway is blocked by a large block of stone that is barred in place." EndObject = bar_stone Object = hole Location = IN_ROOM:kastle12@kastle OFlags = NoGet Linked = hole_1 MaxState = 1 State = 1 Desc0 = "A hole has been dug through the snow leading down." Trap = all @ catch_dig { bprintf("You dig through the thick snow to form a passage leading down.\n"); setobjstate(OBJ_KASTLE_HOLE,0); setobjstate(OBJ_KASTLE_HOLE_1,0); fail(-1); } @ EndTrap EndObject = hole Object = hole_1 Name = "hole" Location = IN_ROOM:kastle13@kastle OFlags = NoGet Linked = hole MaxState = 1 State = 1 Desc0 = "A hole has been dug through the thick crusty snow." EndObject = hole_1 Object = snow_ice Name = "ice" Altname = "snow" Location = IN_ROOM:kastle14@kastle OFlags = NoGet Linked = snow_ice@blizzard MaxState = 1 State = 1 Desc0 = "A hole has been chipped through the ice." Trap = all @ catch_dig { bprintf("You dig a passage up through the snow and ice.\n"); setobjstate(OBJ_KASTLE_SNOW_ICE,0); setobjstate(OBJ_BLIZZARD_SNOW_ICE,0); fail(-1); } @ EndTrap EndObject = snow_ice Object = gold_chain Name = "chain" Altname = "gold" Location = IN_ROOM:kastle1@kastle OFlags = Pushtoggle, NoGet Desc0 = " A very valuable looking gold chain lies here half buried in the dirt." Trap = all @ switch(event) { case E_ONPUSH: bprintf("As you tug on the chain a trap door opens beneath your feet.\n"); bprintf("You fall with a loud thud to the room below as the trap door closes above you.\n"); teletrap(LOC_KASTLE_KASTLE15); param_s.ret = -1; break; default: break; } @ EndTrap EndObject = gold_chain Object = skis Location = IN_ROOM:kastle5@kastle OFlags = GetFlips, WearOnFeet, Wearable BaseValue = 50 Size = 20 Weight = 10 MaxState = 1 State = 1 Desc0 = "A pair of wooden skis have been left here." Desc1 = "A pair of wooden skis stand in the corner gathering dust." EndObject = skis Object = sword_Cuthbert Name = "Cuthbert" Altname = "sword" Location = IN_ROOM:kastle4@kastle OFlags = Weapon BaseValue = 200 Damage = 13 Size = 20 Weight = 10 MaxState = 1 State = 1 Desc0 = "Cuthbert is lying here complaining about being left alone." Desc1 = " A magnificent looking sword is displayed above the fireplace." Examine = " The sword is finely engraved with the words 'Cuthbert the Scared'." EndObject = sword_Cuthbert Object = chair_lazyboy Name = "lazyboy" Altname = "chair" Location = IN_ROOM:kastle4@kastle OFlags = Container, Pushtoggle, Openable, NoGet MaxState = 1 State = 1 Desc0 = "The lazyboy is reclining." Desc1 = "The lazyboy looks inviting." EndObject = chair_lazyboy Object = old_coins Name = "coins" Altname = "old" Location = IN_CONTAINER:chair_lazyboy@kastle BaseValue = 60 Size = 3 Weight = 3 Desc0 = "A few old coins are scattered about here." EndObject = old_coins Object = armor_suit Name = "suit" Altname = "armor" Location = IN_ROOM:kastle2@kastle OFlags = Container, NoGet Size = 1 Weight = 1 Desc0 = " A suit of armor bearing the royal seal is standing here beside the door." EndObject = armor_suit Object = fancy_key Name = "key" Altname = "fancy" Location = IN_CONTAINER:armor_suit@kastle OFlags = Key Size = 1 Weight = 1 Desc0 = "A fancy looking key has been left here." EndObject = fancy_key Object = chamber_pot Name = "pot" Altname = "chamber" Location = IN_ROOM:kastle6@kastle OFlags = Container BaseValue = 160 Size = 5 Weight = 5 Desc0 = "A splendid solid gold chamber pot is sitting here." EndObject = chamber_pot Object = ledge Location = IN_ROOM:kastle7@kastle OFlags = NoGet Trap = all @ if (event == E_ONEXAMINE) { if (find_stuff (OBJ_KASTLE_LEDGE, OBJ_KASTLE_NEST_EGG, "Feeling along the ledge you find a small nest with an egg in it.\n")) param_s.ret = -1; } @ EndTrap EndObject = ledge Object = nest_egg Name = "egg" Altname = "nest" Location = IN_ROOM:kastle7@kastle OFlags = Destroyed BaseValue = 160 Size = 5 Weight = 5 Desc0 = "A small silver egg has been left here." EndObject = nest_egg Object = bread Location = IN_ROOM:kastle5@kastle OFlags = GetFlips, Food BaseValue = 10 Size = 2 Weight = 2 MaxState = 1 State = 1 Desc0 = "Some stale bread has been left here." Desc1 = "The only thing left on the shelves is some stale bread." EndObject = bread Object = ball Location = IN_ROOM:kastle17@kastle BaseValue = 160 Size = 20 Weight = 10 Desc0 = "Someone has left their bowling ball here." Examine = " This is actually a very large black pearl with some holes drilled in it. " EndObject = ball Object = chest Location = IN_ROOM:kastle19@kastle OFlags = Container, Lockable, Openable, NoGet MaxState = 2 State = 2 Desc0 = "The chest is open." Desc1 = "The chest is closed." Desc2 = "The chest is locked." EndObject = chest Object = check Location = IN_CONTAINER:chest@kastle BaseValue = 150 Size = 1 Weight = 1 Desc0 = "There is check here made out to his royal highness for $50." EndObject = check Object = tapestry Location = IN_ROOM:kastle4@kastle OFlags = NoGet Examine = "Behind the tapestry you find a doorway. " EndObject = tapestry Location = "kastle1" North = ^rock_wall@kastle South = kastle2@kastle Title = "&+WEscape Passage South&*" Desc = ^ The Passage opens up here allowing you to stand. There are lit torches spaced evenly along both walls providing plenty of light to see by. Much further to the south the torches end, and it appears that someone is standing there by a door. The floor here is dirt, but oddly enough your footsteps sound hollow. ^ EndLocation = "kastle1" Location = "kastle2" North = kastle1@kastle South = kastle8@kastle West = ^null_door@kastle Title = "&+WEntrance to the Royal Hideaway&*" Desc = ^ The tunnel continues south here into darkness and you feel a cold draft coming from that direction. To the north you can feel the warmth of the many torches lining the passageway. A heavy wooden door, banded with iron, is set in the west wall. ^ EndLocation = "kastle2" Location = "kastle3" East = ^heavy_door@kastle South = ^oak_door@kastle Title = "&+WSide Hallway&*" Desc = ^ This is a small alcove off the main passageway. The walls are paneled with wood finely painted and inlaid with gold. This place looks fit for a king. There is a heavy wooden door banded with iron on the eastern wall. There is a stout oak door on the southern wall. ^ EndLocation = "kastle3" Location = "kastle4" North = ^oak_door_1@kastle South = kastle6@kastle West = kastle5@kastle Up = kastle7@kastle Title = "&+WCozy Room&*" Desc = ^ You are in a cozy little room inside the royal hideout. The west wall is hung with a large colorful tapestry meant to depict the heroic deeds of the royal family. Oddly enough, however, it is completely blank. The east wall is occupied by a huge fireplace in front of which sits the royal Lazy-boy, a chair fit for a king. ^ EndLocation = "kastle4" Location = "kastle5" East = kastle4@kastle LFlags = Dark Title = "&+WStore Room&*" Desc = ^ This room is where emergency stores were kept. It is larger than it appears and the walls are lined with tall shelves. The shelves are now virtually empty. ^ EndLocation = "kastle5" Location = "kastle6" North = kastle4@kastle LFlags = Peaceful Title = "&+WRoyal Bedroom&*" Desc = ^ A sense of awe briefly overcomes you at the splendor of the royal bedroom. Gold seems to guild everything here. Even the ceiling is inlaid with gold patterns surrounding the splendid royal seal. The bed, perhaps the largest you have ever seen, is covered with sheets of luxurious gold silk. You get the impression that this king was a little obsessed with his gold. ^ EndLocation = "kastle6" Location = "kastle7" Down = kastle4@kastle LFlags = Dark, OnePerson Title = "&+WChimney&*" Desc = ^ Though this is a large chimney, it is still a tight squeeze. The bricks are coated with soot that rubs off on you and makes you sneeze. You can't climb any higher than this because of a small ledge constricting the chimney. ^ EndLocation = "kastle7" Location = "kastle8" North = kastle2@kastle South = kastle9@kastle LFlags = Dark, Cold Title = "&+WLong Cold Passageway&*" Desc = ^ This passageway is filled with cold air that goes right through your clothes and makes you shiver uncomfortably. The heavy frost that has collected on the walls reminds you of an icebox that hasn't been cleaned out in years. To the north you can just make out the light of the many torches that line the walls there, and to the south there is a small light at the end of the tunnel. ^ EndLocation = "kastle8" Location = "kastle9" North = kastle8@kastle Up = kastle10@kastle LFlags = Outdoors, Cold Title = "&+WThe Fells&*" Desc = ^ The escape passage emerges here high on the side of a steep rocky fell. The footing here is treacherous. Small avalanches of scree are set off by your footsteps as you scramble along the fell. Any descent would be impossible. The only other way out is up to the top of the fell which is covered in snow. ^ EndLocation = "kastle9" Location = "kastle10" South = kastle11@kastle West = kastle9@kastle Down = kastle11@kastle Trap = all @ switch (event) { case E_ONMOVE: if (param_s.misc == LOC_KASTLE_KASTLE11 && ploc(param_s.plx) == LOC_KASTLE_KASTLE10) if (!iswornby(OBJ_KASTLE_SKIS, param_s.plx)) { teletrap (LOC_KASTLE_KASTLE24); param_s.ret = 0; } else { bprintf("You shuss down the glacier like an expert on your skis.\n"); set_quest(Q_SKI,param_s.plx); } break; default: break; } @ EndTrap LFlags = Outdoors, Cold Title = "&+WTop of the Glacier&*" Desc = ^ This is the top of a large glacier that extends down the steep mountainside. The fresh snow here looks good for skiing. Of course you'd best be careful or you might set of an avalanche. To the south you can barely make out the bottom of the glacier through the glare from the snow. West of here lies the fells. ^ EndLocation = "kastle10" Location = "kastle11" South = kastle12@kastle LFlags = Outdoors, Cold Title = "&+WBottom of the Glacier&*" Desc = ^ You are at the bottom of the glacier. The top of the glacier is far above you, impossible to reach from here. The only exit appears to be through a snow bank to the south. ^ EndLocation = "kastle11" Location = "kastle12" North = kastle11@kastle Down = ^hole@kastle LFlags = Outdoors, Cold Title = "&+WSnow Drift&*" Desc = ^ The snow here is heaped up into a large drift, and the wind whips through here on its way to parts unknown. The only way out would seem to be back the way you came. ^ EndLocation = "kastle12" Location = "kastle13" North = kastle14@kastle Up = ^hole_1@kastle LFlags = Dark, Cold, Soundproof, NoMagic Title = "&+WUnder the Snow Temple&*" Desc = ^ You are in a secret chamber beneath an old temple. It looks as though the place is ready to fall in. The walls are leaning precariously and there are cracks in the ceiling. There are some stairs at the north end of the chamber. ^ EndLocation = "kastle13" Location = "kastle14" South = kastle13@kastle Up = ^snow_ice@kastle LFlags = Cold, NoMobiles Title = "&+WSnowy Stairs&*" Desc = ^ The stairs here are blocked by snow that has hardened into an icy crust. Perhaps you could dig through the ice if you had something to dig with. ^ EndLocation = "kastle14" Location = "kastle15" North = kastle18@kastle South = kastle16@kastle LFlags = Dark Title = "&+WUnder the Trap Door&*" Desc = ^ You are in the lower reaches of the castle, directly beneath a trap door. An open sewer runs to the south and a terrible odor is coming from that direction. The tunnel continues to the north. ^ EndLocation = "kastle15" Location = "kastle16" North = kastle15@kastle Down = kastle23@kastle Trap = all @ switch(event) { case E_ONJUMP: if (ploc(mynum) == LOC_KASTLE_KASTLE16) { char ms[128]; sprintf(ms, "You hear a loud flush come from somewhere.\n"); broad(ms); bprintf("You leap upwards and grab ahold of the chain. Your weight pulls the chain.\n"); bprintf("........There is a great flushing sound as the pit empties.\n"); teletrap(LOC_KASTLE_KASTLE22); } break; default: break; } @ EndTrap LFlags = Dark Title = "&+WSmelly Room&*" Desc = ^ The sewer empties into a large pit here creating an unbearable odor. A chain hangs from the ceiling directly over the pit and just out of your reach. ^ EndLocation = "kastle16" Location = "kastle17" Up = kastle16@kastle LFlags = Dark, OnePerson Title = "&+WSewage Pit&*" Desc = ^ The walls of this pit are still coated with sewage and the stench here is overpowering. Sewage is still spilling in so you better not take too long. ^ EndLocation = "kastle17" Location = "kastle18" North = kastle19@kastle East = kastle20@kastle South = kastle15@kastle Up = ^bar_stone@kastle LFlags = Dark Title = "&+WDamp Tunnel&*" Desc = ^ It is dank and musty here and slime coats the walls. To one side there is a a set of stairs leading up. To the north the tunnel opens up and to the east can be seen rows of cells. ^ EndLocation = "kastle18" Location = "kastle19" South = kastle18@kastle Title = "&+WTax Collectors&*" Desc = ^ This must be where the taxes are normally kept. However there is only one chest left and there is not much else to see. ^ EndLocation = "kastle19" Location = "kastle20" East = ^door@kastle West = kastle18@kastle LFlags = Dark Title = "&+WCastle Dungeons&*" Desc = ^ Rows of cells line the the walls of this place, however they are all empty now. A heavy iron door has been set in the eastern wall. ^ EndLocation = "kastle20" Location = "kastle21" West = ^door_1@kastle LFlags = Dark Title = "&+WSolitary&*" Desc = ^ This must be where they put prisoners they didn't want to see anymore. There are several skeletons here and the floor is covered with soiled straw. ^ EndLocation = "kastle21" Location = "kastle22" Down = kastle17@kastle LFlags = Dark, OnePerson, Soundproof, NoMobiles, NoSummon Title = "&+WOn the Chain&*" Desc = ^ You are hanging from the chain over the sewage pit. You could climb down from here into the pit before it fills again or you could just hang here for the rest of your mortal life. Well?.. get going. ^ EndLocation = "kastle22" Location = "kastle23" LFlags = NoMobiles, NoSummon, Death Title = "&+WAn Unpleasant Death&*" Desc = ^ You dive headlong into the sewage. Oh dear, you seemed to have drowned in.. er, well you know. ^ EndLocation = "kastle23" Location = "kastle24" LFlags = NoMobiles, NoSummon, Death Title = "&+WBuried Alive&*" Desc = ^ Your clumsy attempt to climb down the glacier has set off an avalanche burying you alive... well dead actually. ^ EndLocation = "kastle24"