User Tools

Site Tools


roleplaying:if:simonvjack.t
#include <adv.t>
#include <gameinfo.t>
#include <std.t>


/* 
 *   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 <<listcont(self)>>. ";
    }

    /* 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'

;
roleplaying/if/simonvjack.t.txt · Last modified: 2006/04/12 22:43 (external edit)