Merge pull request #6183 from UberWaffe/6030Fix_UpgradeRules
Closes #6177 Closes #6222 Closes #6240 Closes #6245
This commit is contained in:
@@ -19,7 +19,7 @@ namespace OpenRA.GameRules
|
|||||||
public abstract class Warhead
|
public abstract class Warhead
|
||||||
{
|
{
|
||||||
[Desc("What types of targets are affected.")]
|
[Desc("What types of targets are affected.")]
|
||||||
public readonly string[] ValidTargets = { "Air", "Ground", "Water" };
|
public readonly string[] ValidTargets = { "Ground", "Water" };
|
||||||
|
|
||||||
[Desc("What types of targets are unaffected.", "Overrules ValidTargets.")]
|
[Desc("What types of targets are unaffected.", "Overrules ValidTargets.")]
|
||||||
public readonly string[] InvalidTargets = { };
|
public readonly string[] InvalidTargets = { };
|
||||||
@@ -29,7 +29,7 @@ namespace OpenRA.GameRules
|
|||||||
|
|
||||||
public abstract void DoImpact(Target target, Actor firedBy, float firepowerModifier);
|
public abstract void DoImpact(Target target, Actor firedBy, float firepowerModifier);
|
||||||
|
|
||||||
public abstract float EffectivenessAgainst(ActorInfo ai);
|
public virtual float EffectivenessAgainst(ActorInfo ai) { return 0f; }
|
||||||
|
|
||||||
public bool IsValidAgainst(Target target, World world, Actor firedBy)
|
public bool IsValidAgainst(Target target, World world, Actor firedBy)
|
||||||
{
|
{
|
||||||
@@ -58,6 +58,10 @@ namespace OpenRA.GameRules
|
|||||||
|
|
||||||
public bool IsValidAgainst(Actor victim, Actor firedBy)
|
public bool IsValidAgainst(Actor victim, Actor firedBy)
|
||||||
{
|
{
|
||||||
|
// If this warhead is ineffective against the target, then it is not a valid target
|
||||||
|
if (EffectivenessAgainst(victim.Info) <= 0f)
|
||||||
|
return false;
|
||||||
|
|
||||||
// A target type is valid if it is in the valid targets list, and not in the invalid targets list.
|
// A target type is valid if it is in the valid targets list, and not in the invalid targets list.
|
||||||
return InTargetList(victim, firedBy, ValidTargets) &&
|
return InTargetList(victim, firedBy, ValidTargets) &&
|
||||||
!InTargetList(victim, firedBy, InvalidTargets);
|
!InTargetList(victim, firedBy, InvalidTargets);
|
||||||
@@ -79,6 +83,10 @@ namespace OpenRA.GameRules
|
|||||||
|
|
||||||
public bool IsValidAgainst(FrozenActor victim, Actor firedBy)
|
public bool IsValidAgainst(FrozenActor victim, Actor firedBy)
|
||||||
{
|
{
|
||||||
|
// If this warhead is ineffective against the target, then it is not a valid target
|
||||||
|
if (EffectivenessAgainst(victim.Info) <= 0f)
|
||||||
|
return false;
|
||||||
|
|
||||||
// A target type is valid if it is in the valid targets list, and not in the invalid targets list.
|
// A target type is valid if it is in the valid targets list, and not in the invalid targets list.
|
||||||
return InTargetList(victim, firedBy, ValidTargets) &&
|
return InTargetList(victim, firedBy, ValidTargets) &&
|
||||||
!InTargetList(victim, firedBy, InvalidTargets);
|
!InTargetList(victim, firedBy, InvalidTargets);
|
||||||
|
|||||||
@@ -95,8 +95,6 @@ namespace OpenRA.Mods.RA
|
|||||||
Sound.Play(ImpactSound, pos);
|
Sound.Play(ImpactSound, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override float EffectivenessAgainst(ActorInfo ai) { return 1f; }
|
|
||||||
|
|
||||||
public bool IsValidImpact(WPos pos, Actor firedBy)
|
public bool IsValidImpact(WPos pos, Actor firedBy)
|
||||||
{
|
{
|
||||||
var world = firedBy.World;
|
var world = firedBy.World;
|
||||||
|
|||||||
@@ -60,7 +60,5 @@ namespace OpenRA.Mods.RA
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override float EffectivenessAgainst(ActorInfo ai) { return 1f; }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,7 +41,5 @@ namespace OpenRA.Mods.RA
|
|||||||
foreach (var cell in allCells)
|
foreach (var cell in allCells)
|
||||||
resLayer.Destroy(cell);
|
resLayer.Destroy(cell);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override float EffectivenessAgainst(ActorInfo ai) { return 1f; }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,7 +52,5 @@ namespace OpenRA.Mods.RA
|
|||||||
smudgeLayer.AddSmudge(sc);
|
smudgeLayer.AddSmudge(sc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override float EffectivenessAgainst(ActorInfo ai) { return 1f; }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -509,6 +509,9 @@ namespace OpenRA.Utility
|
|||||||
// Split out the warheads to individual warhead types.
|
// Split out the warheads to individual warhead types.
|
||||||
if (depth == 0)
|
if (depth == 0)
|
||||||
{
|
{
|
||||||
|
var validTargets = node.Value.Nodes.FirstOrDefault(n => n.Key == "ValidTargets"); // Weapon's ValidTargets need to be copied to the warheads, so find it
|
||||||
|
var invalidTargets = node.Value.Nodes.FirstOrDefault(n => n.Key == "InvalidTargets"); // Weapon's InvalidTargets need to be copied to the warheads, so find it
|
||||||
|
|
||||||
var warheadCounter = 0;
|
var warheadCounter = 0;
|
||||||
foreach(var curNode in node.Value.Nodes.ToArray())
|
foreach(var curNode in node.Value.Nodes.ToArray())
|
||||||
{
|
{
|
||||||
@@ -527,14 +530,27 @@ namespace OpenRA.Utility
|
|||||||
|
|
||||||
var newYaml = new List<MiniYamlNode>();
|
var newYaml = new List<MiniYamlNode>();
|
||||||
|
|
||||||
var keywords = new List<String>{ "Size","Damage","InfDeath","PreventProne","ProneModifier","Delay","ValidTargets","InvalidTargets" };
|
var temp = curNode.Value.Nodes.FirstOrDefault(n => n.Key == "Size"); // New PerCell warhead allows 2 sizes, as opposed to 1 size
|
||||||
|
if (temp != null)
|
||||||
|
{
|
||||||
|
var newValue = temp.Value.Value.Split(',').First();
|
||||||
|
newYaml.Add(new MiniYamlNode("Size", newValue));
|
||||||
|
}
|
||||||
|
|
||||||
|
var keywords = new List<string>{ "Damage", "InfDeath", "PreventProne", "ProneModifier", "Delay" };
|
||||||
|
|
||||||
foreach(var keyword in keywords)
|
foreach(var keyword in keywords)
|
||||||
{
|
{
|
||||||
var temp = curNode.Value.Nodes.FirstOrDefault(n => n.Key == keyword);
|
var temp2 = curNode.Value.Nodes.FirstOrDefault(n => n.Key == keyword);
|
||||||
if (temp != null)
|
if (temp2 != null)
|
||||||
newYaml.Add(new MiniYamlNode(keyword, temp.Value.Value));
|
newYaml.Add(new MiniYamlNode(keyword, temp2.Value.Value));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (validTargets != null)
|
||||||
|
newYaml.Add(validTargets);
|
||||||
|
if (invalidTargets != null)
|
||||||
|
newYaml.Add(invalidTargets);
|
||||||
|
|
||||||
var tempVersus = curNode.Value.Nodes.FirstOrDefault(n => n.Key == "Versus");
|
var tempVersus = curNode.Value.Nodes.FirstOrDefault(n => n.Key == "Versus");
|
||||||
if (tempVersus != null)
|
if (tempVersus != null)
|
||||||
newYaml.Add(new MiniYamlNode("Versus", tempVersus.Value));
|
newYaml.Add(new MiniYamlNode("Versus", tempVersus.Value));
|
||||||
@@ -550,17 +566,15 @@ namespace OpenRA.Utility
|
|||||||
|
|
||||||
var newYaml = new List<MiniYamlNode>();
|
var newYaml = new List<MiniYamlNode>();
|
||||||
|
|
||||||
var temp = curNode.Value.Nodes.FirstOrDefault(n => n.Key == "Size"); // New HealthPercentage warhead allows spreads, as opposed to size
|
var temp = curNode.Value.Nodes.FirstOrDefault(n => n.Key == "Size"); // New HealthPercentage warhead allows 2 spreads, as opposed to 1 size
|
||||||
if (temp != null)
|
if (temp != null)
|
||||||
{
|
{
|
||||||
var newValue = temp.Value.Value.Split(',').First() + "c0";
|
var newValue = temp.Value.Value.Split(',').First() + "c0";
|
||||||
if (temp.Value.Value.Contains(','))
|
|
||||||
newValue = newValue + "," + temp.Value.Value.Split(',')[1] + "c0"; ;
|
|
||||||
|
|
||||||
newYaml.Add(new MiniYamlNode("Spread", newValue));
|
newYaml.Add(new MiniYamlNode("Spread", newValue));
|
||||||
}
|
}
|
||||||
|
|
||||||
var keywords = new List<String>{ "Damage","InfDeath","PreventProne","ProneModifier","Delay","ValidTargets","InvalidTargets" };
|
var keywords = new List<string>{ "Damage", "InfDeath", "PreventProne", "ProneModifier", "Delay" };
|
||||||
|
|
||||||
foreach(var keyword in keywords)
|
foreach(var keyword in keywords)
|
||||||
{
|
{
|
||||||
var temp2 = curNode.Value.Nodes.FirstOrDefault(n => n.Key == keyword);
|
var temp2 = curNode.Value.Nodes.FirstOrDefault(n => n.Key == keyword);
|
||||||
@@ -568,6 +582,11 @@ namespace OpenRA.Utility
|
|||||||
newYaml.Add(new MiniYamlNode(keyword, temp2.Value.Value));
|
newYaml.Add(new MiniYamlNode(keyword, temp2.Value.Value));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (validTargets != null)
|
||||||
|
newYaml.Add(validTargets);
|
||||||
|
if (invalidTargets != null)
|
||||||
|
newYaml.Add(invalidTargets);
|
||||||
|
|
||||||
var tempVersus = curNode.Value.Nodes.FirstOrDefault(n => n.Key == "Versus");
|
var tempVersus = curNode.Value.Nodes.FirstOrDefault(n => n.Key == "Versus");
|
||||||
if (tempVersus != null)
|
if (tempVersus != null)
|
||||||
newYaml.Add(new MiniYamlNode("Versus", tempVersus.Value));
|
newYaml.Add(new MiniYamlNode("Versus", tempVersus.Value));
|
||||||
@@ -581,7 +600,8 @@ namespace OpenRA.Utility
|
|||||||
|
|
||||||
var newYaml = new List<MiniYamlNode>();
|
var newYaml = new List<MiniYamlNode>();
|
||||||
|
|
||||||
var keywords = new List<String>{ "Spread","Damage","InfDeath","PreventProne","ProneModifier","Delay","ValidTargets","InvalidTargets" };
|
var keywords = new List<string>{ "Spread", "Damage", "InfDeath", "PreventProne", "ProneModifier", "Delay" };
|
||||||
|
|
||||||
foreach(var keyword in keywords)
|
foreach(var keyword in keywords)
|
||||||
{
|
{
|
||||||
var temp = curNode.Value.Nodes.FirstOrDefault(n => n.Key == keyword);
|
var temp = curNode.Value.Nodes.FirstOrDefault(n => n.Key == keyword);
|
||||||
@@ -589,6 +609,11 @@ namespace OpenRA.Utility
|
|||||||
newYaml.Add(new MiniYamlNode(keyword, temp.Value.Value));
|
newYaml.Add(new MiniYamlNode(keyword, temp.Value.Value));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (validTargets != null)
|
||||||
|
newYaml.Add(validTargets);
|
||||||
|
if (invalidTargets != null)
|
||||||
|
newYaml.Add(invalidTargets);
|
||||||
|
|
||||||
var tempVersus = curNode.Value.Nodes.FirstOrDefault(n => n.Key == "Versus");
|
var tempVersus = curNode.Value.Nodes.FirstOrDefault(n => n.Key == "Versus");
|
||||||
if (tempVersus != null)
|
if (tempVersus != null)
|
||||||
newYaml.Add(new MiniYamlNode("Versus", tempVersus.Value));
|
newYaml.Add(new MiniYamlNode("Versus", tempVersus.Value));
|
||||||
@@ -604,7 +629,7 @@ namespace OpenRA.Utility
|
|||||||
|
|
||||||
var newYaml = new List<MiniYamlNode>();
|
var newYaml = new List<MiniYamlNode>();
|
||||||
|
|
||||||
var keywords = new List<String>{ "Size","Delay","ValidTargets","InvalidTargets" };
|
var keywords = new List<string>{ "Size", "Delay", "ValidTargets", "InvalidTargets" };
|
||||||
foreach(var keyword in keywords)
|
foreach(var keyword in keywords)
|
||||||
{
|
{
|
||||||
var temp = curNode.Value.Nodes.FirstOrDefault(n => n.Key == keyword);
|
var temp = curNode.Value.Nodes.FirstOrDefault(n => n.Key == keyword);
|
||||||
@@ -622,7 +647,8 @@ namespace OpenRA.Utility
|
|||||||
|
|
||||||
var newYaml = new List<MiniYamlNode>();
|
var newYaml = new List<MiniYamlNode>();
|
||||||
|
|
||||||
var keywords = new List<String>{ "AddsResourceType","Size","Delay","ValidTargets","InvalidTargets" };
|
var keywords = new List<string>{ "AddsResourceType", "Size", "Delay", "ValidTargets", "InvalidTargets" };
|
||||||
|
|
||||||
foreach(var keyword in keywords)
|
foreach(var keyword in keywords)
|
||||||
{
|
{
|
||||||
var temp = curNode.Value.Nodes.FirstOrDefault(n => n.Key == keyword);
|
var temp = curNode.Value.Nodes.FirstOrDefault(n => n.Key == keyword);
|
||||||
@@ -640,7 +666,8 @@ namespace OpenRA.Utility
|
|||||||
|
|
||||||
var newYaml = new List<MiniYamlNode>();
|
var newYaml = new List<MiniYamlNode>();
|
||||||
|
|
||||||
var keywords = new List<String>{ "SmudgeType","Size","Delay","ValidTargets","InvalidTargets" };
|
var keywords = new List<string>{ "SmudgeType", "Size", "Delay", "ValidTargets", "InvalidTargets" };
|
||||||
|
|
||||||
foreach(var keyword in keywords)
|
foreach(var keyword in keywords)
|
||||||
{
|
{
|
||||||
var temp = curNode.Value.Nodes.FirstOrDefault(n => n.Key == keyword);
|
var temp = curNode.Value.Nodes.FirstOrDefault(n => n.Key == keyword);
|
||||||
@@ -651,23 +678,50 @@ namespace OpenRA.Utility
|
|||||||
newNodes.Add(new MiniYamlNode("Warhead@" + warheadCounter.ToString() + "Smu" + oldNodeAtName, "LeaveSmudge", newYaml));
|
newNodes.Add(new MiniYamlNode("Warhead@" + warheadCounter.ToString() + "Smu" + oldNodeAtName, "LeaveSmudge", newYaml));
|
||||||
}
|
}
|
||||||
|
|
||||||
// CreateEffect
|
// CreateEffect - Explosion
|
||||||
if (curNode.Value.Nodes.Where(n => n.Key.Contains("Explosion") ||
|
if (curNode.Value.Nodes.Where(n => n.Key.Contains("Explosion") ||
|
||||||
n.Key.Contains("WaterExplosion") ||
|
n.Key.Contains("ImpactSound")).Any())
|
||||||
n.Key.Contains("ImpactSound") ||
|
|
||||||
n.Key.Contains("WaterImpactSound")).Any())
|
|
||||||
{
|
{
|
||||||
warheadCounter++;
|
warheadCounter++;
|
||||||
|
|
||||||
var newYaml = new List<MiniYamlNode>();
|
var newYaml = new List<MiniYamlNode>();
|
||||||
|
|
||||||
var keywords = new List<String>{ "Explosion","WaterExplosion","ImpactSound","WaterImpactSound","Delay","ValidTargets","InvalidTargets" };
|
var keywords = new List<string>{ "Explosion", "ImpactSound", "Delay", "ValidTargets", "InvalidTargets", "ValidImpactTypes", "InvalidImpactTypes" };
|
||||||
|
|
||||||
foreach(var keyword in keywords)
|
foreach(var keyword in keywords)
|
||||||
{
|
{
|
||||||
var temp = curNode.Value.Nodes.FirstOrDefault(n => n.Key == keyword);
|
var temp = curNode.Value.Nodes.FirstOrDefault(n => n.Key == keyword);
|
||||||
if (temp != null)
|
if (temp != null)
|
||||||
newYaml.Add(new MiniYamlNode(keyword, temp.Value.Value));
|
newYaml.Add(new MiniYamlNode(keyword, temp.Value.Value));
|
||||||
}
|
}
|
||||||
|
newYaml.Add(new MiniYamlNode("InvalidImpactTypes", "Water"));
|
||||||
|
|
||||||
|
newNodes.Add(new MiniYamlNode("Warhead@" + warheadCounter.ToString() + "Eff" + oldNodeAtName, "CreateEffect", newYaml));
|
||||||
|
}
|
||||||
|
|
||||||
|
// CreateEffect - Water Explosion
|
||||||
|
if (curNode.Value.Nodes.Where(n => n.Key.Contains("WaterExplosion") ||
|
||||||
|
n.Key.Contains("WaterImpactSound")).Any())
|
||||||
|
{
|
||||||
|
warheadCounter++;
|
||||||
|
|
||||||
|
var newYaml = new List<MiniYamlNode>();
|
||||||
|
|
||||||
|
var keywords = new List<string>{ "WaterExplosion", "WaterImpactSound", "Delay", "ValidTargets", "InvalidTargets", "ValidImpactTypes", "InvalidImpactTypes" };
|
||||||
|
|
||||||
|
foreach(var keyword in keywords)
|
||||||
|
{
|
||||||
|
var temp = curNode.Value.Nodes.FirstOrDefault(n => n.Key == keyword);
|
||||||
|
if (temp != null)
|
||||||
|
{
|
||||||
|
if (temp.Key == "WaterExplosion")
|
||||||
|
temp.Key = "Explosion";
|
||||||
|
if (temp.Key == "WaterImpactSound")
|
||||||
|
temp.Key = "ImpactSound";
|
||||||
|
newYaml.Add(new MiniYamlNode(temp.Key, temp.Value.Value));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
newYaml.Add(new MiniYamlNode("ValidImpactTypes", "Water"));
|
||||||
|
|
||||||
newNodes.Add(new MiniYamlNode("Warhead@" + warheadCounter.ToString() + "Eff" + oldNodeAtName, "CreateEffect", newYaml));
|
newNodes.Add(new MiniYamlNode("Warhead@" + warheadCounter.ToString() + "Eff" + oldNodeAtName, "CreateEffect", newYaml));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -72,6 +72,7 @@ Atomic:
|
|||||||
Spread: 1c0
|
Spread: 1c0
|
||||||
Damage: 1500
|
Damage: 1500
|
||||||
InfDeath: 5
|
InfDeath: 5
|
||||||
|
ValidTargets: Ground, Air
|
||||||
Versus:
|
Versus:
|
||||||
None: 100%
|
None: 100%
|
||||||
Wood: 100%
|
Wood: 100%
|
||||||
@@ -85,6 +86,7 @@ Atomic:
|
|||||||
Damage: 1000
|
Damage: 1000
|
||||||
InfDeath: 5
|
InfDeath: 5
|
||||||
Delay: 3
|
Delay: 3
|
||||||
|
ValidTargets: Ground, Air
|
||||||
Versus:
|
Versus:
|
||||||
None: 100%
|
None: 100%
|
||||||
Wood: 100%
|
Wood: 100%
|
||||||
@@ -105,6 +107,7 @@ Atomic:
|
|||||||
Damage: 500
|
Damage: 500
|
||||||
InfDeath: 5
|
InfDeath: 5
|
||||||
Delay: 6
|
Delay: 6
|
||||||
|
ValidTargets: Ground, Air
|
||||||
Versus:
|
Versus:
|
||||||
None: 100%
|
None: 100%
|
||||||
Wood: 100%
|
Wood: 100%
|
||||||
@@ -122,6 +125,7 @@ Atomic:
|
|||||||
Damage: 200
|
Damage: 200
|
||||||
InfDeath: 5
|
InfDeath: 5
|
||||||
Delay: 9
|
Delay: 9
|
||||||
|
ValidTargets: Ground, Air
|
||||||
Versus:
|
Versus:
|
||||||
None: 100%
|
None: 100%
|
||||||
Wood: 100%
|
Wood: 100%
|
||||||
@@ -141,38 +145,21 @@ IonCannon:
|
|||||||
Spread: 1c0
|
Spread: 1c0
|
||||||
Damage: 1000
|
Damage: 1000
|
||||||
InfDeath: 5
|
InfDeath: 5
|
||||||
|
ValidTargets: Ground, Air
|
||||||
Warhead@2Res_impact: DestroyResource
|
Warhead@2Res_impact: DestroyResource
|
||||||
Warhead@3Smu_impact: LeaveSmudge
|
Warhead@3Smu_impact: LeaveSmudge
|
||||||
SmudgeType: Scorch
|
SmudgeType: Scorch
|
||||||
Warhead@4Dam_area: PerCellDamage
|
Warhead@4Res_area: DestroyResource
|
||||||
Size: 2,1
|
|
||||||
Damage: 0
|
|
||||||
InfDeath: 5
|
|
||||||
Delay: 3
|
|
||||||
Warhead@5Dam_area: SpreadDamage
|
|
||||||
Damage: 0
|
|
||||||
InfDeath: 5
|
|
||||||
Delay: 3
|
|
||||||
Warhead@6Res_area: DestroyResource
|
|
||||||
Size: 2,1
|
Size: 2,1
|
||||||
Delay: 3
|
Delay: 3
|
||||||
Warhead@7Smu_area: LeaveSmudge
|
Warhead@5Smu_area: LeaveSmudge
|
||||||
SmudgeType: Scorch
|
SmudgeType: Scorch
|
||||||
Size: 2,1
|
Size: 2,1
|
||||||
Delay: 3
|
Delay: 3
|
||||||
Warhead@8Dam_area2: PerCellDamage
|
Warhead@6Res_area2: DestroyResource
|
||||||
Size: 1
|
|
||||||
Damage: 0
|
|
||||||
InfDeath: 5
|
|
||||||
Delay: 3
|
|
||||||
Warhead@9Dam_area2: SpreadDamage
|
|
||||||
Damage: 0
|
|
||||||
InfDeath: 5
|
|
||||||
Delay: 3
|
|
||||||
Warhead@10Res_area2: DestroyResource
|
|
||||||
Size: 1
|
Size: 1
|
||||||
Delay: 3
|
Delay: 3
|
||||||
Warhead@11Smu_area2: LeaveSmudge
|
Warhead@7Smu_area2: LeaveSmudge
|
||||||
SmudgeType: Scorch
|
SmudgeType: Scorch
|
||||||
Size: 1
|
Size: 1
|
||||||
Delay: 3
|
Delay: 3
|
||||||
@@ -188,6 +175,7 @@ Sniper:
|
|||||||
Spread: 42
|
Spread: 42
|
||||||
Damage: 100
|
Damage: 100
|
||||||
InfDeath: 2
|
InfDeath: 2
|
||||||
|
ValidTargets: Infantry
|
||||||
|
|
||||||
HighV:
|
HighV:
|
||||||
ROF: 25
|
ROF: 25
|
||||||
@@ -221,6 +209,7 @@ HeliAGGun:
|
|||||||
Spread: 256
|
Spread: 256
|
||||||
Damage: 20
|
Damage: 20
|
||||||
InfDeath: 2
|
InfDeath: 2
|
||||||
|
ValidTargets: Ground
|
||||||
Versus:
|
Versus:
|
||||||
None: 100%
|
None: 100%
|
||||||
Wood: 50%
|
Wood: 50%
|
||||||
@@ -243,6 +232,7 @@ HeliAAGun:
|
|||||||
Spread: 128
|
Spread: 128
|
||||||
Damage: 20
|
Damage: 20
|
||||||
InfDeath: 2
|
InfDeath: 2
|
||||||
|
ValidTargets: Air
|
||||||
Versus:
|
Versus:
|
||||||
None: 100%
|
None: 100%
|
||||||
Wood: 50%
|
Wood: 50%
|
||||||
@@ -262,6 +252,7 @@ Pistol:
|
|||||||
Spread: 128
|
Spread: 128
|
||||||
Damage: 1
|
Damage: 1
|
||||||
InfDeath: 2
|
InfDeath: 2
|
||||||
|
InvalidTargets: Wall
|
||||||
Versus:
|
Versus:
|
||||||
None: 100%
|
None: 100%
|
||||||
Wood: 50%
|
Wood: 50%
|
||||||
@@ -281,6 +272,7 @@ M16:
|
|||||||
Spread: 128
|
Spread: 128
|
||||||
Damage: 15
|
Damage: 15
|
||||||
InfDeath: 2
|
InfDeath: 2
|
||||||
|
InvalidTargets: Wall
|
||||||
Versus:
|
Versus:
|
||||||
None: 100%
|
None: 100%
|
||||||
Wood: 25%
|
Wood: 25%
|
||||||
@@ -308,6 +300,7 @@ Rockets:
|
|||||||
Spread: 128
|
Spread: 128
|
||||||
Damage: 30
|
Damage: 30
|
||||||
InfDeath: 4
|
InfDeath: 4
|
||||||
|
ValidTargets: Ground, Air
|
||||||
Versus:
|
Versus:
|
||||||
None: 50%
|
None: 50%
|
||||||
Wood: 85%
|
Wood: 85%
|
||||||
@@ -341,6 +334,7 @@ BikeRockets:
|
|||||||
Spread: 128
|
Spread: 128
|
||||||
Damage: 30
|
Damage: 30
|
||||||
InfDeath: 4
|
InfDeath: 4
|
||||||
|
ValidTargets: Ground, Air
|
||||||
Versus:
|
Versus:
|
||||||
None: 25%
|
None: 25%
|
||||||
Wood: 75%
|
Wood: 75%
|
||||||
@@ -374,6 +368,7 @@ OrcaAGMissiles:
|
|||||||
Spread: 128
|
Spread: 128
|
||||||
Damage: 25
|
Damage: 25
|
||||||
InfDeath: 4
|
InfDeath: 4
|
||||||
|
ValidTargets: Ground
|
||||||
Versus:
|
Versus:
|
||||||
None: 50%
|
None: 50%
|
||||||
Wood: 100%
|
Wood: 100%
|
||||||
@@ -406,6 +401,7 @@ OrcaAAMissiles:
|
|||||||
Spread: 128
|
Spread: 128
|
||||||
Damage: 25
|
Damage: 25
|
||||||
InfDeath: 4
|
InfDeath: 4
|
||||||
|
ValidTargets: Air
|
||||||
Versus:
|
Versus:
|
||||||
Light: 75%
|
Light: 75%
|
||||||
Heavy: 50%
|
Heavy: 50%
|
||||||
@@ -426,6 +422,7 @@ Flamethrower:
|
|||||||
Spread: 341
|
Spread: 341
|
||||||
Damage: 40
|
Damage: 40
|
||||||
InfDeath: 5
|
InfDeath: 5
|
||||||
|
InvalidTargets: Wall
|
||||||
Versus:
|
Versus:
|
||||||
None: 100%
|
None: 100%
|
||||||
Wood: 100%
|
Wood: 100%
|
||||||
@@ -450,6 +447,7 @@ BigFlamer:
|
|||||||
Spread: 341
|
Spread: 341
|
||||||
Damage: 75
|
Damage: 75
|
||||||
InfDeath: 5
|
InfDeath: 5
|
||||||
|
InvalidTargets: Wall
|
||||||
Versus:
|
Versus:
|
||||||
None: 100%
|
None: 100%
|
||||||
Wood: 100%
|
Wood: 100%
|
||||||
@@ -643,6 +641,7 @@ MammothMissiles:
|
|||||||
Spread: 298
|
Spread: 298
|
||||||
Damage: 45
|
Damage: 45
|
||||||
InfDeath: 4
|
InfDeath: 4
|
||||||
|
ValidTargets: Ground, Air
|
||||||
Versus:
|
Versus:
|
||||||
None: 50%
|
None: 50%
|
||||||
Wood: 75%
|
Wood: 75%
|
||||||
@@ -682,6 +681,7 @@ MammothMissiles:
|
|||||||
Spread: 683
|
Spread: 683
|
||||||
Damage: 25
|
Damage: 25
|
||||||
InfDeath: 4
|
InfDeath: 4
|
||||||
|
ValidTargets: Ground
|
||||||
Versus:
|
Versus:
|
||||||
None: 35%
|
None: 35%
|
||||||
Wood: 60%
|
Wood: 60%
|
||||||
@@ -714,6 +714,7 @@ MammothMissiles:
|
|||||||
Spread: 128
|
Spread: 128
|
||||||
Damage: 60
|
Damage: 60
|
||||||
InfDeath: 4
|
InfDeath: 4
|
||||||
|
ValidTargets: Ground, Air
|
||||||
Versus:
|
Versus:
|
||||||
None: 25%
|
None: 25%
|
||||||
Wood: 75%
|
Wood: 75%
|
||||||
@@ -764,6 +765,7 @@ MachineGun:
|
|||||||
Spread: 128
|
Spread: 128
|
||||||
Damage: 15
|
Damage: 15
|
||||||
InfDeath: 2
|
InfDeath: 2
|
||||||
|
InvalidTargets: Wall
|
||||||
Versus:
|
Versus:
|
||||||
None: 100%
|
None: 100%
|
||||||
Wood: 20%
|
Wood: 20%
|
||||||
@@ -828,6 +830,7 @@ TowerMissle:
|
|||||||
Spread: 683
|
Spread: 683
|
||||||
Damage: 25
|
Damage: 25
|
||||||
InfDeath: 3
|
InfDeath: 3
|
||||||
|
ValidTargets: Ground
|
||||||
Versus:
|
Versus:
|
||||||
None: 50%
|
None: 50%
|
||||||
Wood: 25%
|
Wood: 25%
|
||||||
@@ -850,6 +853,7 @@ Vulcan:
|
|||||||
Spread: 426
|
Spread: 426
|
||||||
Damage: 100
|
Damage: 100
|
||||||
InfDeath: 2
|
InfDeath: 2
|
||||||
|
ValidTargets: Ground, Water
|
||||||
Versus:
|
Versus:
|
||||||
None: 100%
|
None: 100%
|
||||||
Wood: 25%
|
Wood: 25%
|
||||||
@@ -870,6 +874,7 @@ Napalm:
|
|||||||
Spread: 341
|
Spread: 341
|
||||||
Damage: 300
|
Damage: 300
|
||||||
InfDeath: 5
|
InfDeath: 5
|
||||||
|
ValidTargets: Ground, Water
|
||||||
Versus:
|
Versus:
|
||||||
None: 100%
|
None: 100%
|
||||||
Wood: 100%
|
Wood: 100%
|
||||||
@@ -930,6 +935,7 @@ SAMMissile:
|
|||||||
ContrailLength: 8
|
ContrailLength: 8
|
||||||
Warhead@1Dam: SpreadDamage
|
Warhead@1Dam: SpreadDamage
|
||||||
Spread: 682
|
Spread: 682
|
||||||
|
ValidTargets: Air
|
||||||
Versus:
|
Versus:
|
||||||
None: 100%
|
None: 100%
|
||||||
Wood: 100%
|
Wood: 100%
|
||||||
@@ -1014,6 +1020,7 @@ APCGun:
|
|||||||
Warhead@1Dam: SpreadDamage
|
Warhead@1Dam: SpreadDamage
|
||||||
Spread: 128
|
Spread: 128
|
||||||
Damage: 15
|
Damage: 15
|
||||||
|
ValidTargets: Ground
|
||||||
Versus:
|
Versus:
|
||||||
None: 50%
|
None: 50%
|
||||||
Wood: 50%
|
Wood: 50%
|
||||||
@@ -1033,6 +1040,7 @@ APCGun.AA:
|
|||||||
Warhead@1Dam: SpreadDamage
|
Warhead@1Dam: SpreadDamage
|
||||||
Spread: 128
|
Spread: 128
|
||||||
Damage: 25
|
Damage: 25
|
||||||
|
ValidTargets: Air
|
||||||
Versus:
|
Versus:
|
||||||
Heavy: 50%
|
Heavy: 50%
|
||||||
Warhead@2Eff: CreateEffect
|
Warhead@2Eff: CreateEffect
|
||||||
@@ -1055,6 +1063,7 @@ Patriot:
|
|||||||
Angle: 88
|
Angle: 88
|
||||||
Warhead@1Dam: SpreadDamage
|
Warhead@1Dam: SpreadDamage
|
||||||
Spread: 682
|
Spread: 682
|
||||||
|
ValidTargets: Air
|
||||||
Versus:
|
Versus:
|
||||||
None: 100%
|
None: 100%
|
||||||
Wood: 100%
|
Wood: 100%
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ Bazooka:
|
|||||||
Spread: 96
|
Spread: 96
|
||||||
Damage: 50
|
Damage: 50
|
||||||
InfDeath: 4
|
InfDeath: 4
|
||||||
|
ValidTargets: Ground
|
||||||
Versus:
|
Versus:
|
||||||
None: 10%
|
None: 10%
|
||||||
Wood: 75%
|
Wood: 75%
|
||||||
@@ -85,6 +86,7 @@ Vulcan:
|
|||||||
Spread: 96
|
Spread: 96
|
||||||
Damage: 30
|
Damage: 30
|
||||||
InfDeath: 2
|
InfDeath: 2
|
||||||
|
ValidTargets: Ground, Air
|
||||||
Versus:
|
Versus:
|
||||||
Wood: 0%
|
Wood: 0%
|
||||||
Light: 60%
|
Light: 60%
|
||||||
@@ -110,6 +112,7 @@ Slung:
|
|||||||
Spread: 192
|
Spread: 192
|
||||||
Damage: 30
|
Damage: 30
|
||||||
InfDeath: 4
|
InfDeath: 4
|
||||||
|
ValidTargets: Ground
|
||||||
Versus:
|
Versus:
|
||||||
None: 0%
|
None: 0%
|
||||||
Wood: 75%
|
Wood: 75%
|
||||||
@@ -186,6 +189,7 @@ QuadRockets:
|
|||||||
Spread: 96
|
Spread: 96
|
||||||
Damage: 25
|
Damage: 25
|
||||||
InfDeath: 4
|
InfDeath: 4
|
||||||
|
ValidTargets: Ground, Air
|
||||||
Versus:
|
Versus:
|
||||||
None: 35%
|
None: 35%
|
||||||
Wood: 45%
|
Wood: 45%
|
||||||
@@ -245,6 +249,7 @@ TowerMissile:
|
|||||||
Spread: 384
|
Spread: 384
|
||||||
Damage: 50
|
Damage: 50
|
||||||
InfDeath: 3
|
InfDeath: 3
|
||||||
|
ValidTargets: Ground, Air
|
||||||
Versus:
|
Versus:
|
||||||
None: 50%
|
None: 50%
|
||||||
Wood: 45%
|
Wood: 45%
|
||||||
@@ -347,6 +352,7 @@ DevBullet:
|
|||||||
Spread: 384
|
Spread: 384
|
||||||
Damage: 60
|
Damage: 60
|
||||||
InfDeath: 4
|
InfDeath: 4
|
||||||
|
ValidTargets: Ground
|
||||||
Versus:
|
Versus:
|
||||||
None: 20%
|
None: 20%
|
||||||
Wood: 50%
|
Wood: 50%
|
||||||
|
|||||||
@@ -790,7 +790,7 @@ Weapons:
|
|||||||
Range: 10c0
|
Range: 10c0
|
||||||
Report: MISSILE6.AUD
|
Report: MISSILE6.AUD
|
||||||
Burst: 2
|
Burst: 2
|
||||||
ValidTargets: Ground, Air, Enemy, Neutral, Ally
|
ValidTargets: Ground, Air
|
||||||
Projectile: Missile
|
Projectile: Missile
|
||||||
Speed: 128
|
Speed: 128
|
||||||
Arm: 2
|
Arm: 2
|
||||||
@@ -805,6 +805,7 @@ Weapons:
|
|||||||
RangeLimit: 80
|
RangeLimit: 80
|
||||||
Warhead: SpreadDamage
|
Warhead: SpreadDamage
|
||||||
Spread: 640
|
Spread: 640
|
||||||
|
ValidTargets: Ground, Air
|
||||||
Versus:
|
Versus:
|
||||||
None: 125%
|
None: 125%
|
||||||
Wood: 110%
|
Wood: 110%
|
||||||
@@ -822,7 +823,7 @@ Weapons:
|
|||||||
ROF: 40
|
ROF: 40
|
||||||
Range: 8c0
|
Range: 8c0
|
||||||
Report: AACANON3.AUD
|
Report: AACANON3.AUD
|
||||||
ValidTargets: Ground, Enemy, Neutral, Ally
|
ValidTargets: Ground
|
||||||
Burst: 6
|
Burst: 6
|
||||||
BurstDelay: 1
|
BurstDelay: 1
|
||||||
Projectile: Bullet
|
Projectile: Bullet
|
||||||
@@ -833,6 +834,7 @@ Weapons:
|
|||||||
ContrailLength: 2
|
ContrailLength: 2
|
||||||
Warhead: SpreadDamage
|
Warhead: SpreadDamage
|
||||||
Spread: 341
|
Spread: 341
|
||||||
|
ValidTargets: Ground
|
||||||
Versus:
|
Versus:
|
||||||
None: 90%
|
None: 90%
|
||||||
Wood: 170%
|
Wood: 170%
|
||||||
@@ -902,12 +904,13 @@ Weapons:
|
|||||||
ROF: 10
|
ROF: 10
|
||||||
Range: 8c0
|
Range: 8c0
|
||||||
Report: AACANON3.AUD
|
Report: AACANON3.AUD
|
||||||
ValidTargets: Air, Ground, Enemy, Neutral, Ally
|
ValidTargets: Air, Ground
|
||||||
Projectile: Bullet
|
Projectile: Bullet
|
||||||
Speed: 1c682
|
Speed: 1c682
|
||||||
High: true
|
High: true
|
||||||
Warhead: SpreadDamage
|
Warhead: SpreadDamage
|
||||||
Spread: 213
|
Spread: 213
|
||||||
|
ValidTargets: Air, Ground
|
||||||
Versus:
|
Versus:
|
||||||
None: 35%
|
None: 35%
|
||||||
Wood: 30%
|
Wood: 30%
|
||||||
|
|||||||
@@ -1076,8 +1076,7 @@ VoxelSequences:
|
|||||||
|
|
||||||
Weapons:
|
Weapons:
|
||||||
CrateNuke:
|
CrateNuke:
|
||||||
Warhead@areanuke2: SpreadDamage
|
Warhead@areanuke2: PerCellDamage
|
||||||
DamageModel: PerCell
|
|
||||||
Damage: 250
|
Damage: 250
|
||||||
Size: 4
|
Size: 4
|
||||||
Versus:
|
Versus:
|
||||||
@@ -1098,8 +1097,7 @@ Weapons:
|
|||||||
Warhead@areanuke2Eff: CreateEffect
|
Warhead@areanuke2Eff: CreateEffect
|
||||||
ImpactSound: kaboom22
|
ImpactSound: kaboom22
|
||||||
Delay: 12
|
Delay: 12
|
||||||
Warhead@areanuke3: SpreadDamage
|
Warhead@areanuke3: PerCellDamage
|
||||||
DamageModel: PerCell
|
|
||||||
Damage: 250
|
Damage: 250
|
||||||
Size: 3
|
Size: 3
|
||||||
Versus:
|
Versus:
|
||||||
@@ -1120,8 +1118,7 @@ Weapons:
|
|||||||
Warhead@areanuke3Eff: CreateEffect
|
Warhead@areanuke3Eff: CreateEffect
|
||||||
ImpactSound: kaboom22
|
ImpactSound: kaboom22
|
||||||
Delay: 24
|
Delay: 24
|
||||||
Warhead@areanuke4: SpreadDamage
|
Warhead@areanuke4: PerCellDamage
|
||||||
DamageModel: PerCell
|
|
||||||
Damage: 250
|
Damage: 250
|
||||||
Versus:
|
Versus:
|
||||||
None: 90%
|
None: 90%
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ ZSU-23:
|
|||||||
Warhead@1Dam: SpreadDamage
|
Warhead@1Dam: SpreadDamage
|
||||||
Spread: 213
|
Spread: 213
|
||||||
Damage: 12
|
Damage: 12
|
||||||
|
ValidTargets: Air
|
||||||
Versus:
|
Versus:
|
||||||
None: 30%
|
None: 30%
|
||||||
Wood: 75%
|
Wood: 75%
|
||||||
@@ -175,6 +176,7 @@ Maverick:
|
|||||||
Spread: 128
|
Spread: 128
|
||||||
Damage: 70
|
Damage: 70
|
||||||
InfDeath: 4
|
InfDeath: 4
|
||||||
|
ValidTargets: Ground, Water
|
||||||
Versus:
|
Versus:
|
||||||
None: 30%
|
None: 30%
|
||||||
Wood: 75%
|
Wood: 75%
|
||||||
@@ -355,6 +357,7 @@ Dragon:
|
|||||||
Spread: 128
|
Spread: 128
|
||||||
Damage: 50
|
Damage: 50
|
||||||
InfDeath: 4
|
InfDeath: 4
|
||||||
|
ValidTargets: Ground, Water
|
||||||
Versus:
|
Versus:
|
||||||
None: 10%
|
None: 10%
|
||||||
Wood: 75%
|
Wood: 75%
|
||||||
@@ -391,6 +394,7 @@ HellfireAG:
|
|||||||
Spread: 128
|
Spread: 128
|
||||||
Damage: 60
|
Damage: 60
|
||||||
InfDeath: 4
|
InfDeath: 4
|
||||||
|
ValidTargets: Ground, Water
|
||||||
Versus:
|
Versus:
|
||||||
None: 30%
|
None: 30%
|
||||||
Wood: 75%
|
Wood: 75%
|
||||||
@@ -427,6 +431,7 @@ HellfireAA:
|
|||||||
Spread: 128
|
Spread: 128
|
||||||
Damage: 40
|
Damage: 40
|
||||||
InfDeath: 4
|
InfDeath: 4
|
||||||
|
ValidTargets: Air
|
||||||
Versus:
|
Versus:
|
||||||
None: 30%
|
None: 30%
|
||||||
Wood: 75%
|
Wood: 75%
|
||||||
@@ -567,6 +572,7 @@ Grenade:
|
|||||||
Spread: 128
|
Spread: 128
|
||||||
Damage: 60
|
Damage: 60
|
||||||
InfDeath: 4
|
InfDeath: 4
|
||||||
|
InvalidTargets: Air, Infantry
|
||||||
Versus:
|
Versus:
|
||||||
None: 20%
|
None: 20%
|
||||||
Wood: 75%
|
Wood: 75%
|
||||||
@@ -629,6 +635,7 @@ MammothTusk:
|
|||||||
Spread: 256
|
Spread: 256
|
||||||
Damage: 50
|
Damage: 50
|
||||||
InfDeath: 3
|
InfDeath: 3
|
||||||
|
ValidTargets: Air, Infantry
|
||||||
Versus:
|
Versus:
|
||||||
None: 100%
|
None: 100%
|
||||||
Wood: 75%
|
Wood: 75%
|
||||||
@@ -777,7 +784,7 @@ CrateNuke:
|
|||||||
Explosion: nuke
|
Explosion: nuke
|
||||||
ImpactSound: kaboom1.aud
|
ImpactSound: kaboom1.aud
|
||||||
Warhead@4Dam_areanuke: PerCellDamage
|
Warhead@4Dam_areanuke: PerCellDamage
|
||||||
Size: 5,4
|
Size: 5
|
||||||
Damage: 250
|
Damage: 250
|
||||||
InfDeath: 5
|
InfDeath: 5
|
||||||
Delay: 4
|
Delay: 4
|
||||||
@@ -837,6 +844,7 @@ Nike:
|
|||||||
Spread: 128
|
Spread: 128
|
||||||
Damage: 50
|
Damage: 50
|
||||||
InfDeath: 3
|
InfDeath: 3
|
||||||
|
ValidTargets: Air
|
||||||
Versus:
|
Versus:
|
||||||
None: 90%
|
None: 90%
|
||||||
Wood: 0%
|
Wood: 0%
|
||||||
@@ -866,6 +874,7 @@ RedEye:
|
|||||||
Spread: 128
|
Spread: 128
|
||||||
Damage: 40
|
Damage: 40
|
||||||
InfDeath: 3
|
InfDeath: 3
|
||||||
|
ValidTargets: Air
|
||||||
Versus:
|
Versus:
|
||||||
None: 90%
|
None: 90%
|
||||||
Wood: 75%
|
Wood: 75%
|
||||||
@@ -961,6 +970,7 @@ Stinger:
|
|||||||
Spread: 128
|
Spread: 128
|
||||||
Damage: 30
|
Damage: 30
|
||||||
InfDeath: 4
|
InfDeath: 4
|
||||||
|
ValidTargets: Air, Ground, Water
|
||||||
Versus:
|
Versus:
|
||||||
None: 30%
|
None: 30%
|
||||||
Wood: 75%
|
Wood: 75%
|
||||||
@@ -1001,6 +1011,7 @@ TorpTube:
|
|||||||
Spread: 426
|
Spread: 426
|
||||||
Damage: 180
|
Damage: 180
|
||||||
InfDeath: 4
|
InfDeath: 4
|
||||||
|
ValidTargets: Water, Underwater, Bridge
|
||||||
Versus:
|
Versus:
|
||||||
None: 30%
|
None: 30%
|
||||||
Wood: 75%
|
Wood: 75%
|
||||||
@@ -1062,6 +1073,7 @@ DepthCharge:
|
|||||||
Spread: 128
|
Spread: 128
|
||||||
Damage: 80
|
Damage: 80
|
||||||
InfDeath: 4
|
InfDeath: 4
|
||||||
|
ValidTargets: Underwater
|
||||||
Versus:
|
Versus:
|
||||||
None: 30%
|
None: 30%
|
||||||
Wood: 75%
|
Wood: 75%
|
||||||
@@ -1114,6 +1126,7 @@ DogJaw:
|
|||||||
Spread: 213
|
Spread: 213
|
||||||
Damage: 100
|
Damage: 100
|
||||||
InfDeath: 1
|
InfDeath: 1
|
||||||
|
ValidTargets: Infantry
|
||||||
Versus:
|
Versus:
|
||||||
Wood: 0%
|
Wood: 0%
|
||||||
Light: 0%
|
Light: 0%
|
||||||
@@ -1147,6 +1160,7 @@ Repair:
|
|||||||
Spread: 213
|
Spread: 213
|
||||||
Damage: -20
|
Damage: -20
|
||||||
InfDeath: 1
|
InfDeath: 1
|
||||||
|
ValidTargets: Repair
|
||||||
Versus:
|
Versus:
|
||||||
None: 0%
|
None: 0%
|
||||||
Wood: 0%
|
Wood: 0%
|
||||||
@@ -1217,6 +1231,7 @@ Atomic:
|
|||||||
Spread: 1c0
|
Spread: 1c0
|
||||||
Damage: 1500
|
Damage: 1500
|
||||||
InfDeath: 5
|
InfDeath: 5
|
||||||
|
ValidTargets: Ground, Water, Air
|
||||||
Versus:
|
Versus:
|
||||||
Concrete: 25%
|
Concrete: 25%
|
||||||
Warhead@2Res_impact: DestroyResource
|
Warhead@2Res_impact: DestroyResource
|
||||||
@@ -1232,6 +1247,7 @@ Atomic:
|
|||||||
Damage: 600
|
Damage: 600
|
||||||
InfDeath: 5
|
InfDeath: 5
|
||||||
Delay: 5
|
Delay: 5
|
||||||
|
ValidTargets: Ground, Water, Air
|
||||||
Versus:
|
Versus:
|
||||||
Concrete: 25%
|
Concrete: 25%
|
||||||
Warhead@6Res_areanuke1: DestroyResource
|
Warhead@6Res_areanuke1: DestroyResource
|
||||||
@@ -1249,6 +1265,7 @@ Atomic:
|
|||||||
Damage: 600
|
Damage: 600
|
||||||
InfDeath: 5
|
InfDeath: 5
|
||||||
Delay: 10
|
Delay: 10
|
||||||
|
ValidTargets: Ground, Water, Air
|
||||||
Versus:
|
Versus:
|
||||||
Concrete: 25%
|
Concrete: 25%
|
||||||
Warhead@10Res_areanuke2: DestroyResource
|
Warhead@10Res_areanuke2: DestroyResource
|
||||||
@@ -1263,6 +1280,7 @@ Atomic:
|
|||||||
Damage: 600
|
Damage: 600
|
||||||
InfDeath: 5
|
InfDeath: 5
|
||||||
Delay: 15
|
Delay: 15
|
||||||
|
ValidTargets: Ground, Water, Air
|
||||||
Versus:
|
Versus:
|
||||||
Concrete: 25%
|
Concrete: 25%
|
||||||
Warhead@13Res_areanuke3: DestroyResource
|
Warhead@13Res_areanuke3: DestroyResource
|
||||||
@@ -1277,6 +1295,7 @@ Atomic:
|
|||||||
Damage: 600
|
Damage: 600
|
||||||
InfDeath: 5
|
InfDeath: 5
|
||||||
Delay: 20
|
Delay: 20
|
||||||
|
ValidTargets: Ground, Water, Air
|
||||||
Versus:
|
Versus:
|
||||||
Concrete: 25%
|
Concrete: 25%
|
||||||
Warhead@16Res_areanuke4: DestroyResource
|
Warhead@16Res_areanuke4: DestroyResource
|
||||||
@@ -1293,6 +1312,7 @@ MiniNuke:
|
|||||||
Spread: 1c0
|
Spread: 1c0
|
||||||
Damage: 1500
|
Damage: 1500
|
||||||
InfDeath: 5
|
InfDeath: 5
|
||||||
|
ValidTargets: Ground, Water, Air
|
||||||
Versus:
|
Versus:
|
||||||
Concrete: 25%
|
Concrete: 25%
|
||||||
Warhead@2Res_impact: DestroyResource
|
Warhead@2Res_impact: DestroyResource
|
||||||
@@ -1305,6 +1325,7 @@ MiniNuke:
|
|||||||
Damage: 600
|
Damage: 600
|
||||||
InfDeath: 5
|
InfDeath: 5
|
||||||
Delay: 5
|
Delay: 5
|
||||||
|
ValidTargets: Ground, Water, Air
|
||||||
Versus:
|
Versus:
|
||||||
Concrete: 25%
|
Concrete: 25%
|
||||||
Warhead@5Res_areanuke1: DestroyResource
|
Warhead@5Res_areanuke1: DestroyResource
|
||||||
@@ -1318,6 +1339,7 @@ MiniNuke:
|
|||||||
Damage: 600
|
Damage: 600
|
||||||
InfDeath: 5
|
InfDeath: 5
|
||||||
Delay: 10
|
Delay: 10
|
||||||
|
ValidTargets: Ground, Water, Air
|
||||||
Versus:
|
Versus:
|
||||||
Concrete: 25%
|
Concrete: 25%
|
||||||
Warhead@8Res_areanuke2: DestroyResource
|
Warhead@8Res_areanuke2: DestroyResource
|
||||||
@@ -1328,6 +1350,7 @@ MiniNuke:
|
|||||||
Damage: 600
|
Damage: 600
|
||||||
InfDeath: 5
|
InfDeath: 5
|
||||||
Delay: 15
|
Delay: 15
|
||||||
|
ValidTargets: Ground, Water, Air
|
||||||
Versus:
|
Versus:
|
||||||
Concrete: 25%
|
Concrete: 25%
|
||||||
Warhead@10Res_areanuke3: DestroyResource
|
Warhead@10Res_areanuke3: DestroyResource
|
||||||
@@ -1491,6 +1514,7 @@ FLAK-23:
|
|||||||
Warhead@1Dam: SpreadDamage
|
Warhead@1Dam: SpreadDamage
|
||||||
Spread: 213
|
Spread: 213
|
||||||
Damage: 20
|
Damage: 20
|
||||||
|
ValidTargets: Air, Ground, Water
|
||||||
Versus:
|
Versus:
|
||||||
None: 40%
|
None: 40%
|
||||||
Wood: 10%
|
Wood: 10%
|
||||||
@@ -1543,6 +1567,7 @@ APTusk:
|
|||||||
Spread: 128
|
Spread: 128
|
||||||
Damage: 30
|
Damage: 30
|
||||||
InfDeath: 4
|
InfDeath: 4
|
||||||
|
ValidTargets: Ground, Water
|
||||||
Versus:
|
Versus:
|
||||||
None: 25%
|
None: 25%
|
||||||
Wood: 75%
|
Wood: 75%
|
||||||
@@ -1594,30 +1619,24 @@ Mandible:
|
|||||||
MADTankThump:
|
MADTankThump:
|
||||||
InvalidTargets: MADTank
|
InvalidTargets: MADTank
|
||||||
Warhead@1Dam: HealthPercentageDamage
|
Warhead@1Dam: HealthPercentageDamage
|
||||||
Spread: 7c0,6c0
|
Spread: 7c0
|
||||||
Damage: 1
|
|
||||||
Versus:
|
|
||||||
None: 0%
|
|
||||||
Warhead@2Dam: SpreadDamage
|
|
||||||
Damage: 1
|
Damage: 1
|
||||||
|
InvalidTargets: MADTank
|
||||||
Versus:
|
Versus:
|
||||||
None: 0%
|
None: 0%
|
||||||
|
|
||||||
MADTankDetonate:
|
MADTankDetonate:
|
||||||
InvalidTargets: MADTank
|
InvalidTargets: MADTank
|
||||||
Warhead@1Dam: HealthPercentageDamage
|
Warhead@1Dam: HealthPercentageDamage
|
||||||
Spread: 7c0,6c0
|
Spread: 7c0
|
||||||
Damage: 19
|
Damage: 19
|
||||||
|
InvalidTargets: MADTank
|
||||||
Versus:
|
Versus:
|
||||||
None: 0%
|
None: 0%
|
||||||
Warhead@2Dam: SpreadDamage
|
Warhead@2Smu: LeaveSmudge
|
||||||
Damage: 19
|
|
||||||
Versus:
|
|
||||||
None: 0%
|
|
||||||
Warhead@3Smu: LeaveSmudge
|
|
||||||
SmudgeType: Crater
|
SmudgeType: Crater
|
||||||
Size: 7,6
|
Size: 7,6
|
||||||
Warhead@4Eff: CreateEffect
|
Warhead@3Eff: CreateEffect
|
||||||
Explosion: med_explosion
|
Explosion: med_explosion
|
||||||
ImpactSound: mineblo1.aud
|
ImpactSound: mineblo1.aud
|
||||||
|
|
||||||
|
|||||||
@@ -98,6 +98,7 @@ Bazooka:
|
|||||||
Spread: 128
|
Spread: 128
|
||||||
Damage: 25
|
Damage: 25
|
||||||
InfDeath: 2
|
InfDeath: 2
|
||||||
|
ValidTargets: Ground, Air
|
||||||
Versus:
|
Versus:
|
||||||
None: 25%
|
None: 25%
|
||||||
Wood: 65%
|
Wood: 65%
|
||||||
@@ -136,6 +137,7 @@ MultiCluster:
|
|||||||
Spread: 128
|
Spread: 128
|
||||||
Damage: 65
|
Damage: 65
|
||||||
InfDeath: 3
|
InfDeath: 3
|
||||||
|
ValidTargets: Ground
|
||||||
Versus:
|
Versus:
|
||||||
None: 25%
|
None: 25%
|
||||||
Wood: 65%
|
Wood: 65%
|
||||||
@@ -245,6 +247,7 @@ CyCannon:
|
|||||||
Damage: 120
|
Damage: 120
|
||||||
InfDeath: 6
|
InfDeath: 6
|
||||||
ProneModifier: 100
|
ProneModifier: 100
|
||||||
|
ValidTargets: Ground
|
||||||
Versus:
|
Versus:
|
||||||
None: 100%
|
None: 100%
|
||||||
Wood: 65%
|
Wood: 65%
|
||||||
@@ -402,6 +405,7 @@ HoverMissile:
|
|||||||
Spread: 128
|
Spread: 128
|
||||||
Damage: 30
|
Damage: 30
|
||||||
InfDeath: 2
|
InfDeath: 2
|
||||||
|
ValidTargets: Ground, Air
|
||||||
Versus:
|
Versus:
|
||||||
None: 25%
|
None: 25%
|
||||||
Wood: 65%
|
Wood: 65%
|
||||||
@@ -473,6 +477,7 @@ MammothTusk:
|
|||||||
Damage: 40
|
Damage: 40
|
||||||
InfDeath: 3
|
InfDeath: 3
|
||||||
ProneModifier: 70
|
ProneModifier: 70
|
||||||
|
ValidTargets: Air
|
||||||
Versus:
|
Versus:
|
||||||
None: 100%
|
None: 100%
|
||||||
Wood: 85%
|
Wood: 85%
|
||||||
@@ -628,6 +633,7 @@ BikeMissile:
|
|||||||
Spread: 256
|
Spread: 256
|
||||||
Damage: 40
|
Damage: 40
|
||||||
InfDeath: 2
|
InfDeath: 2
|
||||||
|
ValidTargets: Ground
|
||||||
Versus:
|
Versus:
|
||||||
None: 25%
|
None: 25%
|
||||||
Wood: 65%
|
Wood: 65%
|
||||||
@@ -727,6 +733,7 @@ Dragon:
|
|||||||
Spread: 128
|
Spread: 128
|
||||||
Damage: 30
|
Damage: 30
|
||||||
InfDeath: 2
|
InfDeath: 2
|
||||||
|
ValidTargets: Ground, Air
|
||||||
Versus:
|
Versus:
|
||||||
None: 25%
|
None: 25%
|
||||||
Wood: 65%
|
Wood: 65%
|
||||||
@@ -827,6 +834,7 @@ Hellfire:
|
|||||||
Spread: 85
|
Spread: 85
|
||||||
Damage: 30
|
Damage: 30
|
||||||
InfDeath: 2
|
InfDeath: 2
|
||||||
|
ValidTargets: Ground, Air
|
||||||
Versus:
|
Versus:
|
||||||
None: 30%
|
None: 30%
|
||||||
Wood: 65%
|
Wood: 65%
|
||||||
@@ -893,6 +901,7 @@ Proton:
|
|||||||
Spread: 128
|
Spread: 128
|
||||||
Damage: 20
|
Damage: 20
|
||||||
InfDeath: 3
|
InfDeath: 3
|
||||||
|
ValidTargets: Ground, Air
|
||||||
Versus:
|
Versus:
|
||||||
None: 25%
|
None: 25%
|
||||||
Wood: 65%
|
Wood: 65%
|
||||||
@@ -920,6 +929,7 @@ HarpyClaw:
|
|||||||
Damage: 60
|
Damage: 60
|
||||||
InfDeath: 1
|
InfDeath: 1
|
||||||
ProneModifier: 70
|
ProneModifier: 70
|
||||||
|
ValidTargets: Ground, Air
|
||||||
Versus:
|
Versus:
|
||||||
Wood: 60%
|
Wood: 60%
|
||||||
Light: 40%
|
Light: 40%
|
||||||
@@ -978,18 +988,16 @@ IonCannon:
|
|||||||
Damage: 1000
|
Damage: 1000
|
||||||
InfDeath: 5
|
InfDeath: 5
|
||||||
ProneModifier: 100
|
ProneModifier: 100
|
||||||
|
ValidTargets: Ground, Air
|
||||||
Warhead@2Eff_impact: CreateEffect
|
Warhead@2Eff_impact: CreateEffect
|
||||||
Explosion: ring1
|
Explosion: ring1
|
||||||
Warhead@3Dam_area: PerCellDamage
|
Warhead@3Dam_area: PerCellDamage
|
||||||
Size: 2,1
|
Size: 2
|
||||||
Damage: 250
|
Damage: 250
|
||||||
InfDeath: 5
|
InfDeath: 5
|
||||||
Delay: 3
|
Delay: 3
|
||||||
Warhead@4Dam_area: SpreadDamage
|
ValidTargets: Ground, Air
|
||||||
Damage: 250
|
Warhead@4Smu_area: LeaveSmudge
|
||||||
InfDeath: 5
|
|
||||||
Delay: 3
|
|
||||||
Warhead@5Smu_area: LeaveSmudge
|
|
||||||
SmudgeType: Scorch
|
SmudgeType: Scorch
|
||||||
Size: 2,1
|
Size: 2,1
|
||||||
Delay: 3
|
Delay: 3
|
||||||
@@ -1066,6 +1074,7 @@ SAMTower:
|
|||||||
Spread: 128
|
Spread: 128
|
||||||
Damage: 33
|
Damage: 33
|
||||||
InfDeath: 2
|
InfDeath: 2
|
||||||
|
ValidTargets: Air
|
||||||
Warhead@2Eff: CreateEffect
|
Warhead@2Eff: CreateEffect
|
||||||
Explosion: small_clsn
|
Explosion: small_clsn
|
||||||
ImpactSound: expnew12.aud
|
ImpactSound: expnew12.aud
|
||||||
|
|||||||
Reference in New Issue
Block a user