Add CnC map generator support
Adds map generator support for CnC (all tilesets), largely on par with RA. Most tilesets do not have a complete set of beach templates and therefore do not support terrain settings involving water. DESERT is the only tileset supporting water. Unlike in RA, water is not playable space in CnC (no naval units), so only terrain settings with small bodies of water are available. Most changes are configuration (tileset and map generator config), with just a small number of code changes.
This commit is contained in:
@@ -51,6 +51,9 @@ faction-nod =
|
||||
and the alien substance Tiberium. They use stealth technology
|
||||
and guerilla tactics to defeat those who oppose them.
|
||||
|
||||
map-generator-ra = RA Experimental (CnC)
|
||||
map-generator-clear = Clear
|
||||
|
||||
## defaults.yaml
|
||||
notification-unit-lost = Unit lost.
|
||||
notification-unit-promoted = Unit promoted.
|
||||
@@ -776,3 +779,65 @@ bot-watson =
|
||||
|
||||
bot-hal9001 =
|
||||
.name = HAL 9001
|
||||
|
||||
## map-generators.yaml
|
||||
label-clear-map-generator-option-tile = Tile
|
||||
label-clear-map-generator-choice-tile-clear = Clear
|
||||
label-clear-map-generator-choice-tile-water = Water
|
||||
|
||||
label-cnc-map-generator-option-seed = Seed
|
||||
|
||||
label-cnc-map-generator-option-terrain-type = Terrain Type
|
||||
label-cnc-map-generator-choice-terrain-type-lakes = Lakes
|
||||
label-cnc-map-generator-choice-terrain-type-puddles = Puddles
|
||||
label-cnc-map-generator-choice-terrain-type-gardens = Gardens
|
||||
label-cnc-map-generator-choice-terrain-type-plains = Plains
|
||||
label-cnc-map-generator-choice-terrain-type-parks = Parks
|
||||
label-cnc-map-generator-choice-terrain-type-woodlands = Woodlands
|
||||
label-cnc-map-generator-choice-terrain-type-overgrown = Overgrown
|
||||
label-cnc-map-generator-choice-terrain-type-rocky = Rocky
|
||||
label-cnc-map-generator-choice-terrain-type-mountains = Mountains
|
||||
label-cnc-map-generator-choice-terrain-type-mountain-lakes = Mountain Lakes
|
||||
|
||||
label-cnc-map-generator-option-rotations = Rotations
|
||||
|
||||
label-cnc-map-generator-option-mirror = Mirror
|
||||
label-cnc-map-generator-choice-mirror-none = None
|
||||
label-cnc-map-generator-choice-mirror-left-matches-right = Left vs right
|
||||
label-cnc-map-generator-choice-mirror-top-left-matches-bottom-right = Top left vs bottom right
|
||||
label-cnc-map-generator-choice-mirror-top-matches-bottom = Top vs bottom
|
||||
label-cnc-map-generator-choice-mirror-top-right-matches-bottom-left = Top right vs bottom left
|
||||
|
||||
label-cnc-map-generator-option-shape = Bounds Shape
|
||||
label-cnc-map-generator-choice-shape-square = Square
|
||||
label-cnc-map-generator-choice-shape-circle-mountain = Circle in mountains
|
||||
label-cnc-map-generator-choice-shape-circle-water = Circle in water
|
||||
|
||||
label-cnc-map-generator-option-players = Players per side
|
||||
|
||||
label-cnc-map-generator-option-resources = Resources
|
||||
label-cnc-map-generator-choice-resources-none = None
|
||||
label-cnc-map-generator-choice-resources-low = Low
|
||||
label-cnc-map-generator-choice-resources-medium = Medium
|
||||
label-cnc-map-generator-choice-resources-high = High
|
||||
label-cnc-map-generator-choice-resources-very-high = Very High
|
||||
label-cnc-map-generator-choice-resources-full = Oreful
|
||||
|
||||
label-cnc-map-generator-option-buildings = Buildings
|
||||
label-cnc-map-generator-choice-buildings-none = None
|
||||
label-cnc-map-generator-choice-buildings-standard = Standard
|
||||
label-cnc-map-generator-choice-buildings-extra = Extra
|
||||
label-cnc-map-generator-choice-buildings-oil-only = Oil Only
|
||||
label-cnc-map-generator-choice-buildings-oil-rush = Oil Rush
|
||||
|
||||
label-cnc-map-generator-option-density = Entity Density
|
||||
label-cnc-map-generator-choice-density-players = Scale with players
|
||||
label-cnc-map-generator-choice-density-area-and-players = Scale with area and players
|
||||
label-cnc-map-generator-choice-density-area-very-low = Scale with area (very low density)
|
||||
label-cnc-map-generator-choice-density-area-low = Scale with area (low density)
|
||||
label-cnc-map-generator-choice-density-area-medium = Scale with area (medium density)
|
||||
label-cnc-map-generator-choice-density-area-high = Scale with area (high density)
|
||||
label-cnc-map-generator-choice-density-area-very-high = Scale with area (very high density)
|
||||
|
||||
label-cnc-map-generator-option-roads = Roads
|
||||
label-cnc-map-generator-option-deny-walled-areas = Obstruct walled areas
|
||||
|
||||
@@ -59,6 +59,7 @@ Rules:
|
||||
cnc|rules/ships.yaml
|
||||
cnc|rules/aircraft.yaml
|
||||
cnc|rules/husks.yaml
|
||||
cnc|rules/map-generators.yaml
|
||||
|
||||
Sequences:
|
||||
cnc|sequences/structures.yaml
|
||||
|
||||
384
mods/cnc/rules/map-generators.yaml
Normal file
384
mods/cnc/rules/map-generators.yaml
Normal file
@@ -0,0 +1,384 @@
|
||||
^MapGenerators:
|
||||
RaMapGenerator@ra:
|
||||
Type: ra
|
||||
Name: map-generator-ra
|
||||
Settings:
|
||||
Option@hidden_defaults:
|
||||
Choice@hidden_defaults:
|
||||
Settings:
|
||||
TerrainFeatureSize: 20.0
|
||||
ForestFeatureSize: 20.0
|
||||
ResourceFeatureSize: 20.0
|
||||
Water: 0.0
|
||||
Mountains: 0.1
|
||||
Forests: 0.025
|
||||
ForestCutout: 2
|
||||
MaximumCutoutSpacing: 12
|
||||
TerrainSmoothing: 4
|
||||
SmoothingThreshold: 0.833333
|
||||
MinimumLandSeaThickness: 5
|
||||
MinimumMountainThickness: 5
|
||||
MaximumAltitude: 8
|
||||
RoughnessRadius: 5
|
||||
Roughness: 0.5
|
||||
MinimumTerrainContourSpacing: 6
|
||||
MinimumCliffLength: 10
|
||||
ForestClumpiness: 0.5
|
||||
DenyWalledAreas: True
|
||||
EnforceSymmetry: 0
|
||||
Roads: True
|
||||
RoadSpacing: 5
|
||||
RoadShrink: 0
|
||||
CreateEntities: True
|
||||
CentralSpawnReservationFraction: 0.25
|
||||
ResourceSpawnReservation: 8
|
||||
SpawnRegionSize: 12
|
||||
SpawnBuildSize: 8
|
||||
SpawnResourceSpawns: 3
|
||||
SpawnReservation: 20
|
||||
SpawnResourceBias: 1.05
|
||||
ResourcesPerPlayer: 50000
|
||||
OreUniformity: 0.5
|
||||
OreClumpiness: 0.5
|
||||
MaximumExpansionResourceSpawns: 5
|
||||
MaximumResourceSpawnsPerExpansion: 2
|
||||
MinimumExpansionSize: 2
|
||||
MaximumExpansionSize: 12
|
||||
ExpansionInner: 2
|
||||
ExpansionBorder: 1
|
||||
DefaultResource: Tiberium
|
||||
ResourceSpawnSeeds:
|
||||
split2: Tiberium
|
||||
split3: Tiberium
|
||||
splitblue: BlueTiberium
|
||||
ClearTerrain: Clear
|
||||
PlayableTerrain: Beach,BlueTiberium,Bridge,Clear,Road,Rough,Tiberium,Wall
|
||||
PartiallyPlayableTerrain: River,Tree,Water
|
||||
UnplayableTerrain: Rock
|
||||
DominantTerrain: River,Rock,Tree,Water
|
||||
PartiallyPlayableCategories: Beach,Road
|
||||
ClearSegmentTypes: Clear
|
||||
BeachSegmentTypes: Beach
|
||||
CliffSegmentTypes: Cliff
|
||||
RoadSegmentTypes: Road,RoadIn,RoadOut
|
||||
ForestObstacles: Trees
|
||||
UnplayableObstacles: Obstructions
|
||||
Option@hidden_tileset_overrides:
|
||||
Choice@common:
|
||||
Tileset: DESERT,JUNGLE,SNOW,TEMPERAT
|
||||
Settings:
|
||||
LandTile: 255
|
||||
WaterTile: 1
|
||||
RepaintTiles:
|
||||
1: Water
|
||||
Choice@winter:
|
||||
Tileset: WINTER
|
||||
Settings:
|
||||
LandTile: 255
|
||||
WaterTile: 1
|
||||
RepaintTiles:
|
||||
255: Snow
|
||||
1: Water
|
||||
Option@Seed:
|
||||
Label: label-cnc-map-generator-option-seed
|
||||
Random: True
|
||||
Default: 0
|
||||
Integer: Seed
|
||||
Option@TerrainType:
|
||||
Label: label-cnc-map-generator-option-terrain-type
|
||||
Priority: 2
|
||||
Default: Gardens,Rocky
|
||||
Choice@Lakes:
|
||||
Label: label-cnc-map-generator-choice-terrain-type-lakes
|
||||
Tileset: DESERT
|
||||
Settings:
|
||||
Water: 0.2
|
||||
Choice@Puddles:
|
||||
Label: label-cnc-map-generator-choice-terrain-type-puddles
|
||||
Tileset: DESERT
|
||||
Settings:
|
||||
Water: 0.1
|
||||
Choice@Gardens:
|
||||
Label: label-cnc-map-generator-choice-terrain-type-gardens
|
||||
Tileset: DESERT
|
||||
Settings:
|
||||
Water: 0.05
|
||||
Forests: 0.3
|
||||
ForestCutout: 3
|
||||
EnforceSymmetry: 2
|
||||
RoadSpacing: 3
|
||||
RoadShrink: 4
|
||||
Choice@Plains:
|
||||
Label: label-cnc-map-generator-choice-terrain-type-plains
|
||||
Settings:
|
||||
Water: 0.0
|
||||
Choice@Parks:
|
||||
Label: label-cnc-map-generator-choice-terrain-type-parks
|
||||
Settings:
|
||||
Water: 0.0
|
||||
Forests: 0.1
|
||||
Choice@Woodlands:
|
||||
Label: label-cnc-map-generator-choice-terrain-type-woodlands
|
||||
Settings:
|
||||
Water: 0.0
|
||||
Forests: 0.4
|
||||
ForestCutout: 3
|
||||
EnforceSymmetry: 2
|
||||
RoadSpacing: 3
|
||||
RoadShrink: 4
|
||||
Choice@Overgrown:
|
||||
Label: label-cnc-map-generator-choice-terrain-type-overgrown
|
||||
Settings:
|
||||
Water: 0.0
|
||||
Forests: 0.5
|
||||
EnforceSymmetry: 2
|
||||
Mountains: 0.5
|
||||
Roughness: 0.25
|
||||
Choice@Rocky:
|
||||
Label: label-cnc-map-generator-choice-terrain-type-rocky
|
||||
Settings:
|
||||
Water: 0.0
|
||||
Forests: 0.3
|
||||
ForestCutout: 3
|
||||
EnforceSymmetry: 2
|
||||
Mountains: 0.5
|
||||
Roughness: 0.25
|
||||
RoadSpacing: 3
|
||||
RoadShrink: 4
|
||||
Choice@Mountains:
|
||||
Label: label-cnc-map-generator-choice-terrain-type-mountains
|
||||
Settings:
|
||||
Water: 0.0
|
||||
Mountains: 1.0
|
||||
Roughness: 0.60
|
||||
MinimumTerrainContourSpacing: 5
|
||||
Choice@MountainLakes:
|
||||
Label: label-cnc-map-generator-choice-terrain-type-mountain-lakes
|
||||
Tileset: DESERT
|
||||
Settings:
|
||||
Water: 0.2
|
||||
Mountains: 1.0
|
||||
Roughness: 0.85
|
||||
MinimumTerrainContourSpacing: 5
|
||||
Option@Rotations:
|
||||
Label: label-cnc-map-generator-option-rotations
|
||||
SimpleChoice: Rotations
|
||||
Values: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
|
||||
Default: 2
|
||||
Priority: 1
|
||||
Option@Mirror:
|
||||
Label: label-cnc-map-generator-option-mirror
|
||||
Default: None
|
||||
Priority: 1
|
||||
Choice@None:
|
||||
Label: label-cnc-map-generator-choice-mirror-none
|
||||
Settings:
|
||||
Mirror: None
|
||||
Choice@LeftMatchesRight:
|
||||
Label: label-cnc-map-generator-choice-mirror-left-matches-right
|
||||
Settings:
|
||||
Mirror: LeftMatchesRight
|
||||
Choice@TopLeftMatchesBottomRight:
|
||||
Label: label-cnc-map-generator-choice-mirror-top-left-matches-bottom-right
|
||||
Settings:
|
||||
Mirror: TopLeftMatchesBottomRight
|
||||
Choice@TopMatchesBottom:
|
||||
Label: label-cnc-map-generator-choice-mirror-top-matches-bottom
|
||||
Settings:
|
||||
Mirror: TopMatchesBottom
|
||||
Choice@TopRightMatchesBottomLeft:
|
||||
Label: label-cnc-map-generator-choice-mirror-top-right-matches-bottom-left
|
||||
Settings:
|
||||
Mirror: TopRightMatchesBottomLeft
|
||||
Option@Shape:
|
||||
Label: label-cnc-map-generator-option-shape
|
||||
Default: Square
|
||||
Priority: 1
|
||||
Choice@Square:
|
||||
Label: label-cnc-map-generator-choice-shape-square
|
||||
Settings:
|
||||
ExternalCircularBias: 0
|
||||
Choice@CircleMountain:
|
||||
Label: label-cnc-map-generator-choice-shape-circle-mountain
|
||||
Settings:
|
||||
ExternalCircularBias: 1
|
||||
Choice@CircleWater:
|
||||
Label: label-cnc-map-generator-choice-shape-circle-water
|
||||
Tileset: DESERT
|
||||
Settings:
|
||||
ExternalCircularBias: -1
|
||||
Option@Players:
|
||||
Label: label-cnc-map-generator-option-players
|
||||
SimpleChoice: Players
|
||||
Values: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
|
||||
Default: 1
|
||||
Priority: 1
|
||||
Option@Resources:
|
||||
Label: label-cnc-map-generator-option-resources
|
||||
Default: Medium
|
||||
Choice@None:
|
||||
Label: label-cnc-map-generator-choice-resources-none
|
||||
Settings:
|
||||
SpawnResourceSpawns: 0
|
||||
ResourcesPerPlayer: 0
|
||||
ResourceSpawnWeights:
|
||||
MaximumExpansionResourceSpawns: 0
|
||||
MaximumResourceSpawnsPerExpansion: 1
|
||||
Choice@Low:
|
||||
Label: label-cnc-map-generator-choice-resources-low
|
||||
Settings:
|
||||
SpawnResourceSpawns: 1
|
||||
ResourcesPerPlayer: 25000
|
||||
ResourceSpawnWeights:
|
||||
split2: 1.0
|
||||
split3: 1.0
|
||||
MaximumExpansionResourceSpawns: 2
|
||||
MaximumResourceSpawnsPerExpansion: 1
|
||||
Choice@Medium:
|
||||
Label: label-cnc-map-generator-choice-resources-medium
|
||||
Settings:
|
||||
SpawnResourceSpawns: 2
|
||||
ResourcesPerPlayer: 50000
|
||||
ResourceSpawnWeights:
|
||||
split2: 0.95
|
||||
split3: 0.95
|
||||
splitblue: 0.10
|
||||
MaximumExpansionResourceSpawns: 3
|
||||
MaximumResourceSpawnsPerExpansion: 1
|
||||
Choice@High:
|
||||
Label: label-cnc-map-generator-choice-resources-high
|
||||
Settings:
|
||||
SpawnResourceSpawns: 3
|
||||
ResourcesPerPlayer: 75000
|
||||
ResourceSpawnWeights:
|
||||
split2: 0.9
|
||||
split3: 0.9
|
||||
splitblue: 0.2
|
||||
MaximumExpansionResourceSpawns: 5
|
||||
MaximumResourceSpawnsPerExpansion: 2
|
||||
Choice@VeryHigh:
|
||||
Label: label-cnc-map-generator-choice-resources-very-high
|
||||
Settings:
|
||||
SpawnResourceSpawns: 4
|
||||
ResourcesPerPlayer: 100000
|
||||
ResourceSpawnWeights:
|
||||
split2: 0.8
|
||||
split3: 0.8
|
||||
splitblue: 0.4
|
||||
MaximumExpansionResourceSpawns: 8
|
||||
MaximumResourceSpawnsPerExpansion: 2
|
||||
Choice@Full:
|
||||
Label: label-cnc-map-generator-choice-resources-full
|
||||
Settings:
|
||||
SpawnResourceSpawns: 0
|
||||
ResourcesPerPlayer: 1000000000
|
||||
ResourceSpawnWeights:
|
||||
MaximumExpansionResourceSpawns: 0
|
||||
MaximumResourceSpawnsPerExpansion: 1
|
||||
Option@Buildings:
|
||||
Label: label-cnc-map-generator-option-buildings
|
||||
Default: Standard
|
||||
Choice@None:
|
||||
Label: label-cnc-map-generator-choice-buildings-none
|
||||
Settings:
|
||||
MinimumBuildings: 0
|
||||
MaximumBuildings: 0
|
||||
BuildingWeights:
|
||||
Choice@Standard:
|
||||
Label: label-cnc-map-generator-choice-buildings-standard
|
||||
Settings:
|
||||
MinimumBuildings: 0
|
||||
MaximumBuildings: 3
|
||||
BuildingWeights:
|
||||
hosp: 2
|
||||
miss: 1
|
||||
v19: 9
|
||||
Choice@Extra:
|
||||
Label: label-cnc-map-generator-choice-buildings-extra
|
||||
Settings:
|
||||
MinimumBuildings: 3
|
||||
MaximumBuildings: 6
|
||||
BuildingWeights:
|
||||
hosp: 2
|
||||
miss: 1
|
||||
v19: 9
|
||||
gtwr: 2
|
||||
Choice@OilOnly:
|
||||
Label: label-cnc-map-generator-choice-buildings-oil-only
|
||||
Settings:
|
||||
MinimumBuildings: 0
|
||||
MaximumBuildings: 3
|
||||
BuildingWeights:
|
||||
v19: 1
|
||||
Choice@OilRush:
|
||||
Label: label-cnc-map-generator-choice-buildings-oil-rush
|
||||
Settings:
|
||||
MinimumBuildings: 8
|
||||
MaximumBuildings: 10
|
||||
BuildingWeights:
|
||||
v19: 1
|
||||
Option@Density:
|
||||
Label: label-cnc-map-generator-option-density
|
||||
Default: Players
|
||||
Priority: 1
|
||||
Choice@Players:
|
||||
Label: label-cnc-map-generator-choice-density-players
|
||||
Settings:
|
||||
AreaEntityBonus: 0.0
|
||||
PlayerCountEntityBonus: 1.0
|
||||
Choice@AreaAndPlayers:
|
||||
Label: label-cnc-map-generator-choice-density-area-and-players
|
||||
Settings:
|
||||
AreaEntityBonus: 0.0002
|
||||
PlayerCountEntityBonus: 0.5
|
||||
Choice@AreaVeryLow:
|
||||
Label: label-cnc-map-generator-choice-density-area-very-low
|
||||
Settings:
|
||||
AreaEntityBonus: 0.0001
|
||||
PlayerCountEntityBonus: 0.0
|
||||
Choice@AreaLow:
|
||||
Label: label-cnc-map-generator-choice-density-area-low
|
||||
Settings:
|
||||
AreaEntityBonus: 0.0002
|
||||
PlayerCountEntityBonus: 0.0
|
||||
Choice@AreaMedium:
|
||||
Label: label-cnc-map-generator-choice-density-area-medium
|
||||
Settings:
|
||||
AreaEntityBonus: 0.0004
|
||||
PlayerCountEntityBonus: 0.0
|
||||
Choice@AreaHigh:
|
||||
Label: label-cnc-map-generator-choice-density-area-high
|
||||
Settings:
|
||||
AreaEntityBonus: 0.0006
|
||||
PlayerCountEntityBonus: 0.0
|
||||
Choice@AreaVeryHigh:
|
||||
Label: label-cnc-map-generator-choice-density-area-very-high
|
||||
Settings:
|
||||
AreaEntityBonus: 0.0008
|
||||
PlayerCountEntityBonus: 0.0
|
||||
Option@DenyWalledArea:
|
||||
Label: label-cnc-map-generator-option-deny-walled-areas
|
||||
Checkbox: DenyWalledAreas
|
||||
Default: True
|
||||
Priority: 1
|
||||
Option@Roads:
|
||||
Label: label-cnc-map-generator-option-roads
|
||||
Checkbox: Roads
|
||||
Default: True
|
||||
Priority: 1
|
||||
ClearMapGenerator@clear:
|
||||
Type: clear
|
||||
Name: map-generator-clear
|
||||
Settings:
|
||||
Option@Tile:
|
||||
Label: label-clear-map-generator-option-tile
|
||||
Choice@CommonClear:
|
||||
Label: label-clear-map-generator-choice-tile-clear
|
||||
Tileset: DESERT,JUNGLE,SNOW,TEMPERAT,WINTER
|
||||
Settings:
|
||||
Tile: 255
|
||||
Choice@CommonWater:
|
||||
Label: label-clear-map-generator-choice-tile-water
|
||||
Tileset: DESERT,JUNGLE,SNOW,TEMPERAT,WINTER
|
||||
Settings:
|
||||
Tile: 1
|
||||
@@ -280,6 +280,7 @@ World:
|
||||
|
||||
EditorWorld:
|
||||
Inherits: ^BaseWorld
|
||||
Inherits@MapGenerators: ^MapGenerators
|
||||
EditorActorLayer:
|
||||
EditorCursorLayer:
|
||||
EditorResourceLayer:
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user