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:
|
||||
{
|
||||
foreach (var t in world.FindTilesInCircle(targetTile, warhead.SmudgeSize[0]))
|
||||
{
|
||||
var x = Util.CenterOfCell(t);
|
||||
foreach (var unit in world.FindUnits(x, x))
|
||||
foreach (var unit in world.FindUnits(Game.CellSize * t, Game.CellSize * (t + new float2(1,1))))
|
||||
unit.InflictDamage(args.firedBy,
|
||||
(int)(warhead.Damage * warhead.EffectivenessAgainst(
|
||||
unit.Info.Traits.Get<OwnedActorInfo>().Armor)), warhead);
|
||||
}
|
||||
} break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,7 +53,8 @@ namespace OpenRA
|
||||
else
|
||||
foreach (var t in Game.world.FindTilesInCircle(targetTile, warhead.SmudgeSize[0]))
|
||||
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;
|
||||
|
||||
@@ -640,7 +640,6 @@ Atomic:
|
||||
Warhead@inner-nuke:
|
||||
DamageModel: PerCell
|
||||
Damage: 150
|
||||
SmudgeType: Scorch
|
||||
SmudgeSize: 3,2
|
||||
Wall: true
|
||||
Wood: true
|
||||
|
||||
Reference in New Issue
Block a user