Proposal: The Monkey Tree, take two
Timed out. Fails 2-4—Clucky
Adminned at 08 Aug 2007 13:06:18 UTC
Reword the rule “Status” to read:
Each Monkey has a Status tracked in the GDNT which is either In Line, In the Barrel or In the Tree. The default status is In the Line. As a daily action, any Monkey may change their status to any of the allowed statuses.
Add the following sentences to the end of the Rule “The Monkey Line”:
Only Monkeys whose status is set to In Line are considered to be in the Monkey Line. If a Monkey’s status changes to something other than In Line, they are removed from the Monkey Line and may not be added back until their status changes back to In Line.
Add a rule called “The Monkey Tree” with the following text:
The Monkey Tree is an endless tree made of Nodes, each of which can be termed a Root, a Junction, or a Leaf. The Nodes may each contain zero or more Monkeys. No Monkey may occupy more than one Node of the tree at a time. The Monkey Tree is tracked on the wiki page called “Monkey Dynasty Gamestate Documents”.
There is one Node of the Monkey Tree which is known as the Root. The Root is always a part of the Monkey Tree. If the Root contains no Monkeys, the tree is Empty, and the Root contains no Branches. If the Root contains any Monkeys, than it has two Branches; a Left Branch and a Right Branch. Each of these Branches contains one Node.
All other Nodes in the tree are either referred to as Junctions or Leaves. Every Junction contains two Branches; a Left Branch, and a Right Branch. Each of these Branches contains one Node.
If a Leaf has any Monkeys in it, it becomes a Junction. If a Junction contains no Monkeys, and neither of the Nodes in its Branches are Junctions, it becomes a Leaf, and the Nodes that were formerly in its Branches are no longer considered to be part of the tree. If a Junction or the Root contains no Monkeys, but one or both of the Nodes in its Branches are Junctions, than any Monkey may move either the Monkey in the Node in the Junction’s Left Branch or the Monkey in the Node in the Junction’s Right Branch into the Junction.
If a Junction or the Root ever contains more than one Monkey, than any Monkey may move one of the Monkeys in that Junction or Root to either the Node in that Junction or Root’s Left Branch, or the Node in that Junction or Root’s Right Branch, by following the instructions in this rule’s subrule “Tree Ordering”. If there are no instructions listed in “Tree Ordering” or none of the instructions listed apply to the Monkeys in the Junction or Root, than the Monkey doing the moving may move any one of the Monkeys in the Junction or Root to either of the Nodes in its Branches.
Only Monkeys whose status is set to In the Tree are considered to be in the Monkey Tree. Whenever a Monkey’s status is changed to “In the Tree”, they move into the Root of the tree. If a Monkey’s status changes to something other than In the Tree, they are removed from the Monkey Tree, and may not be added back into the tree until their status is changed to In the Tree.
Nodes in the tree can be referred to individually in the following manner:
The root Node can be referred to as “O”.
The Node on the Left Branch of any other Node can be referred to by appending “L” to the name of that Node.
The Node on the Right Branch of any other Node can be referred to by appending “R” to the name of that Node.
Thus, OR is the right child of the root, OL is the left child of the root, ORL is the left child of the right child of the root, etc.
If it ever happens that a dance move or another part of the ruleset or the gamestate refers, in this way, to a node that is not currently considered to be part of the tree, the sentence in which that node is referred to is ignored.
Add a subrule to “The Monkey Tree” called “Tree Ordering” with no text.
The reason I like this naming system is that eventually we are probably going to have dance moves that add Monkeys and NPCs to the tree, or move Monkeys around in the tree, and we thus need a way to refer to Nodes that don’t exist yet, but which may exist after some or all of the Dance has been performed. If we name the nodes arbitrarily, there’s no real way to do that since no one will know what a new Node will be named beforehand. This way, the node names are predictable.