Merge pull request #6303 from obrakmann/fix6263
Fixed invulnerable infantry
This commit is contained in:
@@ -21,8 +21,8 @@ namespace OpenRA.Mods.RA
|
||||
public readonly string FirepowerUpgrade = "firepower";
|
||||
public readonly int[] FirepowerModifier = { 110, 115, 120, 130 };
|
||||
|
||||
public readonly string ArmorUpgrade = "armor";
|
||||
public readonly int[] ArmorModifier = { 110, 120, 130, 150 };
|
||||
public readonly string DamageUpgrade = "damage";
|
||||
public readonly int[] DamageModifier = { 91, 87, 83, 65 };
|
||||
|
||||
public readonly string SpeedUpgrade = "speed";
|
||||
public readonly int[] SpeedModifier = { 110, 115, 120, 150 };
|
||||
@@ -38,7 +38,7 @@ namespace OpenRA.Mods.RA
|
||||
readonly GainsStatUpgradesInfo info;
|
||||
[Sync] int firepowerLevel = 0;
|
||||
[Sync] int speedLevel = 0;
|
||||
[Sync] int armorLevel = 0;
|
||||
[Sync] int damageLevel = 0;
|
||||
[Sync] int reloadLevel = 0;
|
||||
|
||||
public GainsStatUpgrades(GainsStatUpgradesInfo info)
|
||||
@@ -49,7 +49,7 @@ namespace OpenRA.Mods.RA
|
||||
public bool AcceptsUpgrade(string type)
|
||||
{
|
||||
return (type == info.FirepowerUpgrade && firepowerLevel < info.FirepowerModifier.Length)
|
||||
|| (type == info.ArmorUpgrade && armorLevel < info.ArmorModifier.Length)
|
||||
|| (type == info.DamageUpgrade && damageLevel < info.DamageModifier.Length)
|
||||
|| (type == info.SpeedUpgrade && speedLevel < info.SpeedModifier.Length)
|
||||
|| (type == info.ReloadUpgrade && reloadLevel < info.ReloadModifier.Length);
|
||||
}
|
||||
@@ -59,8 +59,8 @@ namespace OpenRA.Mods.RA
|
||||
var mod = available ? 1 : -1;
|
||||
if (type == info.FirepowerUpgrade)
|
||||
firepowerLevel = (firepowerLevel + mod).Clamp(0, info.FirepowerModifier.Length);
|
||||
else if (type == info.ArmorUpgrade)
|
||||
armorLevel = (armorLevel + mod).Clamp(0, info.ArmorModifier.Length);
|
||||
else if (type == info.DamageUpgrade)
|
||||
damageLevel = (damageLevel + mod).Clamp(0, info.DamageModifier.Length);
|
||||
else if (type == info.SpeedUpgrade)
|
||||
speedLevel = (speedLevel + mod).Clamp(0, info.SpeedModifier.Length);
|
||||
else if (type == info.ReloadUpgrade)
|
||||
@@ -69,7 +69,7 @@ namespace OpenRA.Mods.RA
|
||||
|
||||
public int GetDamageModifier(Actor attacker, DamageWarhead warhead)
|
||||
{
|
||||
return armorLevel > 0 ? 1 / info.ArmorModifier[armorLevel - 1] : 100;
|
||||
return damageLevel > 0 ? info.DamageModifier[damageLevel - 1] : 100;
|
||||
}
|
||||
|
||||
public int GetFirepowerModifier()
|
||||
|
||||
@@ -436,8 +436,6 @@ namespace OpenRA.Utility
|
||||
ConvertFloatArrayToPercentArray(ref node.Value.Value);
|
||||
}
|
||||
|
||||
UpgradeActorRules(engineVersion, ref node.Value.Nodes, node, depth + 1);
|
||||
|
||||
// RemoveImmediately was replaced with RemoveOnConditions
|
||||
if (engineVersion < 20140821)
|
||||
{
|
||||
@@ -451,6 +449,21 @@ namespace OpenRA.Utility
|
||||
}
|
||||
}
|
||||
|
||||
if (engineVersion < 20140823)
|
||||
{
|
||||
if (depth == 2 && node.Key == "ArmorUpgrade" && parentKey == "GainsStatUpgrades")
|
||||
node.Key = "DamageUpgrade";
|
||||
|
||||
if (depth == 2 && node.Key == "ArmorModifier" && parentKey == "GainsStatUpgrades")
|
||||
{
|
||||
node.Key = "DamageModifier";
|
||||
node.Value.Value = string.Join(", ", node.Value.Value.Split(',')
|
||||
.Select(s => ((int)(100 * 100 / float.Parse(s))).ToString()));
|
||||
}
|
||||
}
|
||||
|
||||
UpgradeActorRules(engineVersion, ref node.Value.Nodes, node, depth + 1);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -118,7 +118,7 @@
|
||||
1000: firepower, armor, speed, reload
|
||||
GainsStatUpgrades:
|
||||
FirepowerModifier: 110, 130
|
||||
ArmorModifier: 120, 150
|
||||
DamageModifier: 83, 66
|
||||
SpeedModifier: 120, 150
|
||||
ReloadModifier: 90, 75
|
||||
GivesExperience:
|
||||
@@ -208,7 +208,7 @@
|
||||
1000: firepower, armor, speed, reload
|
||||
GainsStatUpgrades:
|
||||
FirepowerModifier: 110, 130
|
||||
ArmorModifier: 120, 150
|
||||
DamageModifier: 83, 66
|
||||
SpeedModifier: 120, 150
|
||||
ReloadModifier: 90, 75
|
||||
GivesExperience:
|
||||
@@ -261,7 +261,7 @@
|
||||
1000: firepower, armor, speed, reload
|
||||
GainsStatUpgrades:
|
||||
FirepowerModifier: 110, 130
|
||||
ArmorModifier: 120, 150
|
||||
DamageModifier: 83, 66
|
||||
SpeedModifier: 120, 150
|
||||
ReloadModifier: 90, 75
|
||||
GivesExperience:
|
||||
@@ -308,7 +308,7 @@
|
||||
1000: firepower, armor, speed, reload
|
||||
GainsStatUpgrades:
|
||||
FirepowerModifier: 110, 130
|
||||
ArmorModifier: 120, 150
|
||||
DamageModifier: 83, 66
|
||||
SpeedModifier: 120, 150
|
||||
ReloadModifier: 90, 75
|
||||
GivesExperience:
|
||||
|
||||
Reference in New Issue
Block a user