require("Wherigo") ZonePoint = Wherigo.ZonePoint Distance = Wherigo.Distance Player = Wherigo.Player cartTheOmbosIdol01 = Wherigo.ZCartridge() cartTheOmbosIdol01.MsgBoxCBFuncs = {} zmediaLetterfromProfessor = Wherigo.ZMedia(cartTheOmbosIdol01) zmediaLetterfromProfessor.Name = "Letter from Professor" zmediaLetterfromProfessor.Description = "" zmediaLetterfromProfessor.AltText = "" zmediaLetterfromProfessor.Id = "3916a052-7cdd-4729-8dd4-cee63f63af5d" zmediaLetterfromProfessor.Resources = { { Type = "jpg", Filename = "Letter.jpg", Directives = {} } } zmediaTitlePlate1 = Wherigo.ZMedia(cartTheOmbosIdol01) zmediaTitlePlate1.Name = "Title Plate 1" zmediaTitlePlate1.Description = "" zmediaTitlePlate1.AltText = "" zmediaTitlePlate1.Id = "8c0a181b-c145-4c2a-ae6f-2377a6fb1e33" zmediaTitlePlate1.Resources = { { Type = "jpg", Filename = "Title Plate 1.jpg", Directives = {} } } zmediaTitlePlate2 = Wherigo.ZMedia(cartTheOmbosIdol01) zmediaTitlePlate2.Name = "Title Plate 2" zmediaTitlePlate2.Description = "" zmediaTitlePlate2.AltText = "" zmediaTitlePlate2.Id = "b0c05936-3028-4f35-9fee-eb582fee25cd" zmediaTitlePlate2.Resources = { { Type = "jpg", Filename = "Title Plate 2.jpg", Directives = {} } } zmediaTitlePlate3 = Wherigo.ZMedia(cartTheOmbosIdol01) zmediaTitlePlate3.Name = "Title Plate 3" zmediaTitlePlate3.Description = "" zmediaTitlePlate3.AltText = "" zmediaTitlePlate3.Id = "45d5e731-7f06-4d14-8e5e-d7d48fba27f9" zmediaTitlePlate3.Resources = { { Type = "jpg", Filename = "Title Plate 3.jpg", Directives = {} } } zmediaTitlePlate4 = Wherigo.ZMedia(cartTheOmbosIdol01) zmediaTitlePlate4.Name = "Title Plate 4" zmediaTitlePlate4.Description = "" zmediaTitlePlate4.AltText = "" zmediaTitlePlate4.Id = "00505e4b-efbb-4e2d-8cc7-44303579df1e" zmediaTitlePlate4.Resources = { { Type = "jpg", Filename = "Title Plate 4.jpg", Directives = {} } } zmediaTitlePlate5 = Wherigo.ZMedia(cartTheOmbosIdol01) zmediaTitlePlate5.Name = "Title Plate 5" zmediaTitlePlate5.Description = "" zmediaTitlePlate5.AltText = "" zmediaTitlePlate5.Id = "a7da5782-e3c0-40e1-ad6d-aee402ca664e" zmediaTitlePlate5.Resources = { { Type = "jpg", Filename = "Title Plate 5.jpg", Directives = {} } } zmediaTitlePlate6 = Wherigo.ZMedia(cartTheOmbosIdol01) zmediaTitlePlate6.Name = "Title Plate 6" zmediaTitlePlate6.Description = "" zmediaTitlePlate6.AltText = "" zmediaTitlePlate6.Id = "eb8cbf3c-f415-43c7-8388-5a1b17104169" zmediaTitlePlate6.Resources = { { Type = "jpg", Filename = "Title Plate 6.jpg", Directives = {} } } zmediaTitlePlate7 = Wherigo.ZMedia(cartTheOmbosIdol01) zmediaTitlePlate7.Name = "Title Plate 7" zmediaTitlePlate7.Description = "" zmediaTitlePlate7.AltText = "" zmediaTitlePlate7.Id = "b83778ab-ff6c-4479-a762-bf02c718347c" zmediaTitlePlate7.Resources = { { Type = "jpg", Filename = "Title Plate 7.jpg", Directives = {} } } zmediaTrainStation = Wherigo.ZMedia(cartTheOmbosIdol01) zmediaTrainStation.Name = "Train Station" zmediaTrainStation.Description = "" zmediaTrainStation.AltText = "" zmediaTrainStation.Id = "00e102c3-0b58-42b6-9f21-3491419dd1aa" zmediaTrainStation.Resources = { { Type = "jpg", Filename = "Train Station.jpg", Directives = {} } } zmediaPersonIcon = Wherigo.ZMedia(cartTheOmbosIdol01) zmediaPersonIcon.Name = "Person Icon" zmediaPersonIcon.Description = "" zmediaPersonIcon.AltText = "" zmediaPersonIcon.Id = "fcb5197e-ed6a-42b4-9b9b-171d17c5c5e7" zmediaPersonIcon.Resources = { { Type = "jpg", Filename = "icon_person.jpg", Directives = {} } } zmediaIconUsableObject = Wherigo.ZMedia(cartTheOmbosIdol01) zmediaIconUsableObject.Name = "Icon Usable Object" zmediaIconUsableObject.Description = "" zmediaIconUsableObject.AltText = "" zmediaIconUsableObject.Id = "81f03d42-303d-4187-8b86-7b4797edef87" zmediaIconUsableObject.Resources = { { Type = "jpg", Filename = "icon_object_usable.jpg", Directives = {} } } zmediaIconLocation = Wherigo.ZMedia(cartTheOmbosIdol01) zmediaIconLocation.Name = "Icon Location" zmediaIconLocation.Description = "" zmediaIconLocation.AltText = "" zmediaIconLocation.Id = "db8ca520-bb28-44be-97bb-78a1d171b3ae" zmediaIconLocation.Resources = { { Type = "jpg", Filename = "icon_location.jpg", Directives = {} } } zmediaIconExaminableObject = Wherigo.ZMedia(cartTheOmbosIdol01) zmediaIconExaminableObject.Name = "Icon Examinable Object" zmediaIconExaminableObject.Description = "" zmediaIconExaminableObject.AltText = "" zmediaIconExaminableObject.Id = "6473f8ac-69e6-4ea7-b11e-bbf6e8f356c3" zmediaIconExaminableObject.Resources = { { Type = "jpg", Filename = "icon_object_examinable.jpg", Directives = {} } } zmediaTelegram = Wherigo.ZMedia(cartTheOmbosIdol01) zmediaTelegram.Name = "Telegram" zmediaTelegram.Description = "" zmediaTelegram.AltText = "" zmediaTelegram.Id = "97307f1f-d95f-4601-833b-1b1aa8f1755c" zmediaTelegram.Resources = { { Type = "jpg", Filename = "Telegram.jpg", Directives = {} } } zmediaBookPage1 = Wherigo.ZMedia(cartTheOmbosIdol01) zmediaBookPage1.Name = "Book Page 1" zmediaBookPage1.Description = "" zmediaBookPage1.AltText = "" zmediaBookPage1.Id = "667b4324-6c22-4761-b416-3c81d1f58d54" zmediaBookPage1.Resources = { { Type = "jpg", Filename = "Briefing Paper.jpg", Directives = {} } } zmediaBookPage2 = Wherigo.ZMedia(cartTheOmbosIdol01) zmediaBookPage2.Name = "Book Page 2" zmediaBookPage2.Description = "" zmediaBookPage2.AltText = "" zmediaBookPage2.Id = "7563ff09-bdf8-4ede-91fb-bc8c6e2d6928" zmediaBookPage2.Resources = { { Type = "jpg", Filename = "Code.jpg", Directives = {} } } zmediaTobecontinued = Wherigo.ZMedia(cartTheOmbosIdol01) zmediaTobecontinued.Name = "To be continued" zmediaTobecontinued.Description = "" zmediaTobecontinued.AltText = "" zmediaTobecontinued.Id = "c4c7b420-bae7-42bf-a68e-ce3e1aea6d54" zmediaTobecontinued.Resources = { { Type = "jpg", Filename = "To Be Continued.jpg", Directives = {} } } zmediaBarrysNote = Wherigo.ZMedia(cartTheOmbosIdol01) zmediaBarrysNote.Name = "BarrysNote" zmediaBarrysNote.Description = "" zmediaBarrysNote.AltText = "" zmediaBarrysNote.Id = "6678e4a7-f10c-4f1f-b9af-bb6321816556" zmediaBarrysNote.Resources = { { Type = "jpg", Filename = "Note from Mysterious Barry.jpg", Directives = {} } } cartTheOmbosIdol01.Id = "0c1e0006-effa-4bb6-b901-092c7caee852" cartTheOmbosIdol01.Name = "The Ombos Idol - Chapter One" cartTheOmbosIdol01.Description = [[ Jack Robinson arrives in Manchester to take up an exciting new post as research assistant to the eminent ancient historian Professor Ignatius Crimp. His exciting new life in a brand new city quickly sours, however, with the arrival of the an Egyptian Idol - with unexpected and murderous consequences.

A multi-cartridge interactive fiction, set in 1930s Manchester - with each stage featuring at least one Geocache. Can you complete them all, and solve the mystery of the Ombos Idol?

This instalment features a plotline geocache (GC1EMGM) and a bonus subplot cache (GC1EMGK).

Update 1.3: Telegram puzzle replaced with easier version.]] cartTheOmbosIdol01.Visible = true cartTheOmbosIdol01.Activity = "Fiction" cartTheOmbosIdol01.StartingLocationDescription = "Begins at Manchester Picadilly Station." cartTheOmbosIdol01.StartingLocation = ZonePoint(53.4779, -2.2316, 0) cartTheOmbosIdol01.Version = "1.3" cartTheOmbosIdol01.Company = "" cartTheOmbosIdol01.Author = "Mark Peace" cartTheOmbosIdol01.BuilderVersion = "2.0.5129.5086" cartTheOmbosIdol01.CreateDate = "7/27/2008 6:14:46 PM" cartTheOmbosIdol01.PublishDate = "7/30/2008 2:22:39 PM" cartTheOmbosIdol01.UpdateDate = "7/30/2008 12:23:36 PM" cartTheOmbosIdol01.LastPlayedDate = "1/1/0001 12:00:00 AM" cartTheOmbosIdol01.TargetDevice = "PocketPC" cartTheOmbosIdol01.TargetDeviceVersion = "0" cartTheOmbosIdol01.StateId = "1" cartTheOmbosIdol01.CountryId = "2" cartTheOmbosIdol01.Complete = false cartTheOmbosIdol01.UseLogging = true cartTheOmbosIdol01.Icon = zmediaIconExaminableObject zoneLondonRoadStation = Wherigo.Zone(cartTheOmbosIdol01) zoneLondonRoadStation.Id = "69b14a77-f9a8-41d6-a3c7-4216a70f1fc2" zoneLondonRoadStation.Name = "London Road Station" zoneLondonRoadStation.Description = "A marvel of Victorian engineering, this station is Manchester's hub for travellers in and out of the city. You find the hubbub of human traffic, and the anonymity of the crowd, vaguely comforting." zoneLondonRoadStation.Visible = true zoneLondonRoadStation.DistanceRange = Distance(1500, "feet") zoneLondonRoadStation.ShowObjects = "OnEnter" zoneLondonRoadStation.ProximityRange = Distance(200, "feet") zoneLondonRoadStation.AllowSetPositionTo = false zoneLondonRoadStation.Active = true zoneLondonRoadStation.Points = { ZonePoint(53.4781067718781, -2.23155498504639, 0), ZonePoint(53.477934375146, -2.2321343421936, 0), ZonePoint(53.4770883439934, -2.23162472248077, 0), ZonePoint(53.4777029154692, -2.23079323768616, 0) } zoneLondonRoadStation.OriginalPoint = ZonePoint(53.479301, -2.22843, 0) zoneLondonRoadStation.DistanceRangeUOM = "Feet" zoneLondonRoadStation.ProximityRangeUOM = "Feet" zoneLondonRoadStation.OutOfRangeName = "" zoneLondonRoadStation.InRangeName = "" zoneLondonRoadStation.Icon = zmediaIconLocation zoneVagrantsQuandarySpot1 = Wherigo.Zone(cartTheOmbosIdol01) zoneVagrantsQuandarySpot1.Id = "b14da035-21f3-411e-b0ab-4b9c60e7ce4d" zoneVagrantsQuandarySpot1.Name = "Vagrants Quandary - Spot 1" zoneVagrantsQuandarySpot1.Description = "Eric 'The Enigma' Jones would like you to move his belongings out of this area." zoneVagrantsQuandarySpot1.Visible = false zoneVagrantsQuandarySpot1.DistanceRange = Distance(1500, "feet") zoneVagrantsQuandarySpot1.ShowObjects = "OnEnter" zoneVagrantsQuandarySpot1.ProximityRange = Distance(1, "feet") zoneVagrantsQuandarySpot1.AllowSetPositionTo = false zoneVagrantsQuandarySpot1.Active = false zoneVagrantsQuandarySpot1.Points = { ZonePoint(53.478028554929, -2.23189294338226, 0), ZonePoint(53.4779056422893, -2.2323140501976, 0), ZonePoint(53.4782552240582, -2.23251521587372, 0), ZonePoint(53.4784148494788, -2.23203778266907, 0) } zoneVagrantsQuandarySpot1.OriginalPoint = ZonePoint(53.479301, -2.22843, 0) zoneVagrantsQuandarySpot1.DistanceRangeUOM = "Feet" zoneVagrantsQuandarySpot1.ProximityRangeUOM = "Feet" zoneVagrantsQuandarySpot1.OutOfRangeName = "" zoneVagrantsQuandarySpot1.InRangeName = "" zoneVagrantsQuandarySpot1.Icon = zmediaIconLocation zoneVagrantsQuandarySpot2 = Wherigo.Zone(cartTheOmbosIdol01) zoneVagrantsQuandarySpot2.Id = "2b20a01c-0964-40a0-80f8-4ccb54a1de4c" zoneVagrantsQuandarySpot2.Name = "Vagrants Quandary - Spot 2" zoneVagrantsQuandarySpot2.Description = "Eric 'The Enigma' Jones would like you to move his belongings in to this area." zoneVagrantsQuandarySpot2.Visible = false zoneVagrantsQuandarySpot2.DistanceRange = Distance(1500, "feet") zoneVagrantsQuandarySpot2.ShowObjects = "OnEnter" zoneVagrantsQuandarySpot2.ProximityRange = Distance(1, "feet") zoneVagrantsQuandarySpot2.AllowSetPositionTo = false zoneVagrantsQuandarySpot2.Active = false zoneVagrantsQuandarySpot2.Points = { ZonePoint(53.47837494318, -2.23266541957855, 0), ZonePoint(53.4779966296023, -2.23239451646805, 0), ZonePoint(53.4780093997359, -2.23313212394714, 0), ZonePoint(53.4783446143677, -2.23320454359055, 0) } zoneVagrantsQuandarySpot2.OriginalPoint = ZonePoint(53.479301, -2.22843, 0) zoneVagrantsQuandarySpot2.DistanceRangeUOM = "Feet" zoneVagrantsQuandarySpot2.ProximityRangeUOM = "Feet" zoneVagrantsQuandarySpot2.OutOfRangeName = "" zoneVagrantsQuandarySpot2.InRangeName = "" zoneVagrantsQuandarySpot2.Icon = zmediaIconLocation zoneHotelRoyale = Wherigo.Zone(cartTheOmbosIdol01) zoneHotelRoyale.Id = "dcd1e4e5-a6bb-4051-ad34-0c73fcb2e01b" zoneHotelRoyale.Name = "Hotel Royale" zoneHotelRoyale.Description = "The hotel's name is evocative of grandeur and luxury, of a smartly dressed concierge greeting you with a humble 'sir!'. It suggests glamorous guests sipping fashionable cocktails whilst discussing politics and art. The hotel's reality is one of lazy dilapidation, suggesting that it hasn't seen a lick of paint in at least ten years. The threadbare carpet leads up to a messy reception area." zoneHotelRoyale.Visible = false zoneHotelRoyale.DistanceRange = Distance(1500, "feet") zoneHotelRoyale.ShowObjects = "OnEnter" zoneHotelRoyale.ProximityRange = Distance(200, "feet") zoneHotelRoyale.AllowSetPositionTo = false zoneHotelRoyale.Active = false zoneHotelRoyale.Points = { ZonePoint(53.4787245210824, -2.23338961601257, 0), ZonePoint(53.4792991634304, -2.23366856575012, 0), ZonePoint(53.4794524000754, -2.23299264907837, 0), ZonePoint(53.4789416091063, -2.232745885849, 0) } zoneHotelRoyale.OriginalPoint = ZonePoint(53.479301, -2.22843, 0) zoneHotelRoyale.DistanceRangeUOM = "Feet" zoneHotelRoyale.ProximityRangeUOM = "Feet" zoneHotelRoyale.OutOfRangeName = "" zoneHotelRoyale.InRangeName = "" zoneHotelRoyale.Icon = zmediaIconLocation zoneCanalPort = Wherigo.Zone(cartTheOmbosIdol01) zoneCanalPort.Id = "bc5c7fe9-50b4-4802-ac54-a8e031c31a81" zoneCanalPort.Name = "Canal Port" zoneCanalPort.Description = "This dock on the Bridgewater canal serves as an important staging post for goods brought to and from the Ship Canal - Manchesters trade artery to the outside world. At the moment, the area is in chaotic disarray, with crates scattered across the footpaths, and an palpable underlying sense of panic." zoneCanalPort.Visible = false zoneCanalPort.DistanceRange = Distance(1500, "feet") zoneCanalPort.ShowObjects = "OnEnter" zoneCanalPort.ProximityRange = Distance(200, "feet") zoneCanalPort.AllowSetPositionTo = false zoneCanalPort.Active = false zoneCanalPort.Points = { ZonePoint(53.4818019593313, -2.23006367683411, 0), ZonePoint(53.4822297183466, -2.22947359085083, 0), ZonePoint(53.4818530352613, -2.22886204719543, 0), ZonePoint(53.4814125033425, -2.229323387146, 0) } zoneCanalPort.OriginalPoint = ZonePoint(53.479301, -2.22843, 0) zoneCanalPort.DistanceRangeUOM = "Feet" zoneCanalPort.ProximityRangeUOM = "Feet" zoneCanalPort.OutOfRangeName = "" zoneCanalPort.InRangeName = "" zoneCanalPort.Icon = zmediaIconLocation zcharacterEricTheEngimaJones = Wherigo.ZCharacter({Cartridge = cartTheOmbosIdol01, Container = zoneLondonRoadStation}) zcharacterEricTheEngimaJones.Id = "60a15927-abcb-42cf-acb9-3528548302ab" zcharacterEricTheEngimaJones.Name = "Eric 'The Engima' Jones" zcharacterEricTheEngimaJones.Description = "Many adverbs could appropriately applied to the local vagrant: malodorous, pestiferous, misanthropic - to name but three. Never one to miss an opportunity to eschew the obvious, Eric has opted for 'the enigma' - priding himself its implications of brooding mystique. He is currently picking at his toenails through a hole in a pair of boots which, in fact, are more hole than leather. He appears deep in troubled thought." zcharacterEricTheEngimaJones.Visible = true zcharacterEricTheEngimaJones.Icon = zmediaPersonIcon zcharacterEricTheEngimaJones.Gender = "Male" zcharacterEricTheEngimaJones.Type = "NPC" zcharacterEricTheEngimaJones.ObjectLocation = ZonePoint(53.4779370674621, -2.23207922189368, 360) zcharacterEricTheEngimaJones.Commands = { TalkTo = Wherigo.ZCommand({ Text = "Talk To", CmdWith = false, Enabled = true, EmptyTargetListText = "Nothing available" }) } zcharacterEricTheEngimaJones.Commands.TalkTo.Custom = true zcharacterEricTheEngimaJones.Commands.TalkTo.Id = "cee18503-1ac3-4bec-b8f8-de25d309f8a6" zcharacterEricTheEngimaJones.Commands.TalkTo.WorksWithAll = true zcharacterHotelReceptionist = Wherigo.ZCharacter({Cartridge = cartTheOmbosIdol01, Container = zoneHotelRoyale}) zcharacterHotelReceptionist.Id = "992e145f-f47c-4dbc-85cc-6ae544dd977f" zcharacterHotelReceptionist.Name = "Hotel Receptionist" zcharacterHotelReceptionist.Description = "The receptionist wears thick rimmed spectacles, and around an inch of make-up which suggest that said eyepieces do not feature in her morning ritual. She buzzes around the reception area with cloud of officious pomposity." zcharacterHotelReceptionist.Visible = true zcharacterHotelReceptionist.Icon = zmediaPersonIcon zcharacterHotelReceptionist.Gender = "Female" zcharacterHotelReceptionist.Type = "NPC" zcharacterHotelReceptionist.ObjectLocation = ZonePoint(53.4790483724528, -2.23327328535647, 360) zcharacterHotelReceptionist.Commands = { CheckIn = Wherigo.ZCommand({ Text = "Check In", CmdWith = false, Enabled = true, EmptyTargetListText = "Nothing available" }), CheckforMessages = Wherigo.ZCommand({ Text = "Check for Messages", CmdWith = false, Enabled = false, EmptyTargetListText = "Nothing available" }) } zcharacterHotelReceptionist.Commands.CheckIn.Custom = true zcharacterHotelReceptionist.Commands.CheckIn.Id = "b4ac0387-6d89-4e99-8dde-f3e6570eacc1" zcharacterHotelReceptionist.Commands.CheckIn.WorksWithAll = true zcharacterHotelReceptionist.Commands.CheckforMessages.Custom = true zcharacterHotelReceptionist.Commands.CheckforMessages.Id = "cca76c69-596d-4708-8f6b-9bea08105d42" zcharacterHotelReceptionist.Commands.CheckforMessages.WorksWithAll = true zcharacterMysteriousStranger = Wherigo.ZCharacter(cartTheOmbosIdol01) zcharacterMysteriousStranger.Id = "1e917060-63d3-46c5-8640-9fafaf4e618f" zcharacterMysteriousStranger.Name = "Mysterious Stranger" zcharacterMysteriousStranger.Description = [[ Wearing a long coat and carrying what looks like a hardcase for a double bass, the stranger poses a truly mysterious figure. As you watch him, he glaces nonchalently at you, lighting a cigarette.

Note: Whilst smoking was cool in the 1930s, it is certainly not now. It just causes long a painful death, and the need to huddle outside pubs in the rain.]] zcharacterMysteriousStranger.Visible = true zcharacterMysteriousStranger.Icon = zmediaPersonIcon zcharacterMysteriousStranger.Gender = "Male" zcharacterMysteriousStranger.Type = "NPC" zcharacterMysteriousStranger.ObjectLocation = Wherigo.INVALID_ZONEPOINT zcharacterMysteriousStranger.Commands = { SpeakTo = Wherigo.ZCommand({ Text = "Speak To", CmdWith = false, Enabled = true, EmptyTargetListText = "Nothing available" }) } zcharacterMysteriousStranger.Commands.SpeakTo.Custom = true zcharacterMysteriousStranger.Commands.SpeakTo.Id = "040e2545-a1e7-4beb-af9c-e4dae3e074af" zcharacterMysteriousStranger.Commands.SpeakTo.WorksWithAll = true zcharacterIgnatiusCrimp = Wherigo.ZCharacter({Cartridge = cartTheOmbosIdol01, Container = zoneLondonRoadStation}) zcharacterIgnatiusCrimp.Id = "61449a95-b520-4cab-9069-b89d49bf38ee" zcharacterIgnatiusCrimp.Name = "Ignatius Crimp" zcharacterIgnatiusCrimp.Description = [[ The professor is a short, excitable man with a shock of white hair. His green suit is threadbare and scuffed, with leather patches which, in turn, have been themseves patched.

His current level of agitation is extreme, even for him. He is holding what appears to be a heavy iron bar.]] zcharacterIgnatiusCrimp.Visible = true zcharacterIgnatiusCrimp.Icon = zmediaPersonIcon zcharacterIgnatiusCrimp.Gender = "Male" zcharacterIgnatiusCrimp.Type = "NPC" zcharacterIgnatiusCrimp.ObjectLocation = ZonePoint(53.4818719682271, -2.22937574699958, 0) zcharacterIgnatiusCrimp.Commands = { TalkTo = Wherigo.ZCommand({ Text = "Talk To", CmdWith = false, Enabled = true, EmptyTargetListText = "Nothing available" }) } zcharacterIgnatiusCrimp.Commands.TalkTo.Custom = true zcharacterIgnatiusCrimp.Commands.TalkTo.Id = "4f4e616e-8ab3-4d9c-86a6-08f7ac92cd36" zcharacterIgnatiusCrimp.Commands.TalkTo.WorksWithAll = true zcharacterBody = Wherigo.ZCharacter({Cartridge = cartTheOmbosIdol01, Container = zoneCanalPort}) zcharacterBody.Id = "a1764820-eef8-4358-8262-804ab92553e5" zcharacterBody.Name = "Body" zcharacterBody.Description = "Until very recently, this body belonged to the canal boat's skipper. He seems to have been liberated from his mortal coil with a blunt trauma to the back of the head." zcharacterBody.Visible = true zcharacterBody.Icon = zmediaPersonIcon zcharacterBody.Gender = "Male" zcharacterBody.Type = "NPC" zcharacterBody.ObjectLocation = ZonePoint(53.4818312401449, -2.22937992695604, 360) zitemDog = Wherigo.ZItem({Cartridge = cartTheOmbosIdol01, Container = zoneVagrantsQuandarySpot1}) zitemDog.Id = "7ffcde13-1aa0-427a-a75b-927f2eb847fe" zitemDog.Name = "Dog" zitemDog.Description = "A filthy mongrel, riddled with mange and with breath which - used aggressively - would constitute a war crime." zitemDog.Visible = true zitemDog.ObjectLocation = ZonePoint(53.47817208522, -2.23222904978744, 360) zitemDog.Icon = zmediaIconUsableObject zitemDog.Locked = false zitemDog.Opened = false zitemDog.Commands = { PickUp = Wherigo.ZCommand({ Text = "Pick Up", CmdWith = false, Enabled = true, EmptyTargetListText = "Nothing available" }), PutDown = Wherigo.ZCommand({ Text = "Put Down", CmdWith = false, Enabled = false, EmptyTargetListText = "Nothing available" }) } zitemDog.Commands.PickUp.Custom = true zitemDog.Commands.PickUp.Id = "a5c9f678-03fa-4ee8-8d03-43199df90d26" zitemDog.Commands.PickUp.WorksWithAll = true zitemDog.Commands.PutDown.Custom = true zitemDog.Commands.PutDown.Id = "e96a7408-3e0f-4006-8878-edb5ceae25a6" zitemDog.Commands.PutDown.WorksWithAll = true zitemRat = Wherigo.ZItem({Cartridge = cartTheOmbosIdol01, Container = zoneVagrantsQuandarySpot1}) zitemRat.Id = "4ed29d91-5258-495b-b107-e73624256e36" zitemRat.Name = "Rat" zitemRat.Description = "You eye the rat suspiciously, wary that it probably harbours all manner of unpleasant diseases. The rat eyes you back - it is clear that your suspicions are mutually shared." zitemRat.Visible = true zitemRat.ObjectLocation = ZonePoint(53.4780979999954, -2.23218144046037, 360) zitemRat.Icon = zmediaIconUsableObject zitemRat.Locked = false zitemRat.Opened = false zitemRat.Commands = { PickUp = Wherigo.ZCommand({ Text = "Pick Up", CmdWith = false, Enabled = true, EmptyTargetListText = "Nothing available" }), PutDown = Wherigo.ZCommand({ Text = "Put Down", CmdWith = false, Enabled = false, EmptyTargetListText = "Nothing available" }) } zitemRat.Commands.PickUp.Custom = true zitemRat.Commands.PickUp.Id = "f4d24ff0-8e8a-4eb1-bfef-d30c6fee85dc" zitemRat.Commands.PickUp.WorksWithAll = true zitemRat.Commands.PutDown.Custom = true zitemRat.Commands.PutDown.Id = "75e243ee-54a6-4426-886b-63dbab095fc0" zitemRat.Commands.PutDown.WorksWithAll = true zitemPasty = Wherigo.ZItem({Cartridge = cartTheOmbosIdol01, Container = zoneVagrantsQuandarySpot1}) zitemPasty.Id = "a2aaeffe-cf21-4c41-97db-81a61dcf7262" zitemPasty.Name = "Pasty" zitemPasty.Description = "A Cornish pasty. It would be appetising, had you less knowledge of its owner." zitemPasty.Visible = true zitemPasty.ObjectLocation = ZonePoint(53.4780365634676, -2.23214115564516, 360) zitemPasty.Icon = zmediaIconUsableObject zitemPasty.Locked = false zitemPasty.Opened = false zitemPasty.Commands = { PickUp = Wherigo.ZCommand({ Text = "Pick Up", CmdWith = false, Enabled = true, EmptyTargetListText = "Nothing available" }), PutDown = Wherigo.ZCommand({ Text = "Put Down", CmdWith = false, Enabled = false, EmptyTargetListText = "Nothing available" }) } zitemPasty.Commands.PickUp.Custom = true zitemPasty.Commands.PickUp.Id = "6f0fb983-7439-4a5e-a9dd-7915d1f1f323" zitemPasty.Commands.PickUp.WorksWithAll = true zitemPasty.Commands.PutDown.Custom = true zitemPasty.Commands.PutDown.Id = "8922c424-4630-4c50-9b47-287e227687e0" zitemPasty.Commands.PutDown.WorksWithAll = true zitemCoin = Wherigo.ZItem(cartTheOmbosIdol01) zitemCoin.Id = "27ecdeb1-3bd5-4384-b426-ad783502c4cc" zitemCoin.Name = "Coin" zitemCoin.Description = "All of Eric 'The Enigma' Jones' worldly wealth. Amounting, in total, to a single thrupenny bit." zitemCoin.Visible = true zitemCoin.ObjectLocation = Wherigo.INVALID_ZONEPOINT zitemCoin.Icon = zmediaIconUsableObject zitemCoin.Locked = false zitemCoin.Opened = false zitemPublicTelephone = Wherigo.ZItem({Cartridge = cartTheOmbosIdol01, Container = zoneLondonRoadStation}) zitemPublicTelephone.Id = "3bc9aac2-6bdc-4269-ae79-153c4140fdcd" zitemPublicTelephone.Name = "Public Telephone" zitemPublicTelephone.Description = "A new-fangled public callbox. It takes thruppence to make a local call." zitemPublicTelephone.Visible = true zitemPublicTelephone.ObjectLocation = ZonePoint(53.4779760213334, -2.23155393357318, 360) zitemPublicTelephone.Icon = zmediaIconUsableObject zitemPublicTelephone.Locked = false zitemPublicTelephone.Opened = false zitemPublicTelephone.Commands = { InsertCoin = Wherigo.ZCommand({ Text = "Insert Coin", CmdWith = false, Enabled = true, EmptyTargetListText = "You can't do that right now." }) } zitemPublicTelephone.Commands.InsertCoin.Custom = true zitemPublicTelephone.Commands.InsertCoin.Id = "cf00377b-79d7-4820-a599-633dc9e8ebdb" zitemPublicTelephone.Commands.InsertCoin.WorksWithAll = false zitemPublicTelephone.Commands.InsertCoin.WorksWithListIds = {} zitemLetterfromProfessor = Wherigo.ZItem(cartTheOmbosIdol01) zitemLetterfromProfessor.Id = "42744b43-76dc-4bb3-b262-350b35d710dd" zitemLetterfromProfessor.Name = "Letter from Professor" zitemLetterfromProfessor.Description = "" zitemLetterfromProfessor.Visible = true zitemLetterfromProfessor.ObjectLocation = Wherigo.INVALID_ZONEPOINT zitemLetterfromProfessor.Media = zmediaLetterfromProfessor zitemLetterfromProfessor.Icon = zmediaIconExaminableObject zitemLetterfromProfessor.Locked = false zitemLetterfromProfessor.Opened = false zitemReceptionTelephone = Wherigo.ZItem({Cartridge = cartTheOmbosIdol01, Container = zoneHotelRoyale}) zitemReceptionTelephone.Id = "8d455551-0da4-4bf6-a9d3-c0204d0a1daf" zitemReceptionTelephone.Name = "Reception Telephone" zitemReceptionTelephone.Description = "The Formica telephone is intended for the use of the hotel receptionist - though you may be able to surrupticiously place a call at some point." zitemReceptionTelephone.Visible = true zitemReceptionTelephone.ObjectLocation = ZonePoint(53.4790785962602, -2.23329973473207, 360) zitemReceptionTelephone.Icon = zmediaIconUsableObject zitemReceptionTelephone.Locked = false zitemReceptionTelephone.Opened = false zitemReceptionTelephone.Commands = { PlaceCall = Wherigo.ZCommand({ Text = "Place Call", CmdWith = false, Enabled = false, EmptyTargetListText = "Nothing available" }) } zitemReceptionTelephone.Commands.PlaceCall.Custom = true zitemReceptionTelephone.Commands.PlaceCall.Id = "f6424e94-e737-457c-9f80-2f7c5a66738d" zitemReceptionTelephone.Commands.PlaceCall.WorksWithAll = true zitemTelegram = Wherigo.ZItem(cartTheOmbosIdol01) zitemTelegram.Id = "320f70c0-adfc-4dea-9012-516b3fa5b480" zitemTelegram.Name = "Telegram" zitemTelegram.Description = "" zitemTelegram.Visible = true zitemTelegram.ObjectLocation = Wherigo.INVALID_ZONEPOINT zitemTelegram.Media = zmediaTelegram zitemTelegram.Icon = zmediaIconExaminableObject zitemTelegram.Locked = false zitemTelegram.Opened = false zitemTelegram.Commands = { EnterKeyWord = Wherigo.ZCommand({ Text = "Enter Key Word", CmdWith = false, Enabled = true, EmptyTargetListText = "Nothing available" }) } zitemTelegram.Commands.EnterKeyWord.Custom = true zitemTelegram.Commands.EnterKeyWord.Id = "6ccdffd1-2933-45e7-bce4-812d987f4292" zitemTelegram.Commands.EnterKeyWord.WorksWithAll = true zitemCanalBoat = Wherigo.ZItem({Cartridge = cartTheOmbosIdol01, Container = zoneCanalPort}) zitemCanalBoat.Id = "5eeb6f2f-4d38-4952-bacc-14ded49246ee" zitemCanalBoat.Name = "Canal Boat" zitemCanalBoat.Description = "The canal boat is moored silently at the quayside. It's guady paintwork loses some of its joviality in that it is spattered with deep red blood." zitemCanalBoat.Visible = true zitemCanalBoat.ObjectLocation = ZonePoint(53.4818211110981, -2.22946287167988, 360) zitemCanalBoat.Icon = zmediaIconExaminableObject zitemCanalBoat.Locked = false zitemCanalBoat.Opened = false zitemBookPageFacsimile = Wherigo.ZItem(cartTheOmbosIdol01) zitemBookPageFacsimile.Id = "20e677ba-9999-47cd-91d6-8b0d8790b7b9" zitemBookPageFacsimile.Name = "Book Page Facsimile" zitemBookPageFacsimile.Description = "" zitemBookPageFacsimile.Visible = true zitemBookPageFacsimile.ObjectLocation = Wherigo.INVALID_ZONEPOINT zitemBookPageFacsimile.Media = zmediaBookPage1 zitemBookPageFacsimile.Icon = zmediaIconExaminableObject zitemBookPageFacsimile.Locked = false zitemBookPageFacsimile.Opened = false zitemScatteredCrates = Wherigo.ZItem({Cartridge = cartTheOmbosIdol01, Container = zoneCanalPort}) zitemScatteredCrates.Id = "ccc9b961-edcf-4e6a-8763-bc98ee3cb5a1" zitemScatteredCrates.Name = "Scattered Crates" zitemScatteredCrates.Description = "Cargo crates are strewn across the footpath." zitemScatteredCrates.Visible = true zitemScatteredCrates.ObjectLocation = ZonePoint(53.4817574204961, -2.22940082673837, 360) zitemScatteredCrates.Icon = zmediaIconExaminableObject zitemScatteredCrates.Locked = false zitemScatteredCrates.Opened = false zitemNotefromMysteriousBarry = Wherigo.ZItem(cartTheOmbosIdol01) zitemNotefromMysteriousBarry.Id = "d78a8291-3d57-4515-9acb-2b601fa0565f" zitemNotefromMysteriousBarry.Name = "Note from Mysterious Barry" zitemNotefromMysteriousBarry.Description = "." zitemNotefromMysteriousBarry.Visible = true zitemNotefromMysteriousBarry.ObjectLocation = Wherigo.INVALID_ZONEPOINT zitemNotefromMysteriousBarry.Media = zmediaBarrysNote zitemNotefromMysteriousBarry.Icon = zmediaIconExaminableObject zitemNotefromMysteriousBarry.Locked = false zitemNotefromMysteriousBarry.Opened = false ztaskSolvetheVagrantsPuzzle = Wherigo.ZTask(cartTheOmbosIdol01) ztaskSolvetheVagrantsPuzzle.Id = "587f51eb-06a8-4605-a28e-9ca81a9e32ce" ztaskSolvetheVagrantsPuzzle.Name = "Solve the Vagrant's Puzzle" ztaskSolvetheVagrantsPuzzle.Description = [[ Eric 'The Enigma' Jones has asked for your help - in return he will give you all of his worldly wealth (don't get your hopes up).

He needs you to transport his rat, dog and pasty from one side of the bridge to another. However, you can only carry one of the items at a time. Furthermore, left alone, the dog and rat will fight, and the rat will attempt to eat the pasty. Somehow, you feel that this task would be more pleasant if the animals were somewhat more ... quaint - say, a hen, a fox and some corn ]] ztaskSolvetheVagrantsPuzzle.Visible = true ztaskSolvetheVagrantsPuzzle.Active = false ztaskSolvetheVagrantsPuzzle.Complete = false ztaskSolvetheVagrantsPuzzle.CorrectState = "None" ztaskContactMrsBumbleford = Wherigo.ZTask(cartTheOmbosIdol01) ztaskContactMrsBumbleford.Id = "eb131623-1f1b-469d-a3fc-02a8c24b34d2" ztaskContactMrsBumbleford.Name = "Contact Mrs Bumbleford" ztaskContactMrsBumbleford.Description = "In his letter to you, the Professor suggested that you contact his secretary on your arrival in Manchester." ztaskContactMrsBumbleford.Visible = true ztaskContactMrsBumbleford.Active = false ztaskContactMrsBumbleford.Complete = false ztaskContactMrsBumbleford.CorrectState = "None" ztaskCheckintoHotel = Wherigo.ZTask(cartTheOmbosIdol01) ztaskCheckintoHotel.Id = "b2016331-9991-497d-98d8-ca90119542ed" ztaskCheckintoHotel.Name = "Check in to Hotel" ztaskCheckintoHotel.Description = "Mrs Bumbleford has placed a reservation for you at the Hotel Royale. Sounds classy! You should locate the hotel and check-in as soon as possible." ztaskCheckintoHotel.Visible = true ztaskCheckintoHotel.Active = false ztaskCheckintoHotel.Complete = false ztaskCheckintoHotel.CorrectState = "None" ztaskFindtheProfessor = Wherigo.ZTask(cartTheOmbosIdol01) ztaskFindtheProfessor.Id = "ead542d2-4fe6-48b6-8162-be6f3fc7a827" ztaskFindtheProfessor.Name = "Find the Professor" ztaskFindtheProfessor.Description = "After a good night's sleep, now would be an appropriate time to contact the Professor and start your new job! Now all you have to do is find him..." ztaskFindtheProfessor.Visible = true ztaskFindtheProfessor.Active = false ztaskFindtheProfessor.Complete = false ztaskFindtheProfessor.CorrectState = "None" PhoneNumber = "" KeyWord = "" VagrantsPuzzleStatus = "I" TempBool = false VagrantsPuzzleItemCount = 0 cartTheOmbosIdol01.ZVariables = { PhoneNumber = "", KeyWord = "", VagrantsPuzzleStatus = "I", TempBool = false, VagrantsPuzzleItemCount = 0 } buildervar = {} buildervar.PhoneNumber = {} buildervar.PhoneNumber.Id = "f2a116c6-7976-4fca-8d26-d0744ed7cbb8" buildervar.PhoneNumber.Name = "Phone Number" buildervar.PhoneNumber.Type = "String" buildervar.PhoneNumber.Data = "" buildervar.PhoneNumber.Description = "Phone number what the player enters into the payphone" buildervar.KeyWord = {} buildervar.KeyWord.Id = "79fd1dd8-7086-4d4e-9fa3-126d8abee3f2" buildervar.KeyWord.Name = "Key Word" buildervar.KeyWord.Type = "String" buildervar.KeyWord.Data = "" buildervar.KeyWord.Description = "" buildervar.VagrantsPuzzleStatus = {} buildervar.VagrantsPuzzleStatus.Id = "ad7a5db0-95c3-4cd2-ab1e-30c34b3a30a0" buildervar.VagrantsPuzzleStatus.Name = "Vagrants Puzzle Status" buildervar.VagrantsPuzzleStatus.Type = "String" buildervar.VagrantsPuzzleStatus.Data = "I" buildervar.VagrantsPuzzleStatus.Description = "I, A, S" buildervar.TempBool = {} buildervar.TempBool.Id = "c041bedb-4165-463f-ba3e-a0922ba1934b" buildervar.TempBool.Name = "TempBool" buildervar.TempBool.Type = "Flag" buildervar.TempBool.Data = "False" buildervar.TempBool.Description = "" buildervar.VagrantsPuzzleItemCount = {} buildervar.VagrantsPuzzleItemCount.Id = "2d0f4fe4-1031-42d1-8116-bcf9915e9ac6" buildervar.VagrantsPuzzleItemCount.Name = "Vagrants Puzzle Item Count" buildervar.VagrantsPuzzleItemCount.Type = "Number" buildervar.VagrantsPuzzleItemCount.Data = "0" buildervar.VagrantsPuzzleItemCount.Description = "" ztimerMysteriousStrangerMover = Wherigo.ZTimer(cartTheOmbosIdol01) ztimerMysteriousStrangerMover.Id = "086ef778-a402-4ab4-bb44-dd7d8c585cd2" ztimerMysteriousStrangerMover.Name = "Mysterious Stranger Mover" ztimerMysteriousStrangerMover.Description = "" ztimerMysteriousStrangerMover.Visible = true ztimerMysteriousStrangerMover.Duration = 10 ztimerMysteriousStrangerMover.Type = "Interval" ztimerMysteriousStrangerActivator = Wherigo.ZTimer(cartTheOmbosIdol01) ztimerMysteriousStrangerActivator.Id = "3f54e335-2139-44d2-be67-b473569973b4" ztimerMysteriousStrangerActivator.Name = "Mysterious Stranger Activator" ztimerMysteriousStrangerActivator.Description = "" ztimerMysteriousStrangerActivator.Visible = true ztimerMysteriousStrangerActivator.Duration = 40 ztimerMysteriousStrangerActivator.Type = "Countdown" zinputPhoneMrsBumbleford = Wherigo.ZInput(cartTheOmbosIdol01) zinputPhoneMrsBumbleford.Id = "766aab34-bd55-4086-90e8-c1498acdbb1a" zinputPhoneMrsBumbleford.Name = "Phone Mrs Bumbleford" zinputPhoneMrsBumbleford.Description = "" zinputPhoneMrsBumbleford.Visible = true zinputPhoneMrsBumbleford.InputType = "Text" zinputPhoneMrsBumbleford.InputVariableId = "f2a116c6-7976-4fca-8d26-d0744ed7cbb8" zinputPhoneMrsBumbleford.Text = "Enter Number:" zinputPhoneProfessor = Wherigo.ZInput(cartTheOmbosIdol01) zinputPhoneProfessor.Id = "ddbcf282-f28c-4eb4-921b-db3811da36b2" zinputPhoneProfessor.Name = "Phone Professor" zinputPhoneProfessor.Description = "" zinputPhoneProfessor.Visible = true zinputPhoneProfessor.InputType = "Text" zinputPhoneProfessor.InputVariableId = "f2a116c6-7976-4fca-8d26-d0744ed7cbb8" zinputPhoneProfessor.Text = "Enter Number" zinputEnterKeyWord = Wherigo.ZInput(cartTheOmbosIdol01) zinputEnterKeyWord.Id = "3b494c6f-5c89-42aa-ab39-33473173f020" zinputEnterKeyWord.Name = "Enter Key Word" zinputEnterKeyWord.Description = "" zinputEnterKeyWord.Visible = true zinputEnterKeyWord.InputType = "Text" zinputEnterKeyWord.InputVariableId = "79fd1dd8-7086-4d4e-9fa3-126d8abee3f2" zinputEnterKeyWord.Text = "Enter Key Word:" zitemPublicTelephone.Commands.InsertCoin.WorksWithList = {} function zcharacterEricTheEngimaJones:OnTalkTo() if Wherigo.NoCaseEquals(VagrantsPuzzleStatus, "A") then Wherigo.MessageBox({ Text = "\"Tell you what, my good fellow,\" he begins - affecting a tone of age-old comradeship. \"If you can convey my paraphernalia to the other side of the bridge, I'll give you all of my worldly treasure!\"" }) end if Wherigo.NoCaseEquals(VagrantsPuzzleStatus, "S") then zitemCoin:MoveTo(Player) Wherigo.Dialog({ { Text = "On seeing you approach, Eric leaps to his feet." }, { Text = "\"You, my good sir, are a gentleman and a scholar,\" he rasps excitedly. \"A thousand felicitations, and infinite thanks - here take my worldly wealth.\"" }, { Text = "He pushes a single coin - looks like a thrupenny bit - into your hand, before hobbling off into the distance." } }) ztaskSolvetheVagrantsPuzzle.Complete = true zcharacterEricTheEngimaJones:MoveTo(nil) end if Wherigo.NoCaseEquals(VagrantsPuzzleStatus, "I") then Wherigo.Dialog({ { Text = "You approach the vagrant - gently coughing to gain his attention. Startled, he jumps to his feet - quickly brushing himself down to regain his composure. Given his disheveled state, brushing himself down is an exercise in futility." }, { Text = "\"Sorry, sir - was lost in a world of my own there,\" he rasps in a voice which could cut wood. \"Thing is, I'd love to pass the time with a gent such as your good self - but I'm stuck in something of a quandary, an incogitable paradox, if you will\"" }, { Text = "You ponder, for a moment, how one of such low social standing could have acquired such expansive vocabulary." }, { Text = "\"Thing is,\" he continues. \"I need to convey my belongings over to the other side of that bridge.\"" }, { Text = "The pungent vagabond gestures to the bridge, where you see a dog, a rat and something greasy wrapped in paper." }, { Text = "\"Problem is, I have only the means to transit one item at a time. Every time I leave dog and rat together, they fight - and rat has a tendency to pilfer my pasty. As you can see, it's a onerous enterprise.\"" }, { Text = "Eric sighs and slumps back to the ground. Suddenly, he perks again." }, { Text = "\"Tell you what, my good fellow,\" he begins - affecting a tone of age-old comradeship. \"If you can convey my paraphernalia to the other side of the bridge, I'll give you all of my worldly treasure!\"" } }) zoneVagrantsQuandarySpot1.Visible = true zoneVagrantsQuandarySpot1.Active = true zoneVagrantsQuandarySpot2.Active = true zoneVagrantsQuandarySpot2.Visible = true ztaskSolvetheVagrantsPuzzle.Active = true VagrantsPuzzleStatus = "A" end end function zitemDog:OnPickUp() if VagrantsPuzzleItemCount == 1 then Wherigo.MessageBox({ Text = "You can only carry one of the vagrant's items at any one time" }) else zitemDog:MoveTo(Player) VagrantsPuzzleItemCount = VagrantsPuzzleItemCount + 1 zitemDog.Commands.PickUp.Enabled = false zitemDog.Commands.PutDown.Enabled = true Wherigo.ShowScreen(Wherigo.MAINSCREEN) end end function zitemPasty:OnPickUp() if VagrantsPuzzleItemCount == 1 then Wherigo.MessageBox({ Text = "You can only carry one of the vagrant's items at any one time" }) else zitemPasty:MoveTo(Player) VagrantsPuzzleItemCount = VagrantsPuzzleItemCount + 1 zitemPasty.Commands.PickUp.Enabled = false zitemPasty.Commands.PutDown.Enabled = true Wherigo.ShowScreen(Wherigo.MAINSCREEN) end end function zitemRat:OnPickUp() if VagrantsPuzzleItemCount == 1 then Wherigo.MessageBox({ Text = "You can only carry one of the vagrant's items at any one time" }) else zitemRat:MoveTo(Player) VagrantsPuzzleItemCount = VagrantsPuzzleItemCount + 1 zitemRat.Commands.PickUp.Enabled = false zitemRat.Commands.PutDown.Enabled = true Wherigo.ShowScreen(Wherigo.MAINSCREEN) end end function zitemDog:OnPutDown() if zoneVagrantsQuandarySpot1:Contains(Player) then zitemDog:MoveTo(zoneVagrantsQuandarySpot1) end if zoneVagrantsQuandarySpot2:Contains(Player) then zitemDog:MoveTo(zoneVagrantsQuandarySpot2) end if zoneVagrantsQuandarySpot1:Contains(Player) or zoneVagrantsQuandarySpot2:Contains(Player) then VagrantsPuzzleItemCount = VagrantsPuzzleItemCount - 1 zitemDog.Commands.PickUp.Enabled = true zitemDog.Commands.PutDown.Enabled = false Wherigo.ShowScreen(Wherigo.MAINSCREEN) else Wherigo.MessageBox({ Text = "You can't drop that here - try moving to one of the designated puzzle spots" }) end end function zitemPasty:OnPutDown() if zoneVagrantsQuandarySpot1:Contains(Player) then zitemPasty:MoveTo(zoneVagrantsQuandarySpot1) end if zoneVagrantsQuandarySpot2:Contains(Player) then zitemPasty:MoveTo(zoneVagrantsQuandarySpot2) end if zoneVagrantsQuandarySpot1:Contains(Player) or zoneVagrantsQuandarySpot2:Contains(Player) then VagrantsPuzzleItemCount = VagrantsPuzzleItemCount - 1 zitemPasty.Commands.PickUp.Enabled = true zitemPasty.Commands.PutDown.Enabled = false Wherigo.ShowScreen(Wherigo.MAINSCREEN) else Wherigo.MessageBox({ Text = "You can't drop that here - try moving to one of the designated puzzle spots" }) end end function zitemRat:OnPutDown() if zoneVagrantsQuandarySpot1:Contains(Player) then zitemRat:MoveTo(zoneVagrantsQuandarySpot1) end if zoneVagrantsQuandarySpot2:Contains(Player) then zitemRat:MoveTo(zoneVagrantsQuandarySpot2) end if zoneVagrantsQuandarySpot1:Contains(Player) or zoneVagrantsQuandarySpot2:Contains(Player) then VagrantsPuzzleItemCount = VagrantsPuzzleItemCount - 1 zitemRat.Commands.PickUp.Enabled = true zitemRat.Commands.PutDown.Enabled = false Wherigo.ShowScreen(Wherigo.MAINSCREEN) else Wherigo.MessageBox({ Text = "You can't drop that here - try moving to one of the designated puzzle spots" }) end end function zoneVagrantsQuandarySpot1:OnExit() TempBool = false if zoneVagrantsQuandarySpot1:Contains(zitemDog) and zoneVagrantsQuandarySpot1:Contains(zitemRat) and not zoneVagrantsQuandarySpot1:Contains(zitemPasty) then TempBool = true Wherigo.MessageBox({ Text = "Dog attacked rat - resetting puzzle..." }) end if zoneVagrantsQuandarySpot1:Contains(zitemRat) and zoneVagrantsQuandarySpot1:Contains(zitemPasty) and not zoneVagrantsQuandarySpot1:Contains(zitemDog) then TempBool = true Wherigo.MessageBox({ Text = "Rat tried to eat pasty - resetting puzzle" }) end if TempBool == true then zitemDog:MoveTo(zoneVagrantsQuandarySpot1) zitemRat:MoveTo(zoneVagrantsQuandarySpot1) zitemPasty:MoveTo(zoneVagrantsQuandarySpot1) VagrantsPuzzleItemCount = 0 zitemDog.Commands.PickUp.Enabled = true zitemDog.Commands.PutDown.Enabled = false zitemRat.Commands.PickUp.Enabled = true zitemRat.Commands.PutDown.Enabled = false zitemPasty.Commands.PickUp.Enabled = true zitemPasty.Commands.PutDown.Enabled = false end end function zoneVagrantsQuandarySpot2:OnExit() TempBool = false if zoneVagrantsQuandarySpot2:Contains(zitemDog) and zoneVagrantsQuandarySpot2:Contains(zitemRat) and not zoneVagrantsQuandarySpot2:Contains(zitemPasty) then TempBool = true Wherigo.MessageBox({ Text = "Dog attacked rat - resetting puzzle..." }) end if zoneVagrantsQuandarySpot2:Contains(zitemRat) and zoneVagrantsQuandarySpot2:Contains(zitemPasty) and not zoneVagrantsQuandarySpot2:Contains(zitemDog) then TempBool = true Wherigo.MessageBox({ Text = "Rat tried to eat pasty - resetting puzzle" }) end if TempBool == true then zitemDog:MoveTo(zoneVagrantsQuandarySpot1) zitemRat:MoveTo(zoneVagrantsQuandarySpot1) zitemPasty:MoveTo(zoneVagrantsQuandarySpot1) VagrantsPuzzleItemCount = 0 zitemDog.Commands.PickUp.Enabled = true zitemDog.Commands.PutDown.Enabled = false zitemRat.Commands.PickUp.Enabled = true zitemRat.Commands.PutDown.Enabled = false zitemPasty.Commands.PickUp.Enabled = true zitemPasty.Commands.PutDown.Enabled = false end if zoneVagrantsQuandarySpot2:Contains(zitemDog) and zoneVagrantsQuandarySpot2:Contains(zitemRat) and zoneVagrantsQuandarySpot2:Contains(zitemPasty) then Wherigo.MessageBox({ Text = "Congratulations! Puzzle completed - return to the vagrant to collect your reward!" }) VagrantsPuzzleStatus = "S" zoneVagrantsQuandarySpot1.Active = false zoneVagrantsQuandarySpot1.Visible = false zoneVagrantsQuandarySpot2.Active = false zoneVagrantsQuandarySpot2.Visible = false end end function zitemLetterfromProfessor:OnClick() ztaskContactMrsBumbleford.Active = true Wherigo.ShowScreen(Wherigo.DETAILSCREEN, zitemLetterfromProfessor) end function cartTheOmbosIdol01:OnStart() ztimerMysteriousStrangerActivator:Start() zitemLetterfromProfessor:MoveTo(Player) zcharacterIgnatiusCrimp:MoveTo(zoneCanalPort) Wherigo.Dialog({ {Text = ".", Media = zmediaTitlePlate1}, {Text = ".", Media = zmediaTitlePlate2}, {Text = ".", Media = zmediaTitlePlate3}, {Text = ".", Media = zmediaTitlePlate4}, {Text = ".", Media = zmediaTitlePlate5}, {Text = ".", Media = zmediaTitlePlate6}, {Text = ".", Media = zmediaTitlePlate7} }) end function zitemPublicTelephone:OnInsertCoin() if Player:Contains(zitemCoin) then Wherigo.GetInput(zinputPhoneMrsBumbleford) else Wherigo.MessageBox({ Text = "Hmmm, that would be a great idea - if only you had a coin." }) end end function zinputPhoneMrsBumbleford:OnGetInput(input) PhoneNumber = input if Wherigo.NoCaseEquals(PhoneNumber, "555-7162") or Wherigo.NoCaseEquals(PhoneNumber, "555 7162") or Wherigo.NoCaseEquals(PhoneNumber, "5557162") then zitemCoin:MoveTo(nil) ztaskContactMrsBumbleford.Complete = true ztaskCheckintoHotel.Active = true zoneHotelRoyale.Active = true zoneHotelRoyale.Visible = true Wherigo.Dialog({ { Text = "Brrr, brrr ..." }, { Text = "... brrr, brrr ..." }, { Text = "... the phone clicks and the coin rattles through internal mechanisms as the call's recipient picks up their handset." }, { Text = "\"Hello,\" says a warm and elderly voice. \"Professor Crimp's office.\"" }, { Text = "\"Ah, Jack,\" continues the voice, which could only be owned by Mrs Bumbleford. \"The professor will be delighted that you have arrived safely. Was your journey pleasant?\"" }, { Text = "\"Now deary, it's late - not worth you coming down to the university. I've made a reservation for you at the Hotel Royale, not far from the station\" " }, { Text = "\"Why don't you make your way there and get some rest - the Professor has sent over some reading for you, if you're bored,\" she says, then with an air of knowing mischief: \"But he is such a terrible fusspot. If I were you, I'd just relax so you're fresh and bright tomorrow.\"" }, { Text = "\"When you're ready to join us in the morning, just give me a ring and we'll sort something out\"." }, { Text = "\"Goodbye, deary\"." } }) else Wherigo.Dialog({ { Text = "Brrr, brrr ..." }, { Text = "... brrr, brrr ..." }, { Text = "... brrr, brrr ..." }, { Text = "Hmm, no answer. You replace the handset and retrieve your coin." } }) end end function zcharacterHotelReceptionist:OnCheckIn() Wherigo.Dialog({ { Text = "\"Welcome to the a'Hotel Royale,\" the receptionist trills. \"a'How may h'I be of h'assistance?\"" }, { Text = "\"Certainly Mr Robinson,\" she continues. \"h'A reservation a'has been made for you earlier today\"" }, { Text = "You note the receptionist's annoying tendency, in an attempt to affect education and class, to pronounce a's before h's, and h's before a's" }, { Text = "\"a'Here h'are your keys, \" she chirps - passing you a set of keys. \"h'Oh, h'and h'one more thing. h'I was h'instructed to give this to you on your h'arrival.\"" }, { Text = "She passes to you what looks like a facsimilie of a textbook page. You scrunch it into your pocket and head up to your room." }, { Text = "Collapsing onto your bed, sleep quicky envelopes you - and with it vivid dreams of ancient and mysterious relics." }, { Text = "Knock, knock ..." }, { Text = "... knock, knock (a little louder) ..." }, { Text = "\"Morning, Mr Robinson,\" chirps a familiar voice from behind the door. \"This is your 7am wake-up call.\"" }, { Text = "You stumble from bed and, having completed your morning rituals, head back down to reception." } }) zitemBookPageFacsimile:MoveTo(Player) ztaskCheckintoHotel.Complete = true ztaskFindtheProfessor.Active = true zcharacterHotelReceptionist.Commands.CheckIn.Enabled = false zcharacterHotelReceptionist.Visible = false zitemReceptionTelephone.Commands.PlaceCall.Enabled = true end function zinputPhoneProfessor:OnGetInput(input) PhoneNumber = input if Wherigo.NoCaseEquals(PhoneNumber, "555-7162") or Wherigo.NoCaseEquals(PhoneNumber, "555 7162") or Wherigo.NoCaseEquals(PhoneNumber, "5557162") then Wherigo.Dialog({ { Text = "Brrr, brrr ..." }, { Text = "... brrr, brrr ..." }, { Text = "... brrr, brrr ..." }, { Text = "Strange, no answer - you're sure you dialed the right number." } }) zcharacterHotelReceptionist.Visible = true zcharacterHotelReceptionist.Commands.CheckforMessages.Enabled = true else Wherigo.Dialog({ { Text = "Brrr, brrr ..." }, { Text = "... brrr, brrr ...." }, { Text = "... brrr, brrr ..." }, { Text = "Maybe you dialed the wrong number?" } }) end end function zitemReceptionTelephone:OnPlaceCall() Wherigo.GetInput(zinputPhoneProfessor) end function zcharacterHotelReceptionist:OnCheckforMessages() Wherigo.Dialog({ { Text = "\"Good morning, Mr Robinson,\" she chirps. \"A telegram has arrived for you.\"" }, { Text = "She hands over a slip of paper to you." } }) zitemTelegram:MoveTo(Player) zcharacterHotelReceptionist.Commands.CheckforMessages.Enabled = false end function zitemTelegram:OnEnterKeyWord() Wherigo.GetInput(zinputEnterKeyWord) end function ztimerMysteriousStrangerMover:OnTick() if zoneLondonRoadStation:Contains(zcharacterMysteriousStranger) then zcharacterMysteriousStranger:MoveTo(zoneHotelRoyale) else zcharacterMysteriousStranger:MoveTo(zoneLondonRoadStation) end end function zcharacterMysteriousStranger:OnSpeakTo() Wherigo.Dialog({ { Text = "\"Oh, hello,\" says the Mysterious Stranger. \"My names Davies, Barry Davies.\"" }, { Text = "\"I'm not actually part of this story,\" he continues. \"I've just finished an intrepid adventure in which I tricked a bunch of bloodthirsty pirates out of their treasure.\"" }, { Text = "\"Tell you what, I'll cut you a favour - I've hidden some of the treasure, if you can find it you can help yourself.\"" }, { Text = "He carefully writes something on a piece of paper and, placing it in your shirt pocket, walks off into the distance. The sense of mystery in the surrounding area drops notably." } }) zitemNotefromMysteriousBarry:MoveTo(Player) ztimerMysteriousStrangerMover:Stop() zcharacterMysteriousStranger:MoveTo(nil) zcharacterMysteriousStranger.Visible = false end function ztimerMysteriousStrangerActivator:OnTick() zcharacterMysteriousStranger:MoveTo(zoneLondonRoadStation) ztimerMysteriousStrangerActivator:Stop() ztimerMysteriousStrangerMover:Start() end function zinputEnterKeyWord:OnGetInput(input) KeyWord = input if Wherigo.NoCaseEquals(KeyWord, "Hathor") then Wherigo.MessageBox({ Text = "Correct! The Professors Location has been unlocked." }) zoneCanalPort.Visible = true zoneCanalPort.Active = true zitemTelegram.Commands.EnterKeyWord.Enabled = false else Wherigo.MessageBox({ Text = "Incorrect! You'll find the key word written inside a nano-cache" }) end end function zcharacterIgnatiusCrimp:OnTalkTo() Wherigo.MessageBox({ Text = "The Professor rushes to you, in a state of obvious panic", Callback = cartTheOmbosIdol01.MsgBoxCBFuncs.MsgBoxCB12 }) cartTheOmbosIdol01.Complete = true zcharacterIgnatiusCrimp:MoveTo(nil) end function cartTheOmbosIdol01:OnRestore() if cartTheOmbosIdol01.Complete == true then Wherigo.MessageBox({ Text = [[ Congratulations! You have completed this cartridge.

To play chapter two, you will need to enter the following key word: Horus

You can now register your completion of the cartridge at Wherigo.com, the unlock code is ]] .. Player.CompletionCode }) end end function cartTheOmbosIdol01.MsgBoxCBFuncs.MsgBoxCB1(action) if action ~= nil then Wherigo.MessageBox({ Text = [[ Congratulations! You have completed this cartridge.

To play chapter two, you will need to enter the following key word: Horus

You can now register your completion of the cartridge at Wherigo.com, the unlock code is ]] .. Player.CompletionCode }) end end function cartTheOmbosIdol01.MsgBoxCBFuncs.MsgBoxCB2(action) if action ~= nil then Wherigo.MessageBox({ Text = ".", Media = zmediaTobecontinued, Callback = cartTheOmbosIdol01.MsgBoxCBFuncs.MsgBoxCB1 }) end end function cartTheOmbosIdol01.MsgBoxCBFuncs.MsgBoxCB3(action) if action ~= nil then Wherigo.MessageBox({ Text = "Alone, of course, apart from a murdered body and a looming sense that your new life may not be all that you expected it to be.", Callback = cartTheOmbosIdol01.MsgBoxCBFuncs.MsgBoxCB2 }) end end function cartTheOmbosIdol01.MsgBoxCBFuncs.MsgBoxCB4(action) if action ~= nil then Wherigo.MessageBox({ Text = "The professor is led away, protesting his innocence and apparently demanding that the policeman investigate his missing artefact. Soon you are left alone.", Callback = cartTheOmbosIdol01.MsgBoxCBFuncs.MsgBoxCB3 }) end end function cartTheOmbosIdol01.MsgBoxCBFuncs.MsgBoxCB5(action) if action ~= nil then Wherigo.MessageBox({ Text = "\"You do not have to say anything,\" continues the officer, handcuffing the academic. \"But anything you do say may be taken down and used against you as evidence in a court of law.\"", Callback = cartTheOmbosIdol01.MsgBoxCBFuncs.MsgBoxCB4 }) end end function cartTheOmbosIdol01.MsgBoxCBFuncs.MsgBoxCB6(action) if action ~= nil then Wherigo.MessageBox({ Text = "\"Me!\" Crimp splutters. \"But I ... I just ... When I arrived, you see...\"", Callback = cartTheOmbosIdol01.MsgBoxCBFuncs.MsgBoxCB5 }) end end function cartTheOmbosIdol01.MsgBoxCBFuncs.MsgBoxCB7(action) if action ~= nil then Wherigo.MessageBox({ Text = "\"Excuse me, sir,\" he mumbles as he pushes past you. \"You sir, are under arrest for murder.\"", Callback = cartTheOmbosIdol01.MsgBoxCBFuncs.MsgBoxCB6 }) end end function cartTheOmbosIdol01.MsgBoxCBFuncs.MsgBoxCB8(action) if action ~= nil then Wherigo.MessageBox({ Text = "You marvel, for a moment, at the Professor's investigative prowess. Sensing an approaching presence, you turn - coming face to face with a stoic member of the local constabulary.", Callback = cartTheOmbosIdol01.MsgBoxCBFuncs.MsgBoxCB7 }) end end function cartTheOmbosIdol01.MsgBoxCBFuncs.MsgBoxCB9(action) if action ~= nil then Wherigo.MessageBox({ Text = "\"And this poor fellow seems to have been murdered!\" he babbles. \"What a waste ... I found this iron bar next to him - I suspect it of being the murder weapon!\"", Callback = cartTheOmbosIdol01.MsgBoxCBFuncs.MsgBoxCB8 }) end end function cartTheOmbosIdol01.MsgBoxCBFuncs.MsgBoxCB10(action) if action ~= nil then Wherigo.MessageBox({ Text = "He catches your eye as you glance from the body on the quayside to the bloodstained iron bar in his hand.", Callback = cartTheOmbosIdol01.MsgBoxCBFuncs.MsgBoxCB9 }) end end function cartTheOmbosIdol01.MsgBoxCBFuncs.MsgBoxCB11(action) if action ~= nil then Wherigo.MessageBox({ Text = "\"The idol, it's missing! Stolen! Terrible! Irreplacable!\"", Callback = cartTheOmbosIdol01.MsgBoxCBFuncs.MsgBoxCB10 }) end end function cartTheOmbosIdol01.MsgBoxCBFuncs.MsgBoxCB12(action) if action ~= nil then Wherigo.MessageBox({ Text = "\"Jack, my dear boy!\" he rants. \"Something terrible has happened ... truly terrible!\"", Callback = cartTheOmbosIdol01.MsgBoxCBFuncs.MsgBoxCB11 }) end end return cartTheOmbosIdol01