@verb #1271:"home recall" none none none rxdo #1271 @program #1271:"home recall" none none none "Copied from Generic Player (#12):home by Slacker (#55) Sep 5 01:48:16 2002" if (valid(caller_perms()) && caller != this && !caller_perms().wizard) return elseif (this.location == this.home) return player:tell("You're already there!") elseif (this:contains(this.home)) return player:tell("You're holding your home! Put it down somewhere!") elseif (!`this.home:accept_for_abode(this) ! ANY => 0') player:tell("Your home ", this.home:nn(), " doesn't seem to want you.") this.home = $player_start endif player:tell(player:msg_gohome()) old_loc = this.location dobjstr = tostr(dobj = this) iobjstr = tostr(iobj = this.home) if (old_loc != $player_start && old_loc != iobj) fork t (3) if (this.location == old_loc && $object_utils:isa(this.home, $room) && this.home:accept_for_abode(this)) this:tell("Hmm... It seems you can't get home.") if (this.anchor != this.location) this:moveto(this.home) old_loc:sub_announce(this:msg_odepart()) $msg:mtell(this, "arrive_quack", old_loc) endif endif endfork else t = 0 endif "Changed from _move!_obj to avoid VVers fleeing from @summon's" this:_move_obj(dobj, iobjstr) if (t && (this.location == $player_start || this.location == iobj)) `kill_task(t) ! E_INVARG => "Oh. Oops."' endif .