1
0
mirror of https://github.com/0O0o0oOoO00/Alas.git synced 2026-05-14 13:29:25 +08:00

fix: hook Fleet.EnergyCheck to avoid poping up emotion warning message box

This commit is contained in:
0O0o0oOoO00
2025-11-18 19:16:39 +08:00
parent 7793703fbc
commit b81c9d25b1
2 changed files with 19 additions and 0 deletions

View File

@@ -607,6 +607,7 @@ void Cracker::load_lua_resources() {
m_lua_res.Chapter_GetFleetOfDuty = m_state["Chapter"]["GetFleetOfDuty"];
m_lua_res.Chapter_findPath = m_state["Chapter"]["findPath"];
m_lua_res.ChapterConst_SubjectPlayer = m_state["ChapterConst"]["SubjectPlayer"];
m_lua_res.Ship_ENERGY_LOW = m_state["Ship"]["ENERGY_LOW"];
SPDLOG_INFO("Load lua functions");
m_original.GetBattleCheckResult = m_state["GetBattleCheckResult"];
@@ -645,6 +646,7 @@ void Cracker::load_lua_resources() {
m_original.LevelStageView_tryAutoTrigger = m_state["LevelStageView"]["tryAutoTrigger"];
m_original.LevelStageView_TryAutoFight = m_state["LevelStageView"]["TryAutoFight"];
m_original.Story_Ctor = m_state["Story"]["Ctor"];
m_original.Fleet_EnergyCheck = m_state["Fleet"]["EnergyCheck"];
}
void Cracker::hook_all_lua_functions() {
@@ -1154,6 +1156,21 @@ void Cracker::hook_all_lua_functions() {
}
return sol::make_object(L, 150);
};
m_state["Fleet"]["EnergyCheck"] = [this](sol::this_state L, Lua::VariadicArgs args) {
CALLED(Fleet.EnergyCheck);
bool no_emotion_warning_enabled = IS_ENABLED(NO_EMOTION_WARNING);
if (no_emotion_warning_enabled) {
m_state["Ship"]["ENERGY_LOW"] = -1;
}
m_original.Fleet_EnergyCheck(L, args);
if (no_emotion_warning_enabled) {
m_state["Ship"]["ENERGY_LOW"] = m_lua_res.Ship_ENERGY_LOW;
}
};
// enable_no_bb_animation
m_state["ys"]["Battle"]["BattleManualWeaponAutoBot"]["SetActive"] = [this](sol::this_state L, Lua::VariadicArgs args) -> Lua::Object {

View File

@@ -332,6 +332,7 @@ private:
Lua::Function LevelStageView_tryAutoTrigger;
Lua::Function LevelStageView_TryAutoFight;
Lua::Function Story_Ctor;
Lua::Function Fleet_EnergyCheck;
} m_original;
struct {
Lua::Function Clone;
@@ -369,6 +370,7 @@ private:
Lua::Function Chapter_GetFleetOfDuty;
Lua::Function Chapter_findPath;
int ChapterConst_SubjectPlayer;
int Ship_ENERGY_LOW;
} m_lua_res;
struct {