diff --git a/OpenRA.Game/Shroud.cs b/OpenRA.Game/Shroud.cs
index b2a127b504..0d912a3557 100644
--- a/OpenRA.Game/Shroud.cs
+++ b/OpenRA.Game/Shroud.cs
@@ -98,7 +98,12 @@ namespace OpenRA
return IsExplored(x,y);
}
-
+
+ public void ResetExplored()
+ {
+ explored = new bool[map.MapSize, map.MapSize];
+ }
+
Rectangle MakeRect(int2 center, int range)
{
return new Rectangle(center.X - range, center.Y - range, 2 * range + 1, 2 * range + 1);
diff --git a/OpenRA.Mods.RA/Crates/ResetRadarCrateAction.cs b/OpenRA.Mods.RA/Crates/ResetRadarCrateAction.cs
new file mode 100644
index 0000000000..f893855d6c
--- /dev/null
+++ b/OpenRA.Mods.RA/Crates/ResetRadarCrateAction.cs
@@ -0,0 +1,41 @@
+#region Copyright & License Information
+/*
+ * Copyright 2007,2009,2010 Chris Forbes, Robert Pepperell, Matthew Bowra-Dean, Paul Chote, Alli Witheford.
+ * This file is part of OpenRA.
+ *
+ * OpenRA is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * OpenRA is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with OpenRA. If not, see .
+ */
+#endregion
+
+using OpenRA.Traits;
+
+namespace OpenRA.Mods.RA
+{
+ class HideMapCrateActionInfo : CrateActionInfo
+ {
+ public override object Create(Actor self) { return new HideMapCrateAction(self, this); }
+ }
+
+ class HideMapCrateAction : CrateAction
+ {
+ public HideMapCrateAction(Actor self, HideMapCrateActionInfo info)
+ : base(self, info) {}
+
+ public override void Activate(Actor collector)
+ {
+ collector.Owner.Shroud.ResetExplored();
+ base.Activate(collector);
+ }
+ }
+}
diff --git a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
index 73fe0027ef..83348235b5 100644
--- a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
+++ b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
@@ -78,6 +78,7 @@
+
diff --git a/mods/ra/rules.yaml b/mods/ra/rules.yaml
index f7c9b0ff8e..63ced32d24 100644
--- a/mods/ra/rules.yaml
+++ b/mods/ra/rules.yaml
@@ -659,6 +659,9 @@ CRATE:
ExplodeCrateAction@boom:
Weapon: CrateExplosion
SelectionShares: 5
+ HideMapCrateAction:
+ SelectionShares: 10
+ Effect: hide-map
Unit:
HP: 1
RenderUnit: