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