Inside HotRoom "Hot Room" with name "hot" "room", description "Fear grips you as you enter this hot room. This is a long north-south passage. A pair of reptilian eyes peer out of the darkness beyond an archway at the north end of the passage. A large wooden chest bound with iron stands against the east wall.", before [; Smell: if (noun == nothing) "Burning sulfur."; ], s_to [; Dragon.power = 0; return ColdRoom; ], n_to [; deadflag = 1; "You step past the archway and face a none-too-happy dragon. Flames shoot from the dragon's mouth and engulf your body. You pay for your curiosity with your life."; ], cant_go "You can only go north or south."; Object -> HotArch "archway" with name "archway" "arch", description "Its underside it stained with soot.", has scenery; ! This code is rather clunky, but does work as intended. ! ! Player has three moves to do anything. Not even "TAKE ALL" will ! thwart this rule. However, the player can exit the room and reenter, ! just like in the original game. Object -> DragonEyes "eyes" with name "eye" "eyes", description "The dragon's eyes are yellow with vertical-slit pupils. They are focused intently on you.", before [; Smell: <>; ], has scenery; Object -> Dragon "hall dragon" with name "hall" "dragon", short_name "hall dragon", power 0, before [; Examine, Smell: if (self in player) { "How did you manage to pick up this dragon? The Implementors aren't going to like this."; } if (verb_word == 'smell') { "The dragon smells of burning sulfur."; } "All you can see are two burning eyes peering out of the darkness."; ], react_after [; self.blast(); ], blast [; if (self.power < 2) { self.power++; rtrue; } if (Shield notin player) { deadflag = 1; "^WOOOOOSH!!!! A jet of flame shoots out from beyond the archway. Dragon flame engulfs your body. You pay for your curiosity with your life.^"; } switch (self.power++) { 2: "^WOOOOOSH!!!! A jet of flame shoots out from beyond the archway. You grab and raise the shield just in time to block the dragon flame."; 3: "^Again flame spews forth. You use the shield for protection. The shield is getting warm.^"; 4: "^Again flame spews forth. You use the shield for protection. The shield is getting intolerably hot. You don't know how much longer you can stand it.^"; 5: deadflag = 1; "^The shield melts under the intensity of the dragon flame. Your body fares no better. Not even your best friend could recognize your burning body.^ ^ Dragon flame engulfs your body. You pay for your curiosity with your life.^"; 6: "You should not have survived that blast. There is a serious bug in hotroom.inf.^"; } rtrue; ], has animate scenery; UnlitTorch ->; Object -> Shield "shield" with name "shield", description "It's a heavy shield. There are only a few dents in it.", after [; Take: if (self hasnt general) { give self general; move self to player; rtrue; } ]; Object -> Helmet "helmet" with name "helmet" "helm", description "This seems to be a helmet of the sort commonly worn by hobgoblins.", has clothing; Object -> Bone "bone" with name "bone", description "This bone has been picked clean.", has float; Object -> Hammer "hammer" with name "hammer", description "It's an ancient dwarvish war hammer. This weapon does not show the signs of battle."; Object -> Spear "spear" with name "spear", description "This spear is some seven feet long. The tip seems to be made of finely forged silver."; Skull -> DriedSkull "dried skull" with name "dried", description "It seems to be the skull of some unfortunate individual. It looks like it has been dried and cracked by extreme heat."; Object -> DummyChest "iron-bound chest" with name "chest" "iron" "bound" "iron-bound", description "This is an extremely heavy iron-bound chest.", before [; Transfer, Take: "The chest is far too heavy to move."; ], has container openable lockable locked;