damage stuff in any part of the cell; don't put smudge in water
This commit is contained in:
@@ -76,13 +76,10 @@ namespace OpenRA
|
|||||||
case DamageModel.PerCell:
|
case DamageModel.PerCell:
|
||||||
{
|
{
|
||||||
foreach (var t in world.FindTilesInCircle(targetTile, warhead.SmudgeSize[0]))
|
foreach (var t in world.FindTilesInCircle(targetTile, warhead.SmudgeSize[0]))
|
||||||
{
|
foreach (var unit in world.FindUnits(Game.CellSize * t, Game.CellSize * (t + new float2(1,1))))
|
||||||
var x = Util.CenterOfCell(t);
|
|
||||||
foreach (var unit in world.FindUnits(x, x))
|
|
||||||
unit.InflictDamage(args.firedBy,
|
unit.InflictDamage(args.firedBy,
|
||||||
(int)(warhead.Damage * warhead.EffectivenessAgainst(
|
(int)(warhead.Damage * warhead.EffectivenessAgainst(
|
||||||
unit.Info.Traits.Get<OwnedActorInfo>().Armor)), warhead);
|
unit.Info.Traits.Get<OwnedActorInfo>().Armor)), warhead);
|
||||||
}
|
|
||||||
} break;
|
} break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,7 +53,8 @@ namespace OpenRA
|
|||||||
else
|
else
|
||||||
foreach (var t in Game.world.FindTilesInCircle(targetTile, warhead.SmudgeSize[0]))
|
foreach (var t in Game.world.FindTilesInCircle(targetTile, warhead.SmudgeSize[0]))
|
||||||
if ((t - targetTile).LengthSquared >= warhead.SmudgeSize[1] * warhead.SmudgeSize[1])
|
if ((t - targetTile).LengthSquared >= warhead.SmudgeSize[1] * warhead.SmudgeSize[1])
|
||||||
map.AddSmudge(warhead.SmudgeType == SmudgeType.Crater, t.X, t.Y);
|
if (Game.world.GetTerrainType(t) != TerrainType.Water)
|
||||||
|
map.AddSmudge(warhead.SmudgeType == SmudgeType.Crater, t.X, t.Y);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int lastSmudge = 0;
|
static int lastSmudge = 0;
|
||||||
|
|||||||
@@ -640,7 +640,6 @@ Atomic:
|
|||||||
Warhead@inner-nuke:
|
Warhead@inner-nuke:
|
||||||
DamageModel: PerCell
|
DamageModel: PerCell
|
||||||
Damage: 150
|
Damage: 150
|
||||||
SmudgeType: Scorch
|
|
||||||
SmudgeSize: 3,2
|
SmudgeSize: 3,2
|
||||||
Wall: true
|
Wall: true
|
||||||
Wood: true
|
Wood: true
|
||||||
|
|||||||
Reference in New Issue
Block a user