From 64a8ed7cf8d29275f88b1d7b45f2093524c78865 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sat, 20 Jul 2024 06:49:38 -0700 Subject: [PATCH 1/2] fix invalid condition checks leading to a soft lock on Master Duelist, Quivering Palm, and Taunter - fix #4819 --- SolastaUnfinishedBusiness/ChangelogHistory.txt | 4 ++++ SolastaUnfinishedBusiness/Models/CustomConditionsContext.cs | 4 ++-- SolastaUnfinishedBusiness/Models/Level20SubclassesContext.cs | 2 +- SolastaUnfinishedBusiness/Subclasses/RoguishDuelist.cs | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/SolastaUnfinishedBusiness/ChangelogHistory.txt b/SolastaUnfinishedBusiness/ChangelogHistory.txt index dd906065d0..15e31fcc3f 100644 --- a/SolastaUnfinishedBusiness/ChangelogHistory.txt +++ b/SolastaUnfinishedBusiness/ChangelogHistory.txt @@ -1,3 +1,7 @@ +1.5.97.22: + +- fixed invalid condition checks leading to a soft lock on Master Duelist, Quivering Palm, and Taunter + 1.5.97.21: - added new subclass sprites to ones still leveraging duplicates diff --git a/SolastaUnfinishedBusiness/Models/CustomConditionsContext.cs b/SolastaUnfinishedBusiness/Models/CustomConditionsContext.cs index 92a2fcae37..9203242438 100644 --- a/SolastaUnfinishedBusiness/Models/CustomConditionsContext.cs +++ b/SolastaUnfinishedBusiness/Models/CustomConditionsContext.cs @@ -487,8 +487,8 @@ Id.AttackReadied or var rulesetTarget = target.RulesetActor; if (!rulesetTarget.TryGetConditionOfCategoryAndType( - AttributeDefinitions.TagEffect, Taunted.Name, out var activeCondition) && - activeCondition.SourceGuid == actingCharacter.Guid) + AttributeDefinitions.TagEffect, Taunted.Name, out var activeCondition) || + activeCondition.SourceGuid != actingCharacter.Guid) { continue; } diff --git a/SolastaUnfinishedBusiness/Models/Level20SubclassesContext.cs b/SolastaUnfinishedBusiness/Models/Level20SubclassesContext.cs index f30b216f8c..e571f0ebf3 100644 --- a/SolastaUnfinishedBusiness/Models/Level20SubclassesContext.cs +++ b/SolastaUnfinishedBusiness/Models/Level20SubclassesContext.cs @@ -2017,7 +2017,7 @@ public IEnumerator OnPowerOrSpellFinishedByMe(CharacterActionMagicEffect action, var rulesetTarget = target.RulesetCharacter; if (!rulesetTarget.TryGetConditionOfCategoryAndType( - AttributeDefinitions.TagEffect, conditionDefinition.Name, out var activeCondition) && + AttributeDefinitions.TagEffect, conditionDefinition.Name, out var activeCondition) || activeCondition.SourceGuid != attacker.Guid) { yield break; diff --git a/SolastaUnfinishedBusiness/Subclasses/RoguishDuelist.cs b/SolastaUnfinishedBusiness/Subclasses/RoguishDuelist.cs index f3ecf1cea9..abeabe3f14 100644 --- a/SolastaUnfinishedBusiness/Subclasses/RoguishDuelist.cs +++ b/SolastaUnfinishedBusiness/Subclasses/RoguishDuelist.cs @@ -231,7 +231,7 @@ public IEnumerator OnPhysicalAttackFinishedByMe( // should only check the condition from the same source if (!rulesetDefender.TryGetConditionOfCategoryAndType( - AttributeDefinitions.TagEffect, conditionDaringDuel.Name, out var activeCondition) && + AttributeDefinitions.TagEffect, conditionDaringDuel.Name, out var activeCondition) || activeCondition.SourceGuid != attacker.Guid) { yield break; From a66ff3086ecb238bacef6d8d62062ceb751b0ced Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sat, 20 Jul 2024 07:10:43 -0700 Subject: [PATCH 2/2] prepare for `1.5.97.22` release --- SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs | 3 --- SolastaUnfinishedBusiness/Info.json | 2 +- SolastaUnfinishedBusiness/SolastaUnfinishedBusiness.csproj | 2 +- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs b/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs index d0b5f03cab..440b9d973d 100644 --- a/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs +++ b/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs @@ -231,9 +231,6 @@ internal static class CharacterSubclassDefinitions internal static CharacterSubclassDefinition MartialSpellblade { get; } = GetDefinition("MartialSpellblade"); - internal static CharacterSubclassDefinition PathBerserker { get; } = - GetDefinition("PathBerserker"); - internal static CharacterSubclassDefinition PathClaw { get; } = GetDefinition("PathClaw"); diff --git a/SolastaUnfinishedBusiness/Info.json b/SolastaUnfinishedBusiness/Info.json index cacbf6cd99..c3561330b8 100644 --- a/SolastaUnfinishedBusiness/Info.json +++ b/SolastaUnfinishedBusiness/Info.json @@ -1,7 +1,7 @@ { "Id": "SolastaUnfinishedBusiness", "DisplayName": "[Un] Finished Business", - "Version": "1.5.97.21", + "Version": "1.5.97.22", "GameVersion": "1.5.97", "ManagerVersion": "0.24.0", "AssemblyName": "SolastaUnfinishedBusiness.dll", diff --git a/SolastaUnfinishedBusiness/SolastaUnfinishedBusiness.csproj b/SolastaUnfinishedBusiness/SolastaUnfinishedBusiness.csproj index 65f83fa453..069b6ba34b 100644 --- a/SolastaUnfinishedBusiness/SolastaUnfinishedBusiness.csproj +++ b/SolastaUnfinishedBusiness/SolastaUnfinishedBusiness.csproj @@ -3,7 +3,7 @@ 12 net48 - 1.5.97.21 + 1.5.97.22 https://github.com/SolastaMods/SolastaUnfinishedBusiness git Debug Install;Release Install