@create $thing named Generic Sittable Object:Generic Sittable Object @prop "Generic Sittable"."copyright" "Generic Sittable written by Gary_Severn@LambdaMOO Spring 91, hacked by yduJ@LambdaMOO various later times" @prop "Generic Sittable Object"."sitting" {} r @verb "Generic Sittable Object":"sweep" this none this @program "Generic Sittable Object":sweep for foo in (this.sitting) if ((!valid(foo)) || (foo.location != this.location)) this.sitting = setremove(this.sitting, foo); endif endfor . @verb "Generic Sittable Object":"tell" this none this @program "Generic Sittable Object":tell this:sweep(); . @verb "Generic Sittable Object":"set_sitting" this none this @program "Generic Sittable Object":set_sitting this.sitting = args[1]; . @verb "Generic Sittable Object":"sitting_string" this none this @program "Generic Sittable Object":sitting_string verbing = (args ? args[1] | "sitting"); if (player in this.sitting) others = listdelete(this.sitting, player in this.sitting); you = 1; else others = this.sitting; you = 0; endif themstr = $string_utils:english_list($list_utils:map_prop(others, "name")); return this.sitting ? (you ? (((" You are " + verbing) + " on the ") + this.name) + (others ? " along with " + themstr | "") | (((((" You see " + themstr) + " ") + verbing) + " on the ") + this.name)) + "." | ((" The " + this.name) + " is invitingly empty."); .