Constant Story "Beer"; Constant Headline "^Maximilian Kalus' example expanded by DG Ware^"; Release 1; Serial "000001"; Replace Scoresub; Include "Parser"; Include "VerbLib"; Include "Grammar"; [Initialise; location = TheRoom; "^Slowly you awake from your dreams...^^";]; Object TheRoom "The Room" with description "You are in this room, which seems frightfully plain and common." has light; Object -> Stein "Bavarian beer stein" with name "stein" "bavarian" "mug" "beermug" "jug" "jar" "glass" "tumbler" "beaker" "cup", description [; if (beer.swigsleft==4) "Your basic Oktoberfest beer mug, currently holding two liters of strong beer at its best."; if (beer.swigsleft==3) "Your basic Oktoberfest beer mug, currently holding 1.5 liters of strong beer at its best."; if (beer.swigsleft==2) "Your basic Oktoberfest beer mug, currently holding 1 liter of strong beer at its best."; if (beer.swigsleft==1) "Your basic Oktoberfest beer mug, currently holding 1/2 liter of strong beer at its best."; "Your basic Oktoberfest beer mug, currently empty.";], before [; fill: if (beer.swigsleft >0) "You still have some beer left in the stein."; beer.swigsleft=4; "You refill the stein.";], has open container ; Object -> -> Beer "Beer" with name 'beer' 'ale' 'liquid' 'brew', article "a qty of", swigsleft 4, description [; if (self.swigsleft >0) "Some of the finest brew that Munich has to offer."; "What beer? You've drunk it all.";], before [; drink: if (self.swigsleft==0) "The beer is gone."; if (self.swigsleft==1) {self.swigsleft--; "You finish off the beer.";} self.swigsleft--; "You take a long swig of the cold beer.^ You have ",self.swigsleft," swigs left.";], ; [ScoreSub; "There is absolutely NO score in this game.";]; verb 'refill' = 'fill';