diff --git a/OpenRA.Mods.RA/Crates/HideMapCrateAction.cs b/OpenRA.Mods.RA/Crates/HideMapCrateAction.cs index 604dbdfe32..a94353ff27 100644 --- a/OpenRA.Mods.RA/Crates/HideMapCrateAction.cs +++ b/OpenRA.Mods.RA/Crates/HideMapCrateAction.cs @@ -22,6 +22,16 @@ namespace OpenRA.Mods.RA public HideMapCrateAction(Actor self, HideMapCrateActionInfo info) : base(self, info) {} + public override int GetSelectionShares (Actor collector) + { + // don't ever hide the map for people who have GPS. + var gpsWatcher = collector.Owner.PlayerActor.TraitOrDefault(); + if (gpsWatcher != null && (gpsWatcher.Granted || gpsWatcher.GrantedAllies)) + return 0; + + return base.GetSelectionShares (collector); + } + public override void Activate(Actor collector) { base.Activate(collector);