Method code for $root.format_descendants()

[Turn off line numbering]
  1: arg ind, done, depth, max, yes, no, above;
  2: var c, anc, list, id, perms, f, show, myflags;
  3: 
  4: myflags = .flags();
  5: show = 1;
  6: if (yes) {
  7:     for f in (yes) {
  8:         if (!(f in myflags)) {
  9:             show = 0;
 10:             break;
 11:         }
 12:     }
 13: }
 14: if (no) {
 15:     for f in (myflags) {
 16:         if (f in no) {
 17:             show = 0;
 18:             break;
 19:         }
 20:     }
 21: }
 22: if (show) {
 23:     id = ind + this() + " " + $object_lib.see_perms(this());
 24:     for anc in (dict_keys(done)) {
 25:         if (has_ancestor(anc))
 26:             return above ? [id + " (ABOVE)"] : [];
 27:     }
 28:     if (listlen(parents()) > 1)
 29:         id += " (MI)";
 30:     list = [id];
 31: } else {
 32:     list = [];
 33: }
 34: ind += "  ";
 35: depth++;
 36: 
 37: // check children
 38: if (!max || max != depth) {
 39:     for c in (children()) {
 40:         list += c.format_descendants(ind, done, depth, max, yes, no, above);
 41:         done = dict_add(done, c, 1);
 42:         pause();
 43:     }
 44: }
 45: return list;

["// Created as a part of ColdCore, see: @help Credit"]

the Cold Dark