[Expansions] Expansion settings tweaks (#3556)

* Expansion tweaks testing on PEQ

* Update zoning.cpp

* Update aa.cpp

* Update aa.cpp

* Tweak
This commit is contained in:
Chris Miles
2023-08-20 15:37:08 -05:00
committed by GitHub
parent b5d23389ee
commit c0cf9bb5aa
7 changed files with 24 additions and 15 deletions
+1 -3
View File
@@ -1701,9 +1701,7 @@ bool Mob::CanPurchaseAlternateAdvancementRank(AA::Rank *rank, bool check_price,
}
void Zone::LoadAlternateAdvancement() {
if(!content_db.LoadAlternateAdvancementAbilities(aa_abilities,
aa_ranks))
{
if (!content_db.LoadAlternateAdvancementAbilities(aa_abilities, aa_ranks)) {
aa_abilities.clear();
aa_ranks.clear();
LogInfo("Failed to load Alternate Advancement Data");
+1
View File
@@ -385,6 +385,7 @@ public:
inline PetInfo* GetPetInfo(uint16 pet) { return (pet==1)?&m_suspendedminion:&m_petinfo; }
inline InspectMessage_Struct& GetInspectMessage() { return m_inspect_message; }
inline const InspectMessage_Struct& GetInspectMessage() const { return m_inspect_message; }
void ReloadExpansionProfileSetting();
void SetPetCommandState(int button, int state);
+11 -6
View File
@@ -1445,12 +1445,7 @@ void Client::Handle_Connect_OP_ZoneEntry(const EQApplicationPacket *app)
if (m_pp.ldon_points_tak < 0 || m_pp.ldon_points_tak > 2000000000) { m_pp.ldon_points_tak = 0; }
if (m_pp.ldon_points_available < 0 || m_pp.ldon_points_available > 2000000000) { m_pp.ldon_points_available = 0; }
if (RuleB(World, UseClientBasedExpansionSettings)) {
m_pp.expansions = EQ::expansions::ConvertClientVersionToExpansionsMask(ClientVersion());
}
else {
m_pp.expansions = (RuleI(World, ExpansionSettings) & EQ::expansions::ConvertClientVersionToExpansionsMask(ClientVersion()));
}
ReloadExpansionProfileSetting();
if (!database.LoadAlternateAdvancement(this)) {
LogError("Error loading AA points for [{}]", GetName());
@@ -16483,3 +16478,13 @@ void Client::RecordStats()
CharacterStatsRecordRepository::InsertOne(database, r);
}
}
void Client::ReloadExpansionProfileSetting()
{
if (RuleB(World, UseClientBasedExpansionSettings)) {
m_pp.expansions = EQ::expansions::ConvertClientVersionToExpansionsMask(ClientVersion());
}
else {
m_pp.expansions = RuleI(World, ExpansionSettings);
}
}
+2
View File
@@ -5647,6 +5647,8 @@ void EntityList::StopMobAI()
void EntityList::SendAlternateAdvancementStats() {
for (auto &c : client_list) {
c.second->Message(Chat::White, "Reloading AA");
c.second->ReloadExpansionProfileSetting();
c.second->SendClearPlayerAA();
c.second->SendAlternateAdvancementTable();
c.second->SendAlternateAdvancementStats();
+2 -3
View File
@@ -341,9 +341,7 @@ void Client::Handle_OP_ZoneChange(const EQApplicationPacket *app) {
//TODO: ADVENTURE ENTRANCE CHECK
/**
* Expansion check
*/
// Expansion checks and routing
if (content_service.GetCurrentExpansion() >= Expansion::Classic && !GetGM()) {
bool meets_zone_expansion_check = false;
@@ -367,6 +365,7 @@ void Client::Handle_OP_ZoneChange(const EQApplicationPacket *app) {
if (content_service.GetCurrentExpansion() >= Expansion::Classic && GetGM()) {
LogInfo("[{}] Bypassing Expansion zone checks because GM status is set", GetCleanName());
Message(Chat::Yellow, "Bypassing Expansion zone checks because GM status is set");
}
if (zoning_message == ZoningMessage::ZoneSuccess) {