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/03 05:13] – [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. +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 <Groupelements, which can assign a SystemType to nodes that satisfy additional criteria((This is unfinished; please verify)) +        * **"-{attribute};"** means that nodes must not have {attribute} 
-    * One <Criteria> +  * Zero or one <System>. 
-      * **criteria=** +    * **name=** ????? 
-        "+{attribute}" +    * **attributes=** The attributes to apply to the affected nodes. 
-        "-{attribute}" +    * **unid=** The UNID of the new SystemType to assign to the affected nodes. 
-    * One <System> +    * Zero or one <Table>. Only works if none of the above attributes are defined in the element. 
-      * One <Table> +  Zero or more <Group>. Same as <TopologyProcessor>. 
-        One or more <System> +  * 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. 
-          * **chance=** +      * One or more <Conqueror> 
-          * **unid=** +      * **seedChance=** The percentage chance that this conqueror will create a seed somewhere((Please verify)) 
-  * Zero or more <ConquerNodes> +      * **maxSeeds=** The total number of seeds that this conqueror can have. ((Please verify)) 
-      * One or more <Conqueror> element +      * **expandChance=** The percentage chance that one seed will attempt to expand into an adjacent node ((Please verify)) 
-      * **seedChance=** The percentage chance that a seed will be created somewhere((Please verify)) +      * **maxNodes=** The total((Please verify)) number of nodes that can be conquered by this conqueror'seeds.
-      * **maxSeeds=** The number of attempts to create a seed((Please verify)) +
-      * **expandChance=** The percentage chance that seed will expand into another node ((Please verify)) +
-      * **maxNodes=** The total((Please verify)) number of nodes that can be conquered by these seeds+
       * One <SeedChance>       * One <SeedChance>
         * One or more <Node>         * One or more <Node>
           * **criteria=** The additional criteria that a node must satisfy to be seeded. "*" refers to any node that satisfies the base criteria           * **criteria=** The additional criteria that a node must satisfy to be seeded. "*" refers to any node that satisfies the base criteria
-          * **weight=** The percentage chance that this node will be seeded+          * **weight=** The percent chance that a seed will choose this node to attempt its expansion on. 
 +          * **successChance=** The percent chance that a seed will be successful in attempting to conquer this node
       * One <ExpandChance>       * One <ExpandChance>
-        * One or more <Node>+        * One or more <Chance>
           * **criteria=** The additional criteria that a node must satisfy to be conquered by the seed           * **criteria=** The additional criteria that a node must satisfy to be conquered by the seed
           * **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
-      One <Processor> +          * **successChance=** The percent chance that a conqueror will be successful in attempting to create a seed in a node. 
-        One <System> +      * One <Processor>. Same as <TopologyProcessor>
-          **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 189: 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