Removes LocalPlayer check from HideMapCrateAction and RevealMapCrateAction.

Fixes #9063.
Fixes #9127.
This commit is contained in:
deniz1a
2015-08-15 03:16:54 +03:00
parent f325463204
commit 3b36ddfc54
2 changed files with 8 additions and 15 deletions

View File

@@ -32,9 +32,7 @@ namespace OpenRA.Mods.Common.Traits
public override void Activate(Actor collector)
{
if (collector.Owner == collector.World.LocalPlayer)
collector.Owner.Shroud.ResetExploration();
collector.Owner.Shroud.ResetExploration();
base.Activate(collector);
}
}

View File

@@ -8,8 +8,6 @@
*/
#endregion
using OpenRA.Traits;
namespace OpenRA.Mods.Common.Traits
{
[Desc("Reveals the entire map.")]
@@ -31,18 +29,15 @@ namespace OpenRA.Mods.Common.Traits
this.info = info;
}
bool ShouldReveal(Player collectingPlayer)
{
if (info.IncludeAllies)
return collectingPlayer.World.LocalPlayer != null &&
collectingPlayer.Stances[collectingPlayer.World.LocalPlayer] == Stance.Ally;
return collectingPlayer == collectingPlayer.World.LocalPlayer;
}
public override void Activate(Actor collector)
{
if (ShouldReveal(collector.Owner))
if (info.IncludeAllies)
{
foreach (var player in collector.World.Players)
if (collector.Owner.IsAlliedWith(player))
player.Shroud.ExploreAll(player.World);
}
else
collector.Owner.Shroud.ExploreAll(collector.World);
base.Activate(collector);