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
modding:xml:systemmap [2017/02/04 00:26] – [TopologyProcessor] 0xabcdefmodding:xml:systemmap [2017/02/07 00:39] (current) – [TopologyProcessor] 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=** +    * **level=** 
-        "+{attribute}" +    **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. 
-    * One <System> +  Zero or more <Group>. Same as <TopologyProcessor>.
-      * 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 169:
           * **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 187:
       * **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