View/Edit #3873:@mode*s @flag*s

Switch to edit mode.

Name(s): @mode*s @flag*s
1:  "@flags/@modes dobj"
2:  "  displays a list of flags or modes on dobj."
3:  "@flags/@modes dobj.flag/mode name"
4:  "  toggles flag/mode on or off"
5:  dobjs = {$iso, $phobias, $madness}
6:  isflags = verb[1..5] == "@flag"
7:  cp = callers() ? caller_perms() | player
8:  if (!(cp in this.residents))
9:    raise(E_PERM)
10: elseif (!argstr)
11:   return player:tell("Need an object to display.")
12: endif
13: if (index(argstr, ".") && (x = $code_utils:parse_propref(argstr)))
14:   dobj = player:my_match_object(x[1])
15:   argstr = x[2]
16: else
17:   dobj = player:my_match_object(argstr)
18: endif
19: if (!$recycler:valid(dobj))
20:   return player:tell("Invalid Object: ", dobj)
21: elseif (!(dobj in dobjs))
22:   return player:tell("You can only edit the flags on ", $su:nn_list(dobjs))
23: elseif (isflags && !dobj:has_property("flags_valid") || (!isflags && !dobj:has_property("modes_valid")))
24:   return player:tell("Object ", $su:nn(dobj), " doesn't have any ", isflags ? "flags." | "modes.")
25: endif
26: modes = flags = {}
27: isflags ? flags = dobj.flags_valid | (modes = dobj.modes_valid)
28: if (!(argstr in modes) && !(argstr in flags))
29:   player:tell(isflags ? "FLAGS:" | "MODES:")
30:   for x in (isflags ? flags | modes)
31:     info = isflags ? tostr(x in dobj.flags ? "* " | "  ", x) | tostr(dobj.mode == x ? "* " | "  ", x)
32:     player:tell(info)
33:   endfor
34:   return
35: elseif (argstr in modes)
36:   dobj.mode = argstr
37:   player:tell("Mode is now: ", argstr)
38: else
39:   if (x = argstr in dobj.flags)
40:     dobj.flags = setremove(dobj.flags, argstr)
41:   else
42:     dobj.flags = {@dobj.flags, argstr}
43:   endif
44:   player:tell("Flag ", argstr, " now ", x ? "OFF" | "ON")
45: endif
46: "Last modified by Eve (#2633) on Mon Oct 16 19:19:57 2000 MDT."

Verb arguments: any any any
Verb perms: Readable eXecutable NOT-Debug
Verb owned by: Samson (#9131)

You are not logged in.

[home | help | who | search | setup | code]