Convert firepower modifiers to integer percentages.
This commit is contained in:
@@ -157,7 +157,7 @@ namespace OpenRA.Traits
|
|||||||
public interface IRenderModifier { IEnumerable<IRenderable> ModifyRender(Actor self, WorldRenderer wr, IEnumerable<IRenderable> r); }
|
public interface IRenderModifier { IEnumerable<IRenderable> ModifyRender(Actor self, WorldRenderer wr, IEnumerable<IRenderable> r); }
|
||||||
public interface IDamageModifier { int GetDamageModifier(Actor attacker, DamageWarhead warhead); }
|
public interface IDamageModifier { int GetDamageModifier(Actor attacker, DamageWarhead warhead); }
|
||||||
public interface ISpeedModifier { int GetSpeedModifier(); }
|
public interface ISpeedModifier { int GetSpeedModifier(); }
|
||||||
public interface IFirepowerModifier { float GetFirepowerModifier(); }
|
public interface IFirepowerModifier { int GetFirepowerModifier(); }
|
||||||
public interface ILoadsPalettes { void LoadPalettes(WorldRenderer wr); }
|
public interface ILoadsPalettes { void LoadPalettes(WorldRenderer wr); }
|
||||||
public interface IPaletteModifier { void AdjustPalette(IReadOnlyDictionary<string, MutablePalette> b); }
|
public interface IPaletteModifier { void AdjustPalette(IReadOnlyDictionary<string, MutablePalette> b); }
|
||||||
public interface IPips { IEnumerable<PipType> GetPips(Actor self); }
|
public interface IPips { IEnumerable<PipType> GetPips(Actor self); }
|
||||||
|
|||||||
@@ -48,8 +48,10 @@ namespace OpenRA.Mods.D2k
|
|||||||
{
|
{
|
||||||
Weapon = wep,
|
Weapon = wep,
|
||||||
Facing = self.World.SharedRandom.Next(-1, 255),
|
Facing = self.World.SharedRandom.Next(-1, 255),
|
||||||
|
|
||||||
|
// TODO: Convert to ints
|
||||||
FirepowerModifier = self.TraitsImplementing<IFirepowerModifier>()
|
FirepowerModifier = self.TraitsImplementing<IFirepowerModifier>()
|
||||||
.Select(a => a.GetFirepowerModifier())
|
.Select(a => a.GetFirepowerModifier() / 100f)
|
||||||
.Product(),
|
.Product(),
|
||||||
|
|
||||||
Source = self.CenterPosition,
|
Source = self.CenterPosition,
|
||||||
|
|||||||
@@ -153,8 +153,10 @@ namespace OpenRA.Mods.RA
|
|||||||
{
|
{
|
||||||
Weapon = Weapon,
|
Weapon = Weapon,
|
||||||
Facing = legacyFacing,
|
Facing = legacyFacing,
|
||||||
|
|
||||||
|
// TODO: Convert to ints
|
||||||
FirepowerModifier = self.TraitsImplementing<IFirepowerModifier>()
|
FirepowerModifier = self.TraitsImplementing<IFirepowerModifier>()
|
||||||
.Select(a => a.GetFirepowerModifier())
|
.Select(a => a.GetFirepowerModifier() / 100f)
|
||||||
.Product(),
|
.Product(),
|
||||||
|
|
||||||
Source = muzzlePosition,
|
Source = muzzlePosition,
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ namespace OpenRA.Mods.RA
|
|||||||
public class GainsStatUpgradesInfo : ITraitInfo
|
public class GainsStatUpgradesInfo : ITraitInfo
|
||||||
{
|
{
|
||||||
public readonly string FirepowerUpgrade = "firepower";
|
public readonly string FirepowerUpgrade = "firepower";
|
||||||
public readonly float[] FirepowerModifier = { 1.1f, 1.15f, 1.2f, 1.5f };
|
public readonly int[] FirepowerModifier = { 110, 115, 120, 150 };
|
||||||
|
|
||||||
public readonly string ArmorUpgrade = "armor";
|
public readonly string ArmorUpgrade = "armor";
|
||||||
public readonly int[] ArmorModifier = { 110, 120, 130, 150 };
|
public readonly int[] ArmorModifier = { 110, 120, 130, 150 };
|
||||||
@@ -65,9 +65,9 @@ namespace OpenRA.Mods.RA
|
|||||||
return armorLevel > 0 ? 1 / info.ArmorModifier[armorLevel - 1] : 100;
|
return armorLevel > 0 ? 1 / info.ArmorModifier[armorLevel - 1] : 100;
|
||||||
}
|
}
|
||||||
|
|
||||||
public float GetFirepowerModifier()
|
public int GetFirepowerModifier()
|
||||||
{
|
{
|
||||||
return firepowerLevel > 0 ? info.FirepowerModifier[firepowerLevel - 1] : 1;
|
return firepowerLevel > 0 ? info.FirepowerModifier[firepowerLevel - 1] : 100;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int GetSpeedModifier()
|
public int GetSpeedModifier()
|
||||||
|
|||||||
@@ -428,6 +428,9 @@ namespace OpenRA.Utility
|
|||||||
|
|
||||||
if (depth == 2 && node.Key == "SpeedModifier" && parentKey == "GainsStatUpgrades")
|
if (depth == 2 && node.Key == "SpeedModifier" && parentKey == "GainsStatUpgrades")
|
||||||
ConvertFloatArrayToPercentArray(ref node.Value.Value);
|
ConvertFloatArrayToPercentArray(ref node.Value.Value);
|
||||||
|
|
||||||
|
if (depth == 2 && node.Key == "FirepowerModifier" && parentKey == "GainsStatUpgrades")
|
||||||
|
ConvertFloatArrayToPercentArray(ref node.Value.Value);
|
||||||
}
|
}
|
||||||
|
|
||||||
UpgradeActorRules(engineVersion, ref node.Value.Nodes, node, depth + 1);
|
UpgradeActorRules(engineVersion, ref node.Value.Nodes, node, depth + 1);
|
||||||
|
|||||||
Reference in New Issue
Block a user