Decompile 4 functions in Source/Contents/Jobs/JobInheritance.cpp, Source/Contents/Jobs/JobInheritance.h, ...

Batch #1470 by ragnarok-clanker: 0 byte-identical, 4 confirmed by peer review.

- fn_23590 IsVisibleJob: logic confirmed by peer review
- fn_23841 GetWeaponViewValue: logic confirmed by peer review
- fn_23906 ResetHotkeySlots: logic confirmed by peer review
- fn_23910 CSession::SetPairValue: logic confirmed by peer review

Peer-reviewed-by: Kisuka, eAthena
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-28 14:13:00 +00:00
commit 447fa8b9f6
3 changed files with 87 additions and 1 deletions

View file

@ -1,9 +1,15 @@
#include "Client/Mode/ActiveGameMode.h"
#include "Client/Mode/CMode.h"
#include "Contents/Items/ItemDescription.h"
#include "Contents/Skills/SkillInfo.h"
#include "Client/Session.h"
#include "Contents/Jobs/JobInheritance.h"
#include "Contents/Jobs/JobId.h"
#include "Contents/Skills/PlayerSkillBundle.h"
#include "Script/LuaScript.h"
#include <string>
namespace {
// OFFSET: 0x00DFBC00
// FUNCTION: fn_23585
@ -125,3 +131,61 @@ int __stdcall GetRealWeaponId(int weapon) {
}
return weapon;
}
// OFFSET: 0x00DFB4B0
// OFFSET: 0x00DFBE10
// FUNCTION: fn_23590
bool __stdcall IsVisibleJob(int job) {
return job != JT_WARPNPC && job != JT_EFFECTLAUNCHER && job != JT_HIDDEN_NPC;
}
// OFFSET: 0x00E19230
// OFFSET: 0x00E19530
// FUNCTION: fn_23841
int __stdcall GetWeaponViewValue(int weapon) {
const int value = FindItemDescription(weapon).unknown_0040;
if (weapon > 2100 && weapon < 2200 || static_cast<unsigned>(weapon - 28901) <= 0x61 || static_cast<unsigned>(weapon - 460000) <= 0x270F) {
return -1;
}
return value;
}
// OFFSET: 0x00E248F0
// OFFSET: 0x00E25970
// FUNCTION: fn_23906
bool ResetHotkeySlots() {
g_session.m_hotkeyScript->Call("ResetTheHotKey", "dddd", 1, 132, 192, 18);
return g_session.m_hotkeyScript->Call("ResetTheHotKey", "dddd", 1, 135, 36, 18);
}
// OFFSET: 0x00E25E60
// OFFSET: 0x00E25EE0
// FUNCTION: fn_23910
int CSession::SetPairValue(int value, int slot) {
if (slot == 0) {
this->m_pairValues[0] = value;
return value;
}
if (slot == 1) {
this->m_pairValues[1] = value;
return value;
}
if (slot == 2) {
this->m_pairValues[2] = value;
return value;
}
return slot;
}
// OFFSET: 0x00E25F20
// OFFSET: 0x00E26030