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

add: webui of luahook

This commit is contained in:
0O0o0oOoO00
2025-05-26 20:29:41 +08:00
parent 959bc3a1f3
commit bbbd155401
20 changed files with 3658 additions and 2 deletions

View File

@@ -590,6 +590,77 @@ void Cracker::hook_all_lua_functions() {
};
}
#define SET_SHIP_PROPERTIES_VALUE(f) v[#f]["value"] = m_globle_ship_properties.f
Json::Value Cracker::get_config_json() {
Json::Value j;
j["globalSpeedup"]["enabled"] = m_flag.GLOBAL_SPEEDUP.load();
j["globalSpeedup"]["value"] = m_global_speedup_rate.load();
j["chapterFastMove"]["enabled"] = m_flag.FAST_STAGE_MOVE_CRACK.load();
j["opsiFastMove"]["enabled"] = m_flag.OPSI_FAST_MOVE.load();
j["noBBAnimation"]["enabled"] = m_flag.NO_BB_ANIMATION.load();
j["noEmotionWarning"]["enabled"] = m_flag.NO_EMOTION_WARNING.load();
j["removeHardModeShipPropertiesLimit"]["enabled"] = m_flag.REMOVE_HARD_MODE_SHIP_PROPERTIES_LIMIT.load();
j["removeHardModeShipTypeLimit"]["enabled"] = m_flag.REMOVE_HARD_MODE_SHIP_TYPE_LIMIT.load();
j["globalShipProperties"]["enabled"] = m_flag.GLOBAL_SHIP_PROPERTIES_CRACK.load();
j["globalShipProperties"]["value"] = [this] -> Json::Value {
Json::Value v;
SET_SHIP_PROPERTIES_VALUE(armor);
SET_SHIP_PROPERTIES_VALUE(speed);
SET_SHIP_PROPERTIES_VALUE(antiaircraft);
SET_SHIP_PROPERTIES_VALUE(oxy_recovery_bench);
SET_SHIP_PROPERTIES_VALUE(torpedo);
SET_SHIP_PROPERTIES_VALUE(hit);
SET_SHIP_PROPERTIES_VALUE(sonarRange);
SET_SHIP_PROPERTIES_VALUE(attack_duration);
SET_SHIP_PROPERTIES_VALUE(raid_distance);
SET_SHIP_PROPERTIES_VALUE(oxy_recovery_surface);
SET_SHIP_PROPERTIES_VALUE(oxy_recovery);
SET_SHIP_PROPERTIES_VALUE(dodge);
SET_SHIP_PROPERTIES_VALUE(luck);
SET_SHIP_PROPERTIES_VALUE(reload);
SET_SHIP_PROPERTIES_VALUE(oxy_cost);
SET_SHIP_PROPERTIES_VALUE(durability);
SET_SHIP_PROPERTIES_VALUE(air);
SET_SHIP_PROPERTIES_VALUE(oxy_max);
SET_SHIP_PROPERTIES_VALUE(cannon);
SET_SHIP_PROPERTIES_VALUE(antisub);
return v;
}();
j["ggFactor"]["enabled"] = m_flag.GG_FACTOR.load();
j["ggFactor"]["value"] = m_gg_factor;
return j;
}
#define APPLY_CONFIG(f) m_##f = config.f
#define APPLY_ATOMIC_CONFIG(f) m_##f.store(config.f)
void Cracker::apply_config(Config& config) {
APPLY_ATOMIC_CONFIG(flag.GLOBAL_SHIP_PROPERTIES_CRACK);
APPLY_ATOMIC_CONFIG(flag.FAST_STAGE_MOVE_CRACK);
APPLY_ATOMIC_CONFIG(flag.REMOVE_HARD_MODE_SHIP_PROPERTIES_LIMIT);
APPLY_ATOMIC_CONFIG(flag.REMOVE_HARD_MODE_SHIP_TYPE_LIMIT);
APPLY_ATOMIC_CONFIG(flag.NO_BB_ANIMATION);
APPLY_ATOMIC_CONFIG(flag.NO_EMOTION_WARNING);
APPLY_ATOMIC_CONFIG(flag.OPSI_FAST_MOVE);
APPLY_ATOMIC_CONFIG(flag.GG_FACTOR);
APPLY_ATOMIC_CONFIG(flag.GLOBAL_SPEEDUP);
APPLY_CONFIG(globle_ship_properties);
APPLY_ATOMIC_CONFIG(global_speedup_rate);
APPLY_CONFIG(gg_factor);
if (config.flag.GLOBAL_SPEEDUP) {
update_global_speedup_rate(config.global_speedup_rate);
enable_global_speedup();
} else {
disable_global_speedup();
}
}
#define MODIFY_PROPERTY(name) \
if (new_properties.name != -1) { \
properties[#name] = new_properties.name; \