#include #include #include /* * Retrieve the card-catalog information for the game. This information * is written to a file called GameInfo.txt during preinit, and can then * be stored in the compiled .gam file for retrieval by automated tools. * This information is useful for archive maintainers and other * searching and browsing tools. */ getGameInfo: function { /* build and return the game information list */ return ['Name', 'Simon vs Jack', 'Byline', 'by Peter Cobcroft', 'Desc', 'The misadventures of an almost competant Technomage.', 'Version', '1.0', 'ReleaseDate', getGameInfoToday(), 'Language', 'en-US', 'PresentationProfile', 'Text']; } startroom: room sdesc = "Pilot’s cabin" ldesc = { "An austere but functional area. Small in size, but large in gothic arches. A single high backed chair faces the control board on which various controls are inset. In one corner is the hologram projector for the warning bard. The dominant colour throughout the room is black. On one wall you can can see your staff holder, used for recharging your staff."; if (staff.isIn(staffHolder)) " Currently your staff rests in it."; } /* * To the north is the hallway. Set the "north" property to the * destination room object. Other direction properties that we * could set: east, west, north, up, down, plus the diagonals: ne, * nw, se, sw. We can also set "in" and "out". */ south = accesscorridor ; staffHolder: fixeditem location = startroom sdesc = "staff holder" noun = 'staff' 'holder' adjective = 'rack' ldesc = { "It's a rack similar to those found near pool tables to hold pool ques. But more techy with flashy arcane symbols on it, painted black with a silver trim."; if (staff.isIn(self)) "Your staff is currently plugged into the holder. "; } isqcontainer = true ; chair: chairitem location = startroom sdesc = "wooden chair" noun = 'chair' adjective = 'straight-backed' 'wooden' ; staff: item sdesc = "technomage staff" location = staffHolder noun = 'staff' 'rod' adjective = 'wizards' 'technomages' ldesc = "It's a large metallic technomage staff. Covered in arcane runes and a small sticker saying 'this end towards enemy' - you've learnt your lessons the hard way. " ; controls: fixeditem location = startroom noun = 'controls' 'lights' 'dials' 'switches' 'levers' adjective = 'bright' 'space' sdesc = "controls" isThem = true adesc = "an high tech control device" ; accesscorridor: room sdesc = "Access Corridor" ldesc = "Tell tale lights on the sides of this black walled crossroads blink on and off. Giving feedback on the state of the ship and your location within it. It is even possible to summon a hologramatical map of the ship, but as it consists of just four rooms and an airlock, you’ve never really seen the point." west = quarters east = storageroom sw = airlock se = engineroom north = startroom ; quarters: room sdesc = "Quarters" ldesc = "Ever hopeful, this cabin contains a king sized bed as well as a closet. The black walls have slightly less blinking lights than the rest of the ship because they keep you awake at night." east = accesscorridor ; storageroom: room sdesc = "Storage Room" ldesc = "Much like the rest of a Technomage ship, this room seems bigger on the outside than the inside. The walls are black as are most of the shelves. Luckily for your sanity the items stored here are not black." west= accesscorridor ; airlock: room sdesc = "Airlock" ldesc = "Like most Technomage ships, the Airlock opens downwards with double doors. It is far more impressive than a standard set of double doors as you get to lower and raise yourself on your invisible levitation platform." ne= accesscorridor ; airlockDoor: doorway location = airlock noun = 'door' adjective = 'airlock' sdesc = "airlock door" doordest = { "It's a little bit colder and a whole lot more airless than you normally like outside. "; return nil; } ; engineroom: room sdesc = "Engine room" ldesc = "This rather claustrophobic room is jammed with strange and exotic looking machinery. Black, silver and almost organic in style." nw= accesscorridor ; accesspanel: fixeditem, openable location = engineroom noun = 'access' 'panel' 'engine' 'door' adjective = 'large' 'black' 'metal' sdesc = "access panel" ldesc = { "It's an access panel into the inner workings of the engine. The door is currently << self.isopen ? "open" : "closed">>. "; /* list my contents if there's anything inside */ if (self.isopen && itemcnt(self.contents) != 0) "Inside the engine you can see <>. "; } /* it starts off closed */ isopen = nil ; circuitboard: item location = accesspanel sdesc = "circuit board" ldesc = "It's a sheet of plasticised silicate compounds embedded with doped superconductive materials and crystal latice components. " noun = 'circuit' 'board' adjective = 'silicate' 'superconductive' 'superconductor' ;