! These objects are moved into place as the game proceeds. ! ! Defined in DM4 §14, modified in §23 Object sodium_lamp "sodium lamp" with name 'sodium' 'lamp' 'heavy', describe [; if (self has on) "^The sodium lamp squats on the ground, burning away."; "^The sodium lamp squats heavily on the ground."; ], before [; Examine: print "It is a heavy-duty archaeologist's lamp, "; if (self hasnt on) "currently off."; if (self.battery_power < 10) "glowing a dim yellow."; "blazing with brilliant yellow light."; Burn: <>; SwitchOn: if (self.battery_power <= 0) "Unfortunately, the battery seems to be dead."; if (parent(self) hasnt supporter && self notin location) "The lamp must be securely placed before being lit."; Take, Remove: if (self has on) "The bulb's too delicate and the metal handle's too hot to lift the lamp while it's switched on."; PushDir: if (location == Shrine && second == sw_obj) "The nearest you can do is to push the sodium lamp to the very lip of the Shrine, where the cave floor falls away."; AllowPushDir(); rtrue; ], after [; SwitchOn: give self light; SwitchOff: give self ~light; ], daemon [; if (self hasnt on) return; if (--self.battery_power == 0) give self ~light ~on; if (self in location) { switch (self.battery_power) { 10: "^The sodium lamp is getting dimmer!"; 5: "^The sodium lamp can't last much longer."; 0: "^The sodium lamp fades and suddenly dies."; } } ], battery_power 100, has switchable; ! Defined in DM4 §16 Object dictionary "Waldeck's Mayan dictionary" with name 'dictionary' 'local' 'guide' 'book' 'mayan' 'waldeck' 'waldeck^s', description "Compiled from the unreliable lithographs of the legendary raconteur and explorer ~Count~ Jean Frederic Maximilien Waldeck (1766??-1875), this guide contains what little is known of the glyphs used in the local ancient dialect.", before [ w1 w2 glyph; Consult: wn = consult_from; w1 = NextWord(); ! First word of subject w2 = NextWord(); ! Second word (if any) of subject if (consult_words==1 && w1~='glyph' or 'glyphs') glyph = w1; else if (consult_words==2 && w1=='glyph') glyph = w2; else if (consult_words==2 && w2=='glyph') glyph = w1; else "Try ~look up in book~."; switch (glyph) { 'q1': "(This is one glyph you have memorised!)^^ Q1: ~sacred site~."; 'crescent': "Crescent: believed pronounced ~xibalba~, though its meaning is unknown."; 'arrow': "Arrow: ~journey; becoming~."; 'skull': "Skull: ~death, doom; fate (not nec. bad)~."; 'circle': "Circle: ~the Sun; also life, lifetime~."; 'jaguar': "Jaguar: ~lord~."; 'monkey': "Monkey: ~priest?~."; 'bird': if (self.correct) "Bird: ~dead as a stone~."; "Bird: ~rich, affluent?~."; default: "That glyph is so far unrecorded."; } ], correct false, has proper; ! Defined in DM4 §23 Object map "sketch-map of Quintana Roo" with name 'map' 'sketch' 'sketch-map' 'quintana' 'roo', description "This map marks little more than the creek which brought you here, off the south-east edge of Mexico and into deepest rainforest, broken only by this raised plateau."; ! Defined in DM4 §23 Object stone_key "stone key" with name 'stone' 'key'; ! Defined in DM4 §17, modified in §18 and §23 Object priest "mummified priest" with name 'mummified' 'priest', initial "Behind the slab, a mummified priest stands waiting, barely alive at best, impossibly venerable.", description "He is desiccated and hangs together only by will-power. Though his first language is presumably local Mayan, you have the curious instinct that he will understand your speech.", life [; Answer: "The priest coughs, and almost falls apart."; Ask: switch (second) { 'dictionary', 'book': if (dictionary.correct == false) "~The ~bird~ glyph... very funny.~"; "~A dictionary? Really?~"; 'glyph', 'glyphs', 'mayan', 'dialect': "~In our culture, the Priests are ever literate.~"; 'lord', 'tomb', 'shrine', 'temple': "~This is a private matter.~"; 'paintings': "The calendrical priest frowns. ~10 baktun, 4 katun, that makes 1,468,800 days since the beginning of time: in your calendar 19 January 909.~"; 'ruins': "~The ruins will ever defeat thieves. In the underworld, looters are tortured throughout eternity.~ A pause. ~As are archaeologists.~"; 'web', 'wormcast': "~No man can pass the Wormcast.~"; 'xibalba': if (Shrine.sw_to == Junction) "The priest shakes his bony finger."; Shrine.sw_to = Junction; "The priest extends one bony finger southwest toward the icicles, which vanish like frost as he speaks. ~Xibalb@'a, the Underworld.~"; } "~You must find your own answer.~"; Tell: "The priest has no interest in your sordid life."; Attack, Kiss: remove self; "The priest desiccates away into dust until nothing remains, not a breeze nor a bone."; ThrowAt: move noun to location; <>; Show, Give: if (noun == dictionary && dictionary.correct == false) { dictionary.correct = true; "The priest reads a little of the book, laughing in a hollow, whispering way. Unable to restrain his mirth, he scratches in a correction somewhere before returning the book."; } if (noun == newspaper) "He looks at the date. ~12 baktun 16 katun 4 tun 1 uinal 12 kin~, he declares before browsing the front page. ~Ah. Progress, I see.~"; "The priest is not interested in earthly things."; ], orders [; Go: "~I must not leave the Shrine.~"; NotUnderstood: "~You speak in riddles.~"; default: "~It is not your orders I serve.~"; ], has animate; ! Defined in DM4 Exercise 53 Object warthog "Warthog" with name 'wart' 'hog' 'warthog', initial "A warthog snuffles and grunts about in the ashes.", description "Muddy and grunting.", orders [; Go, Look, Examine, Smell, Taste, Touch, Search,Jump, Enter: rfalse; Eat: "You haven't the knack of snuffling up to food yet."; default: "Warthogs can't do anything so involved. If it weren't for the nocturnal eyesight and the lost weight, they'd be worse off all round than people."; ], has animate proper; ! Defined in DM4 §8 Object low_mist "low mist" with name 'low' 'swirling' 'mist', description "The mist has an aroma reminiscent of tortilla.", before [; Examine, Search: ; Smell: <>; default: "The mist is too insubstantial."; ], react_before [; Smell: if (noun == nothing) <>; ], found_in Square_Chamber Forest, has scenery; ! Defined in DM4 Exercise 46 Object tiny_claws "sound of tiny claws" thedark with name 'tiny' 'claws' 'sound' 'of' 'scuttling' 'scuttle' 'things' 'creatures' 'monsters' 'insects', article "the", initial "Somewhere, tiny claws are scuttling.", before [; Listen: "How intelligent they sound, for mere insects."; Touch, Taste: "You wouldn't want to. Really."; Smell: "You can only smell your own fear."; Attack: "They easily evade your flailing about."; default: "The creatures evade you, chittering."; ], each_turn [; StartDaemon(self); ], daemon [; if (location ~= thedark) { self.turns_active = 0; StopDaemon(self); rtrue; } switch (++(self.turns_active)) { 1: "^The scuttling draws a little nearer, and your breathing grows loud and hoarse."; 2: "^The perspiration of terror runs off your brow. The creatures are almost here!"; 3: "^You feel a tickling at your extremities and kick outward, shaking something chitinous off. Their sound alone is a menacing rasp."; 4: deadflag = true; "^Suddenly there is a tiny pain, of a hypodermic-sharp fang at your calf. Almost at once your limbs go into spasm, your shoulders and knee-joints lock, your tongue swells..."; } ], turns_active 0; ! ---------------------------------------------------------------------------- !