diff --git a/plugins/lua/sort.lua b/plugins/lua/sort.lua index e775f1ddf..3aabec544 100644 --- a/plugins/lua/sort.lua +++ b/plugins/lua/sort.lua @@ -425,28 +425,26 @@ local function sort_by_ranged_combat_potential_asc(unit_id_1, unit_id_2) return utils.compare(rating1, rating2) end -local SORT_FNS = { - sort_by_any_melee_desc=make_sort_by_melee_skill_effectiveness_desc(MELEE_WEAPON_SKILLS), - sort_by_any_melee_asc=make_sort_by_melee_skill_effectiveness_asc(MELEE_WEAPON_SKILLS), - sort_by_any_ranged_desc=make_sort_by_ranged_skill_effectiveness_desc(RANGED_WEAPON_SKILLS), - sort_by_any_ranged_asc=make_sort_by_ranged_skill_effectiveness_asc(RANGED_WEAPON_SKILLS), - sort_by_teacher_desc=make_sort_by_skill_desc(df.job_skill.TEACHING), - sort_by_teacher_asc=make_sort_by_skill_asc(df.job_skill.TEACHING), - sort_by_tactics_desc=make_sort_by_skill_desc(df.job_skill.MILITARY_TACTICS), - sort_by_tactics_asc=make_sort_by_skill_asc(df.job_skill.MILITARY_TACTICS), - sort_by_axe_desc=make_sort_by_skill_desc(df.job_skill.AXE), - sort_by_axe_asc=make_sort_by_skill_asc(df.job_skill.AXE), - sort_by_sword_desc=make_sort_by_skill_desc(df.job_skill.SWORD), - sort_by_sword_asc=make_sort_by_skill_asc(df.job_skill.SWORD), - sort_by_mace_desc=make_sort_by_skill_desc(df.job_skill.MACE), - sort_by_mace_asc=make_sort_by_skill_asc(df.job_skill.MACE), - sort_by_hammer_desc=make_sort_by_skill_desc(df.job_skill.HAMMER), - sort_by_hammer_asc=make_sort_by_skill_asc(df.job_skill.HAMMER), - sort_by_spear_desc=make_sort_by_skill_desc(df.job_skill.SPEAR), - sort_by_spear_asc=make_sort_by_skill_asc(df.job_skill.SPEAR), - sort_by_crossbow_desc=make_sort_by_skill_desc(df.job_skill.CROSSBOW), - sort_by_crossbow_asc=make_sort_by_skill_asc(df.job_skill.CROSSBOW), -} +local sort_by_any_melee_desc=make_sort_by_melee_skill_effectiveness_desc(MELEE_WEAPON_SKILLS) +local sort_by_any_melee_asc=make_sort_by_melee_skill_effectiveness_asc(MELEE_WEAPON_SKILLS) +local sort_by_any_ranged_desc=make_sort_by_ranged_skill_effectiveness_desc(RANGED_WEAPON_SKILLS) +local sort_by_any_ranged_asc=make_sort_by_ranged_skill_effectiveness_asc(RANGED_WEAPON_SKILLS) +local sort_by_teacher_desc=make_sort_by_skill_desc(df.job_skill.TEACHING) +local sort_by_teacher_asc=make_sort_by_skill_asc(df.job_skill.TEACHING) +local sort_by_tactics_desc=make_sort_by_skill_desc(df.job_skill.MILITARY_TACTICS) +local sort_by_tactics_asc=make_sort_by_skill_asc(df.job_skill.MILITARY_TACTICS) +local sort_by_axe_desc=make_sort_by_skill_desc(df.job_skill.AXE) +local sort_by_axe_asc=make_sort_by_skill_asc(df.job_skill.AXE) +local sort_by_sword_desc=make_sort_by_skill_desc(df.job_skill.SWORD) +local sort_by_sword_asc=make_sort_by_skill_asc(df.job_skill.SWORD) +local sort_by_mace_desc=make_sort_by_skill_desc(df.job_skill.MACE) +local sort_by_mace_asc=make_sort_by_skill_asc(df.job_skill.MACE) +local sort_by_hammer_desc=make_sort_by_skill_desc(df.job_skill.HAMMER) +local sort_by_hammer_asc=make_sort_by_skill_asc(df.job_skill.HAMMER) +local sort_by_spear_desc=make_sort_by_skill_desc(df.job_skill.SPEAR) +local sort_by_spear_asc=make_sort_by_skill_asc(df.job_skill.SPEAR) +local sort_by_crossbow_desc=make_sort_by_skill_desc(df.job_skill.CROSSBOW) +local sort_by_crossbow_asc=make_sort_by_skill_asc(df.job_skill.CROSSBOW) -- ---------------------- -- SquadAssignmentOverlay @@ -492,40 +490,40 @@ function SquadAssignmentOverlay:init() label='Sort by:', key='CUSTOM_SHIFT_S', options={ - {label='melee effectiveness'..CH_DN, value=SORT_FNS.sort_by_any_melee_desc, pen=COLOR_GREEN}, - {label='melee effectiveness'..CH_UP, value=SORT_FNS.sort_by_any_melee_asc, pen=COLOR_YELLOW}, - {label='ranged effectiveness'..CH_DN, value=SORT_FNS.sort_by_any_ranged_desc, pen=COLOR_GREEN}, - {label='ranged effectiveness'..CH_UP, value=SORT_FNS.sort_by_any_ranged_asc, pen=COLOR_YELLOW}, + {label='melee effectiveness'..CH_DN, value=sort_by_any_melee_desc, pen=COLOR_GREEN}, + {label='melee effectiveness'..CH_UP, value=sort_by_any_melee_asc, pen=COLOR_YELLOW}, + {label='ranged effectiveness'..CH_DN, value=sort_by_any_ranged_desc, pen=COLOR_GREEN}, + {label='ranged effectiveness'..CH_UP, value=sort_by_any_ranged_asc, pen=COLOR_YELLOW}, {label='name'..CH_DN, value=sort_by_name_desc, pen=COLOR_GREEN}, {label='name'..CH_UP, value=sort_by_name_asc, pen=COLOR_YELLOW}, - {label='teacher skill'..CH_DN, value=SORT_FNS.sort_by_teacher_desc, pen=COLOR_GREEN}, - {label='teacher skill'..CH_UP, value=SORT_FNS.sort_by_teacher_asc, pen=COLOR_YELLOW}, - {label='tactics skill'..CH_DN, value=SORT_FNS.sort_by_tactics_desc, pen=COLOR_GREEN}, - {label='tactics skill'..CH_UP, value=SORT_FNS.sort_by_tactics_asc, pen=COLOR_YELLOW}, + {label='teacher skill'..CH_DN, value=sort_by_teacher_desc, pen=COLOR_GREEN}, + {label='teacher skill'..CH_UP, value=sort_by_teacher_asc, pen=COLOR_YELLOW}, + {label='tactics skill'..CH_DN, value=sort_by_tactics_desc, pen=COLOR_GREEN}, + {label='tactics skill'..CH_UP, value=sort_by_tactics_asc, pen=COLOR_YELLOW}, {label='migrant wave'..CH_DN, value=sort_by_migrant_wave_desc, pen=COLOR_GREEN}, {label='migrant wave'..CH_UP, value=sort_by_migrant_wave_asc, pen=COLOR_YELLOW}, {label='stress level'..CH_DN, value=sort_by_stress_desc, pen=COLOR_GREEN}, {label='stress level'..CH_UP, value=sort_by_stress_asc, pen=COLOR_YELLOW}, {label='mental stability'..CH_DN, value=sort_by_mental_stability_desc, pen=COLOR_GREEN}, {label='mental stability'..CH_UP, value=sort_by_mental_stability_asc, pen=COLOR_YELLOW}, - {label='axe skill'..CH_DN, value=SORT_FNS.sort_by_axe_desc, pen=COLOR_GREEN}, - {label='axe skill'..CH_UP, value=SORT_FNS.sort_by_axe_asc, pen=COLOR_YELLOW}, - {label='sword skill'..CH_DN, value=SORT_FNS.sort_by_sword_desc, pen=COLOR_GREEN}, - {label='sword skill'..CH_UP, value=SORT_FNS.sort_by_sword_asc, pen=COLOR_YELLOW}, - {label='mace skill'..CH_DN, value=SORT_FNS.sort_by_mace_desc, pen=COLOR_GREEN}, - {label='mace skill'..CH_UP, value=SORT_FNS.sort_by_mace_asc, pen=COLOR_YELLOW}, - {label='hammer skill'..CH_DN, value=SORT_FNS.sort_by_hammer_desc, pen=COLOR_GREEN}, - {label='hammer skill'..CH_UP, value=SORT_FNS.sort_by_hammer_asc, pen=COLOR_YELLOW}, - {label='spear skill'..CH_DN, value=SORT_FNS.sort_by_spear_desc, pen=COLOR_GREEN}, - {label='spear skill'..CH_UP, value=SORT_FNS.sort_by_spear_asc, pen=COLOR_YELLOW}, - {label='crossbow skill'..CH_DN, value=SORT_FNS.sort_by_crossbow_desc, pen=COLOR_GREEN}, - {label='crossbow skill'..CH_UP, value=SORT_FNS.sort_by_crossbow_asc, pen=COLOR_YELLOW}, + {label='axe skill'..CH_DN, value=sort_by_axe_desc, pen=COLOR_GREEN}, + {label='axe skill'..CH_UP, value=sort_by_axe_asc, pen=COLOR_YELLOW}, + {label='sword skill'..CH_DN, value=sort_by_sword_desc, pen=COLOR_GREEN}, + {label='sword skill'..CH_UP, value=sort_by_sword_asc, pen=COLOR_YELLOW}, + {label='mace skill'..CH_DN, value=sort_by_mace_desc, pen=COLOR_GREEN}, + {label='mace skill'..CH_UP, value=sort_by_mace_asc, pen=COLOR_YELLOW}, + {label='hammer skill'..CH_DN, value=sort_by_hammer_desc, pen=COLOR_GREEN}, + {label='hammer skill'..CH_UP, value=sort_by_hammer_asc, pen=COLOR_YELLOW}, + {label='spear skill'..CH_DN, value=sort_by_spear_desc, pen=COLOR_GREEN}, + {label='spear skill'..CH_UP, value=sort_by_spear_asc, pen=COLOR_YELLOW}, + {label='crossbow skill'..CH_DN, value=sort_by_crossbow_desc, pen=COLOR_GREEN}, + {label='crossbow skill'..CH_UP, value=sort_by_crossbow_asc, pen=COLOR_YELLOW}, {label='melee potential'..CH_DN, value=sort_by_melee_combat_potential_desc, pen=COLOR_GREEN}, {label='melee potential'..CH_UP, value=sort_by_melee_combat_potential_asc, pen=COLOR_YELLOW}, {label='ranged potential'..CH_DN, value=sort_by_ranged_combat_potential_desc, pen=COLOR_GREEN}, {label='ranged potential'..CH_UP, value=sort_by_ranged_combat_potential_asc, pen=COLOR_YELLOW}, }, - initial_option=SORT_FNS.sort_by_any_melee_desc, + initial_option=sort_by_any_melee_desc, on_change=self:callback('refresh_list', 'sort'), }, widgets.CycleHotkeyLabel{ @@ -533,10 +531,10 @@ function SquadAssignmentOverlay:init() frame={t=2, l=0, w=11}, options={ {label='melee eff.', value=sort_noop}, - {label='melee eff.'..CH_DN, value=SORT_FNS.sort_by_any_melee_desc, pen=COLOR_GREEN}, - {label='melee eff.'..CH_UP, value=SORT_FNS.sort_by_any_melee_asc, pen=COLOR_YELLOW}, + {label='melee eff.'..CH_DN, value=sort_by_any_melee_desc, pen=COLOR_GREEN}, + {label='melee eff.'..CH_UP, value=sort_by_any_melee_asc, pen=COLOR_YELLOW}, }, - initial_option=SORT_FNS.sort_by_any_melee_desc, + initial_option=sort_by_any_melee_desc, option_gap=0, on_change=self:callback('refresh_list', 'sort_any_melee'), }, @@ -545,8 +543,8 @@ function SquadAssignmentOverlay:init() frame={t=2, r=8, w=12}, options={ {label='ranged eff.', value=sort_noop}, - {label='ranged eff.'..CH_DN, value=SORT_FNS.sort_by_any_ranged_desc, pen=COLOR_GREEN}, - {label='ranged eff.'..CH_UP, value=SORT_FNS.sort_by_any_ranged_asc, pen=COLOR_YELLOW}, + {label='ranged eff.'..CH_DN, value=sort_by_any_ranged_desc, pen=COLOR_GREEN}, + {label='ranged eff.'..CH_UP, value=sort_by_any_ranged_asc, pen=COLOR_YELLOW}, }, option_gap=0, on_change=self:callback('refresh_list', 'sort_any_ranged'), @@ -567,8 +565,8 @@ function SquadAssignmentOverlay:init() frame={t=4, l=0, w=8}, options={ {label='teacher', value=sort_noop}, - {label='teacher'..CH_DN, value=SORT_FNS.sort_by_teacher_desc, pen=COLOR_GREEN}, - {label='teacher'..CH_UP, value=SORT_FNS.sort_by_teacher_asc, pen=COLOR_YELLOW}, + {label='teacher'..CH_DN, value=sort_by_teacher_desc, pen=COLOR_GREEN}, + {label='teacher'..CH_UP, value=sort_by_teacher_asc, pen=COLOR_YELLOW}, }, option_gap=0, on_change=self:callback('refresh_list', 'sort_teacher'), @@ -578,8 +576,8 @@ function SquadAssignmentOverlay:init() frame={t=4, l=10, w=8}, options={ {label='tactics', value=sort_noop}, - {label='tactics'..CH_DN, value=SORT_FNS.sort_by_tactics_desc, pen=COLOR_GREEN}, - {label='tactics'..CH_UP, value=SORT_FNS.sort_by_tactics_asc, pen=COLOR_YELLOW}, + {label='tactics'..CH_DN, value=sort_by_tactics_desc, pen=COLOR_GREEN}, + {label='tactics'..CH_UP, value=sort_by_tactics_asc, pen=COLOR_YELLOW}, }, option_gap=0, on_change=self:callback('refresh_list', 'sort_tactics'), @@ -622,8 +620,8 @@ function SquadAssignmentOverlay:init() frame={t=8, l=0, w=4}, options={ {label='axe', value=sort_noop}, - {label='axe'..CH_DN, value=SORT_FNS.sort_by_axe_desc, pen=COLOR_GREEN}, - {label='axe'..CH_UP, value=SORT_FNS.sort_by_axe_asc, pen=COLOR_YELLOW}, + {label='axe'..CH_DN, value=sort_by_axe_desc, pen=COLOR_GREEN}, + {label='axe'..CH_UP, value=sort_by_axe_asc, pen=COLOR_YELLOW}, }, option_gap=0, on_change=self:callback('refresh_list', 'sort_axe'), @@ -633,8 +631,8 @@ function SquadAssignmentOverlay:init() frame={t=8, w=6}, options={ {label='sword', value=sort_noop}, - {label='sword'..CH_DN, value=SORT_FNS.sort_by_sword_desc, pen=COLOR_GREEN}, - {label='sword'..CH_UP, value=SORT_FNS.sort_by_sword_asc, pen=COLOR_YELLOW}, + {label='sword'..CH_DN, value=sort_by_sword_desc, pen=COLOR_GREEN}, + {label='sword'..CH_UP, value=sort_by_sword_asc, pen=COLOR_YELLOW}, }, option_gap=0, on_change=self:callback('refresh_list', 'sort_sword'), @@ -644,8 +642,8 @@ function SquadAssignmentOverlay:init() frame={t=8, r=0, w=5}, options={ {label='mace', value=sort_noop}, - {label='mace'..CH_DN, value=SORT_FNS.sort_by_mace_desc, pen=COLOR_GREEN}, - {label='mace'..CH_UP, value=SORT_FNS.sort_by_mace_asc, pen=COLOR_YELLOW}, + {label='mace'..CH_DN, value=sort_by_mace_desc, pen=COLOR_GREEN}, + {label='mace'..CH_UP, value=sort_by_mace_asc, pen=COLOR_YELLOW}, }, option_gap=0, on_change=self:callback('refresh_list', 'sort_mace'), @@ -655,8 +653,8 @@ function SquadAssignmentOverlay:init() frame={t=10, l=0, w=7}, options={ {label='hammer', value=sort_noop}, - {label='hammer'..CH_DN, value=SORT_FNS.sort_by_hammer_desc, pen=COLOR_GREEN}, - {label='hammer'..CH_UP, value=SORT_FNS.sort_by_hammer_asc, pen=COLOR_YELLOW}, + {label='hammer'..CH_DN, value=sort_by_hammer_desc, pen=COLOR_GREEN}, + {label='hammer'..CH_UP, value=sort_by_hammer_asc, pen=COLOR_YELLOW}, }, option_gap=0, on_change=self:callback('refresh_list', 'sort_hammer'), @@ -666,8 +664,8 @@ function SquadAssignmentOverlay:init() frame={t=10, w=6}, options={ {label='spear', value=sort_noop}, - {label='spear'..CH_DN, value=SORT_FNS.sort_by_spear_desc, pen=COLOR_GREEN}, - {label='spear'..CH_UP, value=SORT_FNS.sort_by_spear_asc, pen=COLOR_YELLOW}, + {label='spear'..CH_DN, value=sort_by_spear_desc, pen=COLOR_GREEN}, + {label='spear'..CH_UP, value=sort_by_spear_asc, pen=COLOR_YELLOW}, }, option_gap=0, on_change=self:callback('refresh_list', 'sort_spear'), @@ -677,8 +675,8 @@ function SquadAssignmentOverlay:init() frame={t=10, r=0, w=9}, options={ {label='crossbow', value=sort_noop}, - {label='crossbow'..CH_DN, value=SORT_FNS.sort_by_crossbow_desc, pen=COLOR_GREEN}, - {label='crossbow'..CH_UP, value=SORT_FNS.sort_by_crossbow_asc, pen=COLOR_YELLOW}, + {label='crossbow'..CH_DN, value=sort_by_crossbow_desc, pen=COLOR_GREEN}, + {label='crossbow'..CH_UP, value=sort_by_crossbow_asc, pen=COLOR_YELLOW}, }, option_gap=0, on_change=self:callback('refresh_list', 'sort_crossbow'),