aboutsummaryrefslogtreecommitdiff
path: root/src/server/game
diff options
context:
space:
mode:
authorfunjoker <funjoker109@gmail.com>2024-03-28 20:18:59 +0100
committerfunjoker <funjoker109@gmail.com>2024-03-28 20:20:04 +0100
commite769af1044f524ee9ef469a3d1bfb728ee5ef4d0 (patch)
tree8da8700300f27e6070a12356e97f459a7841b081 /src/server/game
parentcdaf8ffc068ef00a3427af2b95a46e360d63e1fc (diff)
Core: port sneaky fixes from "Core: Updated to 10.2.6.53840"
Diffstat (limited to 'src/server/game')
-rw-r--r--src/server/game/Entities/Object/Object.cpp2
-rw-r--r--src/server/game/Entities/Player/Player.cpp11
-rw-r--r--src/server/game/Entities/Player/Player.h3
-rw-r--r--src/server/game/Handlers/QuestHandler.cpp55
-rw-r--r--src/server/game/Quests/QuestDef.h49
-rw-r--r--src/server/game/Quests/enuminfo_QuestDef.cpp128
-rw-r--r--src/server/game/Server/Packets/SystemPackets.cpp4
-rw-r--r--src/server/game/Server/Packets/SystemPackets.h5
8 files changed, 52 insertions, 205 deletions
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index 90456bb9db3..07d40b0c518 100644
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -468,7 +468,7 @@ void Object::BuildMovementUpdate(ByteBuffer* data, CreateObjectBits flags, Playe
bool hasMoveCurveID = createProperties && createProperties->MoveCurveId != 0;
bool hasAreaTriggerSphere = shape.IsSphere();
bool hasAreaTriggerBox = shape.IsBox();
- bool hasAreaTriggerPolygon = createProperties && shape.IsPolygon();
+ bool hasAreaTriggerPolygon = shape.IsPolygon();
bool hasAreaTriggerCylinder = shape.IsCylinder();
bool hasDisk = shape.IsDisk();
bool hasBoundedPlane = shape.IsBoundedPlane();
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 6e0ea087591..198ff620cd0 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -15431,7 +15431,7 @@ bool Player::SatisfyQuestRace(Quest const* qInfo, bool msg) const
return true;
}
-bool Player::SatisfyQuestReputation(Quest const* qInfo, bool msg) const
+bool Player::SatisfyQuestMinReputation(Quest const* qInfo, bool msg) const
{
uint32 fIdMin = qInfo->GetRequiredMinRepFaction(); //Min required rep
if (fIdMin && GetReputationMgr().GetReputation(fIdMin) < qInfo->GetRequiredMinRepValue())
@@ -15444,7 +15444,11 @@ bool Player::SatisfyQuestReputation(Quest const* qInfo, bool msg) const
}
return false;
}
+ return true;
+}
+bool Player::SatisfyQuestMaxReputation(Quest const* qInfo, bool msg) const
+{
uint32 fIdMax = qInfo->GetRequiredMaxRepFaction(); //Max required rep
if (fIdMax && GetReputationMgr().GetReputation(fIdMax) >= qInfo->GetRequiredMaxRepValue())
{
@@ -15460,6 +15464,11 @@ bool Player::SatisfyQuestReputation(Quest const* qInfo, bool msg) const
return true;
}
+bool Player::SatisfyQuestReputation(Quest const* qInfo, bool msg) const
+{
+ return SatisfyQuestMinReputation(qInfo, msg) && SatisfyQuestMaxReputation(qInfo, msg);
+}
+
bool Player::SatisfyQuestStatus(Quest const* qInfo, bool msg) const
{
if (GetQuestStatus(qInfo->GetQuestId()) == QUEST_STATUS_REWARDED)
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index c1d90e42754..c2f8df1f92e 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -718,7 +718,6 @@ enum ChildEquipmentSlots
CHILD_EQUIPMENT_SLOT_END = 141,
};
-// slots past 214 are guessed (unused in client)
enum EquipableSpellSlots
{
EQUIPABLE_SPELL_OFFENSIVE_SLOT1 = 211,
@@ -1556,6 +1555,8 @@ class TC_GAME_API Player final : public Unit, public GridObject<Player>
bool SatisfyQuestDependentBreadcrumbQuests(Quest const* qInfo, bool msg) const;
bool SatisfyQuestClass(Quest const* qInfo, bool msg) const;
bool SatisfyQuestRace(Quest const* qInfo, bool msg) const;
+ bool SatisfyQuestMinReputation(Quest const* qInfo, bool msg) const;
+ bool SatisfyQuestMaxReputation(Quest const* qInfo, bool msg) const;
bool SatisfyQuestReputation(Quest const* qInfo, bool msg) const;
bool SatisfyQuestStatus(Quest const* qInfo, bool msg) const;
bool SatisfyQuestConditions(Quest const* qInfo, bool msg) const;
diff --git a/src/server/game/Handlers/QuestHandler.cpp b/src/server/game/Handlers/QuestHandler.cpp
index 04b6792ba7f..3c086d612ec 100644
--- a/src/server/game/Handlers/QuestHandler.cpp
+++ b/src/server/game/Handlers/QuestHandler.cpp
@@ -625,7 +625,6 @@ void WorldSession::HandlePushQuestToParty(WorldPackets::Quest::PushQuestToParty&
if (!receiver->IsAlive())
{
sender->SendPushToPartyResponse(receiver, QuestPushReason::Dead);
- receiver->SendPushToPartyResponse(sender, QuestPushReason::DeadToRecipient, quest);
continue;
}
@@ -634,14 +633,12 @@ void WorldSession::HandlePushQuestToParty(WorldPackets::Quest::PushQuestToParty&
case QUEST_STATUS_REWARDED:
{
sender->SendPushToPartyResponse(receiver, QuestPushReason::AlreadyDone);
- receiver->SendPushToPartyResponse(sender, QuestPushReason::AlreadyDoneToRecipient, quest);
continue;
}
case QUEST_STATUS_INCOMPLETE:
case QUEST_STATUS_COMPLETE:
{
sender->SendPushToPartyResponse(receiver, QuestPushReason::OnQuest);
- receiver->SendPushToPartyResponse(sender, QuestPushReason::OnQuestToRecipient, quest);
continue;
}
default:
@@ -651,70 +648,18 @@ void WorldSession::HandlePushQuestToParty(WorldPackets::Quest::PushQuestToParty&
if (!receiver->SatisfyQuestLog(false))
{
sender->SendPushToPartyResponse(receiver, QuestPushReason::LogFull);
- receiver->SendPushToPartyResponse(sender, QuestPushReason::LogFullToRecipient, quest);
continue;
}
if (!receiver->SatisfyQuestDay(quest, false))
{
sender->SendPushToPartyResponse(receiver, QuestPushReason::AlreadyDone);
- receiver->SendPushToPartyResponse(sender, QuestPushReason::AlreadyDoneToRecipient, quest);
- continue;
- }
-
- if (!receiver->SatisfyQuestMinLevel(quest, false))
- {
- sender->SendPushToPartyResponse(receiver, QuestPushReason::LowLevel);
- receiver->SendPushToPartyResponse(sender, QuestPushReason::LowLevelToRecipient, quest);
- continue;
- }
-
- if (!receiver->SatisfyQuestMaxLevel(quest, false))
- {
- sender->SendPushToPartyResponse(receiver, QuestPushReason::HighLevel);
- receiver->SendPushToPartyResponse(sender, QuestPushReason::HighLevelToRecipient, quest);
- continue;
- }
-
- if (!receiver->SatisfyQuestClass(quest, false))
- {
- sender->SendPushToPartyResponse(receiver, QuestPushReason::Class);
- receiver->SendPushToPartyResponse(sender, QuestPushReason::ClassToRecipient, quest);
- continue;
- }
-
- if (!receiver->SatisfyQuestRace(quest, false))
- {
- sender->SendPushToPartyResponse(receiver, QuestPushReason::Race);
- receiver->SendPushToPartyResponse(sender, QuestPushReason::RaceToRecipient, quest);
- continue;
- }
-
- if (!receiver->SatisfyQuestReputation(quest, false))
- {
- sender->SendPushToPartyResponse(receiver, QuestPushReason::LowFaction);
- receiver->SendPushToPartyResponse(sender, QuestPushReason::LowFactionToRecipient, quest);
- continue;
- }
-
- if (!receiver->SatisfyQuestDependentQuests(quest, false))
- {
- sender->SendPushToPartyResponse(receiver, QuestPushReason::Prerequisite);
- receiver->SendPushToPartyResponse(sender, QuestPushReason::PrerequisiteToRecipient, quest);
- continue;
- }
-
- if (!receiver->SatisfyQuestExpansion(quest, false))
- {
- sender->SendPushToPartyResponse(receiver, QuestPushReason::Expansion);
- receiver->SendPushToPartyResponse(sender, QuestPushReason::ExpansionToRecipient, quest);
continue;
}
if (!receiver->CanTakeQuest(quest, false))
{
sender->SendPushToPartyResponse(receiver, QuestPushReason::Invalid);
- receiver->SendPushToPartyResponse(sender, QuestPushReason::InvalidToRecipient, quest);
continue;
}
diff --git a/src/server/game/Quests/QuestDef.h b/src/server/game/Quests/QuestDef.h
index a518302143a..09227d689cd 100644
--- a/src/server/game/Quests/QuestDef.h
+++ b/src/server/game/Quests/QuestDef.h
@@ -76,46 +76,19 @@ enum class QuestPushReason : uint8
{
Success = 0, // "Sharing quest with %s..."
Invalid = 1, // "%s is not eligible for that quest"
- InvalidToRecipient = 2, // "%s's attempt to share quest "%s" failed. You are not eligible for that quest."
- Accepted = 3, // "%s has accepted your quest"
- Declined = 4, // "%s has declined your quest"
+ Accepted = 2, // "%s's attempt to share quest "%s" failed. You are not eligible for that quest."
+ Declined = 3, // "%s has declined your quest"
+ TooFar = 4, // "%s is too far away to receive your quest"
Busy = 5, // "%s is busy"
Dead = 6, // "%s is dead."
- DeadToRecipient = 7, // "%s's attempt to share quest "%s" failed. You are dead."
- LogFull = 8, // "%s's quest log is full"
- LogFullToRecipient = 9, // "%s's attempt to share quest "%s" failed. Your quest log is full."
- OnQuest = 10, // "%s is already on that quest"
- OnQuestToRecipient = 11, // "%s's attempt to share quest "%s" failed. You are already on that quest."
- AlreadyDone = 12, // "%s has completed that quest"
- AlreadyDoneToRecipient = 13, // "%s's attempt to share quest "%s" failed. You have completed that quest."
- NotDaily = 14, // "That quest cannot be shared today"
- TimerExpired = 15, // "Quest sharing timer has expired"
- NotInParty = 16, // "You are not in a party"
- DifferentServerDaily = 17, // "%s is not eligible for that quest today"
- DifferentServerDailyToRecipient = 18, // "%s's attempt to share quest "%s" failed. You are not eligible for that quest today."
- NotAllowed = 19, // "That quest cannot be shared"
- Prerequisite = 20, // "%s hasn't completed all of the prerequisite quests required for that quest."
- PrerequisiteToRecipient = 21, // "%s's attempt to share quest "%s" failed. You must complete all of the prerequisite quests first."
- LowLevel = 22, // "%s is too low level for that quest."
- LowLevelToRecipient = 23, // "%s's attempt to share quest "%s" failed. You are too low level for that quest."
- HighLevel = 24, // "%s is too high level for that quest."
- HighLevelToRecipient = 25, // "%s's attempt to share quest "%s" failed. You are too high level for that quest."
- Class = 26, // "%s is the wrong class for that quest."
- ClassToRecipient = 27, // "%s's attempt to share quest "%s" failed. You are the wrong class for that quest."
- Race = 28, // "%s is the wrong race for that quest."
- RaceToRecipient = 29, // "%s's attempt to share quest "%s" failed. You are the wrong race for that quest."
- LowFaction = 30, // "%s's reputation is too low for that quest."
- LowFactionToRecipient = 31, // "%s's attempt to share quest "%s" failed. Your reputation is too low for that quest."
- Expansion = 32, // "%s doesn't own the required expansion for that quest."
- ExpansionToRecipient = 33, // "%s's attempt to share quest "%s" failed. You do not own the required expansion for that quest."
- NotGarrisonOwner = 34, // "%s must own a garrison to accept that quest."
- NotGarrisonOwnerToRecipient = 35, // "%s's attempt to share quest "%s" failed. You must own a garrison to accept that quest."
- WrongCovenant = 36, // "%s is in the wrong covenant for that quest."
- WrongCovenantToRecipient = 37, // "%s's attempt to share quest "%s" failed. You are in the wrong covenant for that quest."
- NewPlayerExperience = 38, // "%s must complete Exile's Reach to accept that quest."
- NewPlayerExperienceToRecipient = 39, // "%s's attempt to share quest "%s" failed. You must complete Exile's Reach to accept that quest."
- WrongFaction = 40, // "%s is the wrong faction for that quest."
- WrongFactionToRecipient = 41 // "%s's attempt to share quest "%s" failed. You are the wrong faction for that quest."
+ LogFull = 7, // "%s's quest log is full"
+ OnQuest = 8, // "%s is already on that quest"
+ AlreadyDone = 9, // "%s has completed that quest"
+ NotDaily = 10, // "That quest cannot be shared today."
+ TimerExpired = 11, // "Quest sharing timer has expired"
+ NotInParty = 12, // "You are not in a party"
+ DifferentServerDaily = 13, // "%s is not eligible for that quest today."
+ NotAllowed = 14 // "That quest cannot be shared."
};
enum QuestTradeSkill
diff --git a/src/server/game/Quests/enuminfo_QuestDef.cpp b/src/server/game/Quests/enuminfo_QuestDef.cpp
index 594b5e7730e..b61233b2329 100644
--- a/src/server/game/Quests/enuminfo_QuestDef.cpp
+++ b/src/server/game/Quests/enuminfo_QuestDef.cpp
@@ -108,52 +108,24 @@ TC_API_EXPORT EnumText EnumUtils<QuestPushReason>::ToString(QuestPushReason valu
{
case QuestPushReason::Success: return { "Success", "Success", "\042Sharing quest with %s...\042" };
case QuestPushReason::Invalid: return { "Invalid", "Invalid", "\042%s is not eligible for that quest\042" };
- case QuestPushReason::InvalidToRecipient: return { "InvalidToRecipient", "InvalidToRecipient", "\042%s's attempt to share quest \042%s\042 failed. You are not eligible for that quest.\042" };
case QuestPushReason::Accepted: return { "Accepted", "Accepted", "\042%s has accepted your quest\042" };
case QuestPushReason::Declined: return { "Declined", "Declined", "\042%s has declined your quest\042" };
case QuestPushReason::Busy: return { "Busy", "Busy", "\042%s is busy\042" };
case QuestPushReason::Dead: return { "Dead", "Dead", "\042%s is dead.\042" };
- case QuestPushReason::DeadToRecipient: return { "DeadToRecipient", "DeadToRecipient", "\042%s's attempt to share quest \042%s\042 failed. You are dead.\042" };
case QuestPushReason::LogFull: return { "LogFull", "LogFull", "\042%s's quest log is full\042" };
- case QuestPushReason::LogFullToRecipient: return { "LogFullToRecipient", "LogFullToRecipient", "\042%s's attempt to share quest \042%s\042 failed. Your quest log is full.\042" };
case QuestPushReason::OnQuest: return { "OnQuest", "OnQuest", "\042%s is already on that quest\042" };
- case QuestPushReason::OnQuestToRecipient: return { "OnQuestToRecipient", "OnQuestToRecipient", "\042%s's attempt to share quest \042%s\042 failed. You are already on that quest.\042" };
case QuestPushReason::AlreadyDone: return { "AlreadyDone", "AlreadyDone", "\042%s has completed that quest\042" };
- case QuestPushReason::AlreadyDoneToRecipient: return { "AlreadyDoneToRecipient", "AlreadyDoneToRecipient", "\042%s's attempt to share quest \042%s\042 failed. You have completed that quest.\042" };
case QuestPushReason::NotDaily: return { "NotDaily", "NotDaily", "\042That quest cannot be shared today\042" };
case QuestPushReason::TimerExpired: return { "TimerExpired", "TimerExpired", "\042Quest sharing timer has expired\042" };
case QuestPushReason::NotInParty: return { "NotInParty", "NotInParty", "\042You are not in a party\042" };
case QuestPushReason::DifferentServerDaily: return { "DifferentServerDaily", "DifferentServerDaily", "\042%s is not eligible for that quest today\042" };
- case QuestPushReason::DifferentServerDailyToRecipient: return { "DifferentServerDailyToRecipient", "DifferentServerDailyToRecipient", "\042%s's attempt to share quest \042%s\042 failed. You are not eligible for that quest today.\042" };
case QuestPushReason::NotAllowed: return { "NotAllowed", "NotAllowed", "\042That quest cannot be shared\042" };
- case QuestPushReason::Prerequisite: return { "Prerequisite", "Prerequisite", "\042%s hasn't completed all of the prerequisite quests required for that quest.\042" };
- case QuestPushReason::PrerequisiteToRecipient: return { "PrerequisiteToRecipient", "PrerequisiteToRecipient", "\042%s's attempt to share quest \042%s\042 failed. You must complete all of the prerequisite quests first.\042" };
- case QuestPushReason::LowLevel: return { "LowLevel", "LowLevel", "\042%s is too low level for that quest.\042" };
- case QuestPushReason::LowLevelToRecipient: return { "LowLevelToRecipient", "LowLevelToRecipient", "\042%s's attempt to share quest \042%s\042 failed. You are too low level for that quest.\042" };
- case QuestPushReason::HighLevel: return { "HighLevel", "HighLevel", "\042%s is too high level for that quest.\042" };
- case QuestPushReason::HighLevelToRecipient: return { "HighLevelToRecipient", "HighLevelToRecipient", "\042%s's attempt to share quest \042%s\042 failed. You are too high level for that quest.\042" };
- case QuestPushReason::Class: return { "Class", "Class", "\042%s is the wrong class for that quest.\042" };
- case QuestPushReason::ClassToRecipient: return { "ClassToRecipient", "ClassToRecipient", "\042%s's attempt to share quest \042%s\042 failed. You are the wrong class for that quest.\042" };
- case QuestPushReason::Race: return { "Race", "Race", "\042%s is the wrong race for that quest.\042" };
- case QuestPushReason::RaceToRecipient: return { "RaceToRecipient", "RaceToRecipient", "\042%s's attempt to share quest \042%s\042 failed. You are the wrong race for that quest.\042" };
- case QuestPushReason::LowFaction: return { "LowFaction", "LowFaction", "\042%s's reputation is too low for that quest.\042" };
- case QuestPushReason::LowFactionToRecipient: return { "LowFactionToRecipient", "LowFactionToRecipient", "\042%s's attempt to share quest \042%s\042 failed. Your reputation is too low for that quest.\042" };
- case QuestPushReason::Expansion: return { "Expansion", "Expansion", "\042%s doesn't own the required expansion for that quest.\042" };
- case QuestPushReason::ExpansionToRecipient: return { "ExpansionToRecipient", "ExpansionToRecipient", "\042%s's attempt to share quest \042%s\042 failed. You do not own the required expansion for that quest.\042" };
- case QuestPushReason::NotGarrisonOwner: return { "NotGarrisonOwner", "NotGarrisonOwner", "\042%s must own a garrison to accept that quest.\042" };
- case QuestPushReason::NotGarrisonOwnerToRecipient: return { "NotGarrisonOwnerToRecipient", "NotGarrisonOwnerToRecipient", "\042%s's attempt to share quest \042%s\042 failed. You must own a garrison to accept that quest.\042" };
- case QuestPushReason::WrongCovenant: return { "WrongCovenant", "WrongCovenant", "\042%s is in the wrong covenant for that quest.\042" };
- case QuestPushReason::WrongCovenantToRecipient: return { "WrongCovenantToRecipient", "WrongCovenantToRecipient", "\042%s's attempt to share quest \042%s\042 failed. You are in the wrong covenant for that quest.\042" };
- case QuestPushReason::NewPlayerExperience: return { "NewPlayerExperience", "NewPlayerExperience", "\042%s must complete Exile's Reach to accept that quest.\042" };
- case QuestPushReason::NewPlayerExperienceToRecipient: return { "NewPlayerExperienceToRecipient", "NewPlayerExperienceToRecipient", "\042%s's attempt to share quest \042%s\042 failed. You must complete Exile's Reach to accept that quest.\042" };
- case QuestPushReason::WrongFaction: return { "WrongFaction", "WrongFaction", "\042%s is the wrong faction for that quest.\042" };
- case QuestPushReason::WrongFactionToRecipient: return { "WrongFactionToRecipient", "WrongFactionToRecipient", "\042%s's attempt to share quest \042%s\042 failed. You are the wrong faction for that quest.\042" };
default: throw std::out_of_range("value");
}
}
template <>
-TC_API_EXPORT size_t EnumUtils<QuestPushReason>::Count() { return 42; }
+TC_API_EXPORT size_t EnumUtils<QuestPushReason>::Count() { return 15; }
template <>
TC_API_EXPORT QuestPushReason EnumUtils<QuestPushReason>::FromIndex(size_t index)
@@ -162,46 +134,19 @@ TC_API_EXPORT QuestPushReason EnumUtils<QuestPushReason>::FromIndex(size_t index
{
case 0: return QuestPushReason::Success;
case 1: return QuestPushReason::Invalid;
- case 2: return QuestPushReason::InvalidToRecipient;
- case 3: return QuestPushReason::Accepted;
- case 4: return QuestPushReason::Declined;
+ case 2: return QuestPushReason::Accepted;
+ case 3: return QuestPushReason::Declined;
+ case 4: return QuestPushReason::TooFar;
case 5: return QuestPushReason::Busy;
case 6: return QuestPushReason::Dead;
- case 7: return QuestPushReason::DeadToRecipient;
- case 8: return QuestPushReason::LogFull;
- case 9: return QuestPushReason::LogFullToRecipient;
- case 10: return QuestPushReason::OnQuest;
- case 11: return QuestPushReason::OnQuestToRecipient;
- case 12: return QuestPushReason::AlreadyDone;
- case 13: return QuestPushReason::AlreadyDoneToRecipient;
- case 14: return QuestPushReason::NotDaily;
- case 15: return QuestPushReason::TimerExpired;
- case 16: return QuestPushReason::NotInParty;
- case 17: return QuestPushReason::DifferentServerDaily;
- case 18: return QuestPushReason::DifferentServerDailyToRecipient;
- case 19: return QuestPushReason::NotAllowed;
- case 20: return QuestPushReason::Prerequisite;
- case 21: return QuestPushReason::PrerequisiteToRecipient;
- case 22: return QuestPushReason::LowLevel;
- case 23: return QuestPushReason::LowLevelToRecipient;
- case 24: return QuestPushReason::HighLevel;
- case 25: return QuestPushReason::HighLevelToRecipient;
- case 26: return QuestPushReason::Class;
- case 27: return QuestPushReason::ClassToRecipient;
- case 28: return QuestPushReason::Race;
- case 29: return QuestPushReason::RaceToRecipient;
- case 30: return QuestPushReason::LowFaction;
- case 31: return QuestPushReason::LowFactionToRecipient;
- case 32: return QuestPushReason::Expansion;
- case 33: return QuestPushReason::ExpansionToRecipient;
- case 34: return QuestPushReason::NotGarrisonOwner;
- case 35: return QuestPushReason::NotGarrisonOwnerToRecipient;
- case 36: return QuestPushReason::WrongCovenant;
- case 37: return QuestPushReason::WrongCovenantToRecipient;
- case 38: return QuestPushReason::NewPlayerExperience;
- case 39: return QuestPushReason::NewPlayerExperienceToRecipient;
- case 40: return QuestPushReason::WrongFaction;
- case 41: return QuestPushReason::WrongFactionToRecipient;
+ case 7: return QuestPushReason::LogFull;
+ case 8: return QuestPushReason::OnQuest;
+ case 9: return QuestPushReason::AlreadyDone;
+ case 10: return QuestPushReason::NotDaily;
+ case 11: return QuestPushReason::TimerExpired;
+ case 12: return QuestPushReason::NotInParty;
+ case 13: return QuestPushReason::DifferentServerDaily;
+ case 14: return QuestPushReason::NotAllowed;
default: throw std::out_of_range("index");
}
}
@@ -213,46 +158,19 @@ TC_API_EXPORT size_t EnumUtils<QuestPushReason>::ToIndex(QuestPushReason value)
{
case QuestPushReason::Success: return 0;
case QuestPushReason::Invalid: return 1;
- case QuestPushReason::InvalidToRecipient: return 2;
- case QuestPushReason::Accepted: return 3;
- case QuestPushReason::Declined: return 4;
+ case QuestPushReason::Accepted: return 2;
+ case QuestPushReason::Declined: return 3;
+ case QuestPushReason::TooFar: return 4;
case QuestPushReason::Busy: return 5;
case QuestPushReason::Dead: return 6;
- case QuestPushReason::DeadToRecipient: return 7;
- case QuestPushReason::LogFull: return 8;
- case QuestPushReason::LogFullToRecipient: return 9;
- case QuestPushReason::OnQuest: return 10;
- case QuestPushReason::OnQuestToRecipient: return 11;
- case QuestPushReason::AlreadyDone: return 12;
- case QuestPushReason::AlreadyDoneToRecipient: return 13;
- case QuestPushReason::NotDaily: return 14;
- case QuestPushReason::TimerExpired: return 15;
- case QuestPushReason::NotInParty: return 16;
- case QuestPushReason::DifferentServerDaily: return 17;
- case QuestPushReason::DifferentServerDailyToRecipient: return 18;
- case QuestPushReason::NotAllowed: return 19;
- case QuestPushReason::Prerequisite: return 20;
- case QuestPushReason::PrerequisiteToRecipient: return 21;
- case QuestPushReason::LowLevel: return 22;
- case QuestPushReason::LowLevelToRecipient: return 23;
- case QuestPushReason::HighLevel: return 24;
- case QuestPushReason::HighLevelToRecipient: return 25;
- case QuestPushReason::Class: return 26;
- case QuestPushReason::ClassToRecipient: return 27;
- case QuestPushReason::Race: return 28;
- case QuestPushReason::RaceToRecipient: return 29;
- case QuestPushReason::LowFaction: return 30;
- case QuestPushReason::LowFactionToRecipient: return 31;
- case QuestPushReason::Expansion: return 32;
- case QuestPushReason::ExpansionToRecipient: return 33;
- case QuestPushReason::NotGarrisonOwner: return 34;
- case QuestPushReason::NotGarrisonOwnerToRecipient: return 35;
- case QuestPushReason::WrongCovenant: return 36;
- case QuestPushReason::WrongCovenantToRecipient: return 37;
- case QuestPushReason::NewPlayerExperience: return 38;
- case QuestPushReason::NewPlayerExperienceToRecipient: return 39;
- case QuestPushReason::WrongFaction: return 40;
- case QuestPushReason::WrongFactionToRecipient: return 41;
+ case QuestPushReason::LogFull: return 7;
+ case QuestPushReason::OnQuest: return 8;
+ case QuestPushReason::AlreadyDone: return 9;
+ case QuestPushReason::NotDaily: return 10;
+ case QuestPushReason::TimerExpired: return 11;
+ case QuestPushReason::NotInParty: return 12;
+ case QuestPushReason::DifferentServerDaily: return 13;
+ case QuestPushReason::NotAllowed: return 14;
default: throw std::out_of_range("value");
}
}
diff --git a/src/server/game/Server/Packets/SystemPackets.cpp b/src/server/game/Server/Packets/SystemPackets.cpp
index 59131fa2c4a..deebdf14345 100644
--- a/src/server/game/Server/Packets/SystemPackets.cpp
+++ b/src/server/game/Server/Packets/SystemPackets.cpp
@@ -205,7 +205,7 @@ WorldPacket const* FeatureSystemStatusGlueScreen::Write()
_worldPacket.WriteBit(KioskModeEnabled);
_worldPacket.WriteBit(CompetitiveModeEnabled);
- _worldPacket.WriteBit(false); // unused, 10.0.2
+ _worldPacket.WriteBit(IsBoostEnabled);
_worldPacket.WriteBit(TrialBoostEnabled);
_worldPacket.WriteBit(TokenBalanceEnabled);
_worldPacket.WriteBit(LiveRegionCharacterListEnabled);
@@ -254,7 +254,7 @@ WorldPacket const* FeatureSystemStatusGlueScreen::Write()
_worldPacket << PlayerNameQueryInterval;
_worldPacket << uint32(DebugTimeEvents.size());
_worldPacket << int32(Unused1007);
- _worldPacket << int32(Unused440);
+ _worldPacket << int32(EventRealmQueues);
if (LaunchETA)
_worldPacket << int32(*LaunchETA);
diff --git a/src/server/game/Server/Packets/SystemPackets.h b/src/server/game/Server/Packets/SystemPackets.h
index aebb3e658c9..88ab5ee2433 100644
--- a/src/server/game/Server/Packets/SystemPackets.h
+++ b/src/server/game/Server/Packets/SystemPackets.h
@@ -195,6 +195,7 @@ namespace WorldPackets
bool IsExpansionPreorderInStore = false; // NYI
bool KioskModeEnabled = false; // NYI
bool CompetitiveModeEnabled = false; // NYI
+ bool IsBoostEnabled = false; // classic only
bool TrialBoostEnabled = false; // NYI
bool TokenBalanceEnabled = false; // NYI
bool LiveRegionCharacterListEnabled = false; // NYI
@@ -207,7 +208,7 @@ namespace WorldPackets
bool Unused1000 = false;
bool AccountSaveDataExportEnabled = false;
bool AccountLockedByExport = false;
- bool IsNameReservationEnabled = false; // NYI
+ bool IsNameReservationEnabled = false; // NYI classic only
Optional<EuropaTicketConfig> EuropaTicketSystemStatus;
std::vector<int32> LiveRegionCharacterCopySourceRegions;
uint32 TokenPollTimeSeconds = 0; // NYI
@@ -227,7 +228,7 @@ namespace WorldPackets
Optional<int32> LaunchETA;
std::vector<DebugTimeEventInfo> DebugTimeEvents;
int32 Unused1007 = 0;
- int32 Unused440 = 0;
+ uint32 EventRealmQueues = 0;
Optional<std::string> RealmHiddenAlert;
};