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
|
public enum EncounterFrameType
|
||||||
{
|
{
|
||||||
SetCombatResLimit = 0,
|
Engage = 0,
|
||||||
ResetCombatResLimit = 1,
|
Disengage = 1,
|
||||||
Engage = 2,
|
UpdatePriority = 2,
|
||||||
Disengage = 3,
|
AddTimer = 3,
|
||||||
UpdatePriority = 4,
|
EnableObjective = 4,
|
||||||
AddTimer = 5,
|
UpdateObjective = 5,
|
||||||
EnableObjective = 6,
|
DisableObjective = 6,
|
||||||
UpdateObjective = 7,
|
PhaseShiftChanged = 7
|
||||||
DisableObjective = 8,
|
|
||||||
Unk7 = 9, // Seems To Have Something To Do With Sorting The Encounter Units
|
|
||||||
AddCombatResLimit = 10
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum EncounterState
|
public enum EncounterState
|
||||||
|
|||||||
@@ -748,7 +748,7 @@ namespace Game.Maps
|
|||||||
_temporaryEntranceId = 0;
|
_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)
|
switch (type)
|
||||||
{
|
{
|
||||||
@@ -758,7 +758,7 @@ namespace Game.Maps
|
|||||||
|
|
||||||
InstanceEncounterEngageUnit encounterEngageMessage = new();
|
InstanceEncounterEngageUnit encounterEngageMessage = new();
|
||||||
encounterEngageMessage.Unit = unit.GetGUID();
|
encounterEngageMessage.Unit = unit.GetGUID();
|
||||||
encounterEngageMessage.TargetFramePriority = priority;
|
encounterEngageMessage.TargetFramePriority = (byte)param1.GetValueOrDefault(0);
|
||||||
instance.SendToPlayers(encounterEngageMessage);
|
instance.SendToPlayers(encounterEngageMessage);
|
||||||
break;
|
break;
|
||||||
case EncounterFrameType.Disengage:
|
case EncounterFrameType.Disengage:
|
||||||
@@ -775,9 +775,44 @@ namespace Game.Maps
|
|||||||
|
|
||||||
InstanceEncounterChangePriority encounterChangePriorityMessage = new();
|
InstanceEncounterChangePriority encounterChangePriorityMessage = new();
|
||||||
encounterChangePriorityMessage.Unit = unit.GetGUID();
|
encounterChangePriorityMessage.Unit = unit.GetGUID();
|
||||||
encounterChangePriorityMessage.TargetFramePriority = priority;
|
encounterChangePriorityMessage.TargetFramePriority = (byte)param1.GetValueOrDefault(0);
|
||||||
instance.SendToPlayers(encounterChangePriorityMessage);
|
instance.SendToPlayers(encounterChangePriorityMessage);
|
||||||
break;
|
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:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -194,6 +194,50 @@ namespace Game.Networking.Packets
|
|||||||
public byte TargetFramePriority; // used to update the position of the unit's current frame
|
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
|
class InstanceEncounterStart : ServerPacket
|
||||||
{
|
{
|
||||||
public InstanceEncounterStart() : base(ServerOpcodes.InstanceEncounterStart, ConnectionType.Instance) { }
|
public InstanceEncounterStart() : base(ServerOpcodes.InstanceEncounterStart, ConnectionType.Instance) { }
|
||||||
|
|||||||
Reference in New Issue
Block a user