Adjusted other users of timed upgrades.

This commit is contained in:
Matija Hustić
2015-07-06 18:17:15 +01:00
parent 6f54fe7e5d
commit b2a26c57bc
5 changed files with 22 additions and 18 deletions

View File

@@ -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);
}
}
}
});

View File

@@ -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)));
});
}

View File

@@ -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);
}
}

View File

@@ -55,7 +55,7 @@
UpgradeMinEnabledLevel: 1
DamageMultiplier@IRONCURTAIN:
UpgradeTypes: invulnerability
Modifier: 0, 0
Modifier: 0
TimedUpgradeBar:
Upgrade: invulnerability

View File

@@ -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: