@verb #9920:"title titlec @morph*me @mood" any any any rxdo #9920 @program #9920:"title titlec @morph*me @mood" any any any "Copied from Yolanda (#9667):@morph Oct 5 19:16:49 2001" "Copied from Cecil (#7407):@morph Jul 2 14:52:45 2001" `this.morph ! E_PROPNF => add_property(this, "morph", this.name, {this, "rc"})' `this.old_morph ! E_PROPNF => add_property(this, "old_morph", this.name, {this, "rc"})' `this.mood ! E_PROPNF => add_property(this, "mood", "", {this, "rc"})' if (verb[1] == "t") if (typeof(extra = `this:extratitle() ! ANY => 0') == $STR && extra) return extra endif return this.morph && typeof(name = this.morph) == $STR ? this.mood ? tostr(name, " (", this.mood, ")") | name | (this.morph = this.name) elseif (verb == "@mood") if (callers() && !$perm_utils:controls(caller_perms(), this)) raise(E_PERM) endif callers() && (argstr = tostr(@args)) if (!argstr) player:tell("Your mood is: ", this.mood) player:tell("To delete your @mood, type \"@mood delete\"") elseif (argstr == "delete") this.mood = "" player:tell("You have deleted your mood.") else this.mood = argstr player:tell("You become ", this.mood) this.location:Announce_All_but({this}, this:title() + " becomes " + this.mood) endif else if (callers() && !$perm_utils:controls(caller_perms(), this)) return E_PERM endif callers() && (argstr = tostr(@args)) quiet = 0 index(argstr, "-quiet") == 1 || index(argstr, " -quiet") && (quiet = 1) if (index(argstr, "-name=\"")) name = argstr[(i = index(argstr, "-name=\"")) + 7..index(argstr[i + 7..$], "\"") + i + 5 || length(argstr)] elseif (index(argstr, "-last")) name = this.old_morph elseif (index(argstr, "-norm") || argstr == "delete") name = this.name elseif (!quiet && argstr) name = argstr else name = $cmd_utils:read("a new name") endif this.old_morph = this.morph this.morph = name player:tell("You have morphed into ", this:title()) !quiet && this:sub_announce((msg = `this:msg_omorph() ! E_PROPNF => 0') ? msg | "%1 has morphed into %2", this.old_morph, this:title()) endif "Last modified by Dax (#789) on Tue May 3 14:03:30 2005 MDT." .