name: Default
description: The vanilla of starting asteroids
worldsize:
  X: 256
  Y: 384
#layoutMethod: PowerTree # Note: We need to add weights to the items in the layer
#                                in order to use this.

# List all the zone files to load
ZoneFiles:
  - name: subworlds/StartWorld # ATM we always look for this, probably we should just enforce having one subworld that has a StartNode tag
    weight: 10
  - name: subworlds/HotMarsh
  - name: subworlds/Jungle
  - name: subworlds/Frozen
  - name: subworlds/Impenetrable
  - name: subworlds/Bottom
  - name: subworlds/OilField
  - name: subworlds/OilPockets
  - name: subworlds/Space
  - name: subworlds/Surface

# We might want to move these to their own files
DefineTagSet:  # Over load some tags to create world specific tag sets, NOT SURE
  FarAndDown: # now we can filter by these
  - NearDepths
  - StartFar
  FarAndUp: # hmm these are ContainsAll, we need Contains, ContainsOne and ContainsAny
  - NearSurface # which can be simplified to ContainsAll or ContainsOne
  - StartFar  
  AtSurface:
  - AtSurface
  NearSurface:
  - NearSurface
  NearOrAtSurface: 
  - NearSurface
  - AtSurface  
  NearOrAtDepths: 
  - NearDepths
  - AtDepths  
  NearDepths:
  - NearDepths
  AtDepths:
  - AtDepths

# Rivers:
#   - water
#   - fatWater
#   - oilygoodness

# When we are converting unknown cells, this will give us the options, processed in this order, the effects are cumlative
UnknownCellsAllowedSubworlds: 
  - tagcommand: Default # By default add in all the Human warm and hot areas
    command: UnionWith
    temperatureRanges: # NOTE: The following Warm/Hot/Cool/Cold has been added, remove them as soon as we have more biomes
      - HumanWarm
      - HumanHot
  - tagcommand: ContainsOne
    tagset: StartNear # tag
    command: UnionWith
    temperatureRanges: # Filter
      - HumanWarm # Filter values
      - Cool
      - Mild
    # - difficulty:
    #   - easy
    # - resources:
    #   - oil
    # - traversability:
    #   - cavernous
    #   - impassable
  - tagcommand: ContainsOne
    tagset: StartMedium
    command: UnionWith
    temperatureRanges:
     - Mild
     - Cool
     - Cold
     - HumanWarm
     - HumanHot
  - tagcommand: ContainsOne
    tagset: StartFar
    command: UnionWith
    temperatureRanges:
     - HumanWarm
     - HumanHot
     - Cool
     - Cold
  - tagcommand: ContainsAll 
    tagset: FarAndDown
    command: UnionWith
    temperatureRanges:
     - HumanWarm
     - HumanHot
     - VeryHot
     - Hot
  - tagcommand: ContainsAll
    tagset: FarAndUp
    command: UnionWith
    temperatureRanges:
     - VeryCold
     - Cool
     - Cold
  - tagcommand: ContainsOne
    tagset: NearOrAtSurface
    command: Clear
  - tagcommand: ContainsOne
    tagset: NearOrAtSurface
    command: UnionWith
    subworldNames:
      - Impenetrable
  - tagcommand: DistanceFrom
    tagset: NearOrAtDepths
    distance: 3
    maxDistance: 5
    distCmp: -1 # -1 less than, 0 equal, 1 greater than
    command: Replace
    subworldNames:
      - OilPockets    
  - tagcommand: DistanceFrom
    tagset: NearOrAtDepths
    distance: 2
    maxDistance: 4
    distCmp: -1 # -1 less than, 0 equal, 1 greater than
    command: Replace
    subworldNames:
      - Bottom
  - tagcommand: DistanceFrom
    tagset: NearOrAtSurface
    distance: 2
    maxDistance: 2
    distCmp: -1 # -1 less than, 0 equal, 1 greater than
    command: Replace
    subworldNames:
      - Surface
  - tagcommand: DistanceFrom
    tagset: NearOrAtSurface
    distance: 1
    maxDistance: 2
    distCmp: -1 # -1 less than, 0 equal, 1 greater than
    command: Replace
    subworldNames:
      - Space
