Decompile fn_22080 (CGameMode::ReceiveTraitStatusChangeAck)

Batch #7846 by eAthena: 0 byte-identical, 1 confirmed by peer review.

- fn_22080 CGameMode::ReceiveTraitStatusChangeAck: logic confirmed by peer review

Peer-reviewed-by: ragnarok-clanker, Yommy
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-10-31 12:16:15 +00:00
commit 3cd2be8ea9
2 changed files with 15 additions and 1 deletions

View file

@ -45,13 +45,13 @@
#include "UI/UIMacroDetectorWnd.h"
#include "UI/UIMacroUserInfoWnd.h"
#include "UI/UIRefiningWnd.h"
#include "UI/Status/UIStatusWnd.h"
#include "UI/Window/UINewSelectCharWnd.h"
#include "UI/Window/UIRodexContentsWnd.h"
#include "UI/Window/UIWindow.h"
#include "UI/Window/UIWindowMgr.h"
#include "UI/Window/WindowDialogs.h"
#include "Utility/Text/FormatString.h"
#include <cstdint>
#include <cstdio>
#include <cstring>
@ -3068,3 +3068,16 @@ static void FillVendingItem(ITEM_INFO& item, const VendingItemRecord2& record) {
}
// OFFSET: 0x00D70790
// OFFSET: 0x00D6C410
// FUNCTION: fn_22080
void CGameMode::ReceiveTraitStatusChangeAck(unsigned char result, unsigned short statusId, unsigned char value) {
this->unknown_02D4 = 0;
if (result == 1) {
std::map<int, int>& traitStats = reinterpret_cast<std::map<int, int>&>(g_session.unknown_7FC0);
traitStats[statusId] = value;
if (UIStatusWnd* window = reinterpret_cast<UIStatusWnd*>(g_windowMgr.unknown_01C4)) {
window->ValidatePlacement();
}
}
}