Core/Instances: Save instance entrance based on completed encounters
Port From (https://github.com/TrinityCore/TrinityCore/commit/4cbaaa343543e0fde5d90b87f762804997f1dbac)
This commit is contained in:
@@ -267,6 +267,9 @@ namespace Game.Maps
|
||||
if (!entries.MapDifficulty.IsUsingEncounterLocks())
|
||||
instanceLock.GetData().CompletedEncountersMask |= updateEvent.InstanceCompletedEncountersMask;
|
||||
|
||||
if (updateEvent.EntranceWorldSafeLocId.HasValue)
|
||||
instanceLock.GetData().EntranceWorldSafeLocId = updateEvent.EntranceWorldSafeLocId.Value;
|
||||
|
||||
if (instanceLock.IsExpired())
|
||||
{
|
||||
Cypher.Assert(instanceLock.IsExtended(), "Instance lock must have been extended to create instance map from it");
|
||||
@@ -299,6 +302,9 @@ namespace Game.Maps
|
||||
Log.outDebug(LogFilter.Instance, $"Instance {updateEvent.InstanceId} gains completed encounter [{updateEvent.CompletedEncounter.Id}-{updateEvent.CompletedEncounter.Name[Global.WorldMgr.GetDefaultDbcLocale()]}]");
|
||||
}
|
||||
|
||||
if (updateEvent.EntranceWorldSafeLocId.HasValue)
|
||||
sharedData.EntranceWorldSafeLocId = updateEvent.EntranceWorldSafeLocId.Value;
|
||||
|
||||
trans.Append($"DELETE FROM instance2 WHERE instanceId={sharedData.InstanceId}");
|
||||
string escapedData = sharedData.Data;
|
||||
CharacterDatabase.EscapeString(ref escapedData);
|
||||
@@ -505,13 +511,15 @@ namespace Game.Maps
|
||||
public string NewData;
|
||||
public uint InstanceCompletedEncountersMask;
|
||||
public DungeonEncounterRecord CompletedEncounter;
|
||||
public uint? EntranceWorldSafeLocId;
|
||||
|
||||
public InstanceLockUpdateEvent(uint instanceId, string newData, uint instanceCompletedEncountersMask, DungeonEncounterRecord completedEncounter)
|
||||
public InstanceLockUpdateEvent(uint instanceId, string newData, uint instanceCompletedEncountersMask, DungeonEncounterRecord completedEncounter, uint? entranceWorldSafeLocId)
|
||||
{
|
||||
InstanceId = instanceId;
|
||||
NewData = newData;
|
||||
InstanceCompletedEncountersMask = instanceCompletedEncountersMask;
|
||||
CompletedEncounter = completedEncounter;
|
||||
EntranceWorldSafeLocId = entranceWorldSafeLocId;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user