mirror of
https://github.com/0O0o0oOoO00/Alas.git
synced 2026-05-22 16:29:29 +08:00
add: lua function args count check
This commit is contained in:
@@ -226,10 +226,13 @@ void Cracker::enable_global_speedup() {
|
||||
|
||||
m_state["GetBattleCheckResult"] = [this, gen_new_total_time](sol::this_state L, Lua::VariadicArgs args) {
|
||||
CALLED(GetBattleCheckResult);
|
||||
double total_time = args[2];
|
||||
std::vector<Lua::Object> new_args(args.begin(), args.end());
|
||||
new_args[2] = sol::make_object(L, gen_new_total_time(total_time));
|
||||
return m_original.GetBattleCheckResult(sol::as_args(new_args));
|
||||
if (args.size() >= 3) {
|
||||
double total_time = args[2];
|
||||
std::vector<Lua::Object> new_args(args.begin(), args.end());
|
||||
new_args[2] = sol::make_object(L, gen_new_total_time(total_time));
|
||||
return m_original.GetBattleCheckResult(sol::as_args(new_args));
|
||||
}
|
||||
return m_original.GetBattleCheckResult(L, args);
|
||||
};
|
||||
|
||||
m_state["FinishStageCommand"]["GeneralPackage"] = [this, gen_new_total_time](sol::this_state L, Lua::VariadicArgs args) -> Lua::Table {
|
||||
@@ -255,8 +258,12 @@ void Cracker::disable_global_speedup() {
|
||||
}
|
||||
|
||||
void Cracker::enable_gg_factor() {
|
||||
m_state["Ship"]["intimacyAdditions"] = [this](Lua::VariadicArgs args) -> Lua::Object {
|
||||
m_state["Ship"]["intimacyAdditions"] = [this](sol::this_state L, Lua::VariadicArgs args) -> Lua::Object {
|
||||
CALLED(Ship.intimacyAdditions);
|
||||
if (args.size() < 2) {
|
||||
return m_original.Ship_intimacyAdditions(L, args);
|
||||
}
|
||||
|
||||
Lua::Table self = args[0];
|
||||
int intimacy_level = m_lua_res.Ship_getIntimacyLevel(self);
|
||||
Lua::Table attr_bonus_table = m_lua_res.pg_intimacy_template.get<Lua::Table>(intimacy_level);
|
||||
@@ -329,6 +336,10 @@ void Cracker::disable_no_emotion_warning() {
|
||||
void Cracker::enable_no_bb_animation() {
|
||||
m_state["ys"]["Battle"]["BattleManualWeaponAutoBot"]["SetActive"] = [this](sol::this_state L, Lua::VariadicArgs args) -> Lua::Object {
|
||||
CALLED(ys.Battle.BattleManualWeaponAutoBot.SetActive);
|
||||
if (args.size() < 3) {
|
||||
return m_original.ys_Battle_BattleManualWeaponAutoBot_SetActive(L, args);
|
||||
}
|
||||
|
||||
std::vector<Lua::Object> new_args(args.begin(), args.end());
|
||||
new_args[2] = sol::make_object(L, false);
|
||||
Lua::Object res = m_original.ys_Battle_BattleManualWeaponAutoBot_SetActive(sol::as_args(new_args));
|
||||
|
||||
Reference in New Issue
Block a user