aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Instances/InstanceScript.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-02-14 15:33:59 +0100
committerShauren <shauren.trinity@gmail.com>2024-02-14 15:33:59 +0100
commitcc7e1bdcaed1ef1f6b4394378c99c56c8438b049 (patch)
tree8a876d32c511f632a95bb419e12750e4b93bc95f /src/server/game/Instances/InstanceScript.cpp
parent3fd1a2b78c8791576679e93ce1d43038db2212c5 (diff)
Core/Instances: Added back missing cases to InstanceScript::SendEncounterUnit that are supported in 3.3.5 branch
Diffstat (limited to 'src/server/game/Instances/InstanceScript.cpp')
-rw-r--r--src/server/game/Instances/InstanceScript.cpp41
1 files changed, 38 insertions, 3 deletions
diff --git a/src/server/game/Instances/InstanceScript.cpp b/src/server/game/Instances/InstanceScript.cpp
index b4e43429384..40c08e742f7 100644
--- a/src/server/game/Instances/InstanceScript.cpp
+++ b/src/server/game/Instances/InstanceScript.cpp
@@ -800,7 +800,7 @@ void InstanceScript::SetEntranceLocation(uint32 worldSafeLocationId)
_temporaryEntranceId = 0;
}
-void InstanceScript::SendEncounterUnit(uint32 type, Unit* unit /*= nullptr*/, uint8 priority)
+void InstanceScript::SendEncounterUnit(EncounterFrameType type, Unit const* unit, Optional<int32> param1 /*= {}*/, Optional<int32> param2 /*= {}*/)
{
switch (type)
{
@@ -811,7 +811,7 @@ void InstanceScript::SendEncounterUnit(uint32 type, Unit* unit /*= nullptr*/, ui
WorldPackets::Instance::InstanceEncounterEngageUnit encounterEngageMessage;
encounterEngageMessage.Unit = unit->GetGUID();
- encounterEngageMessage.TargetFramePriority = priority;
+ encounterEngageMessage.TargetFramePriority = param1.value_or(0);
instance->SendToPlayers(encounterEngageMessage.Write());
break;
}
@@ -832,10 +832,45 @@ void InstanceScript::SendEncounterUnit(uint32 type, Unit* unit /*= nullptr*/, ui
WorldPackets::Instance::InstanceEncounterChangePriority encounterChangePriorityMessage;
encounterChangePriorityMessage.Unit = unit->GetGUID();
- encounterChangePriorityMessage.TargetFramePriority = priority;
+ encounterChangePriorityMessage.TargetFramePriority = param1.value_or(0);
instance->SendToPlayers(encounterChangePriorityMessage.Write());
break;
}
+ case ENCOUNTER_FRAME_ADD_TIMER:
+ {
+ WorldPackets::Instance::InstanceEncounterTimerStart instanceEncounterTimerStart;
+ instanceEncounterTimerStart.TimeRemaining = param1.value_or(0);
+ instance->SendToPlayers(instanceEncounterTimerStart.Write());
+ break;
+ }
+ case ENCOUNTER_FRAME_ENABLE_OBJECTIVE:
+ {
+ WorldPackets::Instance::InstanceEncounterObjectiveStart instanceEncounterObjectiveStart;
+ instanceEncounterObjectiveStart.ObjectiveID = param1.value_or(0);
+ instance->SendToPlayers(instanceEncounterObjectiveStart.Write());
+ break;
+ }
+ case ENCOUNTER_FRAME_UPDATE_OBJECTIVE:
+ {
+ WorldPackets::Instance::InstanceEncounterObjectiveUpdate instanceEncounterObjectiveUpdate;
+ instanceEncounterObjectiveUpdate.ObjectiveID = param1.value_or(0);
+ instanceEncounterObjectiveUpdate.ProgressAmount = param2.value_or(0);
+ instance->SendToPlayers(instanceEncounterObjectiveUpdate.Write());
+ break;
+ }
+ case ENCOUNTER_FRAME_DISABLE_OBJECTIVE:
+ {
+ WorldPackets::Instance::InstanceEncounterObjectiveComplete instanceEncounterObjectiveComplete;
+ instanceEncounterObjectiveComplete.ObjectiveID = param1.value_or(0);
+ instance->SendToPlayers(instanceEncounterObjectiveComplete.Write());
+ break;
+ }
+ case ENCOUNTER_FRAME_PHASE_SHIFT_CHANGED:
+ {
+ WorldPackets::Instance::InstanceEncounterPhaseShiftChanged instanceEncounterPhaseShiftChanged;
+ instance->SendToPlayers(instanceEncounterPhaseShiftChanged.Write());
+ break;
+ }
default:
break;
}