Skip to content

Dynamic Content

Copy Existing Nodes

117 & 1800

<ModOp Replace="@1500010225/Building/InfluencedVariationDirection">
  <ModValue Insert="@1500010200/Building/InfluencedVariationDirection">
</ModOp>
<ModOp Replace="@1500010225/Building/InfluencedVariationDirection"
       Content="@1500010200/Building/InfluencedVariationDirection" />
<ModOp Type="replace" GUID="1500010225"
       Path="/Values/Building/InfluencedVariationDirection"
       Content="@1500010200/Building/InfluencedVariationDirection" />

Wrap Copied Nodes

117 & 1800

<ModOp Replace="@1010399/AssetPool/AssetList">
  <ModValue Insert="@120055/ProductStorageList/ProductList/Item/Product/text()">
    <Item>
      <Asset>
        <ModValueContent />
      </Asset>
    </Item>
  </ModValue>
</ModOp>
<ModOp Replace="@1010399/AssetPool/AssetList"
       Content="@120055/ProductStorageList/ProductList/Item/Product/text()">
  <Item>
    <Asset>
      <ModOpContent />
    </Asset>
  </Item>
</ModOp>
<ModOp Type="replace" GUID="1010399"
       Path="/Values/AssetPool/AssetList"
       Content="@120055/ProductStorageList/ProductList/Item/Product/text()">
  <Item>
    <Asset>
      <ModOpContent />
    </Asset>
  </Item>
</ModOp>
<ProductList>
  <Item>
    <Product>120008</Product>
  </Item>
  <!-- ... -->
</ProductList>
<AssetList>
  <Item>
    <Asset>120008</Asset>
  </Item>
  <!-- ... -->
</AssetList>

Insert Local Content

117

Use <ModValue Insert="<local path>" /> to copy data from a local path without specifying GUID.

<ModOp Merge="@123">
  <Inline><ModValue Insert="../Standard/GUID/text()" /></Inline>
</ModOp>
<ModOp Property="ItemSocketSet" Merge="../ExpeditionAttribute">
  <FluffText><ModValue Insert="../../ItemSocketSet/SetBuff/text()" /></FluffText>
</ModOp>

Previously, copying local content was only possible in combination with a specific GUID.

<ModOp Type="add" GUID="123" Content="Standard/GUID/text()">
  <GUID><ModOpContent /></GUID>
</ModOp>

Merge Flags

117

Use <ModValue Merge="Your;Flags" /> to insert one or more flags if not already present, instead of overwriting the existing flags value. Similarily use Remove to remove flags.

<ModOp GUID="114365" Merge="Product">
  <AssociatedRegion><ModValue Merge="Moderate" /></AssociatedRegion>
</ModOp>
<ModOp GUID="114365" Merge="Product">
  <AssociatedRegion><ModValue Remove="Moderate" /></AssociatedRegion>
</ModOp>

<ModOp Merge="@114365/Product">
  <AssociatedRegion><ModValue Merge="Moderate" /></AssociatedRegion>
</ModOp>
<ModOp Merge="@114365/Product">
  <AssociatedRegion><ModValue Remove="Moderate" /></AssociatedRegion>
</ModOp>

<ModOp Type="add" GUID="114365"
  Condition="!/Values/Product/AssociatedRegion[contains(text(), 'Moderate')]"
  Path="/Values/Product/AssociatedRegion">;Moderate</ModOp>
<!-- a generic remove was not possible -->

Insert Calculations

117

<!-- addition -->
<ModOp Property="Maintenance" Merge="Workforce">
  <Workforce><ModValue Insert="number(self::node()) + 10" /></Workforce>
</ModOp>

<!-- division -->
<ModOp Property="Storage" Merge="Amount">
  <Amount><ModValue Insert="(number(self::node()) - number(self::node()) mod 2) div 2" /></Amount>
</ModOp>

Available operators: +, -, *, div, mod