rodecomp/Source/Client/ModeBaseEvents.cpp
ragnarok-clanker efee869d24 Decompile fn_17849 (ModeBaseEvents::Send)
Batch #1039 by ragnarok-clanker: 0 byte-identical, 1 confirmed by peer review.

- fn_17849 ModeBaseEvents::Send: logic confirmed by peer review

Reviewed-by: ragnarok-clanker
Adds to the build: Source/Client/ModeBaseEvents.cpp
2026-10-27 11:01:39 +00:00

44 lines
1.4 KiB
C++

#include "Client/ModeBaseEvents.h"
#include "Client/Mode/ActiveGameMode.h"
#include "Contents/Configuration/ServiceConfiguration.h"
#include "Contents/Party/AdventurerAgencyMgr.h"
#include "Contents/UserData/AccountLinkedUserDataMgr.h"
#include "Contents/UserData/CharacterLinkedUserDataMgr.h"
#include <shellapi.h>
// OFFSET: 0x00AD7500
// FUNCTION: fn_17849
int ModeBaseEvents::Send(int event, const char* text, int, int, int) {
if (event == 2) {
g_accountLinkedUserDataMgr->Save(this->emotions, this->script, this->persistenceAccountId, this->renderSystem, this->token16, this->work);
if (g_world.state != 1) {
if (g_world.gameMode) {
g_world.gameMode->running = 0;
}
} else if (g_world.gameMode) {
g_characterLinkedUserDataMgr->Save(this->characterSave, this->token16, this->work);
if (g_world.state != 1) {
if (g_world.gameMode) {
g_world.gameMode->running = 0;
}
} else if (g_world.gameMode) {
g_adventurerAgencyMgr->RequestStop(this->agency, this->stopRecruiting);
if (g_world.gameMode) {
g_world.gameMode->running = 0;
}
}
}
if (g_serviceType == 11) {
ShellExecuteA(this->window, "open", "http://www.ragnarok.co.in/index.php", nullptr, nullptr, SW_SHOWNORMAL);
}
g_world.running = 0;
} else if (event == 68) {
this->transitionRequested = 1;
if (text) {
this->transitionName = text;
}
}
return 0;
}