/* Released into the public domain Jan 2002 by Noah Gibbs. Everything in this file is in the public domain, and is released without warranty, guarantee, or even the implication of marketability or fitness for a particular purpose. If you start a war in Asia with this, don't come crying to me. */ #include <phantasmal/lpc_names.h> #include <type.h> #include <status.h> inherit ISSUE_LWO; int* children; int marked; static void create(varargs int clone) { ::create(clone); } /* This must be passed the owner string, the path to the object (not object itself, you can't for a lib), the index returned by status(), an array called inherited of issue LWOs and names (for objects with no current issue), and the previous issue, if any, of this object. */ void set_vals(string owner, string path, int index, mixed* inherited, string* depends_on, int prev) { mixed* inherit_from; int ctr, tmp_index; object issue; inherit_from = inherited[..]; children = ({ }); marked = 0; ::set_vals(index, owner, path, inherit_from, depends_on, prev); } void add_child(int child) { children += ({ child }); } void remove_child(int child) { int ctr; for(ctr = 0; ctr < sizeof(children); ctr++) { if(child == children[ctr]) { children = children[..ctr-1] + children[ctr+1..]; return; } } error("Couldn't remove child #" + child + " from " + ob_name + " issue " + index); } int* get_children(void) { return children; } void clear_children(void) { children = ({ }); }