User Tools

Site Tools


modding:xml:systemmap

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
modding:xml:systemmap [2017/02/04 00:26] – [TopologyProcessor] 0xabcdefmodding:xml:systemmap [2017/02/04 01:15] – [TopologyProcessor] Recursion 0xabcdef
Line 139: Line 139:
  
 ===== TopologyProcessor ===== ===== TopologyProcessor =====
-When the entire topology has been created, we iterate over all <TopologyProcessor> nodes in order and apply them to the topology. A TopologyProcessor is an element that can assign additional attributes to existing nodes and a SystemType to nodes that do not already have one. There can be multiple instances of a TopologyProcessor in a SystemMap. Additionally, TopologyProcessors are recursive in that the <Group> and <Processor> elements will act as TopologyProcessors of their own, using the nodes filtered by their parent. Any <System> element can have either an **attributes** attribute or a <Table> element containing multiple <System> subelements, each with their own **attributes** and **chance** attributes+When the entire topology has been created, we iterate over all <TopologyProcessor> nodes in order and apply them to the topology. A TopologyProcessor is an element that can assign additional attributes to existing nodes and a SystemType to nodes that do not already have one. There can be multiple instances of a TopologyProcessor in a SystemMap. Additionally, TopologyProcessors are recursive in that the <Group><Processor>, and any element with a <System> subelement will act as a TopologyProcessor of its own, using the nodes filtered by the parent. 
-  * One <Criteria> element to determine which nodes the processor applies to. The processor affects all nodes under its criteria.+  * Zero or one <Criteria>. Determines criteria (in addition to any pre-existing criteria) for determining which nodes the processor applies to. If there is no <Criteria>, all nodes are affected. This works for the <TopologyProcessor>, which will process every single node on the map.
     * An <Attributes> element that filters nodes by their attributes     * An <Attributes> element that filters nodes by their attributes
       * **criteria=** Contains the attributes to filter with.       * **criteria=** Contains the attributes to filter with.
-        * "+{attribute};" means that nodes must have {attribute}. "+systemType:0;" specifies nodes without a <SystemType> +        * **"*"** specifies any node that already satisfies the parent criteria. 
-        * "-{attribute};" means that nodes must not have {attribute} +        * **"+{attribute};"** means that nodes must have {attribute}. "+systemType:0;" specifies nodes without a <SystemType> 
-  * Zero or more <System> +        * **"-{attribute};"** means that nodes must not have {attribute} 
-    * **attributes=** +  * Zero or one <System>. 
-  Zero or more <Group>They can process nodes that satisfy additional criteria +    * **name=** ????? 
-    * One <Criteria> +    **attributes=** The attributes to apply to the affected nodes
-      * **criteria=** +    * **unid=** The UNID of the new SystemType to assign to the affected nodes. 
-        * "+{attribute}" +    * Zero or one <Table>. Only works if none of the above attributes are defined in the element. 
-        * "-{attribute}" +  Zero or more <Group>. Same as <TopologyProcessor>.
-    * One <System> +
-      * One <Table> +
-        One or more <System> +
-          * **chance=** +
-          * **unid=**+
   * Zero or more <ConquerNodes>. In this processor category, "Conquerors" take turns attempting to "occupy" every eligible node. Each node can be taken by only one Conqueror. Every turn, a conqueror first attempts to create one new seed, then each of its seeds attempt to expand into adjacent nodes.   * Zero or more <ConquerNodes>. In this processor category, "Conquerors" take turns attempting to "occupy" every eligible node. Each node can be taken by only one Conqueror. Every turn, a conqueror first attempts to create one new seed, then each of its seeds attempt to expand into adjacent nodes.
       * One or more <Conqueror>       * One or more <Conqueror>
Line 173: Line 168:
           * **weight=** The percent chance that a node will be conquered by the seed           * **weight=** The percent chance that a node will be conquered by the seed
           * **successChance=** The percent chance that a conqueror will be successful in attempting to create a seed in a node.           * **successChance=** The percent chance that a conqueror will be successful in attempting to create a seed in a node.
-      * One <Processor>, which may act as <TopologyProcessor> in its own((Please Verify)) +      * One <Processor>. Same as <TopologyProcessor>
-        * One <System> +
-          * **attributes=** The attributes to add to the affected nodes+
   * Zero or more <DistributeNodes>   * Zero or more <DistributeNodes>
     * **nodeCount=**     * **nodeCount=**
     * One <Criteria>     * One <Criteria>
-  * Zero or more <FillNodes>+  * Zero or more <FillNodes>. Processes every eligible node in random order.
     * <Attributes>     * <Attributes>
     * <Criteria>     * <Criteria>
Line 193: Line 186:
       * **nodeCount=**       * **nodeCount=**
       * One <System>       * One <System>
-        * **attributes=** The attributes to add to the affected nodes 
   * Zero or more <RandomPoints>   * Zero or more <RandomPoints>
 +  * Zero or more <Table>
 +    * Zero or one <Criteria>
 +    * Zero or more <System>
 +      * **chance=** The chance that the **attributes** and **unid** of this element will be applied to the affected nodes.
modding/xml/systemmap.txt · Last modified: 2017/02/07 00:39 by 0xabcdef