MNLY immune to own mines

This commit is contained in:
Chris Forbes
2009-12-28 18:02:25 +13:00
parent 6a31fdef97
commit 3fa86b2542
3 changed files with 13 additions and 3 deletions

View File

@@ -16,6 +16,9 @@ namespace OpenRa.Game.Traits
public void OnCrush(Actor crusher) public void OnCrush(Actor crusher)
{ {
if (crusher.traits.Contains<MineImmune>() && crusher.Owner == self.Owner)
return;
Game.world.AddFrameEndTask(_ => Game.world.AddFrameEndTask(_ =>
{ {
Game.world.Remove(self); Game.world.Remove(self);
@@ -34,7 +37,11 @@ namespace OpenRa.Game.Traits
// Mines should explode indiscriminantly of player // Mines should explode indiscriminantly of player
switch (umt) switch (umt)
{ {
case UnitMovementType.Foot: return true; case UnitMovementType.Foot:
case UnitMovementType.Wheel:
case UnitMovementType.Track:
return true;
default: return false; default: return false;
} }
} }

View File

@@ -17,6 +17,9 @@ namespace OpenRa.Game.Traits
public void OnCrush(Actor crusher) public void OnCrush(Actor crusher)
{ {
if (crusher.traits.Contains<MineImmune>() && crusher.Owner == self.Owner)
return;
Game.world.AddFrameEndTask(_ => Game.world.AddFrameEndTask(_ =>
{ {
Game.world.Remove(self); Game.world.Remove(self);

View File

@@ -92,13 +92,13 @@ LongDesc=Deploys into another Construction Yard.\n Unarmed
[MNLY.AP] [MNLY.AP]
Description=Minelayer (Anti-Personnel) Description=Minelayer (Anti-Personnel)
Traits=Unit, Mobile, RenderUnit, Minelayer Traits=Unit, Mobile, RenderUnit, Minelayer, MineImmune
Voice=VehicleVoice Voice=VehicleVoice
LongDesc=Lays mines to destroy unwary enemy units.\n Unarmed LongDesc=Lays mines to destroy unwary enemy units.\n Unarmed
Primary=MINP ;; temporary hack Primary=MINP ;; temporary hack
[MNLY.AT] [MNLY.AT]
Description=Minelayer (Anti-Tank) Description=Minelayer (Anti-Tank)
Traits=Unit, Mobile, RenderUnit, Minelayer Traits=Unit, Mobile, RenderUnit, Minelayer, MineImmune
Voice=VehicleVoice Voice=VehicleVoice
LongDesc=Lays mines to destroy unwary enemy units.\n Unarmed LongDesc=Lays mines to destroy unwary enemy units.\n Unarmed
Primary=MINV ;; temporary hack Primary=MINV ;; temporary hack