MESSAGE "Then we have some objects: "; ADJEC damaged, dead, black, clay ; NOUN damaged people(dungeon), body-parts(limbo),dead man(limbo),dead men(limbo),dead rat(limbo), guards(castle), black rat(alley2), clay shards(hut1), clay shard(hut1) ; guard = guards; MESSAGE "damaged people, "; damaged people(NOTAKE) = TRUE; damaged people(NUMPEOP) = 12; damaged people(LDESC) = ($say "Some fairly damaged people are hanging around.\n") ; damaged people(SDESC) = ($say "some fairly damaged people"); damaged people(ACTION) = (IF ($eq @Verb take) THEN (Silly) ($exit 1)) (IF ($or ($eq @Verb kick) ($eq @Verb hit)) THEN ($say "The people moan and crouch together. You really are the hero.\n" ) ($exit 1) ) (IF ($and ($eq @Verb spit) ($eq ($phase) 4)) THEN ($say "The man you spat at grins insanely.\n") ($exit 1) ) (IF ($and ($eq @Verb show) ($eq ($phase) 4)) THEN ($say "They do not seem interested.\n") ($exit 1) ) (IF ($and ($eq @Verb give) ($eq ($phase) 4)) THEN ($say "They do not seem interested.\n") ($exit 1) ) (IF ($eq @Verb break) THEN ($say " You swirl through the room, grabbing pliers and irons, saws and " "knives, cutting fingers and toes, severing limbs like parting a " "birthday-cake. The screaming of the poor people sounds like music " "to you, and soon there is no-one left. Great work.\n" ) ($move [damaged people] limbo) ($move body-parts dungeon) ($move [dead men] dungeon) ($setp dungeon PARTS TRUE) ($setp dungeon DEAD 2) ($exit 1) ) (IF ($or ($eq @Verb touch) ($eq @Verb kiss)) THEN ($say "A pervert, too ! Wounded people, eh ?\n") ($exit 1) ) (IF ($eq @Verb burn) THEN ($say " An exquisite kind of torture, which shows the connoisseur. One of " "them drops dead at once, not even squealing a bit.\n" ) ($setp [damaged people] NUMPEOP ($minus ($prop [damaged people] NUMPEOP) 1) ) (ChkNumber [damaged people]) ($setp dungeon DEAD ($plus ($prop dungeon DEAD) 1)) (ChkRoomCond) ($exit 1) ) (IF ($eq @Verb examine) THEN ($say "They look pretty bad. Someone apparently tortured them.\n" ) ($exit 1) ) (IF ($eq @Verb recruit) THEN ($say "They agree at once, being the happiest damaged people of the world." "\n" ) (SetArmy [damaged people] 1) ($move [damaged people] limbo) ($setg Score ($plus @Score 1)) ($exit 1) ) (IF ($eq @Verb pull) THEN ($say "You pull as hard as you can, until one is dead.\n") ($setp [damaged people] NUMPEOP ($minus ($prop [damaged people] NUMPEOP) 1) ) (ChkNumber [damaged people]) ($setp dungeon DEAD ($plus ($prop dungeon DEAD) 1)) ($setp dungeon PARTS TRUE) (ChkRoomCond) ($exit 1) ) (IF ($eq @Verb torture) THEN ($say "You got it ! After all, that's what they are here for. You torture " "them for a while, until two sign off. Bloody business.\n" ) ($setp [damaged people] NUMPEOP ($minus ($prop [damaged people] NUMPEOP) 2) ) (ChkNumber [damaged people]) ($setp dungeon DEAD ($plus ($prop dungeon DEAD) 2)) ($setp dungeon PARTS TRUE) (ChkRoomCond) ($exit 1) ) ; MESSAGE "body-parts, "; body-parts(NOTAKE) = TRUE; body-parts(LDESC) = ($say "The room is spilled with body-parts.\n"); body-parts(SDESC) = ($say "a lot of body-parts"); body-parts(ACTION) = (IF ($or ($eq @Verb take) ($eq @Verb touch) ($eq @Verb kiss)) THEN ($say "You won't touch that, will you ?\n") ($exit 1) ) ; MESSAGE "dead man, "; dead man(NOTAKE) = TRUE; dead man(LDESC) = ($say "A dead man lies on the ground.\n"); dead man(SDESC) = ($say "a dead man"); dead man(ACTION) = (IF ($or ($eq @Verb take) ($eq @Verb touch) ($eq @Verb kiss)) THEN ($say "That's disgusting !\n") ($exit 1) ) ; MESSAGE "dead men, "; dead men(NOTAKE) = TRUE; dead men(LDESC) = ($say "Some dead men lie on the ground.\n"); dead men(SDESC) = ($say "some dead men"); dead men(ACTION) = (IF ($or ($eq @Verb take) ($eq @Verb touch) ($eq @Verb kiss)) THEN ($say "That's disgusting !\n") ($exit 1) ) ; MESSAGE "guards, "; guards(NUMPEOP) = 67; guards(NOTAKE) = TRUE; guards(LDESC) = ($say " The before mentioned guards are here and there, mostly holding a glass " "of wine or a mug of beer in one hand, some of them singing rude songs " "of unmentionable sexual traits.\n" ) ; guards(SDESC) = ($say "A number of drunken guards.\n"); guards(ACTION) = (IF ($eq @Verb take) THEN (Silly) ($exit 1)) (IF ($eq @Verb examine) THEN ($say "Ever seen real pissed guys ? -- Here they are.\n") ($exit 1) ) (IF ($eq @Verb break) THEN ($say " You grab a guard's weapon and neatly slice his throat, blood " "spilling all over the old man's place. Some of the other guards " "reel by, laughing stupidly. Four of them grab you by the arms " "while another disembowels you slowly and painfully.\n\n" ) (DieAct) ) (IF ($and ($eq @Verb spit) ($eq ($phase) 4)) THEN ($say "\"Whatta you ssthink you dooing 'ere, you stoopissthucker !? Now " "you wetted my yoonoo--yoooo--yoooneeff-- my whole suit, you " "idiot, stoopid, idiot !!\"\n" ) ($exit 1) ) (IF ($eq @Verb turn) THEN ($say "You grab a guard by the shoulders and start spinning him around. " "After three or four turns he falls violently to the ground.\n" ) ($exit 1) ) (IF ($eq @Verb count) THEN ($say " It's a bit difficult, since they are widely spread. Eventually, " "you are finished. " ) ) (IF ($eq @Verb kick) THEN ($say " The guard you kicked looks at you, then at his knee, then at " "you again. Slowly a frown forms on his face. \"You dare kiggin' " "me, sonnavafrigginbitch !?\" He swings his mug at you, dark beer " "sprinkling through the air. \"Kiggin' me, eh, " "frigginsonnavafrigginbitch !?\" Other guards stagger at the two " "of you and drag you away. Then everything becomes black.\n\n" ) (DieAct) ) (IF ($eq @Verb recruit) THEN ($say " It surely needs a while, but after a couple of hours you have " "recruited all of them to the army. Mostly they are not too happy " "about it, but you have full authority granted by the king.\n" ) (SetArmy guards 6) ($move guards limbo) ($setg Score ($plus @Score 1)) ($exit 1) ) (IF ($eq @Verb kiss) THEN ($say "The guard looks at you, real shocked, and slaps you across the " "face.\n" ) ($exit 1) ) (IF ($and ($eq @Verb show) ($eq ($phase) 4)) THEN ($say " Some guards gather together, staring concentratedly at the " "exhibited " ($name @Dobj) ". They put their heads together for " "some seconds, then one steps forward and says: \"Nope.\"\n" ) ($exit 1) ) (IF ($and ($eq @Verb give) ($eq ($phase) 4)) THEN ($say " Dozens of guards run towards you and try to get at the " ($name @Dobj) ". Eventually, as no-one can control himself so much " "as to grab it, you take it back and walk away.\n" ) ($exit 1) ) ; MESSAGE "black rat, "; black rat(SDESC) = ($say "a black rat (") (IF ($pct 50) THEN ($say "sitting on your ") (IF ($pct 50) THEN ($say "shoulder") ELSE ($say "head")) ELSE ($say "crouching in your pocket") ) ($say ")") ; black rat(LDESC) = ($say "In a dark corner, beside a pile of junk, sits a black rat with sparkling " "eyes. The split-second it sees you, it leaps and lands right on your " "sleeve, quickly crawling up to your shoulder.\n" ) ($move [black rat] Me) ($sdem RatDem) ; black rat(ACTION) = (IF ($eq @Verb drop) THEN ($say "You can't. Its claws and teeth are hooked deeply into your " "clothes.\n" ) ($exit 1) ) (IF ($eq @Verb examine) THEN ($say "It's a cute little black rat like the ones you used to dump into " "the moat to feed the giant pikes.\n" ) ($exit 1) ) (IF ($eq @Verb kiss) THEN ($say "Lovely.\n") ($exit 1) ) (IF ($eq @Verb kick) THEN ($say "As the rat hurries along on your body, you kick yourself.\n" ) ($exit 1) ) (IF ($eq @Verb break) THEN ($say "You grab the rat's cuddly head and slowly turn it around until you " "hear a refreshing sharp snap. Should be dead now.\n" ) ($move [black rat] limbo) ($move [dead rat] Me) ($ddem RatDem) ($exit 1) ) (IF ($and ($eq @Verb spit) ($eq ($phase) 4)) THEN ($say "You manage to spit onto your own shoulder.\n") ($exit 1) ) ; MESSAGE "dead rat, "; dead rat(SDESC) = ($say "a dead rat"); dead rat(LDESC) = ($say "There is a dead rat lying on the ground.\n"); dead rat(ACTION) = (IF ($eq @Verb kiss) THEN ($say "You've always been a necrophiliac.\n") ($exit 1) ) (IF ($eq @Verb eat) THEN ($say "Yummy. It tastes just like a good dead rat should taste.\n" ) ($move [dead rat] limbo) ($exit 1) ) ; { The only interesting object, the clay shards object is transformed into the single shard when the player tries to take it. } MESSAGE "clay shards, "; clay shards(NOTAKE) = TRUE; clay shards(ACTION) = (IF ($eq @Verb take) THEN (IF ($eq ($loc [clay shard]) Me) THEN ($say "You already have one, do you remember ?\n") ($exit 1) ELSE ($say "You decide to take just one.\n") ($move [clay shard] Me) ($exit 1) ) ) (IF ($and ($eq @Verb jump) ($eq ($phase) 4)) THEN ($say "It makes a sound like stepping on bugs. Funny.\n") ($exit 1) ) (IF ($eq @Verb break) THEN ($say "Now get a dictionary and look up \"shards\". See what I mean?\n" ) ($exit 1) ) ; { Sneaky: When the single shard is in the same room as the other shards, it is invisible but still there. } MESSAGE "clay shard, "; clay shard(SDESC) = (IF ($ne ($loc [clay shard]) hut1) THEN ($say "a clay shard") ) ; clay shard(LDESC) = (IF ($ne ($loc [clay shard]) hut1) THEN ($say "There is a clay shard here.\n") ) ; { eof objects.adl for D a r k A r m y }