@verb #7214:"do_breakdown" this none this rxd #7214 @program #7214:"do_breakdown" this none this dobj = args[1] who = valid(caller_perms()) ? caller_perms() | player if (!(who == this.owner || who:controls(dobj))) return E_PERM endif props = $object_utils:all_properties(dobj) "grand_total = obj_over = this:object_overhead_bytes(dobj);" grand_total = obj_over = 13 * 4 + length(dobj.name) + 1 output = {tostr("Object overhead: ", obj_over)} if (props) total = 0 lines = {} output = {@output, "Properties, defined and inherited, sorted by size:"} for x in (props) if (!`is_clear_property(dobj, x) ! ANY => 1') size = value_bytes(dobj.(x)) total = total + size if (size) lines = {@lines, {x, size}} endif endif endfor lines = $list_utils:reverse($list_utils:sort_suspended(lines, $list_utils:slice(lines, 2))) for x in (lines) text = tostr(" ", x[1], ": ", x[2]) output = {@output, text} endfor output = {@output, tostr("Total size of properties: ", total)} grand_total = grand_total + total endif prop_over = value_bytes(properties(dobj)) - 4 + length(props) * 4 * 4 output = {@output, tostr("Property overhead: ", prop_over)} grand_total = grand_total + prop_over if (verbs(dobj)) output = {@output, "Verbs, sorted by size:"} total = 0 lines = {} for x in [1..length(verbs(dobj))] vname = verb_info(dobj, x)[3] size = value_bytes(verb_code(dobj, x, 0, 0)) + length(vname) + 1 total = total + size lines = {@lines, {vname, size}} endfor lines = $list_utils:reverse($list_utils:sort_suspended(lines, $list_utils:slice(lines, 2))) for x in (lines) text = tostr(" ", x[1], ": ", x[2]) output = {@output, text} endfor output = {@output, tostr("Total size of verbs: ", total)} grand_total = grand_total + total verb_over = length(verbs(dobj)) * 5 * 4 output = {@output, tostr("Verb overhead: ", verb_over)} grand_total = grand_total + verb_over endif output = {@output, tostr("Grand total: ", grand_total)} return output "Last modified by JS (#7214) on Sun Aug 18 21:54:15 2002 MDT." .