Include "Grammar"; ! ------------------------------------------------------------------------------ [ OffSub; if (brass_lantern notin player) "You have no lamp."; <>; ]; [ OnSub; if (brass_lantern notin player) "You have no lamp."; <>; ]; Verb 'off' * -> Off; Verb 'on' * -> On; ! ------------------------------------------------------------------------------ [ CatchSub; "You can't catch ", (the) noun, "."; ]; [ ReleaseSub; "You can't release ", (the) noun, "."; ]; Verb 'catch' 'capture' * creature -> Catch * creature 'with' held -> Catch; Verb 'release' 'free' * creature -> Release; ! ------------------------------------------------------------------------------ [ WaterSub; if (bottle in player) <>; "Water? What water?"; ]; [ OilSub; if (bottle in player) <>; "Oil? What oil?"; ]; Verb 'water' * noun -> Water; Verb 'oil' 'grease' 'lubricate' * noun -> Oil; Verb 'pour' 'douse' * 'water' 'on' noun -> Water * 'oil' 'on' noun -> Oil * noun -> Empty; ! ------------------------------------------------------------------------------ [ BlastSub; if (location ~= At_Sw_End or At_Ne_End) "Frustrating, isn't it?"; if (location == At_Sw_End && parent(black_mark_rod) == At_Ne_End) { score = score + 35; deadflag = 2; "There is a loud explosion, and a twenty-foot hole appears in the far wall, burying the dwarves in the rubble. You march through the hole and find yourself in the main office, where a cheering band of friendly elves carry the conquering adventurer off into the sunset."; } if (location == At_Ne_End && parent(black_mark_rod) == At_Sw_End) { score = score + 20; deadflag = 1; "There is a loud explosion, and a twenty-foot hole appears in the far wall, burying the snakes in the rubble. A river of molten lava pours in through the hole, destroying everything in its path, including you!"; } deadflag = 1; "There is a loud explosion, and you are suddenly splashed across the walls of the room."; ]; [ BlastWithSub; if (second ~= black_mark_rod) "Blasting requires dynamite."; "Been eating those funny brownies again?"; ]; Verb 'blast' * -> Blast * noun 'with' held -> BlastWith; ! ------------------------------------------------------------------------------ [ XyzzySub; "Nothing happens."; ]; [ PlughSub; "Nothing happens."; ]; [ PloverSub; "Nothing happens."; ]; [ FeeSub; FthingSub(0); ]; [ FieSub; FthingSub(1); ]; [ FoeSub; FthingSub(2); ]; [ FooSub; FthingSub(3); ]; [ FthingSub i; if (feefie_count ~= i) { feefie_count = 0; "Get it right, dummy!"; } if (feefie_count++ == 3) { feefie_count = 0; if (golden_eggs in In_Giant_Room) "Nothing happens."; if ((golden_eggs in player) || (golden_eggs in location)) print "The nest of golden eggs has vanished!^"; else print "Done!"; if (golden_eggs in player) score = score - 5; if (golden_eggs in Inside_Building) score = score - golden_eggs.depositpoints; move golden_eggs to In_Giant_Room; if (location == In_Giant_Room) "^^A large nest full of golden eggs suddenly appears out of nowhere!"; } else "Ok."; ]; [ OldMagicSub; "Good try, but that is an old worn-out magic word."; ]; Verb 'xyzzy' * -> Xyzzy; Verb 'plugh' * -> Plugh; Verb 'plover' * -> Plover; Verb 'fee' * -> Fee; Verb 'fie' * -> Fie; Verb 'foe' * -> Foe; Verb 'foo' * -> Foo; Verb 'sesame' 'shazam' 'hocus' 'abracadabra' 'foobar' 'open-sesame' 'frotz' * -> OldMagic; Extend 'say' first * 'blast' -> Blast * 'xyzzy' -> Xyzzy * 'plugh' -> Plugh * 'plover' -> Plover * 'fee' -> Fee * 'fie' -> Fie * 'foe' -> Foe * 'foo' -> Foo * 'sesame'/'shazam'/'hocus'/'abracadabra'/'foobar'/'open-sesame'/'frotz' -> OldMagic; ! ------------------------------------------------------------------------------ [ CountSub; if (noun has multitude) "There are a multitude."; "I see one (1) ", (name) noun, "."; ]; [ KickSub; <>; ]; ! For kicking dwarves [ UseSub; "You'll have to be a bit more explicit than that."; ]; Verb 'count' * noun -> Count; Verb 'kick' * noun -> Kick; Verb 'use' * -> Use;