Upgrade rule for AmmoPool.SelfReloads removal
This commit is contained in:
@@ -1053,6 +1053,66 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Self-reload properties were decoupled from AmmoPool to ReloadAmmoPool.
|
||||||
|
if (engineVersion < 20171104)
|
||||||
|
{
|
||||||
|
var poolNumber = 0;
|
||||||
|
var ammoPools = node.Value.Nodes.Where(n => n.Key.StartsWith("AmmoPool", StringComparison.Ordinal));
|
||||||
|
foreach (var pool in ammoPools.ToList())
|
||||||
|
{
|
||||||
|
var selfReloads = pool.Value.Nodes.FirstOrDefault(n => n.Key == "SelfReloads");
|
||||||
|
if (selfReloads != null && FieldLoader.GetValue<bool>("SelfReloads", selfReloads.Value.Value))
|
||||||
|
{
|
||||||
|
poolNumber++;
|
||||||
|
var name = pool.Value.Nodes.FirstOrDefault(n => n.Key == "Name");
|
||||||
|
var selfReloadDelay = pool.Value.Nodes.FirstOrDefault(n => n.Key == "SelfReloadDelay");
|
||||||
|
var reloadCount = pool.Value.Nodes.FirstOrDefault(n => n.Key == "ReloadCount");
|
||||||
|
var reset = pool.Value.Nodes.FirstOrDefault(n => n.Key == "ResetOnFire");
|
||||||
|
var rearmSound = pool.Value.Nodes.FirstOrDefault(n => n.Key == "RearmSound");
|
||||||
|
var reloadOnCond = new MiniYamlNode("ReloadAmmoPool@" + poolNumber.ToString(), "");
|
||||||
|
|
||||||
|
if (name != null)
|
||||||
|
{
|
||||||
|
var rap = new MiniYamlNode("ReloadAmmoPool", name.Value.Value);
|
||||||
|
reloadOnCond.Value.Nodes.Add(rap);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (selfReloadDelay != null)
|
||||||
|
{
|
||||||
|
var rd = selfReloadDelay;
|
||||||
|
RenameNodeKey(rd, "Delay");
|
||||||
|
reloadOnCond.Value.Nodes.Add(rd);
|
||||||
|
pool.Value.Nodes.Remove(selfReloads);
|
||||||
|
pool.Value.Nodes.Remove(selfReloadDelay);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (reloadCount != null)
|
||||||
|
{
|
||||||
|
var rc = reloadCount;
|
||||||
|
RenameNodeKey(rc, "Count");
|
||||||
|
reloadOnCond.Value.Nodes.Add(rc);
|
||||||
|
pool.Value.Nodes.Remove(reloadCount);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (reset != null)
|
||||||
|
{
|
||||||
|
reloadOnCond.Value.Nodes.Add(reset);
|
||||||
|
pool.Value.Nodes.Remove(reset);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (rearmSound != null)
|
||||||
|
{
|
||||||
|
var rs = rearmSound;
|
||||||
|
RenameNodeKey(rs, "Sound");
|
||||||
|
reloadOnCond.Value.Nodes.Add(rs);
|
||||||
|
pool.Value.Nodes.Remove(rearmSound);
|
||||||
|
}
|
||||||
|
|
||||||
|
node.Value.Nodes.Add(reloadOnCond);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
UpgradeActorRules(modData, engineVersion, ref node.Value.Nodes, node, depth + 1);
|
UpgradeActorRules(modData, engineVersion, ref node.Value.Nodes, node, depth + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -89,9 +89,6 @@ HELI:
|
|||||||
AmmoPool:
|
AmmoPool:
|
||||||
Ammo: 10
|
Ammo: 10
|
||||||
PipCount: 5
|
PipCount: 5
|
||||||
SelfReloads: true
|
|
||||||
ReloadCount: 1
|
|
||||||
SelfReloadDelay: 40
|
|
||||||
WithIdleOverlay@ROTORAIR:
|
WithIdleOverlay@ROTORAIR:
|
||||||
Offset: 0,0,85
|
Offset: 0,0,85
|
||||||
Sequence: rotor
|
Sequence: rotor
|
||||||
@@ -108,6 +105,9 @@ HELI:
|
|||||||
EmptyWeapon: HeliExplode
|
EmptyWeapon: HeliExplode
|
||||||
SelectionDecorations:
|
SelectionDecorations:
|
||||||
VisualBounds: 30,24
|
VisualBounds: 30,24
|
||||||
|
ReloadAmmoPool:
|
||||||
|
Delay: 40
|
||||||
|
Count: 1
|
||||||
|
|
||||||
ORCA:
|
ORCA:
|
||||||
Inherits: ^Helicopter
|
Inherits: ^Helicopter
|
||||||
@@ -144,9 +144,6 @@ ORCA:
|
|||||||
AmmoPool:
|
AmmoPool:
|
||||||
Ammo: 6
|
Ammo: 6
|
||||||
PipCount: 6
|
PipCount: 6
|
||||||
SelfReloads: true
|
|
||||||
ReloadCount: 2
|
|
||||||
SelfReloadDelay: 100
|
|
||||||
SpawnActorOnDeath:
|
SpawnActorOnDeath:
|
||||||
Actor: ORCA.Husk
|
Actor: ORCA.Husk
|
||||||
Explodes:
|
Explodes:
|
||||||
@@ -156,6 +153,9 @@ ORCA:
|
|||||||
MoveSequence: move
|
MoveSequence: move
|
||||||
SelectionDecorations:
|
SelectionDecorations:
|
||||||
VisualBounds: 30,24
|
VisualBounds: 30,24
|
||||||
|
ReloadAmmoPool:
|
||||||
|
Delay: 100
|
||||||
|
Count: 2
|
||||||
|
|
||||||
C17:
|
C17:
|
||||||
Inherits: ^Plane
|
Inherits: ^Plane
|
||||||
|
|||||||
@@ -510,9 +510,6 @@ MLRS:
|
|||||||
AmmoPool:
|
AmmoPool:
|
||||||
Ammo: 2
|
Ammo: 2
|
||||||
PipCount: 0
|
PipCount: 0
|
||||||
SelfReloads: true
|
|
||||||
ReloadCount: 1
|
|
||||||
SelfReloadDelay: 45
|
|
||||||
AttackTurreted:
|
AttackTurreted:
|
||||||
WithReloadingSpriteTurret:
|
WithReloadingSpriteTurret:
|
||||||
AmmoPoolName: primary
|
AmmoPoolName: primary
|
||||||
@@ -521,6 +518,9 @@ MLRS:
|
|||||||
RenderRangeCircle:
|
RenderRangeCircle:
|
||||||
SpawnActorOnDeath:
|
SpawnActorOnDeath:
|
||||||
Actor: MLRS.Husk
|
Actor: MLRS.Husk
|
||||||
|
ReloadAmmoPool:
|
||||||
|
Delay: 45
|
||||||
|
Count: 1
|
||||||
|
|
||||||
STNK:
|
STNK:
|
||||||
Inherits: ^Vehicle
|
Inherits: ^Vehicle
|
||||||
|
|||||||
Reference in New Issue
Block a user