diff --git a/OpenRA.Mods.RA/Missions/Allies04Script.cs b/OpenRA.Mods.RA/Missions/Allies04Script.cs index d04525e0aa..67de7a0026 100644 --- a/OpenRA.Mods.RA/Missions/Allies04Script.cs +++ b/OpenRA.Mods.RA/Missions/Allies04Script.cs @@ -10,6 +10,7 @@ using System; using System.Collections.Generic; +using System.Drawing; using System.Linq; using OpenRA.FileFormats; using OpenRA.Mods.RA.Activities; @@ -533,4 +534,27 @@ namespace OpenRA.Mods.RA.Missions } class Allies04TransformOnLabInfiltrate { } + + class Allies04HazyPaletteEffectInfo : TraitInfo { } + + class Allies04HazyPaletteEffect : IPaletteModifier + { + static readonly string[] ExcludePalettes = { "cursor", "chrome", "colorpicker", "fog", "shroud" }; + + public void AdjustPalette(Dictionary palettes) + { + foreach (var pal in palettes) + { + if (ExcludePalettes.Contains(pal.Key)) + continue; + + for (var x = 0; x < 256; x++) + { + var from = pal.Value.GetColor(x); + var to = Color.FromArgb(from.A, Color.FromKnownColor(KnownColor.DarkOrange)); + pal.Value.SetColor(x, Exts.ColorLerp(0.15f, from, to)); + } + } + } + } } diff --git a/mods/ra/maps/allies-04/map.yaml b/mods/ra/maps/allies-04/map.yaml index 9908e043f1..6ad7e412a1 100644 --- a/mods/ra/maps/allies-04/map.yaml +++ b/mods/ra/maps/allies-04/map.yaml @@ -1799,6 +1799,7 @@ Rules: -SpawnMPUnits: -MPStartLocations: Allies04Script: + Allies04HazyPaletteEffect: MissionObjectivesPanel: ObjectivesPanel: MISSION_OBJECTIVES ^Building: