Core/Instances: Added back missing cases to InstanceScript::SendEncounterUnit
Port From (https://github.com/TrinityCore/TrinityCore/commit/cc7e1bdcaed1ef1f6b4394378c99c56c8438b049)
This commit is contained in:
@@ -129,17 +129,14 @@ namespace Framework.Constants
|
||||
|
||||
public enum EncounterFrameType
|
||||
{
|
||||
SetCombatResLimit = 0,
|
||||
ResetCombatResLimit = 1,
|
||||
Engage = 2,
|
||||
Disengage = 3,
|
||||
UpdatePriority = 4,
|
||||
AddTimer = 5,
|
||||
EnableObjective = 6,
|
||||
UpdateObjective = 7,
|
||||
DisableObjective = 8,
|
||||
Unk7 = 9, // Seems To Have Something To Do With Sorting The Encounter Units
|
||||
AddCombatResLimit = 10
|
||||
Engage = 0,
|
||||
Disengage = 1,
|
||||
UpdatePriority = 2,
|
||||
AddTimer = 3,
|
||||
EnableObjective = 4,
|
||||
UpdateObjective = 5,
|
||||
DisableObjective = 6,
|
||||
PhaseShiftChanged = 7
|
||||
}
|
||||
|
||||
public enum EncounterState
|
||||
|
||||
@@ -748,7 +748,7 @@ namespace Game.Maps
|
||||
_temporaryEntranceId = 0;
|
||||
}
|
||||
|
||||
public void SendEncounterUnit(EncounterFrameType type, Unit unit = null, byte priority = 0)
|
||||
public void SendEncounterUnit(EncounterFrameType type, Unit unit = null, int? param1 = null, int? param2 = null)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
@@ -758,7 +758,7 @@ namespace Game.Maps
|
||||
|
||||
InstanceEncounterEngageUnit encounterEngageMessage = new();
|
||||
encounterEngageMessage.Unit = unit.GetGUID();
|
||||
encounterEngageMessage.TargetFramePriority = priority;
|
||||
encounterEngageMessage.TargetFramePriority = (byte)param1.GetValueOrDefault(0);
|
||||
instance.SendToPlayers(encounterEngageMessage);
|
||||
break;
|
||||
case EncounterFrameType.Disengage:
|
||||
@@ -775,9 +775,44 @@ namespace Game.Maps
|
||||
|
||||
InstanceEncounterChangePriority encounterChangePriorityMessage = new();
|
||||
encounterChangePriorityMessage.Unit = unit.GetGUID();
|
||||
encounterChangePriorityMessage.TargetFramePriority = priority;
|
||||
encounterChangePriorityMessage.TargetFramePriority = (byte)param1.GetValueOrDefault(0);
|
||||
instance.SendToPlayers(encounterChangePriorityMessage);
|
||||
break;
|
||||
case EncounterFrameType.AddTimer:
|
||||
{
|
||||
InstanceEncounterTimerStart instanceEncounterTimerStart = new();
|
||||
instanceEncounterTimerStart.TimeRemaining = param1.GetValueOrDefault(0);
|
||||
instance.SendToPlayers(instanceEncounterTimerStart);
|
||||
break;
|
||||
}
|
||||
case EncounterFrameType.EnableObjective:
|
||||
{
|
||||
InstanceEncounterObjectiveStart instanceEncounterObjectiveStart = new();
|
||||
instanceEncounterObjectiveStart.ObjectiveID = param1.GetValueOrDefault(0);
|
||||
instance.SendToPlayers(instanceEncounterObjectiveStart);
|
||||
break;
|
||||
}
|
||||
case EncounterFrameType.UpdateObjective:
|
||||
{
|
||||
InstanceEncounterObjectiveUpdate instanceEncounterObjectiveUpdate = new();
|
||||
instanceEncounterObjectiveUpdate.ObjectiveID = param1.GetValueOrDefault(0);
|
||||
instanceEncounterObjectiveUpdate.ProgressAmount = param2.GetValueOrDefault(0);
|
||||
instance.SendToPlayers(instanceEncounterObjectiveUpdate);
|
||||
break;
|
||||
}
|
||||
case EncounterFrameType.DisableObjective:
|
||||
{
|
||||
InstanceEncounterObjectiveComplete instanceEncounterObjectiveComplete = new();
|
||||
instanceEncounterObjectiveComplete.ObjectiveID = param1.GetValueOrDefault(0);
|
||||
instance.SendToPlayers(instanceEncounterObjectiveComplete);
|
||||
break;
|
||||
}
|
||||
case EncounterFrameType.PhaseShiftChanged:
|
||||
{
|
||||
InstanceEncounterPhaseShiftChanged instanceEncounterPhaseShiftChanged = new();
|
||||
instance.SendToPlayers(instanceEncounterPhaseShiftChanged);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -194,6 +194,50 @@ namespace Game.Networking.Packets
|
||||
public byte TargetFramePriority; // used to update the position of the unit's current frame
|
||||
}
|
||||
|
||||
class InstanceEncounterTimerStart : ServerPacket
|
||||
{
|
||||
public int TimeRemaining;
|
||||
|
||||
public InstanceEncounterTimerStart() : base(ServerOpcodes.InstanceEncounterTimerStart) { }
|
||||
|
||||
public override void Write() { }
|
||||
}
|
||||
|
||||
class InstanceEncounterObjectiveStart : ServerPacket
|
||||
{
|
||||
public int ObjectiveID;
|
||||
|
||||
public InstanceEncounterObjectiveStart() : base(ServerOpcodes.InstanceEncounterObjectiveStart) { }
|
||||
|
||||
public override void Write() { }
|
||||
}
|
||||
|
||||
class InstanceEncounterObjectiveUpdate : ServerPacket
|
||||
{
|
||||
public int ObjectiveID;
|
||||
public int ProgressAmount;
|
||||
|
||||
public InstanceEncounterObjectiveUpdate() : base(ServerOpcodes.InstanceEncounterObjectiveUpdate) { }
|
||||
|
||||
public override void Write() { }
|
||||
}
|
||||
|
||||
class InstanceEncounterObjectiveComplete : ServerPacket
|
||||
{
|
||||
public int ObjectiveID;
|
||||
|
||||
public InstanceEncounterObjectiveComplete() : base(ServerOpcodes.InstanceEncounterObjectiveComplete) { }
|
||||
|
||||
public override void Write() { }
|
||||
}
|
||||
|
||||
class InstanceEncounterPhaseShiftChanged : ServerPacket
|
||||
{
|
||||
public InstanceEncounterPhaseShiftChanged() : base(ServerOpcodes.InstanceEncounterPhaseShiftChanged, ConnectionType.Instance) { }
|
||||
|
||||
public override void Write() { }
|
||||
}
|
||||
|
||||
class InstanceEncounterStart : ServerPacket
|
||||
{
|
||||
public InstanceEncounterStart() : base(ServerOpcodes.InstanceEncounterStart, ConnectionType.Instance) { }
|
||||
|
||||
Reference in New Issue
Block a user