--- @param scheck fun(mg:Group):boolean Called during selection to prune branches when it’s impossible to meet the conditions.
--- @param scheck fun(mg:Group):boolean Called during selection to prune branches when it’s impossible to meet the conditions.
--- @param sgoalcheck fun(mg:Group):boolean Called after full selection to verify the final Synchro Summon condition.
--- @param sgoalcheck fun(mg:Group):boolean Called after full selection to verify the final Synchro Summon condition.
function Synchro.SynCondition(tuner_race,tuner_filter,non_tuner_race,non_tuner_filter,tuner_min,tuner_max,non_tuner_min,non_tuner_max,level_mapper,hand_count_mapper,scheck,sgoalcheck)
@@ -3755,17 +3789,17 @@ function Synchro.SynCondition(tuner_race,tuner_filter,non_tuner_race,non_tuner_f
...
@@ -3755,17 +3789,17 @@ function Synchro.SynCondition(tuner_race,tuner_filter,non_tuner_race,non_tuner_f
end
end
table.insert(pre_selected_arr,smat)
table.insert(pre_selected_arr,smat)
end
end
local pre_selected_states=Synchro.BuildStatesFromSelection(pre_selected_arr,tuner_race,tuner_filter,non_tuner_race,non_tuner_filter,level_mapper,hand_count_mapper,c,math.huge,skip_hand_count_check)
if Synchro.FindValidSelection(candidates,target_level,tuner_race,tuner_filter,non_tuner_race,non_tuner_filter,c,tuner_min,tuner_max,non_tuner_min,non_tuner_max,level_mapper,hand_count_mapper,scheck,sgoalcheck,pre_selected_arr,state) then
function Synchro.SynTarget(tuner_race,tuner_filter,non_tuner_race,non_tuner_filter,tuner_min,tuner_max,non_tuner_min,non_tuner_max,level_mapper,hand_count_mapper,scheck,sgoalcheck)
@@ -3889,7 +3923,7 @@ function Synchro.SynTarget(tuner_race,tuner_filter,non_tuner_race,non_tuner_filt
...
@@ -3889,7 +3923,7 @@ function Synchro.SynTarget(tuner_race,tuner_filter,non_tuner_race,non_tuner_filt
break
break
end
end
local finishable=Synchro.IsSelectionValid(sg_arr,target_level,tuner_race,tuner_filter,non_tuner_race,non_tuner_filter,tc,tuner_min,tuner_max,non_tuner_min,non_tuner_max,level_mapper,hand_count_mapper,sgoalcheck)
@@ -3984,14 +4018,14 @@ function Synchro.SynOperation()
...
@@ -3984,14 +4018,14 @@ function Synchro.SynOperation()
end
end
end
end
function Synchro.IsSelectionValid(selection,target_level,tuner_race,tuner_filter,non_tuner_race,non_tuner_filter,tc,tuner_min,tuner_max,non_tuner_min,non_tuner_max,level_mapper,hand_count_mapper,sgoalcheck)
@@ -4109,7 +4143,7 @@ function Synchro.UpdatepossibleSums(possible_sums,card_levels,prune_level)
...
@@ -4109,7 +4143,7 @@ function Synchro.UpdatepossibleSums(possible_sums,card_levels,prune_level)
returnnew_sums
returnnew_sums
end
end
function Synchro.BuildStatesFromSelection(selection,tuner_race,tuner_filter,non_tuner_race,non_tuner_filter,level_mapper,hand_count_mapper,tc,prune_level,skip_hand_count_check)