Core/Conditions: Refactor ConditionMgr internals to get rid of separate containers for some condition source types

Port From (https://github.com/TrinityCore/TrinityCore/commit/0b5406dd882c6d96bc1be6fd0a78375c3b316415)
This commit is contained in:
hondacrx
2024-02-06 09:39:26 -05:00
parent ebcad7dbc5
commit 80936edeab
12 changed files with 292 additions and 383 deletions
+3 -3
View File
@@ -901,7 +901,7 @@ namespace Game
if (conditionObject != null)
{
if (!Global.ConditionMgr.IsObjectMeetToConditions(conditionSource, data.Conditions))
if (!data.Conditions.Meets(conditionSource))
continue;
if (entry.Loc.GetMapId() == mapEntry.ParentMapID && !conditionObject.GetPhaseShift().HasVisibleMapId(entry.Loc.GetMapId()))
@@ -910,7 +910,7 @@ namespace Game
else if (team != 0)
{
bool teamConditionMet = true;
foreach (Condition cond in data.Conditions)
foreach (Condition cond in data.Conditions.Conditions)
{
if (cond.ConditionType != ConditionTypes.Team)
continue;
@@ -11309,7 +11309,7 @@ namespace Game
public class GraveyardData
{
public uint SafeLocId;
public List<Condition> Conditions = new();
public ConditionsReference Conditions;
}
public class QuestPOIBlobData