Namespace is now BetaTraipse's new namespace has two methods to reference nodes and they both work the exact same way, with one exception.
Namespace External:Syntax: !& :: &!
Usage: From chat or from within a node
Namespace Internal:Syntax: != :: =!
Usage: From within a node only
Nodes with a namespace reference must be set to Use as MacroNamespace is a powerful referencing method that allows you to quickly pull the data from nodes. Namespace is used most often when a player wants to roll dice and add their modifiers. They can do this by setting namespace references inside nodes.
Namespace works like in the same way a lightning bolt does when it strikes the ground. You set a start point and an end point. You can also set points in between. If you do not set a start point namespace defaults to the top node. Namespace then follows the path of least resistance; it will find the top most node with that same reference name and attempt to use that data.
The exception to the rule in how these two methods work is the top node. External's top node is the game tree itself. Internal's top node is defined by the location of the node you have set a namespace in. Namespace internal will look at the reference node's tree map and look backwards for the reference. (Namespace internal can reference a node higher up in the hierarchy if no node in the top node has the same name.)
You can attempt to reference any node in the game tree and namespace will find the top node and attempt to use that. Yet, you can also set points in between to make sure you get the correct node. Namespace is non-linear, and because it always looks for the top most node, your references can be really short and achieve the same result.
Code:
Namespace is new (again)
Traipse's namespace is the most powerful tool that I have worked on for Traipse since I started coding. The Update Manger is a closed second. Namespace's chaotic lightning effect is not well known to users, and yet not even to me. Because namespace is new again there will be new discoveries about how it works, and what best ways to use it.
Namespace uses a method I call FutureCheck to assist users in their accuracy. When you create a reference namespace will determine if you are referencing more than the top nod that is found, and if you are it will pass the node it found and look for another.
The Previous Traipse ReferenceMy past attempt to correct the broken reference system had a heightened awareness of the nodes and their surroundings. It was good because it gives players the ability to reference nodes internally, allowing players to move their nodes around and not worrying about the reference breaking.
The biggest problem with this is it's confusing system of mechanics. It uses three styles to reference nodes, and to make it easier on the uninitiated I created a tool called EZ Tree. The EZ Tree system allows users to create the most efficient reference for the node being referenced.
This system made it's debut in Ornery Orc, and it will find it's resting place in Ornery Orc. I am so pleased with the results of Traipse's new namespace that I have decided to no longer continue working with the previous archaic referencing system. If you are not using namespace in your nodes now is a good time to update.
Updating to NamespaceThis is really easy. Replace all previous syntaxes of (!! :: !! and !# :: #!) with != :: =!. This should be a primer to correct all of your previous syntaxes. I cannot guarantee that your new reference will be accurate, but it should be really close.
When Pious Paladin is released there this previous system will no longer exists. Namespace will be fully embraced but I will create small tools that will allow users to clone their previous nodes to make them compatible with the new system.