A routine: proc _bridgene(): if troll.LONG = trolll1 then output troll1; elif _trollflag = 0 then output troll2; troll.LONG := trolll1; elif _bearfollowing then output "Just as you reach the other side, the bridge buckles beneath" " the weight of the bear, who was still following you around." " You scrabble desperately for support, but as the bridge collapses" " you stumble back and fall into the chasm.%n%n"; note.LONG := notl3; _bearfollowing := false; _chasmsw.CONTENTS <- troll; _chasmsw -- MESSAGE; _breakneck(); else _move(_chasmsw); fi; corp; A room: thing _building: LIGHT, WATER, SHORT "You're inside building,", LONG "You are inside a building, a well house for a large spring.", CONTENTS (keys, lamp, food, bottle), VISIT 1, west _start, downstream _stream1, enter _start, exit _start; A verb: verb (dip, immerse): noun INTRANS: if quill in _carrying then _noun := quill; _goflag := true; fi; noun quill: if not quill in _carrying then output ARENT; elif _loc ~= _square or desk.LONG ~= deskl3 then output "There is nothing to dip it in.%n%n"; else output "The tip of the feather is full of ink.%n%n"; quill.SHORT := quills2; quill.LONG := quilll2; fi; noun *: output "Don't be ridiculous!%n%n";