From b2a26c57bc18adaadd2e0a2f6f92582e2b4484a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20Husti=C4=87?= Date: Mon, 6 Jul 2015 18:17:15 +0100 Subject: [PATCH] Adjusted other users of timed upgrades. --- .../Traits/Crates/GrantUpgradeCrateAction.cs | 16 ++++++++++------ .../Traits/SupportPowers/GrantUpgradePower.cs | 16 ++++++++++------ .../Traits/Upgrades/UpgradeActorsNear.cs | 2 +- mods/ra/rules/defaults.yaml | 2 +- mods/ts/rules/defaults.yaml | 4 ---- 5 files changed, 22 insertions(+), 18 deletions(-) diff --git a/OpenRA.Mods.Common/Traits/Crates/GrantUpgradeCrateAction.cs b/OpenRA.Mods.Common/Traits/Crates/GrantUpgradeCrateAction.cs index 9db05ff227..7af55fa76c 100644 --- a/OpenRA.Mods.Common/Traits/Crates/GrantUpgradeCrateAction.cs +++ b/OpenRA.Mods.Common/Traits/Crates/GrantUpgradeCrateAction.cs @@ -47,7 +47,8 @@ namespace OpenRA.Mods.Common.Traits bool AcceptsUpgrade(Actor a) { var um = a.TraitOrDefault(); - 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(); 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); + } } } }); diff --git a/OpenRA.Mods.Common/Traits/SupportPowers/GrantUpgradePower.cs b/OpenRA.Mods.Common/Traits/SupportPowers/GrantUpgradePower.cs index e78e5822cd..1e7f7a1109 100644 --- a/OpenRA.Mods.Common/Traits/SupportPowers/GrantUpgradePower.cs +++ b/OpenRA.Mods.Common/Traits/SupportPowers/GrantUpgradePower.cs @@ -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(); - 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))); }); } diff --git a/OpenRA.Mods.Common/Traits/Upgrades/UpgradeActorsNear.cs b/OpenRA.Mods.Common/Traits/Upgrades/UpgradeActorsNear.cs index adadbb936e..9fbe748e11 100644 --- a/OpenRA.Mods.Common/Traits/Upgrades/UpgradeActorsNear.cs +++ b/OpenRA.Mods.Common/Traits/Upgrades/UpgradeActorsNear.cs @@ -116,7 +116,7 @@ namespace OpenRA.Mods.Common.Traits var um = produced.TraitOrDefault(); if (um != null) foreach (var u in info.Upgrades) - if (um.AcceptsUpgrade(produced, u)) + if (um.AcknowledgesUpgrade(produced, u)) um.GrantTimedUpgrade(produced, u, 1); } } diff --git a/mods/ra/rules/defaults.yaml b/mods/ra/rules/defaults.yaml index f90fd9582c..a832ead541 100644 --- a/mods/ra/rules/defaults.yaml +++ b/mods/ra/rules/defaults.yaml @@ -55,7 +55,7 @@ UpgradeMinEnabledLevel: 1 DamageMultiplier@IRONCURTAIN: UpgradeTypes: invulnerability - Modifier: 0, 0 + Modifier: 0 TimedUpgradeBar: Upgrade: invulnerability diff --git a/mods/ts/rules/defaults.yaml b/mods/ts/rules/defaults.yaml index 3f3ac37626..6d77dc4077 100644 --- a/mods/ts/rules/defaults.yaml +++ b/mods/ts/rules/defaults.yaml @@ -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: