@verb #3873:"@mode*s @flag*s" any any any rxdo #9131 @program #3873:"@mode*s @flag*s" any any any "@flags/@modes dobj" " displays a list of flags or modes on dobj." "@flags/@modes dobj.flag/mode name" " toggles flag/mode on or off" dobjs = {$iso, $phobias, $madness} isflags = verb[1..5] == "@flag" cp = callers() ? caller_perms() | player if (!(cp in this.residents)) raise(E_PERM) elseif (!argstr) return player:tell("Need an object to display.") endif if (index(argstr, ".") && (x = $code_utils:parse_propref(argstr))) dobj = player:my_match_object(x[1]) argstr = x[2] else dobj = player:my_match_object(argstr) endif if (!$recycler:valid(dobj)) return player:tell("Invalid Object: ", dobj) elseif (!(dobj in dobjs)) return player:tell("You can only edit the flags on ", $su:nn_list(dobjs)) elseif (isflags && !dobj:has_property("flags_valid") || (!isflags && !dobj:has_property("modes_valid"))) return player:tell("Object ", $su:nn(dobj), " doesn't have any ", isflags ? "flags." | "modes.") endif modes = flags = {} isflags ? flags = dobj.flags_valid | (modes = dobj.modes_valid) if (!(argstr in modes) && !(argstr in flags)) player:tell(isflags ? "FLAGS:" | "MODES:") for x in (isflags ? flags | modes) info = isflags ? tostr(x in dobj.flags ? "* " | " ", x) | tostr(dobj.mode == x ? "* " | " ", x) player:tell(info) endfor return elseif (argstr in modes) dobj.mode = argstr player:tell("Mode is now: ", argstr) else if (x = argstr in dobj.flags) dobj.flags = setremove(dobj.flags, argstr) else dobj.flags = {@dobj.flags, argstr} endif player:tell("Flag ", argstr, " now ", x ? "OFF" | "ON") endif "Last modified by Eve (#2633) on Mon Oct 16 19:19:57 2000 MDT." .