/***************************************************************************** ** Another try of me to make a nice Zone ** ZoneName: TheNewWorld ** ZoneAuth: Marty ** Copyright: 1996 Marty, although it isn't possible to have a secure ** copyright with aber zones, I strongly hope you will not use ** this zone without prior permission from me. ***************************************************************************/ #include "undef.h" #include "exits.h" #include "special.h" Zone = TheNewWorld Author = "Marty" Data @ #define ELEVATORST OBJ_THENEWWORLD_ELEVATORSTATE #define ELE_LOC LOC_THENEWWORLD_ELEVATOR int tofloor1locs[] = { LOC_THENEWWORLD_ELEVATOR1, LOC_THENEWWORLD_ELEVATOR1, -1}; char *tofloor1names[] = { "Level 1", "Level 1", "" }; int tofloor2locs[] = { LOC_THENEWWORLD_ELEVATOR2, LOC_THENEWWORLD_ELEVATOR2, -1}; char *tofloor2names[] = { "Level 2", "Level 2", ""}; int tofloor3locs[] = { LOC_THENEWWORLD_ELEVATOR3, LOC_THENEWWORLD_ELEVATOR3, -1}; char *tofloor3names[] = { "Level 3", "Level 3", ""}; @ EndData EndZone = TheNewWorld Mobile = Baker Location = MuirBakery@TheNewWorld Strength = 90 Damage = 10 Aggression = 0 Speed = 0 Wimpy = 10 MFlags = GrabHostile Desc = "The baker stands behind his counter, waiting for another paying customer." Examine = " The Baker says 'How may I be of service to you?'" EndMobile = Baker Mobile = Bartender Name = "Mechail" Location = Stable@TheNewWorld Strength = 100 Damage = 80 Aggression = 0 Speed = 0 Desc = "Mechail the bartender is standing behind the bar waiting for orders." EndMobile = Bartender Mobile = Drunk Location = MuirVilRoad1@TheNewWorld Strength = 80 Damage = 6 Speed = 2 Wimpy = 10 Desc = "A drunk wanderer is standing here." PFlags = NoHassle EndMobile = Drunk Mobile = Farmer Location = MuirVilRoad1@TheNewWorld Strength = 90 Damage = 8 Aggression = 0 Speed = 3 Wimpy = 10 MFlags = PickStuff Desc = "A local farmer is viewing the meadows." Examine = " A middle aged Farmer, not very strong, but tough from all the hard work on the fields." EndMobile = Farmer Mobile = LogLady Name = "Jasha" Location = Cabin@TheNewWorld MFlags = NoSteal PFlags = NoHassle, NoSteal SFlags = Female Strength = 100 Damage = 8 Aggression = 0 Speed = 0 Desc = "A small young lady named Jasha is working here." Examine = " Jasha is a small slender lady with a small face and large blue eyes. She's cleaning the cabin at the moment. She looks quite lonely." Trap = all @ if (event == E_ONGIVE) { if (param_s.ob == OBJ_THENEWWORLD_FLOWERS && (plev(THIS_PLAYER) = LVL_APPREN)) { bprintf("Jasha thanks you for the flowers.\n" "Jasha says &+C'Here accept this amulet as gift'\n" "Jasha says &+C'If you rub it, it will bring you to the sacred place on the hill.'&*\n"); setoloc(param_s.ob,param_s.pl,CARRIED_BY); oclrbit(OBJ_THENEWWORLD_AMULET,OFL_NOGET); setoloc(OBJ_THENEWWORLD_AMULET,param_s.plx,CARRIED_BY); do_not_continue; } } @ EndTrap EndMobile = LogLady Mobile = Sheep Location = Lake@TheNewWorld Strength = 40 Damage = 4 Aggression = 0 Speed = 0 Desc = "A sheep is drinking from the lake water." EndMobile = sheep Object = Amulet Location = WORN_BY:LogLady@TheNewWorld OFlags = Wearable, WearOnNeck, NoGet, MagicLit, Lightable State = 0 MaxState = 0 Damage = 5 BaseValue = 200 Desc0 = "A small golden amulet has been left here" Examine = " A small golden amulet attached to a finely grafted necklace." Trap = all @ if (event == E_ONACTION && EQ(param_s.buf,"rub")) { if (odamage(param_s.ob) > 0) { bprintf("As you rub the amulet you are suddenly surrounded by a thick black smoke.\n" "You try to get away but it's too late, you can't escape.\n" "After a while the smoke dissappears and you find yourself in different\n" "surroundings.\n"); send_msg(ploc(param_s.plx),MODE_NOBLIND,pvis(mynum),LVL_MAX,mynum,NOBODY, "%s suddenly dissappears in a thick black cloud.\n",pname(mynum)); trapch(LOC_START_ENTRYPOINT); send_msg(ploc(param_s.plx),MODE_NOBLIND,pvis(mynum),LVL_MAX,mynum,NOBODY, "%s suddenly appears out of a thick black smoke.\n",pname(mynum)); odamage(param_s.ob)--; if (odamage(param_s.ob) == 0) { oclrbit(param_s.ob,OFL_MAGICLIT); bprintf("You feel the magic flowing out of the amulet.\n"); } } else bprintf("The magic of the amulet seems to have worn off.\n"); param_s.ret = ACT_RET_GOOD; } @ EndTrap EndObject = Amulet Object = Bed Location = IN_ROOM:Cabin@TheNewWorld OFlags = NoGet Examine = " A soft bed with some soft sheets." EndObject = Bed Object = Bread OFlags = Food Location = IN_CONTAINER:DisplayCounter@TheNewWorld State = 0 MaxState = 0 BaseValue = 20 Size = 2 Weight = 2 Desc0 = "A delicious loaf of bread lies here on the ground." Examine = " That should taste good." EndObject = Bread Object = ButtonUp Name = "button" Altname = "up" Location = IN_ROOM:Elevator@TheNewWorld OFlags = NoGet Desc0 = "You can see a button marked 'up' here." Trap = all @ AT_REC *p; switch (event) { case E_ONPUSH: p = find_AT(LOC_THENEWWORLD_ELEVATOR); if (p == NULL) { bprintf("NULL\n"); break; } if (p->state == Moving) { bprintf("It won't respond.\n"); do_not_continue; break; } if (state(ELEVATORST) == 0) { bprintf("You're already at the top floor.\n"); do_not_continue; } else { if (state(ELEVATORST) == 1) { replace_ports(ELE_LOC,tofloor1locs, tofloor1names); activate_AT(ELE_LOC); setobjstate(ELEVATORST,0); do_not_continue; } else { replace_ports(ELE_LOC,tofloor2locs, tofloor2names); activate_AT(ELE_LOC); setobjstate(ELEVATORST,1); do_not_continue; } } break; default: break; } @ EndTrap EndObject = ButtonUp Object = beer Name = "beer" Location = IN_ROOM:MuirBakery@TheNewWorld Desc0 = "A bottle of the finest beer has been left here." OFlags = Booze BaseValue = 30 Size = 2 EndObject = beer Object = ButtonDown Name = "button" Altname = "Down" Location = IN_ROOM:Elevator@TheNewWorld OFlags = NoGet Desc0 = "Besides the up button you can see a button marked 'down'." Trap = all @ AT_REC *p; switch (event){ case E_ONPUSH: p = find_AT(ELE_LOC); if (p == NULL) break; if (p->state == Moving) { bprintf("It won't respond.\n"); do_not_continue; break; } if (state(ELEVATORST) == 2) { bprintf("You're already at the bottem floor.\n"); do_not_continue; } else { if (state(ELEVATORST) == 1) { replace_ports(ELE_LOC,tofloor3locs, tofloor3names); activate_AT(ELE_LOC); setobjstate(ELEVATORST,2); do_not_continue; } else { replace_ports(ELE_LOC,tofloor2locs, tofloor2names); activate_AT(ELE_LOC); setobjstate(ELEVATORST,1); do_not_continue; } } break; default: break; } @ EndTrap EndObject = Buttondown Object = Cupboard Location = IN_ROOM:Cabin@TheNewWorld OFlags = NoGet Examine = " A small cupboard with some plates and cups, nothing of interest." EndObject = Cupboard Object = DisplayCounter Name = "Counter" OFlags = Container, NoGet Location = IN_ROOM:MuirBakery@TheNewWorld State = 0 MaxState = 0 Desc0 = "A large display counter covers most of the space." Examine = " A large display counter with various types of bread that are sold here." EndObject = DisplayCounter Object = Fire Location = IN_ROOM:Cabin@TheNewWorld OFlags = NoGet, Lit Examine = " A nice warm fire." EndObject = Fire Object = flowers OFlags = Food, GetFlips, NoMobGet State = 1 Maxstate = 1 BaseValue = 10 Desc0 = "A small bouquet of flowers has been left here." Desc1 = "Some nice smelling flowers grow on the side of the path." Examine = " A nicely organised group of flowers." Location = IN_ROOM:MuirVilroad1@TheNewWorld EndObject = flowers Object = Grave Location = IN_ROOM:BeforeLogCabin@TheNewWorld OFlags = NoGet Examine = " At the head end of the grave a small wooden plank is fastened on a small wooden stick. The grave is nameless." EndObject = Grave Object = HarborSign Name = "sign" Location = IN_ROOM:HarborEntrance@TheNewWorld OFlags = NoGet Trap = all @ if (event == E_ONEXAMINE) { time_t t; /* Print header */ bprintf("*-----------------------------------------------*\n" "| ISLAND FERRY SERVICES |\n" "| Your daily ticket to the rest of the world! |\n" "| |\n" "| Boat Arrival time Destination |\n" "| --------------------------------------------- |\n"); /* Request time */ t = time_to_port(LOC_THENEWWORLD_PIER1,LOC_THENEWWORLD_GODENDOTTIR); /* -1 means the at is stranded */ if (t == -1) bprintf("| GodenDottir - Cancelled - |\n"); /* -2 means the at is boarding at the requested location*/ else if (t < -1) bprintf("| GodenDottir Boarding Village Jetty |\n"); else bprintf("| GodenDottir in %-2ld minute(s) Village Jetty |\n", (t / 30)); bprintf("*-----------------------------------------------*\n"); do_not_continue; } @ EndTrap EndObject = HarborSign Object = InnSign Name = "sign" Location = IN_ROOM:Mansion@TheNewWorld OFlags = NoGet Desc0 = "A large sign has been placed on the front door of the mansion." Examine = " Federation of Islands: DO NOT ENTER THIS BUILDING!! Due to a heavy storm this building has been declared unsafe for occupation. Please do not enter. " EndObject = InnSign Object = JettySign Name = "sign" Location = IN_ROOM:Jetty@village OFlags = NoGet Desc0 = "A sign stands here with the departure times of the ferry." Trap = all @ if (event == E_ONEXAMINE) { time_t t; /* Print header */ bprintf("*-----------------------------------------------*\n" "| ISLAND FERRY SERVICES |\n" "| Your daily ticket to the rest of the world! |\n" "| |\n" "| Boat Arrival time Destination |\n" "| --------------------------------------------- |\n"); /* Request time */ t = time_to_port(LOC_VILLAGE_JETTY,LOC_THENEWWORLD_GODENDOTTIR); /* -1 means the at is stranded */ if (t == -1) bprintf("| GodenDottir - Cancelled - |\n"); /* -2 means the at is boarding at the requested location*/ else if (t < -1) bprintf("| GodenDottir Boarding Malau Island |\n"); else bprintf("| GodenDottir in %-2ld minute(s) Malau Island |\n", (t / 30)); bprintf("*-----------------------------------------------*\n"); do_not_continue; } @ EndTrap EndObject = jettySign Object = stone Location = IN_ROOM:Entrypoint@start Altname = "Woodpile" OFlags = NoGet State = 0 Maxstate = 2 Desc1 = "A large woodpile has been placed on the stone." Desc2 = "A large fire burns in the woodpile on the stone." EndObject = stone Object = TIGBook Name = "Book" Altname = "Guide" Location = IN_ROOM:MuirBakery@TheNewWorld OFlags = NoGet State = 0 Maxstate = 0 Desc0 = "A thick book rests on a reading desk in the Tourist Information Centre." Examine = " THE HISTORY OF MUIR & MALAU The history of Muir dates back to the old days that Darkness ruled the world. In those times Satan used this place as a sanctuary for his loyal servents. Because of this, the island has never been very populair with many humans. At the end of the Age of Satan, the best magicians and warriors were able to capture Satan and exiled him to the Moon. This was done by a secret ritual in which magic was used to hold Satan in control. It is said that The actual ceremony that transported The spirit of Satan to the moon, was done at the stone circles at the top of the hill, that is the centre of this island. The myth also tells that the spirit of Satan still influences people who are continuously in a drunken state. It also says that the magicians made sure that people could travel to the moon when the spirit would gain control again, to slay it once more. " EndObject = TIGBook /* Remeber on which floor we are. */ Object = ElevatorState Location = IN_ROOM:Elevator@TheNewWorld OFlags = NoGet State = 3 Maxstate = 3 EndObject = ElevatorState /************************************************* ** Begin Doors section *************************************************/ Object = CabinInDoor Name = "door" Location = IN_ROOM:Cabin@TheNewWorld OFlags = NoGet, Openable Linked = CabinOutDoor State = 1 Maxstate = 1 Desc0 = "The cabin door is open." Desc1 = "The cabin door is closed." EndObject = CabinInDoor Object = CabinOutDoor Name = "door" Location = IN_ROOM:BeforeLogCabin@TheNewWorld OFlags = NoGet, Openable Linked = CabinInDoor State = 1 Maxstate = 1 Desc0 = "The door outside is open." Desc1 = "The door outside is closed." EndObject = CabinOutDoor Object = PlanksStable Name = "planks" Location = IN_ROOM:Stable@TheNewWorld Linked = PlanksPassage OFlags = NoGet State = 1 MaxState = 1 Desc0 = "Some planks have been moved aside showing a passage down." Examine = " Some loosely secured planks. Its too dark to see whats beneath it." Trap = all @ switch (event) { case E_ONPUSH: if (state(OBJ_THENEWWORLD_PLANKSSTABLE) != 0) { bprintf("You shift the planks aside and reveal a secret exit.\n"); if (alive(MOB_THENEWWORLD_BARTENDER+max_players) != -1) { bprintf("Michail nods at you in agreement.\n"); } setobjstate(param_s.ob,0); do_not_continue; } else { bprintf("You place the planks over the secret exit.\n"); setobjstate(param_s.ob,1); do_not_continue; } break; default: break; } @ EndTrap EndObject = PlanksStable Object = PlanksPassage Name = "Planks" Location = IN_ROOM:Passage@TheNewWorld Linked = PlanksStable OFlags = NoGet, PushToggle State = 1 MaxState = 1 Desc0 = "The planks have been moved aside showing an exit out." Desc1 = "The planks have been placed over the exit." EndObject = PlanksPassage /**************************************************************************** ** MANAU ISLAND ****************************************************************************/ Location = "SteepPath" East = ForestEdge@TheNewWorld Up = entrypoint@start LFlags = Outdoors, RealTime Title = "&+WSteep Path&*" Desc = ^ You are on a small rocky path leading down the side of the hill. It winds its way down the hillside towards the eastern part of the island, where it disappears in a small forest. ^ EndLocation = "SteepPath" Location = "ForestEdge" North = NorthPath1@TheNewWorld East = InForest@TheNewWorld West = SteepPath@TheNewWorld LFlags = Outdoors, RealTime Title = "&+WForest Edge&*" Desc = ^ You are standing at the edge of the forest. To the west a path leads up to the hilltop. The large boulders on the top of the hill are clearly visible from this point. You also notice a small narrow path that leads to the north following the forest edge. ^ EndLocation = "ForestEdge" Location = "InForest" West = ForestEdge@TheNewWorld East = InForest2@TheNewWorld LFlags = Outdoors, RealTime Title = "&+WIn The Forest&*" Desc = ^ You are strolling through the small forest that covers tha eastern part of the island. The nature is full of life. You can hear various birds singing, and see some wildlife you have never seen this close up. The path you follow continues in the east-west direction. To the south west you can see a lumber yard. ^ EndLocation = "InForest" Location = "InForest2" West = InForest@TheNewWorld East = BeforeLogCabin@TheNewWorld LFlags = Outdoors, RealTime Title = "&+WIn The Forest&*" Desc = ^ You are still in the forest. From here you can hear the waves crash onto the island shore. To the east you can see a small smoke plume reaching through the tree tops. The path continues to the east and west from here. ^ EndLocation = "InForest2" Location = "BeforeLogCabin" West = InForest2@TheNewWorld North = ^CabinOutDoor@TheNewWorld East = Shore@TheNewWorld LFlags = Outdoors, RealTime Title = "&+WBefore the LogCabin&*" Desc = ^ You are standing before a small log cabin. A few feet to the east you can see the sea shore through the trees. A well filled woodrack stands near the entrance of the cabin. A small porch gives protection against rain and wind. You can see a small smoke plume coming out of the chimney. The cabin looks out over a small grassfield. At the edge of the grassfield you can see a small grave. ^ EndLocation = "BeforeLogCabin" Location = "Cabin" South = ^CabinInDoor@TheNewWorld Title = "&+WInside The Log Cabin&*" Desc = ^ You are standing inside the log cabin. The cabin looks cosy and feels warm. A small fireplace provides some light and warmth that fills the whole cabin. On the right side of the cabin is a small cooking stove and some cupboards. In the middle of the room stands a table with a couple of chairs, while to the right you can see a nice large bed. ^ EndLocation = "Cabin" Location = "Shore" West = BeforeLogCabin@TheNewWorld LFlags = Outdoors Title = "&+WThe Rocky Shore&*" Desc = ^ You are standing on the rocky shore on the eastern side of the island. To the west you can see a small log cabin between the trees. Sharp edged rocks block your way north and south of here. The waves crash onto the shore with great force. ^ EndLocation = "Shore" Location = "NorthPath1" South = ForestEdge@TheNewWorld North = NorthPath2@TheNewWorld LFlags = Outdoors, RealTime Title = "&+WFollowing the Forest Edge&*" Desc = ^ You are following a path at the forest edge towards the north. The path stays at the bottom of the hill. Although the path is vague you can still make out that the path continues to the north. ^ EndLocation = "NorthPath1" Location = "NorthPath2" South = NorthPath1@TheNewWorld North = NorthPath3@TheNewWorld LFlags = Outdoors, RealTime Title = "&+WOn the Path&*" Desc = ^ You are on a vague path that continues to the north and south of here. On the west side a large meadow covers this side of the hill on the middle of the island. At the top you can see some large boulders. Further to the south you can see that the path approaches the edge of a dense forest. To the north you can the path becomes clearer and you can make out a small crossing further to the north. ^ EndLocation = "NorthPath2" Location = "NorthPath3" South = NorthPath2@TheNewWorld North = MuirVilRoad1@TheNewWorld West = WestPath1@TheNewWorld LFlags = Outdoors, RealTime Title = "&+WOn a path&*" Desc = ^ You keep following the path until you reach the crossing. To the west a well maintained path leads towards the western end of the island. To the north you can see the entrance of a harbor. A vague path continues to the south of here. ^ EndLocation = "NorthPath3" Location = "WestPath1" East = NorthPath3@TheNewWorld West = WestPath2@TheNewWorld LFlags = Outdoors, Realtime Title = "&+WOn a path&*" Desc = ^ You are on a path that curves along the hill towards the western side of the island. To the northeast you can see the harbor. The path is surrounded by a large meadow and it continues to the east and west. ^ EndLocation = "WestPath1" Location = "WestPath2" East = WestPath1@TheNewWorld West = WestPath3@TheNewWorld South = Lake@TheNewWorld LFlags = Outdoors, RealTime Title = "&+WOn a path&*" Desc = ^ You keep on following the path until you reach a small lake in a depression on the side of the hill. A small path leads to the edge of the lake that is surrounded by small trees and various other vegetation. ^ EndLocation = "WestPath2" Location = "Lake" North = WestPath2@TheNewWorld LFlags = Outdoors, RealTime Title = "&+WAt the edge of the lake&*" Desc = ^ You are standing at the edge of the shallow lake. It must have been filled by one of the last rains, since you can't find any other natural source around here. The water is cool and refreshing. ^ EndLocation = "Lake" Location = "Westpath3" West = Mansion@TheNewWorld East = WestPath2@TheNewWorld LFlags = Outdoors, RealTime Title = "&+WOn a path&*" Desc = ^ You are on a well maintained path that leads towards the western part of the island. To the west you can see an old mansion, while to the east you can see a small lake and meadows for as far as you can see. Behind the lake you can see the steep hillside of the hill that lies in the middle of the island. A brisk sea wind brings in some cold air. ^ EndLocation = "Westpath3" Location = "Mansion" East = WestPath3@TheNewWorld South = Stable@TheNewWorld LFlags = OutDoors, RealTime Title = "&+WEntrance of Manau Inn&*" Desc = ^ You are at the entrance of what used to be the Manau Inn. Half of the building has collapsed and the other half is barely standing up. The porch of the building is still standing though, and so is the stable at the side of the house. ^ EndLocation = "Mansion" Location = "Stable" North = Mansion@TheNewWorld Down = ^PlanksStable@TheNewWorld Title = "&+WThe Manau Island Stable&*" Desc = ^ You are in the stable of the Manau Inn. It seems the Inn has moved to the stable after the storm struck. A small bar has been made of some wood and barrels. Some of the stables have been converted to provide an improvised sleeping room for the paying guests. The floor of the tap-room has been covered by wooden planks to beautify the room. Although its all very primitive it still has a nice ambience. ^ EndLocation = "Stable" Location = "Passage" Up = ^PlanksPassage@TheNewWorld North = Elevator1@TheNewWorld LFlags = Dark Title = "&+WA Secret Passage&*" Desc = ^ You are standing in a secret passage that leads up into the Manau Inn Stable, and leads north into a large underground cavern. Small steps have been cut out of the rocks to make the descent a little easier for older people. ^ EndLocation = "Passage" Location = "Elevator1" South = Passage@TheNewWorld Title = "&+WThe Cavern&*" Desc = ^ You are standing in a rather large cavern. The walls of the cave are hard and moist. Small puddles of water lie here and there on the ground. The whole place is lit by a few small torches high upon the walls. One torch hangs a bit lower and seems to light a door or something. A Small path to the south has been worn out by people walking. ^ EndLocation = "Elevator1" Location = "Elevator2" South = Passage@TheNewWorld Title = "&+WThe Cavern 2&*" Desc = ^ You are standing in a rather large cavern. The walls of the cave are hard and moist. Small puddles of water lie here and there on the ground. The whole place is lit by a few small torches high upon the walls. One torch hangs a bit lower and seems to light a door or something. A Small path to the south has been worn out by people walking. ^ EndLocation = "Elevator2" Location = "Elevator3" South = Passage@TheNewWorld Title = "&+WThe Cavern 3&*" Desc = ^ You are standing in a rather large cavern. The walls of the cave are hard and moist. Small puddles of water lie here and there on the ground. The whole place is lit by a few small torches high upon the walls. One torch hangs a bit lower and seems to light a door or something. A Small path to the south has been worn out by people walking. ^ EndLocation = "Elevator3" Location = "Elevator" Trap = all @ switch (event) { case E_ONINIT: (void)register_AT(LOC_THENEWWORLD_ELEVATOR,tofloor3locs,0,2, LOC_THENEWWORLD_ELEVATOR3,5,"Elevator", tofloor3names,Stranded); (void)set_AT_messages(LOC_THENEWWORLD_ELEVATOR, "The Elevator keeps on moving in a steady pace.\n", NULL, "The doors open as the elevator stops moving.\n", "The doors open.\n", "The doors close and the elevator starts to move.\n", "The doors close.\n", NULL, NULL, 10); setobjstate(OBJ_THENEWWORLD_ELEVATORSTATE,1); break; default: break; } @ EndTrap Title = "&+WInside the Elevator&*" Desc = ^ You are inside an elevator. The floor of the elevator is furnished with a soft red carpet. The ceilings are made of the best type of wood you have ever seen. ^ EndLocation = "Elevator" /*************************************************************************** ** Ship's piers. ** Pier1: Pier where the ship to the main island lands.. ** Pier2: Pier where the ship to the other islands stops. ***************************************************************************/ Location = "HarborEntrance" West = Pier1@TheNewWorld East = Pier2@TheNewWorld South = Guardpost@TheNewWorld LFlags = NoMobiles Title = "&+WThe Harbor&*" Desc = ^ You are at the entrance of the main harbor of this island. There are two large piers here where the ferries to the other islands stop. On the western pier lands The Godendottir, to the eastern pier lands The Stormer. A sign shows the departure times of both ships. ^ EndLocation = "HarborEntrance" Location = "Pier1" East = HarborEntrance@TheNewWorld Title = "&+WWestern Pier&*" Desc = ^ You are standing on the most western pier. The pier is about 100 feet long and is made of wood and rocks. The pier is also meant to break big waves when storms set in. To the east you can see the eastern pier. ^ EndLocation = "Pier1" Location = "Pier2" West = HarborEntrance@TheNewWorld Title = "&+WEastern Pier&*" Desc = ^ You are standing on the eastern pier. This is the landing place of the Stormer which provides a regular transport between this island and the island Muir. The pier is not as long as the western pier, but still reaches far into the sea. ^ EndLocation = "Pier2" /* The Ships, Exits are attached at regular intervals by the code */ Location = "GodenDottir" North = GodenCabin@TheNewWorld LFlags = Outdoors Title = "&+WOn the Godendottir&*" Desc = ^ You are on board of the Godendottir. Its a fairly large ship, with a spacey cabin, which allows shelter in when there is rain. The large two masts allow this ship to go faster than most known ships. ^ EndLocation = "GodenDottir" Location = "GodenCabin" South = Godendottir@TheNewWorld Trap = all @ int i; static int locs[] = { LOC_THENEWWORLD_PIER1, LOC_VILLAGE_JETTY, -1}; static char *names[] = {"Malau Pier","Village Jetty", ""}; switch (event) { case E_ONINIT: i = register_AT(LOC_THENEWWORLD_GODENDOTTIR, locs, 5,4,LOC_THENEWWORLD_PIER1,60,"Godendottir", names, Moving); break; default: break; } @ EndTrap LFlags = NoMobiles Title = "&+WThe Godendottir Cabin&*" Desc = ^ You are inside the cabin of The Godendottir. Some banks and table has been placed here to provide some resting place for the older and tired travellers. Large windows allow you to look outside at the sea. An exit leads south onto the deck of the ship. ^ EndLocation = "GodenCabin" Location = "DesertRose" Trap = all @ int i; static int locs[] = { LOC_THENEWWORLD_PIER2, LOC_THENEWWORLD_FAREHOTELPIER, -1}; static char *names[] = {"Muir Harbor","Hotel Fare", ""}; switch (event) { case E_ONINIT: i = register_AT(LOC_THENEWWORLD_DESERTROSE, locs, EX_DOWN,EX_UP,LOC_THENEWWORLD_PIER2,10,"Desert Rose", names, Moving); (void)set_AT_messages(LOC_THENEWWORLD_DESERTROSE, "The Desert Rose moves swiftly over the water.\n", "The picolo says &+C'Everyone for %s hop on now'&*\n", "The %s is quickly secured to the pier of %s\n", "The %s arives at the %s.\n", "The %s quickly moves away from the pier.\n", "The %s quickly moves out of sight.\n", NULL, NULL, 20); break; default: break; } @ EndTrap LFlags = NoMobiles Title = "&+WOn The Desert Rose&*" Desc = ^ You are on board of the Desert Rose. It is a small dingy that transports people from the Island of Muir to the Hotel Fare, which lies on a small island just of the coast of Muir. ^ EndLocation = "DesertRose" /***************************************************************************** ** MUIR ISLAND *****************************************************************************/ Location = "FareHotelPier" LFlags = Outdoors, Realtime Title = "&+WIn front of Hotel Fare&*" Desc = ^ You are standing on the pier of the Hotel Fare. The hotel is situated on a small island a couple of miles off the coast of Malau. It is seen as a tourist attrection and most of the time it is quite a busy place. You can see the Island of Malau at the horizon. ^ EndLocation = "FareHotelPier" Location = "MuirVilRoad1" South = NorthPath3@TheNewWorld North = MuirVilRoad2@TheNewWorld LFlags = OutDoors, Realtime Title = "&+WThe Village Road&*" Desc = ^ You are on the village road that leads to the village to the north and to the Malau Harbor. While walking you pass various small buildings and farms, that are scattered across the countryside. A winding path leads east into the mountains. The fresh ocean wind makes this quite a pleasant place to take a walk and see some wildlife. ^ EndLocation = "MuirVilRoad1" Location = "MuirVilRoad2" South = MuirVilRoad1@TheNewWorld West = MuirBakery@TheNewWorld North = GuardPost@TheNewWorld LFlags = OutDoors, Realtime Title = "&+WThe Village of Muir&*" Desc = ^ You are at the edge of the village. To the south the village passes through some agricultural ground until it disappears into the thick forests of the inlands of Malau Island. To the west of here the baker has a small shop which also serves as Tourist Information Centre. ^ EndLocation = "MuirVilRoad2" Location = "MuirBakery" East = MuirVilRoad2@TheNewWorld LFlags = Outdoors, RealTime Title = "&+WInside the Bakery&*" Desc = ^ You are inside the Bakershop of the Village. The smell of freshly baked bread fills the room, making you hungry. At the left side of the shop a small section has been freed to serve as Tourist Information Centre. ^ EndLocation = "MuirBakery" Location = "GuardPost" North = HarborEntrance@TheNewWorld South = MuirVilRoad2@TheNewWorld LFlags = Outdoors, RealTime Title = "&+WThe National Guard Post&*" Desc = ^ You have arrived at the back end of the village. The National Guard has put up a GuardPost to protect the village against the pirates and to discourage transports of illegal goods. A Path leads east away from the seashore into the thick wilderness of the forest. ^ EndLocation = "GuardPost"