Per-terrain color validation.
This commit is contained in:
@@ -53,6 +53,7 @@ namespace OpenRA
|
||||
public readonly HashSet<string> AcceptsSmudgeType = new HashSet<string>();
|
||||
public readonly bool IsWater = false; // TODO: Remove this
|
||||
public readonly Color Color;
|
||||
public readonly bool RestrictPlayerColor = false;
|
||||
public readonly string CustomCursor;
|
||||
|
||||
// Private default ctor for serialization comparison
|
||||
|
||||
@@ -291,7 +291,7 @@ namespace OpenRA.Mods.Common.Server
|
||||
// Pick a random color for the bot
|
||||
var validator = server.ModData.Manifest.Get<ColorValidator>();
|
||||
var tileset = server.Map.Rules.TileSets[server.Map.Tileset];
|
||||
var terrainColors = tileset.TerrainInfo.Select(ti => ti.Color);
|
||||
var terrainColors = tileset.TerrainInfo.Where(ti => ti.RestrictPlayerColor).Select(ti => ti.Color);
|
||||
var playerColors = server.LobbyInfo.Clients.Select(c => c.Color.RGB)
|
||||
.Concat(server.MapPlayers.Players.Values.Select(p => p.Color.RGB));
|
||||
bot.Color = bot.PreferredColor = validator.RandomValidColor(server.Random, terrainColors, playerColors);
|
||||
@@ -975,7 +975,7 @@ namespace OpenRA.Mods.Common.Server
|
||||
};
|
||||
|
||||
var tileset = server.Map.Rules.TileSets[server.Map.Tileset];
|
||||
var terrainColors = tileset.TerrainInfo.Select(ti => ti.Color).ToList();
|
||||
var terrainColors = tileset.TerrainInfo.Where(ti => ti.RestrictPlayerColor).Select(ti => ti.Color).ToList();
|
||||
var playerColors = server.LobbyInfo.Clients.Where(c => c.Index != playerIndex).Select(c => c.Color.RGB)
|
||||
.Concat(server.MapPlayers.Players.Values.Select(p => p.Color.RGB)).ToList();
|
||||
|
||||
|
||||
@@ -14,11 +14,13 @@ Terrain:
|
||||
TargetTypes: Ground
|
||||
AcceptsSmudgeType: Crater, Scorch
|
||||
Color: 54FCFC
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@Clear:
|
||||
Type: Clear
|
||||
TargetTypes: Ground
|
||||
AcceptsSmudgeType: Crater, Scorch
|
||||
Color: 865F45
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@River:
|
||||
Type: River
|
||||
TargetTypes: Ground
|
||||
@@ -42,6 +44,7 @@ Terrain:
|
||||
TargetTypes: Ground
|
||||
AcceptsSmudgeType: Crater, Scorch
|
||||
Color: A1E21C
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@Tree:
|
||||
Type: Tree
|
||||
TargetTypes: Ground
|
||||
@@ -56,6 +59,7 @@ Terrain:
|
||||
TargetTypes: Water
|
||||
IsWater: True
|
||||
Color: 5DA5CE
|
||||
RestrictPlayerColor: true
|
||||
|
||||
Templates:
|
||||
Template@255:
|
||||
|
||||
@@ -14,11 +14,13 @@ Terrain:
|
||||
TargetTypes: Ground
|
||||
AcceptsSmudgeType: Crater, Scorch
|
||||
Color: 54FCFC
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@Clear:
|
||||
Type: Clear
|
||||
TargetTypes: Ground
|
||||
AcceptsSmudgeType: Crater, Scorch
|
||||
Color: 285C30
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@River:
|
||||
Type: River
|
||||
TargetTypes: Ground
|
||||
@@ -42,6 +44,7 @@ Terrain:
|
||||
TargetTypes: Ground
|
||||
AcceptsSmudgeType: Crater, Scorch
|
||||
Color: A1E21C
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@Tree:
|
||||
Type: Tree
|
||||
TargetTypes: Ground
|
||||
@@ -56,6 +59,7 @@ Terrain:
|
||||
TargetTypes: Water
|
||||
IsWater: True
|
||||
Color: 5C74A4
|
||||
RestrictPlayerColor: true
|
||||
|
||||
Templates:
|
||||
Template@255:
|
||||
|
||||
@@ -14,11 +14,13 @@ Terrain:
|
||||
TargetTypes: Ground
|
||||
AcceptsSmudgeType: Crater, Scorch
|
||||
Color: 54FCFC
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@Clear:
|
||||
Type: Clear
|
||||
TargetTypes: Ground
|
||||
AcceptsSmudgeType: Crater, Scorch
|
||||
Color: C4C4C4
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@River:
|
||||
Type: River
|
||||
TargetTypes: Ground
|
||||
@@ -42,6 +44,7 @@ Terrain:
|
||||
TargetTypes: Ground
|
||||
AcceptsSmudgeType: Crater, Scorch
|
||||
Color: A1E21C
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@Tree:
|
||||
Type: Tree
|
||||
TargetTypes: Ground
|
||||
@@ -56,6 +59,7 @@ Terrain:
|
||||
TargetTypes: Water
|
||||
IsWater: True
|
||||
Color: 5C74A4
|
||||
RestrictPlayerColor: true
|
||||
|
||||
Templates:
|
||||
Template@255:
|
||||
|
||||
@@ -14,11 +14,13 @@ Terrain:
|
||||
TargetTypes: Ground
|
||||
AcceptsSmudgeType: Crater, Scorch
|
||||
Color: 54FCFC
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@Clear:
|
||||
Type: Clear
|
||||
TargetTypes: Ground
|
||||
AcceptsSmudgeType: Crater, Scorch
|
||||
Color: 284428
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@River:
|
||||
Type: River
|
||||
TargetTypes: Ground
|
||||
@@ -42,6 +44,7 @@ Terrain:
|
||||
TargetTypes: Ground
|
||||
AcceptsSmudgeType: Crater, Scorch
|
||||
Color: A1E21C
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@Tree:
|
||||
Type: Tree
|
||||
TargetTypes: Ground
|
||||
@@ -56,6 +59,7 @@ Terrain:
|
||||
TargetTypes: Water
|
||||
IsWater: True
|
||||
Color: 5C74A4
|
||||
RestrictPlayerColor: true
|
||||
|
||||
Templates:
|
||||
Template@255:
|
||||
|
||||
@@ -14,11 +14,13 @@ Terrain:
|
||||
TargetTypes: Ground
|
||||
AcceptsSmudgeType: Crater, Scorch
|
||||
Color: 54FCFC
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@Clear:
|
||||
Type: Clear
|
||||
TargetTypes: Ground
|
||||
AcceptsSmudgeType: Crater, Scorch
|
||||
Color: 284428
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@River:
|
||||
Type: River
|
||||
TargetTypes: Ground
|
||||
@@ -42,6 +44,7 @@ Terrain:
|
||||
TargetTypes: Ground
|
||||
AcceptsSmudgeType: Crater, Scorch
|
||||
Color: A1E21C
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@Tree:
|
||||
Type: Tree
|
||||
TargetTypes: Ground
|
||||
@@ -56,6 +59,7 @@ Terrain:
|
||||
TargetTypes: Water
|
||||
IsWater: True
|
||||
Color: 5C74A4
|
||||
RestrictPlayerColor: true
|
||||
|
||||
Templates:
|
||||
Template@255:
|
||||
|
||||
@@ -33,6 +33,7 @@ Terrain:
|
||||
TargetTypes: Ground
|
||||
AcceptsSmudgeType: RockCrater
|
||||
Color: CE8C42
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@Rough:
|
||||
Type: Rough
|
||||
TargetTypes: Ground
|
||||
@@ -43,10 +44,12 @@ Terrain:
|
||||
TargetTypes: Ground
|
||||
AcceptsSmudgeType: SandCrater
|
||||
Color: D0C0A0
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@Spice:
|
||||
Type: Spice
|
||||
TargetTypes: Ground
|
||||
Color: EF944A
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@Transition:
|
||||
Type: Transition
|
||||
TargetTypes: Ground
|
||||
|
||||
@@ -24,16 +24,19 @@ Terrain:
|
||||
TargetTypes: Ground
|
||||
AcceptsSmudgeType: Crater, Scorch
|
||||
Color: 865F45
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@Gems:
|
||||
Type: Gems
|
||||
TargetTypes: Ground
|
||||
AcceptsSmudgeType: Crater, Scorch
|
||||
Color: 8470FF
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@Ore:
|
||||
Type: Ore
|
||||
TargetTypes: Ground
|
||||
AcceptsSmudgeType: Crater, Scorch
|
||||
Color: 948060
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@River:
|
||||
Type: River
|
||||
TargetTypes: Ground
|
||||
@@ -66,6 +69,7 @@ Terrain:
|
||||
TargetTypes: Water
|
||||
IsWater: True
|
||||
Color: 5DA5CE
|
||||
RestrictPlayerColor: true
|
||||
|
||||
Templates:
|
||||
Template@255:
|
||||
|
||||
@@ -19,11 +19,13 @@ Terrain:
|
||||
TargetTypes: Ground
|
||||
AcceptsSmudgeType: Crater, Scorch
|
||||
Color: 8470FF
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@Ore:
|
||||
Type: Ore
|
||||
TargetTypes: Ground
|
||||
AcceptsSmudgeType: Crater, Scorch
|
||||
Color: 948060
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@Tree:
|
||||
Type: Tree
|
||||
TargetTypes: Ground
|
||||
@@ -32,6 +34,7 @@ Terrain:
|
||||
Type: Wall
|
||||
TargetTypes: Ground
|
||||
Color: D0C0A0
|
||||
RestrictPlayerColor: true
|
||||
|
||||
Templates:
|
||||
Template@255:
|
||||
|
||||
@@ -19,16 +19,19 @@ Terrain:
|
||||
TargetTypes: Ground
|
||||
AcceptsSmudgeType: Crater, Scorch
|
||||
Color: C4C4C4
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@Gems:
|
||||
Type: Gems
|
||||
TargetTypes: Ground
|
||||
AcceptsSmudgeType: Crater, Scorch
|
||||
Color: 8470FF
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@Ore:
|
||||
Type: Ore
|
||||
TargetTypes: Ground
|
||||
AcceptsSmudgeType: Crater, Scorch
|
||||
Color: 948060
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@River:
|
||||
Type: River
|
||||
TargetTypes: Ground
|
||||
@@ -61,6 +64,7 @@ Terrain:
|
||||
TargetTypes: Water
|
||||
IsWater: True
|
||||
Color: 5C74A4
|
||||
RestrictPlayerColor: true
|
||||
|
||||
Templates:
|
||||
Template@255:
|
||||
|
||||
@@ -19,16 +19,19 @@ Terrain:
|
||||
TargetTypes: Ground
|
||||
AcceptsSmudgeType: Crater, Scorch
|
||||
Color: 284428
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@Gems:
|
||||
Type: Gems
|
||||
TargetTypes: Ground
|
||||
AcceptsSmudgeType: Crater, Scorch
|
||||
Color: 8470FF
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@Ore:
|
||||
Type: Ore
|
||||
TargetTypes: Ground
|
||||
AcceptsSmudgeType: Crater, Scorch
|
||||
Color: 948060
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@River:
|
||||
Type: River
|
||||
TargetTypes: Ground
|
||||
@@ -61,6 +64,7 @@ Terrain:
|
||||
TargetTypes: Water
|
||||
IsWater: True
|
||||
Color: 5C74A4
|
||||
RestrictPlayerColor: true
|
||||
|
||||
Templates:
|
||||
Template@255:
|
||||
|
||||
@@ -13,6 +13,7 @@ Terrain:
|
||||
AcceptsSmudgeType: SmallCrater, MediumCrater, LargeCrater, SmallScorch, MediumScorch, LargeScorch
|
||||
Color: C7C9FA
|
||||
TargetTypes: Ground
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@Road:
|
||||
Type: Road
|
||||
Color: 2D2B28
|
||||
@@ -30,6 +31,7 @@ Terrain:
|
||||
Color: 3D4148
|
||||
TargetTypes: Water
|
||||
IsWater: True
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@DirtRoad:
|
||||
Type: DirtRoad
|
||||
Color: 82838F
|
||||
@@ -47,11 +49,13 @@ Terrain:
|
||||
AcceptsSmudgeType: SmallCrater, MediumCrater, LargeCrater, SmallScorch, MediumScorch, LargeScorch
|
||||
Color: 009000
|
||||
TargetTypes: Ground
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@BlueTiberium:
|
||||
Type: BlueTiberium
|
||||
AcceptsSmudgeType: SmallCrater, MediumCrater, LargeCrater, SmallScorch, MediumScorch, LargeScorch
|
||||
Color: 202080
|
||||
TargetTypes: Ground
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@Veins:
|
||||
Type: Veins
|
||||
Color: 000000
|
||||
|
||||
@@ -13,6 +13,7 @@ Terrain:
|
||||
AcceptsSmudgeType: SmallCrater, MediumCrater, LargeCrater, SmallScorch, MediumScorch, LargeScorch
|
||||
Color: 745537
|
||||
TargetTypes: Ground
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@Road:
|
||||
Type: Road
|
||||
Color: 745537
|
||||
@@ -30,6 +31,7 @@ Terrain:
|
||||
Color: 745537
|
||||
TargetTypes: Water
|
||||
IsWater: True
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@DirtRoad:
|
||||
Type: DirtRoad
|
||||
Color: 745537
|
||||
@@ -47,11 +49,13 @@ Terrain:
|
||||
AcceptsSmudgeType: SmallCrater, MediumCrater, LargeCrater, SmallScorch, MediumScorch, LargeScorch
|
||||
Color: 009000
|
||||
TargetTypes: Ground
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@BlueTiberium:
|
||||
Type: BlueTiberium
|
||||
AcceptsSmudgeType: SmallCrater, MediumCrater, LargeCrater, SmallScorch, MediumScorch, LargeScorch
|
||||
Color: 202080
|
||||
TargetTypes: Ground
|
||||
RestrictPlayerColor: true
|
||||
TerrainType@Veins:
|
||||
Type: Veins
|
||||
Color: 000000
|
||||
|
||||
Reference in New Issue
Block a user