Room In_Secret_Canyon "Secret Canyon" with name 'secret' 'canyon', description "You are in a secret canyon which exits to the north and east.", e_to [; if (canyon_from == In_Secret_E_W_Canyon) return canyon_from; if (Dragon in location) "The dragon looks rather nasty. You'd best not try to get by."; return In_Secret_E_W_Canyon; ], n_to [; if (canyon_from == In_Secret_N_S_Canyon_0) return canyon_from; if (Dragon in location) "The dragon looks rather nasty. You'd best not try to get by."; return In_Secret_N_S_Canyon_0; ], out_to [; return canyon_from; ], before [; if (action == ##Yes && Dragon.is_being_attacked) { remove Dragon; move DragonCorpse to location; Dragon.is_being_attacked = false; "Congratulations! You have just vanquished a dragon with your bare hands! (Unbelievable, isn't it?)"; } if (action == ##No && Dragon.is_being_attacked) { Dragon.is_being_attacked = false; "I should think not."; } Dragon.is_being_attacked = false; ]; Object -> Dragon "dragon" with name 'dragon' 'monster' 'beast' 'lizard' 'huge' 'green' 'fierce' 'scaly' 'giant' 'ferocious', description "I wouldn't mess with it if I were you.", initial "A huge green fierce dragon bars the way!", life [; Attack: self.is_being_attacked = true; "With what? Your bare hands?"; Give: "The dragon is implacable."; ThrowAt: if (noun ~= axe) "You'd probably be better off using your bare hands than that thing!"; move axe to location; "The axe bounces harmlessly off the dragon's thick scales."; ], is_being_attacked false, has animate; Treasure -> "Persian rug" with name 'rug' 'persian' 'persian' 'fine' 'finest' 'dragon^s', describe [; if (Dragon in location) "The dragon is sprawled out on the Persian rug!"; "The Persian rug is spread out on the floor here."; ], before [; Take: if (Dragon in location) "You'll need to get the dragon to move first!"; ], depositpoints 14; Object DragonCorpse "dragon's body" with name 'dragon' 'corpse' 'dead' 'dragon^s' 'body', initial "The body of a huge green dead dragon is lying off to one side.", before [; Attack: "You've already done enough damage!"; ], has static;