Fix arbitrary defaults in InfiltrateForCashInfo.

This commit is contained in:
Oliver Brakmann
2016-01-11 20:47:00 +01:00
parent ee8323373b
commit c40b64ad02
2 changed files with 21 additions and 4 deletions

View File

@@ -2899,6 +2899,22 @@ namespace OpenRA.Mods.Common.UtilityCommands
} }
} }
// Removed arbitrary defaults from InfiltrateForCash
if (engineVersion < 20160118)
{
if (node.Key == "InfiltrateForCash")
{
if (!node.Value.Nodes.Any(n => n.Key == "Percentage"))
node.Value.Nodes.Add(new MiniYamlNode("Percentage", "50"));
if (!node.Value.Nodes.Any(n => n.Key == "Minimum"))
node.Value.Nodes.Add(new MiniYamlNode("Minimum", "500"));
if (!node.Value.Nodes.Any(n => n.Key == "SoundToVictim"))
node.Value.Nodes.Add(new MiniYamlNode("SoundToVictim", "credit1.aud"));
}
}
UpgradeActorRules(engineVersion, ref node.Value.Nodes, node, depth + 1); UpgradeActorRules(engineVersion, ref node.Value.Nodes, node, depth + 1);
} }
} }

View File

@@ -19,14 +19,14 @@ namespace OpenRA.Mods.RA.Traits
class InfiltrateForCashInfo : ITraitInfo class InfiltrateForCashInfo : ITraitInfo
{ {
[Desc("Percentage of the victim's resources that will be stolen.")] [Desc("Percentage of the victim's resources that will be stolen.")]
public readonly int Percentage = 50; public readonly int Percentage = 100;
[Desc("Amount of guaranteed funds to claim when the victim does not have enough resources.", [Desc("Amount of guaranteed funds to claim when the victim does not have enough resources.",
"When negative, the production price of the infiltrating actor will be used instead.")] "When negative, the production price of the infiltrating actor will be used instead.")]
public readonly int Minimum = 500; public readonly int Minimum = -1;
[Desc("Sound the victim will hear when they get robbed.")] [Desc("Sound the victim will hear when they get robbed.")]
public readonly string SoundToVictim = "credit1.aud"; public readonly string SoundToVictim = null;
public object Create(ActorInitializer init) { return new InfiltrateForCash(this); } public object Create(ActorInitializer init) { return new InfiltrateForCash(this); }
} }
@@ -49,7 +49,8 @@ namespace OpenRA.Mods.RA.Traits
targetResources.TakeCash(toTake); targetResources.TakeCash(toTake);
spyResources.GiveCash(toGive); spyResources.GiveCash(toGive);
Game.Sound.PlayToPlayer(self.Owner, info.SoundToVictim); if (info.SoundToVictim != null)
Game.Sound.PlayToPlayer(self.Owner, info.SoundToVictim);
self.World.AddFrameEndTask(w => w.Add(new FloatingText(self.CenterPosition, infiltrator.Owner.Color.RGB, FloatingText.FormatCashTick(toGive), 30))); self.World.AddFrameEndTask(w => w.Add(new FloatingText(self.CenterPosition, infiltrator.Owner.Color.RGB, FloatingText.FormatCashTick(toGive), 30)));
} }