diff --git a/OpenRA.Mods.Common/MapGenerator/MultiBrush.cs b/OpenRA.Mods.Common/MapGenerator/MultiBrush.cs index 8aaf72e7e0..f2999f647c 100644 --- a/OpenRA.Mods.Common/MapGenerator/MultiBrush.cs +++ b/OpenRA.Mods.Common/MapGenerator/MultiBrush.cs @@ -32,7 +32,12 @@ namespace OpenRA.Mods.Common.MapGenerator { [FieldLoader.Ignore] public readonly string Type; - public readonly WVec Offset = new(0, 0, 0); + public readonly WVec Offset = WVec.Zero; + + public ActorInfo(string type) + { + Type = type; + } public ActorInfo(MiniYaml my) { @@ -48,7 +53,7 @@ namespace OpenRA.Mods.Common.MapGenerator { [FieldLoader.Ignore] public readonly ushort Type; - public readonly CVec Offset = new(0, 0); + public readonly CVec Offset = CVec.Zero; public TemplateInfo(ushort type) { @@ -71,7 +76,7 @@ namespace OpenRA.Mods.Common.MapGenerator { [FieldLoader.Ignore] public readonly TerrainTile Type; - public readonly CVec Offset = new(0, 0); + public readonly CVec Offset = CVec.Zero; public TileInfo(MiniYaml my) { @@ -93,23 +98,22 @@ namespace OpenRA.Mods.Common.MapGenerator public readonly ImmutableArray Tiles; public readonly MultiBrushSegment Segment; - public MultiBrushInfo(TemplateInfo templateInfo) + public MultiBrushInfo( + MiniYaml my = null, + int weight = MultiBrush.DefaultWeight, + IEnumerable actors = null, + TerrainTile? backingTile = null, + IEnumerable templates = null, + IEnumerable tiles = null, + MultiBrushSegment segment = null) { - Weight = MultiBrush.DefaultWeight; - Actors = []; - BackingTile = null; - Templates = [templateInfo]; - Tiles = []; - Segment = null; - } - - public MultiBrushInfo(MiniYaml my) - { - Weight = MultiBrush.DefaultWeight; - var actors = new List(); - var templates = new List(); - var tiles = new List(); - foreach (var node in my.Nodes) + Weight = weight; + var actorsAcc = (actors ?? []).ToList(); + BackingTile = backingTile; + var templatesAcc = (templates ?? []).ToList(); + var tilesAcc = (tiles ?? []).ToList(); + Segment = segment; + foreach (var node in my?.Nodes ?? []) switch (node.Key.Split('@')[0]) { case "Weight": @@ -117,19 +121,19 @@ namespace OpenRA.Mods.Common.MapGenerator throw new YamlException($"Invalid MultiBrush Weight `{node.Value.Value}`"); break; case "Actor": - actors.Add(new ActorInfo(node.Value)); + actorsAcc.Add(new ActorInfo(node.Value)); break; case "BackingTile": - if (TerrainTile.TryParse(node.Value.Value, out var backingTile)) - BackingTile = backingTile; + if (TerrainTile.TryParse(node.Value.Value, out var bt)) + BackingTile = bt; else throw new YamlException($"Invalid MultiBrush BackingTile `{node.Value.Value}`"); break; case "Template": - templates.Add(new TemplateInfo(node.Value)); + templatesAcc.Add(new TemplateInfo(node.Value)); break; case "Tile": - tiles.Add(new TileInfo(node.Value)); + tilesAcc.Add(new TileInfo(node.Value)); break; case "Segment": if (Segment != null) @@ -140,9 +144,9 @@ namespace OpenRA.Mods.Common.MapGenerator throw new YamlException($"Unrecognized MultiBrush key {node.Key.Split('@')[0]}"); } - Actors = [.. actors]; - Templates = [.. templates]; - Tiles = [.. tiles]; + Actors = [.. actorsAcc]; + Templates = [.. templatesAcc]; + Tiles = [.. tilesAcc]; } public static ImmutableArray ParseCollection(MiniYaml my) @@ -156,12 +160,17 @@ namespace OpenRA.Mods.Common.MapGenerator brushes.Add(new MultiBrushInfo(node.Value)); break; case "FromTemplates": - foreach (var part in node.Value.Value.Split(",")) - { - if (!Exts.TryParseUshortInvariant(part, out var type)) - throw new YamlException($"Invalid MultiBrush Template `{part}`"); - brushes.Add(new MultiBrushInfo(new TemplateInfo(type))); - } + foreach (var template in FieldLoader.GetValue>(node.Key, node.Value.Value)) + brushes.Add(new MultiBrushInfo( + my: node.Value, + templates: [new TemplateInfo(template)])); + + break; + case "FromActors": + foreach (var actor in FieldLoader.GetValue>(node.Key, node.Value.Value)) + brushes.Add(new MultiBrushInfo( + my: node.Value, + actors: [new ActorInfo(actor)])); break; default: diff --git a/mods/cnc/tilesets/desert.yaml b/mods/cnc/tilesets/desert.yaml index 8ef9b4f406..5bd93cda95 100644 --- a/mods/cnc/tilesets/desert.yaml +++ b/mods/cnc/tilesets/desert.yaml @@ -3256,186 +3256,23 @@ MultiBrushCollections: Points: 1,1, 1,0 Start: Cliff.U Trees: - MultiBrush@57: - Template: 57 - MultiBrush@58: - Template: 58 - MultiBrush@59: - Template: 59 - MultiBrush@60: - Template: 60 - MultiBrush@61: - Template: 61 - MultiBrush@62: - Template: 62 - MultiBrush@63: - Template: 63 - MultiBrush@64: - Template: 64 - MultiBrush@65: - Template: 65 - MultiBrush@66: - Template: 66 - MultiBrush@t04: - Actor: t04 - MultiBrush@t08: - Actor: t08 - MultiBrush@t09: - Actor: t09 - MultiBrush@t18: - Actor: t18 - MultiBrush@t04.husk: - Actor: t04.husk - Weight: 100 - MultiBrush@t08.husk: - Actor: t08.husk - Weight: 100 - MultiBrush@t09.husk: - Actor: t09.husk - Weight: 100 - MultiBrush@t18.husk: - Actor: t18.husk + FromTemplates@1: 57,58,59,60,61,62,63,64,65,66 + FromActors@2: t04,t08,t09,t18 + FromActors@3: t04.husk,t08.husk,t09.husk,t18.husk Weight: 100 Obstructions: - MultiBrush@82: - Template: 82 - MultiBrush@83: - Template: 83 - MultiBrush@85: - Template: 85 - MultiBrush@86: - Template: 86 - MultiBrush@87: - Template: 87 - MultiBrush@217: - Template: 217 - MultiBrush@57: - Template: 57 + FromTemplates@1: 67,68,69,70,82,83,85,86,87,217,220 + FromTemplates@2: 57,58,59,60,61,62,63,64,65,66 Weight: 500 - MultiBrush@58: - Template: 58 - Weight: 500 - MultiBrush@59: - Template: 59 - Weight: 500 - MultiBrush@60: - Template: 60 - Weight: 500 - MultiBrush@61: - Template: 61 - Weight: 500 - MultiBrush@62: - Template: 62 - Weight: 500 - MultiBrush@63: - Template: 63 - Weight: 500 - MultiBrush@64: - Template: 64 - Weight: 500 - MultiBrush@65: - Template: 65 - Weight: 500 - MultiBrush@66: - Template: 66 - Weight: 500 - MultiBrush@67: - Template: 67 - MultiBrush@68: - Template: 68 - MultiBrush@69: - Template: 69 - MultiBrush@70: - Template: 70 - MultiBrush@220: - Template: 220 - MultiBrush@t04: - Actor: t04 + FromActors@3: t04,t08,t09,t18,t04.husk,t08.husk,t09.husk,t18.husk BackingTile: 255,0 Weight: 100 - MultiBrush@t08: - Actor: t08 - BackingTile: 255,0 + FromActors@4: rock1,rock2,rock4,rock5,rock6,rock7 + FromActors@5: rock3 Weight: 100 - MultiBrush@t09: - Actor: t09 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t18: - Actor: t18 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t04.husk: - Actor: t04.husk - BackingTile: 255,0 - Weight: 100 - MultiBrush@t08.husk: - Actor: t08.husk - BackingTile: 255,0 - Weight: 100 - MultiBrush@t09.husk: - Actor: t09.husk - BackingTile: 255,0 - Weight: 100 - MultiBrush@t18.husk: - Actor: t18.husk - BackingTile: 255,0 - Weight: 100 - MultiBrush@rock1: - Actor: rock1 - MultiBrush@rock2: - Actor: rock2 - MultiBrush@rock3: - Actor: rock3 - Weight: 100 - MultiBrush@rock4: - Actor: rock4 - MultiBrush@rock5: - Actor: rock5 - MultiBrush@rock6: - Actor: rock6 - MultiBrush@rock7: - Actor: rock7 Water: - MultiBrush@1: - Template: 1 + FromTemplates@1: 1 Weight: 100 - MultiBrush@76: - Template: 76 - MultiBrush@77: - Template: 77 + FromTemplates@2: 76,77 CivilianBuildings: - MultiBrush@v20: - Actor: v20 - MultiBrush@v21: - Actor: v21 - MultiBrush@v22: - Actor: v22 - MultiBrush@v23: - Actor: v23 - MultiBrush@v24: - Actor: v24 - MultiBrush@v25: - Actor: v25 - MultiBrush@v26: - Actor: v26 - MultiBrush@v27: - Actor: v27 - MultiBrush@v28: - Actor: v28 - MultiBrush@v29: - Actor: v29 - MultiBrush@v30: - Actor: v30 - MultiBrush@v31: - Actor: v31 - MultiBrush@v32: - Actor: v32 - MultiBrush@v33: - Actor: v33 - MultiBrush@v34: - Actor: v34 - MultiBrush@v35: - Actor: v35 - MultiBrush@v36: - Actor: v36 + FromActors@1: v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36 diff --git a/mods/cnc/tilesets/snow.yaml b/mods/cnc/tilesets/snow.yaml index e7aa2d6041..7ffb85b87e 100644 --- a/mods/cnc/tilesets/snow.yaml +++ b/mods/cnc/tilesets/snow.yaml @@ -2752,228 +2752,23 @@ MultiBrushCollections: End: Beach.R Points: 1,2, 1,1, 2,1 Trees: - MultiBrush@t01: - Actor: t01 - MultiBrush@t02: - Actor: t02 - MultiBrush@t03: - Actor: t03 - MultiBrush@t05: - Actor: t05 - MultiBrush@t06: - Actor: t06 - MultiBrush@t07: - Actor: t07 - MultiBrush@t08: - Actor: t08 - MultiBrush@t10: - Actor: t10 - MultiBrush@t11: - Actor: t11 - MultiBrush@t12: - Actor: t12 - MultiBrush@t13: - Actor: t13 - MultiBrush@t14: - Actor: t14 - MultiBrush@t15: - Actor: t15 - MultiBrush@t16: - Actor: t16 - MultiBrush@t17: - Actor: t17 - MultiBrush@tc01: - Actor: tc01 - MultiBrush@tc02: - Actor: tc02 - MultiBrush@tc03: - Actor: tc03 - MultiBrush@tc04: - Actor: tc04 - MultiBrush@tc05: - Actor: tc05 - MultiBrush@t01.husk: - Actor: t01.husk - Weight: 100 - MultiBrush@t02.husk: - Actor: t02.husk - Weight: 100 - MultiBrush@t03.husk: - Actor: t03.husk - Weight: 100 - MultiBrush@t05.husk: - Actor: t05.husk - Weight: 100 - MultiBrush@t06.husk: - Actor: t06.husk - Weight: 100 - MultiBrush@t07.husk: - Actor: t07.husk - Weight: 100 - MultiBrush@t08.husk: - Actor: t08.husk - Weight: 100 - MultiBrush@t10.husk: - Actor: t10.husk - Weight: 100 - MultiBrush@t11.husk: - Actor: t11.husk - Weight: 100 - MultiBrush@t12.husk: - Actor: t12.husk - Weight: 100 - MultiBrush@t13.husk: - Actor: t13.husk - Weight: 100 - MultiBrush@t14.husk: - Actor: t14.husk - Weight: 100 - MultiBrush@t15.husk: - Actor: t15.husk - Weight: 100 - MultiBrush@t16.husk: - Actor: t16.husk - Weight: 100 - MultiBrush@t17.husk: - Actor: t17.husk - Weight: 100 - MultiBrush@tc01.husk: - Actor: tc01.husk - Weight: 100 - MultiBrush@tc02.husk: - Actor: tc02.husk - Weight: 100 - MultiBrush@tc03.husk: - Actor: tc03.husk - Weight: 100 - MultiBrush@tc04.husk: - Actor: tc04.husk - Weight: 100 - MultiBrush@tc05.husk: - Actor: tc05.husk + FromActors@1: t01,t02,t03,t05,t06,t07,t08,t10,t11,t12,t13,t14,t15,t16,t17,tc01,tc02,tc03,tc04,tc05 + FromActors@2: t01.husk,t02.husk,t03.husk,t05.husk,t06.husk,t07.husk,t08.husk,t10.husk,t11.husk,t12.husk,t13.husk,t14.husk,t15.husk,t16.husk,t17.husk,tc01.husk,tc02.husk,tc03.husk,tc04.husk,tc05.husk Weight: 100 Obstructions: - MultiBrush@67: - Template: 67 - MultiBrush@68: - Template: 68 - MultiBrush@69: - Template: 69 - Weight: 20 - MultiBrush@70: - Template: 70 + FromTemplates@1: 67,68,69,79,80,82,83,84 + FromTemplates@2: 70 Weight: 10 - MultiBrush@79: - Template: 79 - MultiBrush@80: - Template: 80 - MultiBrush@82: - Template: 82 - MultiBrush@83: - Template: 83 - MultiBrush@84: - Template: 84 - MultiBrush@t01: - Actor: t01 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t02: - Actor: t02 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t03: - Actor: t03 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t05: - Actor: t05 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t06: - Actor: t06 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t07: - Actor: t07 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t08: - Actor: t08 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t10: - Actor: t10 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t11: - Actor: t11 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t12: - Actor: t12 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t13: - Actor: t13 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t14: - Actor: t14 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t15: - Actor: t15 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t16: - Actor: t16 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t17: - Actor: t17 + FromActors@3: t01,t02,t03,t05,t06,t07,t08,t10,t11,t12,t13,t14,t15,t16,t17 BackingTile: 255,0 Weight: 200 Water: - MultiBrush@1: - Template: 1 - MultiBrush@2: - Template: 2 - MultiBrush@5: - Template: 5 + FromTemplates@1: 1,2,76,77 + FromTemplates@2: 5 Weight: 50 - MultiBrush@6: - Template: 6 + FromTemplates@3: 6 Weight: 500 - MultiBrush@76: - Template: 76 - MultiBrush@77: - Template: 77 CivilianBuildings: - MultiBrush@v01: - Actor: v01 - MultiBrush@v02: - Actor: v02 - MultiBrush@v03: - Actor: v03 - MultiBrush@v04: - Actor: v04 - MultiBrush@v05: - Actor: v05 - MultiBrush@v06: - Actor: v06 - MultiBrush@v07: - Actor: v07 - MultiBrush@v08: - Actor: v08 - MultiBrush@v09: - Actor: v09 - MultiBrush@v10: - Actor: v10 - MultiBrush@v11: - Actor: v11 - MultiBrush@v12: - Actor: v12 - Weight: 500 - MultiBrush@v13: - Actor: v13 + FromActors@1: v01,v02,v03,v04,v05,v06,v07,v08,v09,v10,v11 + FromActors@2: v12,v13 Weight: 500 diff --git a/mods/cnc/tilesets/temperat.yaml b/mods/cnc/tilesets/temperat.yaml index c44c22047f..6be1ac1f70 100644 --- a/mods/cnc/tilesets/temperat.yaml +++ b/mods/cnc/tilesets/temperat.yaml @@ -2753,230 +2753,21 @@ MultiBrushCollections: End: Beach.R Points: 1,2, 1,1, 2,1 Trees: - MultiBrush@t01: - Actor: t01 - MultiBrush@t02: - Actor: t02 - MultiBrush@t03: - Actor: t03 - MultiBrush@t05: - Actor: t05 - MultiBrush@t06: - Actor: t06 - MultiBrush@t07: - Actor: t07 - MultiBrush@t08: - Actor: t08 - MultiBrush@t10: - Actor: t10 - MultiBrush@t11: - Actor: t11 - MultiBrush@t12: - Actor: t12 - MultiBrush@t13: - Actor: t13 - MultiBrush@t14: - Actor: t14 - MultiBrush@t15: - Actor: t15 - MultiBrush@t16: - Actor: t16 - MultiBrush@t17: - Actor: t17 - MultiBrush@tc01: - Actor: tc01 - MultiBrush@tc02: - Actor: tc02 - MultiBrush@tc03: - Actor: tc03 - MultiBrush@tc04: - Actor: tc04 - MultiBrush@tc05: - Actor: tc05 - MultiBrush@t01.husk: - Actor: t01.husk - Weight: 100 - MultiBrush@t02.husk: - Actor: t02.husk - Weight: 100 - MultiBrush@t03.husk: - Actor: t03.husk - Weight: 100 - MultiBrush@t05.husk: - Actor: t05.husk - Weight: 100 - MultiBrush@t06.husk: - Actor: t06.husk - Weight: 100 - MultiBrush@t07.husk: - Actor: t07.husk - Weight: 100 - MultiBrush@t08.husk: - Actor: t08.husk - Weight: 100 - MultiBrush@t10.husk: - Actor: t10.husk - Weight: 100 - MultiBrush@t11.husk: - Actor: t11.husk - Weight: 100 - MultiBrush@t12.husk: - Actor: t12.husk - Weight: 100 - MultiBrush@t13.husk: - Actor: t13.husk - Weight: 100 - MultiBrush@t14.husk: - Actor: t14.husk - Weight: 100 - MultiBrush@t15.husk: - Actor: t15.husk - Weight: 100 - MultiBrush@t16.husk: - Actor: t16.husk - Weight: 100 - MultiBrush@t17.husk: - Actor: t17.husk - Weight: 100 - MultiBrush@tc01.husk: - Actor: tc01.husk - Weight: 100 - MultiBrush@tc02.husk: - Actor: tc02.husk - Weight: 100 - MultiBrush@tc03.husk: - Actor: tc03.husk - Weight: 100 - MultiBrush@tc04.husk: - Actor: tc04.husk - Weight: 100 - MultiBrush@tc05.husk: - Actor: tc05.husk + FromActors@1: t01,t02,t03,t05,t06,t07,t08,t10,t11,t12,t13,t14,t15,t16,t17,tc01,tc02,tc03,tc04,tc05 + FromActors@2: t01.husk,t02.husk,t03.husk,t05.husk,t06.husk,t07.husk,t08.husk,t10.husk,t11.husk,t12.husk,t13.husk,t14.husk,t15.husk,t16.husk,t17.husk,tc01.husk,tc02.husk,tc03.husk,tc04.husk,tc05.husk Weight: 100 Obstructions: - MultiBrush@67: - Template: 67 - MultiBrush@68: - Template: 68 - MultiBrush@69: - Template: 69 - MultiBrush@70: - Template: 70 + FromTemplates@1: 67,68,69,79,80,82,83,84 + FromTemplates@2: 70,188 Weight: 10 - MultiBrush@79: - Template: 79 - MultiBrush@80: - Template: 80 - MultiBrush@82: - Template: 82 - MultiBrush@83: - Template: 83 - MultiBrush@84: - Template: 84 - MultiBrush@188: - Template: 188 - Weight: 10 - MultiBrush@t01: - Actor: t01 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t02: - Actor: t02 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t03: - Actor: t03 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t05: - Actor: t05 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t06: - Actor: t06 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t07: - Actor: t07 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t08: - Actor: t08 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t10: - Actor: t10 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t11: - Actor: t11 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t12: - Actor: t12 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t13: - Actor: t13 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t14: - Actor: t14 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t15: - Actor: t15 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t16: - Actor: t16 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t17: - Actor: t17 + FromActors@3: t01,t02,t03,t05,t06,t07,t08,t10,t11,t12,t13,t14,t15,t16,t17 BackingTile: 255,0 Weight: 200 Water: - MultiBrush@1: - Template: 1 - MultiBrush@2: - Template: 2 - MultiBrush@5: - Template: 5 + FromTemplates@1: 1,2,76,77 + FromTemplates@2: 5 Weight: 50 - MultiBrush@6: - Template: 6 + FromTemplates@3: 6 Weight: 500 - MultiBrush@76: - Template: 76 - MultiBrush@77: - Template: 77 CivilianBuildings: - MultiBrush@v01: - Actor: v01 - MultiBrush@v02: - Actor: v02 - MultiBrush@v03: - Actor: v03 - MultiBrush@v04: - Actor: v04 - MultiBrush@v05: - Actor: v05 - MultiBrush@v06: - Actor: v06 - MultiBrush@v07: - Actor: v07 - MultiBrush@v08: - Actor: v08 - MultiBrush@v09: - Actor: v09 - MultiBrush@v10: - Actor: v10 - MultiBrush@v11: - Actor: v11 - MultiBrush@v16: - Actor: v16 - MultiBrush@v17: - Actor: v17 - MultiBrush@v18: - Actor: v18 + FromActors@1: v01,v02,v03,v04,v05,v06,v07,v08,v09,v10,v11,v16,v17,v18 diff --git a/mods/cnc/tilesets/winter.yaml b/mods/cnc/tilesets/winter.yaml index 329e85bfb0..00662c8e56 100644 --- a/mods/cnc/tilesets/winter.yaml +++ b/mods/cnc/tilesets/winter.yaml @@ -2788,239 +2788,24 @@ MultiBrushCollections: End: Beach.R Points: 1,2, 1,1, 2,1 Trees: - MultiBrush@t01: - Actor: t01 - MultiBrush@t02: - Actor: t02 - MultiBrush@t03: - Actor: t03 - MultiBrush@t05: - Actor: t05 - MultiBrush@t06: - Actor: t06 - MultiBrush@t07: - Actor: t07 - MultiBrush@t08: - Actor: t08 - MultiBrush@t10: - Actor: t10 - MultiBrush@t11: - Actor: t11 - MultiBrush@t12: - Actor: t12 - MultiBrush@t13: - Actor: t13 - MultiBrush@t14: - Actor: t14 - MultiBrush@t15: - Actor: t15 - MultiBrush@t16: - Actor: t16 - MultiBrush@t17: - Actor: t17 - MultiBrush@tc01: - Actor: tc01 - MultiBrush@tc02: - Actor: tc02 - MultiBrush@tc03: - Actor: tc03 - MultiBrush@tc04: - Actor: tc04 - MultiBrush@tc05: - Actor: tc05 - MultiBrush@t01.husk: - Actor: t01.husk - Weight: 100 - MultiBrush@t02.husk: - Actor: t02.husk - Weight: 100 - MultiBrush@t03.husk: - Actor: t03.husk - Weight: 100 - MultiBrush@t05.husk: - Actor: t05.husk - Weight: 100 - MultiBrush@t06.husk: - Actor: t06.husk - Weight: 100 - MultiBrush@t07.husk: - Actor: t07.husk - Weight: 100 - MultiBrush@t08.husk: - Actor: t08.husk - Weight: 100 - MultiBrush@t10.husk: - Actor: t10.husk - Weight: 100 - MultiBrush@t11.husk: - Actor: t11.husk - Weight: 100 - MultiBrush@t12.husk: - Actor: t12.husk - Weight: 100 - MultiBrush@t13.husk: - Actor: t13.husk - Weight: 100 - MultiBrush@t14.husk: - Actor: t14.husk - Weight: 100 - MultiBrush@t15.husk: - Actor: t15.husk - Weight: 100 - MultiBrush@t16.husk: - Actor: t16.husk - Weight: 100 - MultiBrush@t17.husk: - Actor: t17.husk - Weight: 100 - MultiBrush@tc01.husk: - Actor: tc01.husk - Weight: 100 - MultiBrush@tc02.husk: - Actor: tc02.husk - Weight: 100 - MultiBrush@tc03.husk: - Actor: tc03.husk - Weight: 100 - MultiBrush@tc04.husk: - Actor: tc04.husk - Weight: 100 - MultiBrush@tc05.husk: - Actor: tc05.husk + FromActors@1: t01,t02,t03,t05,t06,t07,t08,t10,t11,t12,t13,t14,t15,t16,t17,tc01,tc02,tc03,tc04,tc05 + FromActors@2: t01.husk,t02.husk,t03.husk,t05.husk,t06.husk,t07.husk,t08.husk,t10.husk,t11.husk,t12.husk,t13.husk,t14.husk,t15.husk,t16.husk,t17.husk,tc01.husk,tc02.husk,tc03.husk,tc04.husk,tc05.husk Weight: 100 Obstructions: - MultiBrush@79: - Template: 79 - MultiBrush@80: - Template: 80 - MultiBrush@82: - Template: 82 - MultiBrush@83: - Template: 83 - MultiBrush@84: - Template: 84 - MultiBrush@t01: - Actor: t01 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t02: - Actor: t02 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t03: - Actor: t03 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t05: - Actor: t05 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t06: - Actor: t06 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t07: - Actor: t07 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t08: - Actor: t08 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t10: - Actor: t10 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t11: - Actor: t11 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t12: - Actor: t12 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t13: - Actor: t13 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t14: - Actor: t14 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t15: - Actor: t15 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t16: - Actor: t16 - BackingTile: 255,0 - Weight: 200 - MultiBrush@t17: - Actor: t17 + FromTemplates@1: 79,80,82,83,84 + FromActors@2: t01,t02,t03,t05,t06,t07,t08,t10,t11,t12,t13,t14,t15,t16,t17 BackingTile: 255,0 Weight: 200 Snow: MultiBrush@Nothing: Weight: 100000 - MultiBrush@81: - Template: 81 - MultiBrush@181: - Template: 181 - MultiBrush@182: - Template: 182 - MultiBrush@183: - Template: 183 - MultiBrush@184: - Template: 184 - MultiBrush@185: - Template: 185 + FromTemplates@1: 81,181,182,183,184,185 Water: - MultiBrush@1: - Template: 1 - MultiBrush@2: - Template: 2 - MultiBrush@5: - Template: 5 + FromTemplates@1: 1,2,76,77 + FromTemplates@2: 5 Weight: 50 - MultiBrush@6: - Template: 6 + FromTemplates@3: 6 Weight: 500 - MultiBrush@76: - Template: 76 - MultiBrush@77: - Template: 77 CivilianBuildings: - MultiBrush@v01: - Actor: v01 - MultiBrush@v02: - Actor: v02 - MultiBrush@v03: - Actor: v03 - MultiBrush@v04: - Actor: v04 - MultiBrush@v05: - Actor: v05 - MultiBrush@v06: - Actor: v06 - MultiBrush@v07: - Actor: v07 - MultiBrush@v08: - Actor: v08 - MultiBrush@v09: - Actor: v09 - MultiBrush@v10: - Actor: v10 - MultiBrush@v11: - Actor: v11 - MultiBrush@v12: - Actor: v12 - Weight: 250 - MultiBrush@v13: - Actor: v13 - Weight: 250 - MultiBrush@v12.husk: - Actor: v12.husk - Weight: 250 - MultiBrush@v13.husk: - Actor: v13.husk - Weight: 250 + FromActors@1: v01,v02,v03,v04,v05,v06,v07,v08,v09,v10,v11 + FromActors@2: v12,v13,v12.husk,v13.husk diff --git a/mods/ra/tilesets/desert.yaml b/mods/ra/tilesets/desert.yaml index e11361266d..60a8d43235 100644 --- a/mods/ra/tilesets/desert.yaml +++ b/mods/ra/tilesets/desert.yaml @@ -4611,163 +4611,16 @@ MultiBrushCollections: Points: 1,1, 1,0 Start: Cliff.U Trees: - MultiBrush@14: - Template: 14 - MultiBrush@15: - Template: 15 - MultiBrush@16: - Template: 16 - MultiBrush@17: - Template: 17 - MultiBrush@18: - Template: 18 - MultiBrush@19: - Template: 19 - MultiBrush@20: - Template: 20 - MultiBrush@21: - Template: 21 - MultiBrush@22: - Template: 22 - MultiBrush@23: - Template: 23 - MultiBrush@t04: - Actor: t04 - MultiBrush@t08: - Actor: t08 - MultiBrush@t09: - Actor: t09 - MultiBrush@tc01: - Actor: tc01 - MultiBrush@t04.husk: - Actor: t04.husk - Weight: 100 - MultiBrush@t08.husk: - Actor: t08.husk - Weight: 100 - MultiBrush@t09.husk: - Actor: t09.husk - Weight: 100 - MultiBrush@tc01.husk: - Actor: tc01.husk + FromTemplates@1: 14,15,16,17,18,19,20,21,22,23 + FromActors@2: t04,t08,t09,tc01 + FromActors@3: t04.husk,t08.husk,t09.husk,tc01.husk Weight: 100 Obstructions: - MultiBrush@2: - Template: 2 - MultiBrush@3: - Template: 3 - MultiBrush@4: - Template: 4 - MultiBrush@5: - Template: 5 - MultiBrush@6: - Template: 6 - MultiBrush@7: - Template: 7 - MultiBrush@14: - Template: 14 + FromTemplates@1: 2,3,4,5,6,7,35,36,37,38,43 + FromTemplates@2: 14,15,16,17,18,19,20,21,22,23 Weight: 500 - MultiBrush@15: - Template: 15 - Weight: 500 - MultiBrush@16: - Template: 16 - Weight: 500 - MultiBrush@17: - Template: 17 - Weight: 500 - MultiBrush@18: - Template: 18 - Weight: 500 - MultiBrush@19: - Template: 19 - Weight: 500 - MultiBrush@20: - Template: 20 - Weight: 500 - MultiBrush@21: - Template: 21 - Weight: 500 - MultiBrush@22: - Template: 22 - Weight: 500 - MultiBrush@23: - Template: 23 - Weight: 500 - MultiBrush@35: - Template: 35 - MultiBrush@36: - Template: 36 - MultiBrush@37: - Template: 37 - MultiBrush@38: - Template: 38 - MultiBrush@43: - Template: 43 - MultiBrush@t04: - Actor: t04 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t08: - Actor: t08 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t09: - Actor: t09 - BackingTile: 255,0 - Weight: 100 - MultiBrush@tc01: - Actor: tc01 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t04.husk: - Actor: t04.husk - BackingTile: 255,0 - Weight: 100 - MultiBrush@t08.husk: - Actor: t08.husk - BackingTile: 255,0 - Weight: 100 - MultiBrush@t09.husk: - Actor: t09.husk - BackingTile: 255,0 - Weight: 100 - MultiBrush@tc01.husk: - Actor: tc01.husk + FromActors@3: t04,t08,t09,tc01,t04.husk,t08.husk,t09.husk,tc01.husk BackingTile: 255,0 Weight: 100 CivilianBuildings: - MultiBrush@v20: - Actor: v20 - MultiBrush@v21: - Actor: v21 - MultiBrush@v22: - Actor: v22 - MultiBrush@v23: - Actor: v23 - MultiBrush@v24: - Actor: v24 - MultiBrush@v25: - Actor: v25 - MultiBrush@v26: - Actor: v26 - MultiBrush@v27: - Actor: v27 - MultiBrush@v28: - Actor: v28 - MultiBrush@v29: - Actor: v29 - MultiBrush@v30: - Actor: v30 - MultiBrush@v31: - Actor: v31 - MultiBrush@v32: - Actor: v32 - MultiBrush@v33: - Actor: v33 - MultiBrush@v34: - Actor: v34 - MultiBrush@v35: - Actor: v35 - MultiBrush@v36: - Actor: v36 + FromActors@1: v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36 diff --git a/mods/ra/tilesets/snow.yaml b/mods/ra/tilesets/snow.yaml index 5c58cca440..dcb245d3f2 100644 --- a/mods/ra/tilesets/snow.yaml +++ b/mods/ra/tilesets/snow.yaml @@ -4660,227 +4660,15 @@ MultiBrushCollections: End: WaterCliff.U Points: 1,1, 1,0 Trees: - MultiBrush@t01: - Actor: t01 - MultiBrush@t02: - Actor: t02 - MultiBrush@t03: - Actor: t03 - MultiBrush@t05: - Actor: t05 - MultiBrush@t06: - Actor: t06 - MultiBrush@t07: - Actor: t07 - MultiBrush@t08: - Actor: t08 - MultiBrush@t10: - Actor: t10 - MultiBrush@t11: - Actor: t11 - MultiBrush@t12: - Actor: t12 - MultiBrush@t13: - Actor: t13 - MultiBrush@t14: - Actor: t14 - MultiBrush@t15: - Actor: t15 - MultiBrush@t16: - Actor: t16 - MultiBrush@t17: - Actor: t17 - MultiBrush@tc01: - Actor: tc01 - MultiBrush@tc02: - Actor: tc02 - MultiBrush@tc03: - Actor: tc03 - MultiBrush@tc04: - Actor: tc04 - MultiBrush@tc05: - Actor: tc05 - MultiBrush@t01.husk: - Actor: t01.husk - Weight: 100 - MultiBrush@t02.husk: - Actor: t02.husk - Weight: 100 - MultiBrush@t03.husk: - Actor: t03.husk - Weight: 100 - MultiBrush@t05.husk: - Actor: t05.husk - Weight: 100 - MultiBrush@t06.husk: - Actor: t06.husk - Weight: 100 - MultiBrush@t07.husk: - Actor: t07.husk - Weight: 100 - MultiBrush@t08.husk: - Actor: t08.husk - Weight: 100 - MultiBrush@t10.husk: - Actor: t10.husk - Weight: 100 - MultiBrush@t11.husk: - Actor: t11.husk - Weight: 100 - MultiBrush@t12.husk: - Actor: t12.husk - Weight: 100 - MultiBrush@t13.husk: - Actor: t13.husk - Weight: 100 - MultiBrush@t14.husk: - Actor: t14.husk - Weight: 100 - MultiBrush@t15.husk: - Actor: t15.husk - Weight: 100 - MultiBrush@t16.husk: - Actor: t16.husk - Weight: 100 - MultiBrush@t17.husk: - Actor: t17.husk - Weight: 100 - MultiBrush@tc01.husk: - Actor: tc01.husk - Weight: 100 - MultiBrush@tc02.husk: - Actor: tc02.husk - Weight: 100 - MultiBrush@tc03.husk: - Actor: tc03.husk - Weight: 100 - MultiBrush@tc04.husk: - Actor: tc04.husk - Weight: 100 - MultiBrush@tc05.husk: - Actor: tc05.husk + FromActors@1: t01,t02,t03,t05,t06,t07,t08,t10,t11,t12,t13,t14,t15,t16,t17,tc01,tc02,tc03,tc04,tc05 + FromActors@2: t01.husk,t02.husk,t03.husk,t05.husk,t06.husk,t07.husk,t08.husk,t10.husk,t11.husk,t12.husk,t13.husk,t14.husk,t15.husk,t16.husk,t17.husk,tc01.husk,tc02.husk,tc03.husk,tc04.husk,tc05.husk Weight: 100 Obstructions: - MultiBrush@97: - Template: 97 - MultiBrush@98: - Template: 98 - MultiBrush@99: - Template: 99 - MultiBrush@217: - Template: 217 - MultiBrush@218: - Template: 218 - MultiBrush@219: - Template: 219 - MultiBrush@220: - Template: 220 - MultiBrush@221: - Template: 221 - MultiBrush@222: - Template: 222 - MultiBrush@223: - Template: 223 - MultiBrush@224: - Template: 224 - MultiBrush@225: - Template: 225 - MultiBrush@226: - Template: 226 - MultiBrush@103: - Template: 103 - MultiBrush@104: - Template: 104 - MultiBrush@105: - Template: 105 + FromTemplates@1: 97,98,99,217,218,219,220,221,222,223,224,225,226,103,104,109,110 + FromTemplates@2: 105,106 Weight: 50 - MultiBrush@106: - Template: 106 - Weight: 50 - MultiBrush@109: - Template: 109 - MultiBrush@110: - Template: 110 - MultiBrush@t01: - Actor: t01 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t02: - Actor: t02 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t03: - Actor: t03 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t05: - Actor: t05 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t06: - Actor: t06 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t07: - Actor: t07 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t08: - Actor: t08 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t10: - Actor: t10 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t11: - Actor: t11 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t12: - Actor: t12 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t13: - Actor: t13 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t14: - Actor: t14 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t15: - Actor: t15 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t16: - Actor: t16 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t17: - Actor: t17 + FromActors@3: t01,t02,t03,t05,t06,t07,t08,t10,t11,t12,t13,t14,t15,t16,t17 BackingTile: 255,0 Weight: 100 CivilianBuildings: - MultiBrush@v01: - Actor: v01 - MultiBrush@v02: - Actor: v02 - MultiBrush@v03: - Actor: v03 - MultiBrush@v04: - Actor: v04 - MultiBrush@v05: - Actor: v05 - MultiBrush@v06: - Actor: v06 - MultiBrush@v07: - Actor: v07 - MultiBrush@v08: - Actor: v08 - MultiBrush@v09: - Actor: v09 - MultiBrush@v10: - Actor: v10 - MultiBrush@v11: - Actor: v11 + FromActors@1: v01,v02,v03,v04,v05,v06,v07,v08,v09,v10,v11 diff --git a/mods/ra/tilesets/temperat.yaml b/mods/ra/tilesets/temperat.yaml index e0a26eb4e2..c9f4caf687 100644 --- a/mods/ra/tilesets/temperat.yaml +++ b/mods/ra/tilesets/temperat.yaml @@ -5120,256 +5120,17 @@ MultiBrushCollections: End: WaterCliff.U Points: 1,1, 1,0 Trees: - MultiBrush@t01: - Actor: t01 - MultiBrush@t02: - Actor: t02 - MultiBrush@t03: - Actor: t03 - MultiBrush@t05: - Actor: t05 - MultiBrush@t06: - Actor: t06 - MultiBrush@t07: - Actor: t07 - MultiBrush@t08: - Actor: t08 - MultiBrush@t10: - Actor: t10 - MultiBrush@t11: - Actor: t11 - MultiBrush@t12: - Actor: t12 - MultiBrush@t13: - Actor: t13 - MultiBrush@t14: - Actor: t14 - MultiBrush@t15: - Actor: t15 - MultiBrush@t16: - Actor: t16 - MultiBrush@t17: - Actor: t17 - MultiBrush@tc01: - Actor: tc01 - MultiBrush@tc02: - Actor: tc02 - MultiBrush@tc03: - Actor: tc03 - MultiBrush@tc04: - Actor: tc04 - MultiBrush@tc05: - Actor: tc05 - MultiBrush@t01.husk: - Actor: t01.husk - Weight: 100 - MultiBrush@t02.husk: - Actor: t02.husk - Weight: 100 - MultiBrush@t03.husk: - Actor: t03.husk - Weight: 100 - MultiBrush@t05.husk: - Actor: t05.husk - Weight: 100 - MultiBrush@t06.husk: - Actor: t06.husk - Weight: 100 - MultiBrush@t07.husk: - Actor: t07.husk - Weight: 100 - MultiBrush@t08.husk: - Actor: t08.husk - Weight: 100 - MultiBrush@t10.husk: - Actor: t10.husk - Weight: 100 - MultiBrush@t11.husk: - Actor: t11.husk - Weight: 100 - MultiBrush@t12.husk: - Actor: t12.husk - Weight: 100 - MultiBrush@t13.husk: - Actor: t13.husk - Weight: 100 - MultiBrush@t14.husk: - Actor: t14.husk - Weight: 100 - MultiBrush@t15.husk: - Actor: t15.husk - Weight: 100 - MultiBrush@t16.husk: - Actor: t16.husk - Weight: 100 - MultiBrush@t17.husk: - Actor: t17.husk - Weight: 100 - MultiBrush@tc01.husk: - Actor: tc01.husk - Weight: 100 - MultiBrush@tc02.husk: - Actor: tc02.husk - Weight: 100 - MultiBrush@tc03.husk: - Actor: tc03.husk - Weight: 100 - MultiBrush@tc04.husk: - Actor: tc04.husk - Weight: 100 - MultiBrush@tc05.husk: - Actor: tc05.husk + FromActors@1: t01,t02,t03,t05,t06,t07,t08,t10,t11,t12,t13,t14,t15,t16,t17,tc01,tc02,tc03,tc04,tc05 + FromActors@2: t01.husk,t02.husk,t03.husk,t05.husk,t06.husk,t07.husk,t08.husk,t10.husk,t11.husk,t12.husk,t13.husk,t14.husk,t15.husk,t16.husk,t17.husk,tc01.husk,tc02.husk,tc03.husk,tc04.husk,tc05.husk Weight: 100 Obstructions: - MultiBrush@97: - Template: 97 - MultiBrush@98: - Template: 98 - MultiBrush@99: - Template: 99 - MultiBrush@217: - Template: 217 - MultiBrush@218: - Template: 218 - MultiBrush@219: - Template: 219 - MultiBrush@220: - Template: 220 - MultiBrush@221: - Template: 221 - MultiBrush@222: - Template: 222 - MultiBrush@223: - Template: 223 - MultiBrush@224: - Template: 224 - MultiBrush@225: - Template: 225 - MultiBrush@226: - Template: 226 - MultiBrush@103: - Template: 103 - MultiBrush@104: - Template: 104 - MultiBrush@105: - Template: 105 + FromTemplates@1: 97,98,99,217,218,219,220,221,222,223,224,225,226,103,104,109,110 + FromTemplates@2: 105,106 Weight: 50 - MultiBrush@106: - Template: 106 - Weight: 50 - MultiBrush@109: - Template: 109 - MultiBrush@110: - Template: 110 - MultiBrush@t01: - Actor: t01 + FromActors@3: t01,t02,t03,t05,t06,t07,t08,t10,t11,t12,t13,t14,t15,t16,t17 BackingTile: 255,0 Weight: 100 - MultiBrush@t02: - Actor: t02 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t03: - Actor: t03 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t05: - Actor: t05 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t06: - Actor: t06 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t07: - Actor: t07 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t08: - Actor: t08 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t10: - Actor: t10 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t11: - Actor: t11 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t12: - Actor: t12 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t13: - Actor: t13 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t14: - Actor: t14 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t15: - Actor: t15 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t16: - Actor: t16 - BackingTile: 255,0 - Weight: 100 - MultiBrush@t17: - Actor: t17 - BackingTile: 255,0 - Weight: 100 - MultiBrush@580: - Template: 580 - Weight: 100 - MultiBrush@581: - Template: 581 - Weight: 100 - MultiBrush@582: - Template: 582 - Weight: 100 - MultiBrush@583: - Template: 583 - Weight: 100 - MultiBrush@584: - Template: 584 - Weight: 100 - MultiBrush@585: - Template: 585 - Weight: 100 - MultiBrush@586: - Template: 586 - Weight: 100 - MultiBrush@587: - Template: 587 - Weight: 100 - MultiBrush@588: - Template: 588 + FromTemplates@4: 580,581,582,583,584,585,586,587,588 Weight: 100 CivilianBuildings: - MultiBrush@v01: - Actor: v01 - MultiBrush@v02: - Actor: v02 - MultiBrush@v03: - Actor: v03 - MultiBrush@v04: - Actor: v04 - MultiBrush@v05: - Actor: v05 - MultiBrush@v06: - Actor: v06 - MultiBrush@v07: - Actor: v07 - MultiBrush@v08: - Actor: v08 - MultiBrush@v09: - Actor: v09 - MultiBrush@v10: - Actor: v10 - MultiBrush@v11: - Actor: v11 - MultiBrush@asianhut: - Actor: asianhut + FromActors@1: v01,v02,v03,v04,v05,v06,v07,v08,v09,v10,v11,asianhut