@verb #136:":move" this none this rxdo #8084 @program #136:":move" this none this "Copied from Generic Exit (#7):move by Slacker (#55)Mar 6 11:52:18 2001" {iobj, dobj} = {this->dest, @args} if (!dobj.location:is_exit(this)) raise(E_INVIND, "Exit is not a valid exit from the room.") endif if (!(retval = `dobj:moveable(iobj) ! ANY')) return $msg:mtell("stubborn", iobj.location, retval || "Object refuses to move.") elseif (!(retval = ``iobj:acceptable(dobj) ! ANY => iobj:accept(dobj)' ! ANY') && (is_player(dobj) ? !dobj:controls(iobj) | !dobj.owner:controls(iobj))) return $msg:mtell("bounced") elseif (!this->is_unlocked_for(dobj)) return $msg:mtell("nogo") elseif (!$perm_utils:can_hack() && !this->can_invoke(caller_perms(), caller, dobj)) raise(E_PERM, ":move cannot be called by whomever tried to.") endif $msg:mtell(dobj, "leave", dobj) error = `dobj:moveto(iobj) ! ANY' if (dobj.location == iobj) $msg:mtell(dobj, "arrive", dobj) elseif (typeof(error) == $ERR) try raise(error) except (E_NACC) $msg:mtell("bounced", this->location) except (E_RANGE) $msg:mtell("move2far", this->location) except (E_RECMOVE) $msg:mtell("topology", this->location) except (ANY) $msg:mtell("stubborn", this->location, error) endtry else "Quack?" valid(dobj.location) && $msg:lmtell({dobj}, {this->location}, {dobj, "msg_arrive_quack"}, "msg_oarrive_quack") $msg:mtell("deflected", this->location) endif "Last modified by Dax (#789) on Tue May 3 13:45:57 2005 MDT." .