/* Do not remove the headers from this file! see /USAGE for more info. */ /* ** base_obj.c -- base for the object classes ** ** This is an object with the very most basic features. It shouldn't be ** used directly. Use OBJ (and its subclasses) or use add_item() in the ** M_ITEMS module (typically in a ROOM or NON_ROOM). ** ** 960121, Deathblade: created */ inherit M_GRAMMAR; inherit __DIR__ "object/names"; inherit __DIR__ "object/description"; inherit __DIR__ "object/flags"; inherit __DIR__ "object/non_object"; inherit __DIR__ "object/vsupport"; inherit __DIR__ "object/attributes"; void create() { names::create(); flags::create(); } //:FUNCTION stat_me //return some debugging info about the state of the object string stat_me() { return "Short: "+short()+"\n" + "IDs: "+implode(parse_command_id_list(),", ")+"\n" + "Plurals: "+implode(parse_command_plural_id_list(),", ")+"\n" + "Adjectives: "+implode(parse_command_adjectiv_id_list(),", ")+"\n" + "Long: \n"+long() + "\n"; } /* ** Add some very basic functionality. Heavier weight objects will most ** likely override these and supply "real" functionality. */ int is_visible() { return 1; } //### explain this comment. // Here on purpose. varargs mixed call_hooks(mixed s ...) { } /* need a set_light() for remove() */ void set_light(int x) { }