Decompile 3 functions in Source/Contents/Skills/ClientSkills.cpp, Source/Client/Session.h, ...
Batch #1940 by eAthena: 0 byte-identical, 3 confirmed by peer review. - fn_23761 ShortcutBindings::ClearAdditionalSkills: logic confirmed by peer review - fn_23768 CharacterConfigSave::SkillLevel: logic confirmed by peer review - fn_23778 CSession::FindGameActor: logic confirmed by peer review Peer-reviewed-by: ragnarok-clanker, Yommy Reviewed-by: ragnarok-clanker
This commit is contained in:
parent
5d04bb83a7
commit
a748c78604
4 changed files with 52 additions and 0 deletions
|
|
@ -17,6 +17,7 @@
|
|||
#include <vector>
|
||||
|
||||
class CActRes;
|
||||
class CRenderObject;
|
||||
class LuaScript;
|
||||
struct ActionFrame;
|
||||
struct WindowDialogs;
|
||||
|
|
@ -291,6 +292,7 @@ public:
|
|||
char* ConvertTooltipText(const char* source, char* output) const;
|
||||
int MercSkillLevel(int skillId) const;
|
||||
int HomunSkillLevel(int skillId) const;
|
||||
CRenderObject* FindGameActor(std::uint32_t aid) const;
|
||||
int SyncUnknown0E98();
|
||||
void LoadXmlTables();
|
||||
std::string GetAccessoryName(int id);
|
||||
|
|
|
|||
|
|
@ -1,9 +1,14 @@
|
|||
#include "Contents/Skills/ClientSkills.h"
|
||||
#include "Client/Mode/ActiveGameMode.h"
|
||||
#include "Client/Mode/CGameMode.h"
|
||||
#include "Client/Session.h"
|
||||
#include "Contents/ClientState.h"
|
||||
#include "Contents/Jobs/JobId.h"
|
||||
#include "Contents/Jobs/JobInheritance.h"
|
||||
#include "Contents/UserData/CharacterConfigSave.h"
|
||||
#include "Contents/World/WorldScene.h"
|
||||
#include "Script/LuaScript.h"
|
||||
#include "UI/Shortcuts/ShortcutBindings.h"
|
||||
#include "UI/Window/UIWindow.h"
|
||||
#include "UI/Window/UIWindowMgr.h"
|
||||
#include "UI/Window/WindowDialogs.h"
|
||||
|
|
@ -667,3 +672,46 @@ float GetSkillFactor(int job) {
|
|||
|
||||
return 0.82f;
|
||||
}
|
||||
|
||||
// OFFSET: 0x00E084B0
|
||||
// FUNCTION: fn_23761
|
||||
void ShortcutBindings::ClearAdditionalSkills(const unsigned char& currentRow, LuaScript& script, ModeEvents& modeEvents) {
|
||||
for (int slot = 0; slot < 36; ++slot) {
|
||||
const NormalItemSlot& value = this->banks[0][slot];
|
||||
if (value.itemId != 0 && value.unknown_0000 != 0 && value.itemId >= 10000 && value.itemId < 10020) {
|
||||
this->Assign(1, 0, 0, slot, 0, currentRow, script, modeEvents);
|
||||
}
|
||||
}
|
||||
|
||||
for (int slot = 0; slot < 36; ++slot) {
|
||||
const NormalItemSlot& value = this->banks[1][slot];
|
||||
if (value.itemId != 0 && value.unknown_0000 != 0 && value.itemId >= 10000 && value.itemId < 10020) {
|
||||
this->Assign(1, 0, 0, slot, 1, currentRow, script, modeEvents);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00E089A0
|
||||
// FUNCTION: fn_23768
|
||||
int CharacterConfigSave::SkillLevel(int id) const {
|
||||
if (id - 8000u <= 60u) {
|
||||
return g_session.HomunSkillLevel(id);
|
||||
}
|
||||
|
||||
if (id - 8200u <= 41u || id - 8400u <= 57u) {
|
||||
return g_session.MercSkillLevel(id);
|
||||
}
|
||||
|
||||
return this->UseLevel(id);
|
||||
}
|
||||
|
||||
// OFFSET: 0x00E094E0
|
||||
// FUNCTION: fn_23778
|
||||
CRenderObject* CSession::FindGameActor(std::uint32_t aid) const {
|
||||
CGameMode* mode = static_cast<CGameMode*>(g_world.ActiveGameMode());
|
||||
if (mode == nullptr) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return mode->scene->GetGameActorByAID(aid);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ struct CharacterConfigSave {
|
|||
const bool& itemSlotActive;
|
||||
|
||||
int UseLevel(int id) const;
|
||||
int SkillLevel(int id) const;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ struct ShortcutBindings {
|
|||
void Refresh(NormalItemSlot** slots, NormalItemSlot** itemSlots);
|
||||
void Assign(unsigned char type, std::uint32_t id, int level, int slot, int bank, const unsigned char& currentRow, LuaScript& script, ModeEvents& modeEvents);
|
||||
void AssignItem(std::uint32_t id, int slot);
|
||||
void ClearAdditionalSkills(const unsigned char& currentRow, LuaScript& script, ModeEvents& modeEvents);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue