Constant Story "Sploosh!!"; Constant Headline "^An Interactive Mess^ ^Originally written by Emily Short ^and modifed by Al Golden on 12/30/2005^"; Constant DEBUG; Include "Parser"; Include "Aqua"; Include "Verblib"; Class Room, has light; [Initialise; location = Lab; move water to LJar; move sponge to player; move wine to bottle; move LeakCont to table; Water_Init();]; Room Lab "Laboratory", with description [; "A long, somewhat dilapidated room in which you and your colleagues have taken to brewing up all sorts of strange materials. High windows give a vague, watery light. Along each wall are charts of chemical interactions, recipes for soups, lists of specific gravities, and so on.";], cant_go "You have no place to go sincer there are ABSOLUTELY NO EXITS!", as light; Object -> Windows "windows" with name 'windows', article "several", description "Though they haven't been cleaned in ages, they still let in the outside ambient light.", before [; open,close: "They're too high up for you to reach and you've got NO ladder."; take: "Don't be ridiculous!"; Search: "All you can see is the light from outside.";], has static scenery pluralname ; Object -> Charts "charts" with name 'charts' 'diagrams', article "many", description "The charts are neatly placed on the walls surrounding the work area.", has static scenery pluralname ; Object -> InfDitch "very deep ditch" with initial [; "A very deep ditch runs along one side of the room.";], name "very" "deep" "ditch", leak_cap [; !Whatever its apparent size, it will keep on accepting liquids !virtually forever. return 10000;], has container static open ; Object -> table "table" with name "table", before [; take,push,pull,turn: "The table is too big and heavy for you to do that."; enter: "You'd feel very foolish if you tried to ",(address)verb_word," on the table.";], has scenery supporter ; Object -> -> LJar "large jar" with name "large" "jar", has container open ; Object -> -> bottle "bottle" with name "bottle", has container ~open openable transparent; Leaky ->-> basin "cracked basin" with name "cracked" "basin", drip 50, has open ~openable; Object rubber_duck "rubber duck" Lab with name "rubber" "duck" "yellow" "adorable", describe [; if (self has floating) "^Your beloved rubber duck floats to and fro."; "^Your beloved rubber duck lies discarded at your feet.";], description [; "An adorable rubber duck that has somehow managed to avoid being plunged into a vat of acid. So far, anyway.";], has floater; Liquid Water "water", with spec_name "water", number 5000, name "water", description "Good cool clear clean water.", react_before [; swim: "It would be a cold and unwelcoming swim.";], before [; taste: "It tastes cool and bracing, with the slight mineral tang peculiar to this area.";], has edible transparent ; Liquid Wine "wine", with name "wine", spec_name "wine", mixtaste [ other; switch(other){ water: "The wine is dominant over the water, but the water is still definitely there. Stuff for children. You swallow resentfully."; }], has edible; Leaky LeakCont "leaky container", with name "leaky" "container", leak_cap [;return 200;], has open ~openable ; Absorbent sponge "sponge", with name "sponge", size 1, description [; print "A sea sponge, sized and rounded like an apple. It is currently "; if (self has wet) "sopping wet."; if (self has general) "slightly damp."; "bone dry.";], after [; douse: give self general; rfalse;], ; Include "Grammar"; Extend 'squeeze' * noun 'into'/'in'/'on'/'onto'/'over' noun -> SqueezeInto;