#include "boot.clh" object CONTAINER parents THING; name = "Generic Container"; verb "put place insert" : "in into" = put_in; verb "get remove take" : "from in" = remove_from; verb "l*ook" : "in into inside" = look_in; method init if (this == CONTAINER) this.add_owner(WIZARD); endif pass(); endmethod /* init */ method accept return pass(args[1]) to LOCATED_OBJ; endmethod method put_in var what; if (!this.match(args[4])) return 1; endif what = player.match_contents(args[2]); if (!what) player.tell("You don't have that."); elseif (what.moveto(this)) /* SSPOT */ player.tell("You put " + what.name + " into " + this.name + "."); else player.tell("You can't put " + what.name + " into " + this.name + "."); endif endmethod /* put_in */ method remove_from /* verb */ var what; if (!this.match(args[4])) return 1; endif what = this.match_contents(args[2]); /* SSPOT */ if (!what) player.tell("That object is not inside " + this.name + "."); elseif (what.moveto(player)) player.tell("You remove " + what.name + " from " + this.name + "."); else player.tell("You can't remove that."); endif endmethod /* remove_from verb */ method look /* verb */ var thing; pass() to DESCRIBED_OBJ; if (this.contents) player.tell("Containing:"); for thing in (this.contents) player.tell(" " + thing.name); endfor endif endmethod /* look */ method look_in var thing; if (!this.match(args[4])) return 1; endif if (contents) player.tell("Inside " + name + " you see:"); for thing in (contents) player.tell(" " + thing.name); endfor else player.tell("You see nothing inside " + name + "."); endif endmethod /* look_in */ endobject /* CONTAINER */