Decompile 5 functions in Source/Contents/Party/ChangePartyMasterAsyncWork.cpp, Source/Contents/Party/LoadMyPartyAsyncWork.cpp, ...

Batch #17209 by eAthena: 0 byte-identical, 5 confirmed by peer review.

- fn_03682 CChangePartyMasterAsyncWork::Complete: logic confirmed by peer review
- fn_03689 CLoadMyPartyAsyncWork::Complete: logic confirmed by peer review
- fn_03715 CStopRecruitingAsyncWork::Complete: logic confirmed by peer review
- fn_03920 CCharacterLinkedUserDataLoadAsyncWork::Complete: logic confirmed by peer review
- fn_03927 CCharacterLinkedUserDataMgr::CompleteLoad: logic confirmed by peer review

Peer-reviewed-by: alisonrag, cremane, br4yan
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
This commit is contained in:
ragnarok-clanker 2026-11-11 14:39:54 +00:00
commit cf3c0f7d0d
5 changed files with 27 additions and 18 deletions

View file

@ -20,31 +20,36 @@ void CCharacterLinkedUserDataMgr::CompleteLoad(
Json::Value root;
Json::Reader reader;
const std::string document(response.c_str());
if (!reader.parse(document, root, true)) {
if (!reader.parse(std::string(response.c_str()), root, true)) {
return;
}
const int type = root["Type"].asInt();
switch (root["Type"].asInt()) {
case 1: {
this->LoadUseSkillLevels(root["data"]);
this->LoadHomunculusSkillLevels(root["data"]);
if (type == 4) {
{
const Json::Value comparison = root["data"]["ItemComparison"];
g_serviceOptions.Set(264, comparison.isNull() ? true : comparison.asBool());
}
{
const Json::Value sorting = root["data"]["SortPrivateTab"];
g_sortPrivateTab = sorting.isNull() ? false : sorting.asBool();
}
this->LoadNormalItemSlots(root["data"]);
this->m_loaded = true;
break;
}
case 4:
LoadSkillUseLevelRegistry();
g_session.SetOption(7, 1, 0);
g_session.SetOption(8, 1, 0);
this->m_loaded = true;
} else if (type == 1) {
this->LoadUseSkillLevels(root["data"]);
this->LoadHomunculusSkillLevels(root["data"]);
const Json::Value comparison = root["data"]["ItemComparison"];
g_serviceOptions.Set(264, comparison.isNull() ? true : comparison.asBool());
const Json::Value sorting = root["data"]["SortPrivateTab"];
g_sortPrivateTab = sorting.isNull() ? false : sorting.asBool();
this->LoadNormalItemSlots(root["data"]);
this->m_loaded = true;
break;
}
this->m_accountId = accountId;