tib poisoning is now resourcetype-specific

This commit is contained in:
Chris Forbes
2010-04-17 18:26:32 +12:00
parent 97bd7ddcd1
commit 6d14f86625

View File

@@ -18,6 +18,7 @@
*/ */
#endregion #endregion
using System.Linq;
using OpenRA.GameRules; using OpenRA.GameRules;
using OpenRA.Traits; using OpenRA.Traits;
@@ -26,6 +27,7 @@ namespace OpenRA.Mods.Cnc
class PoisonedByTiberiumInfo : ITraitInfo class PoisonedByTiberiumInfo : ITraitInfo
{ {
public readonly string Weapon = "Tiberium"; public readonly string Weapon = "Tiberium";
public readonly string[] Resources = { "Tiberium" };
public object Create(Actor self) { return new PoisonedByTiberium(this); } public object Create(Actor self) { return new PoisonedByTiberium(this); }
} }
@@ -44,7 +46,7 @@ namespace OpenRA.Mods.Cnc
var rl = self.World.WorldActor.traits.Get<ResourceLayer>(); var rl = self.World.WorldActor.traits.Get<ResourceLayer>();
var r = rl.GetResource(self.Location); var r = rl.GetResource(self.Location);
if (r != null) if (r != null && info.Resources.Contains(r.Name))
Combat.DoImpacts(new ProjectileArgs Combat.DoImpacts(new ProjectileArgs
{ {
src = self.CenterLocation.ToInt2(), src = self.CenterLocation.ToInt2(),