@verb #7113:"@fextend" any none none rdo #7113 @program #7113:"@fextend" any none none "Copied from Generic player (#6):@extend by Dax (#789) Apr 9 20:01:24 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 Thu Nov 8 15:28:59 2001 MST." .