From 10574a51299c3d52861763752484e380e42dda04 Mon Sep 17 00:00:00 2001 From: Hondacrx Date: Sun, 10 Nov 2024 22:40:01 -0500 Subject: [PATCH] Core/Conditions: Allow NegativeCondition for references Port From (https://github.com/TrinityCore/TrinityCore/commit/b860733822aebef4bd69d506d32e44c0de9f7789) --- Source/Game/Conditions/ConditionManager.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Source/Game/Conditions/ConditionManager.cs b/Source/Game/Conditions/ConditionManager.cs index 1fc2deb93..395454e4f 100644 --- a/Source/Game/Conditions/ConditionManager.cs +++ b/Source/Game/Conditions/ConditionManager.cs @@ -84,7 +84,11 @@ namespace Game var refe = ConditionStorage[ConditionSourceType.ReferenceCondition].LookupByKey(new ConditionId(condition.ReferenceId, 0, 0)); if (refe != null) { - if (!IsObjectMeetToConditionList(sourceInfo, refe)) + bool condMeets = IsObjectMeetToConditionList(sourceInfo, refe); + if (condition.NegativeCondition) + condMeets = !condMeets; + + if (!condMeets) elseGroupStore[condition.ElseGroup] = false; } else @@ -391,8 +395,6 @@ namespace Game Log.outError(LogFilter.Sql, "Condition {0} {1} has useless data in value2 ({2})!", rowType, iSourceTypeOrReferenceId, cond.ConditionValue2); if (cond.ConditionValue3 != 0) Log.outError(LogFilter.Sql, "Condition {0} {1} has useless data in value3 ({2})!", rowType, iSourceTypeOrReferenceId, cond.ConditionValue3); - if (cond.NegativeCondition) - Log.outError(LogFilter.Sql, "Condition {0} {1} has useless data in NegativeCondition ({2})!", rowType, iSourceTypeOrReferenceId, cond.NegativeCondition); if (cond.SourceEntry != 0 && iSourceTypeOrReferenceId < 0) Log.outError(LogFilter.Sql, "Condition {0} {1} has useless data in SourceEntry ({2})!", rowType, iSourceTypeOrReferenceId, cond.SourceEntry); }