Adjusted other users of timed upgrades.
This commit is contained in:
@@ -47,7 +47,8 @@ namespace OpenRA.Mods.Common.Traits
|
||||
bool AcceptsUpgrade(Actor a)
|
||||
{
|
||||
var um = a.TraitOrDefault<UpgradeManager>();
|
||||
return um != null && info.Upgrades.Any(u => um.AcceptsUpgrade(a, u));
|
||||
return um != null && (info.Duration > 0 ?
|
||||
info.Upgrades.Any(u => um.AcknowledgesUpgrade(a, u)) : info.Upgrades.Any(u => um.AcceptsUpgrade(a, u)));
|
||||
}
|
||||
|
||||
public override int GetSelectionShares(Actor collector)
|
||||
@@ -73,13 +74,16 @@ namespace OpenRA.Mods.Common.Traits
|
||||
var um = a.TraitOrDefault<UpgradeManager>();
|
||||
foreach (var u in info.Upgrades)
|
||||
{
|
||||
if (!um.AcceptsUpgrade(a, u))
|
||||
continue;
|
||||
|
||||
if (info.Duration > 0)
|
||||
um.GrantTimedUpgrade(a, u, info.Duration);
|
||||
{
|
||||
if (um.AcknowledgesUpgrade(a, u))
|
||||
um.GrantTimedUpgrade(a, u, info.Duration);
|
||||
}
|
||||
else
|
||||
um.GrantUpgrade(a, u, this);
|
||||
{
|
||||
if (um.AcceptsUpgrade(a, u))
|
||||
um.GrantUpgrade(a, u, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -65,13 +65,16 @@ namespace OpenRA.Mods.Common.Traits
|
||||
|
||||
foreach (var u in info.Upgrades)
|
||||
{
|
||||
if (!um.AcceptsUpgrade(a, u))
|
||||
continue;
|
||||
|
||||
if (info.Duration > 0)
|
||||
um.GrantTimedUpgrade(a, u, info.Duration);
|
||||
{
|
||||
if (um.AcknowledgesUpgrade(a, u))
|
||||
um.GrantTimedUpgrade(a, u, info.Duration);
|
||||
}
|
||||
else
|
||||
um.GrantUpgrade(a, u, this);
|
||||
{
|
||||
if (um.AcceptsUpgrade(a, u))
|
||||
um.GrantUpgrade(a, u, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -90,7 +93,8 @@ namespace OpenRA.Mods.Common.Traits
|
||||
return false;
|
||||
|
||||
var um = a.TraitOrDefault<UpgradeManager>();
|
||||
return um != null && info.Upgrades.Any(u => um.AcceptsUpgrade(a, u));
|
||||
return um != null && (info.Duration > 0 ?
|
||||
info.Upgrades.Any(u => um.AcknowledgesUpgrade(a, u)) : info.Upgrades.Any(u => um.AcceptsUpgrade(a, u)));
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -116,7 +116,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
var um = produced.TraitOrDefault<UpgradeManager>();
|
||||
if (um != null)
|
||||
foreach (var u in info.Upgrades)
|
||||
if (um.AcceptsUpgrade(produced, u))
|
||||
if (um.AcknowledgesUpgrade(produced, u))
|
||||
um.GrantTimedUpgrade(produced, u, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
UpgradeMinEnabledLevel: 1
|
||||
DamageMultiplier@IRONCURTAIN:
|
||||
UpgradeTypes: invulnerability
|
||||
Modifier: 0, 0
|
||||
Modifier: 0
|
||||
TimedUpgradeBar:
|
||||
Upgrade: invulnerability
|
||||
|
||||
|
||||
@@ -359,12 +359,10 @@
|
||||
UpgradeOverlay@EMPDISABLE:
|
||||
UpgradeTypes: empdisable
|
||||
UpgradeMinEnabledLevel: 1
|
||||
UpgradeMaxAcceptedLevel: 2
|
||||
Palette: disabled
|
||||
DisableUpgrade@EMPDISABLE:
|
||||
UpgradeTypes: empdisable
|
||||
UpgradeMinEnabledLevel: 1
|
||||
UpgradeMaxAcceptedLevel: 2
|
||||
TimedUpgradeBar@EMPDISABLE:
|
||||
Upgrade: empdisable
|
||||
Color: 255,255,255
|
||||
@@ -377,11 +375,9 @@
|
||||
ShowToEnemies: true
|
||||
ZOffset: 512
|
||||
UpgradeMinEnabledLevel: 1
|
||||
UpgradeMaxAcceptedLevel: 2
|
||||
Cloak@CLOAKGENERATOR:
|
||||
UpgradeTypes: cloakgenerator
|
||||
UpgradeMinEnabledLevel: 1
|
||||
UpgradeMaxAcceptedLevel: 2
|
||||
InitialDelay: 0
|
||||
CloakDelay: 90
|
||||
MustBeDestroyed:
|
||||
|
||||
Reference in New Issue
Block a user