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 [2014/12/27 04:40] – external edit 127.0.0.1modding:xml:systemmap [2017/02/04 01:15] – [TopologyProcessor] Recursion 0xabcdef
Line 138: Line 138:
 The <SetNodes> sub-element defines a list of <Node> elements that are to be placed. Each <Node> element in the list is placed randomly in the defined <Area>. If there are fewer <Node> elements than then count of nodes in the <Random> network, then the remaining nodes are initialized with the <NodeTemplate> element. If there are more <Node> elements, then the remainder are ignored. The <SetNodes> sub-element defines a list of <Node> elements that are to be placed. Each <Node> element in the list is placed randomly in the defined <Area>. If there are fewer <Node> elements than then count of nodes in the <Random> network, then the remaining nodes are initialized with the <NodeTemplate> element. If there are more <Node> elements, then the remainder are ignored.
  
-===== Topology Processors ===== +===== TopologyProcessor ===== 
-When the entire topology has been created, we iterate over all <TopologyProcessor> nodes in order and apply them to the topology. +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
- +  * 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 
 +      * **criteria=** Contains the attributes to filter with. 
 +        * **"*"** specifies any node that already satisfies the parent criteria. 
 +        * **"+{attribute};"** means that nodes must have {attribute}. "+systemType:0;" specifies nodes without a <SystemType> 
 +        * **"-{attribute};"** means that nodes must not have {attribute} 
 +  * Zero or one <System>
 +    * **name=** ????? 
 +    * **attributes=** The attributes to apply to the affected nodes. 
 +    * **unid=** The UNID of the new SystemType to assign to the affected nodes. 
 +    * Zero or one <Table>. Only works if none of the above attributes are defined in the element. 
 +  * Zero or more <Group>. Same as <TopologyProcessor>
 +  * 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> 
 +      * **seedChance=** The percentage chance that this conqueror will create a seed somewhere((Please verify)) 
 +      * **maxSeeds=** The total number of seeds that this conqueror can have. ((Please verify)) 
 +      * **expandChance=** The percentage chance that one seed will attempt to expand into an adjacent node ((Please verify)) 
 +      * **maxNodes=** The total((Please verify)) number of nodes that can be conquered by this conqueror's seeds. 
 +      * One <SeedChance> 
 +        * 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 
 +          * **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 or more <Chance> 
 +          * **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 
 +          * **successChance=** The percent chance that a conqueror will be successful in attempting to create a seed in a node. 
 +      * One <Processor>. Same as <TopologyProcessor> 
 +  * Zero or more <DistributeNodes> 
 +    * **nodeCount=** 
 +    * One <Criteria> 
 +  * Zero or more <FillNodes>. Processes every eligible node in random order. 
 +    * <Attributes> 
 +    * <Criteria> 
 +    * <System> 
 +  * Zero or more <LocateNodes> 
 +    * **percentile=** 
 +    * One <Criteria> 
 +    * One <MapFunction> 
 +  * Zero or more <PartitionNodes> 
 +    * **partitionOrder=** 
 +      * **"random"** 
 +    * One or more <Partition> 
 +      * **nodeCount=** 
 +      * One <System> 
 +  * 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