@verb #8054:"@ext" any none none rdo #8054 @program #8054:"@ext" any none none "Copied from Generic player (#6):@extend by Dax (#789) Feb 14 20:24:37 1997" "Allows builders to thaw and extend their objects for a month." if ($command_utils:object_match_failed(dobj, dobjstr)) return elseif ($quota:is_over_quota(this)) player:tell("You cannot extend your objects while you are over quota. You need to reduce or recycle some objects.") return elseif (dobj:isa($player)) player:tell("There's no reason to extend a player.") return elseif (!$perm_utils:controls(this, dobj)) Can_thaw = 0 else Can_thaw = 1 endif exp = time() + dobj.extend_expiry_time if (dobj:_get_solidified() || dobj:_get_petrified()) if (Can_thaw) if ($command_utils:yes_or_no(tostr($string_utils:nn(dobj), " is already permanent; do you wish to thaw it?"))) if (dobj:_get_petrified()) dobj:_set_subsidised(1) else dobj:_set_solidified(0) endif return player:sub_tell("%D (#%D~#) has been thawed.") else return player:sub_tell("%D (#%D~#) is still permanent.") endif else return player:sub_tell("You do not have permission to thaw %d.") endif elseif (dobj.best_before > exp) if (Can_thaw) if (!$command_utils:yes_or_no(tostr($string_utils:nn(dobj), " is currently extended beyond ", $time_utils:english_time($quota:ttl()), ". Do you wish to REDUCE its time to live?"))) return player:sub_tell("%D (#%D~#) is unchanged.") endif else return player:sub_tell("You have no permission to reduce the lifespan of %d") endif endif dobj:_set_best_before(exp) player:sub_tell("%D (#%D~#) has been extended; it will expire %1.", ctime(exp)) "Last modified by Dax (#789) on Sun Jul 28 02:52:55 2002 MDT." .