mirror of
https://github.com/wess09/AzurLaneAutoScript.git
synced 2026-05-14 06:38:38 +08:00
优先快过期委托
This commit is contained in:
parent
e37d63548e
commit
c7dff9a95d
@ -1730,7 +1730,7 @@
|
||||
},
|
||||
"Commission": {
|
||||
"PresetFilter": "cube",
|
||||
"CustomFilter": "DailyEvent > Gem-4 > Gem-2 > Gem-8 > ExtraCube-0:30\n> UrgentCube-1:30 > UrgentCube-1:45 > UrgentCube-3\n> ExtraDrill-5:20 > ExtraDrill-2 > ExtraDrill-3:20\n> UrgentCube-2:15 > UrgentCube-4\n> ExtraDrill-1 > UrgentCube-6 > ExtraCube-1:30\n> ExtraDrill-2:40 > ExtraDrill-0:20\n> Major > DailyChip > DailyResource\n> ExtraPart-0:30 > ExtraOil-1 > UrgentBox-6\n> ExtraCube-3 > ExtraPart-1 > UrgentBox-3\n> ExtraCube-4 > ExtraPart-1:30 > ExtraOil-4\n> UrgentBox-1 > ExtraCube-5 > UrgentBox-1\n> ExtraCube-8 > ExtraOil-8\n> UrgentDrill-4 > UrgentDrill-2:40 > UrgentDrill-2\n> UrgentDrill-1 > UrgentDrill-1:30 > UrgentDrill-1:10\n> Extra-0:20 > Extra-0:30 > Extra-1:00 > Extra-1:30 > Extra-2:00\n> shortest",
|
||||
"CustomFilter": "DailyEvent > Gem-4 > Gem-2 > Gem-8 > ExtraCube-0:30\n> UrgentCube-1:30 > UrgentCube-1:45 > UrgentCube-3\n> ExtraDrill-5:20 > ExtraDrill-2 > ExtraDrill-3:20\n> UrgentCube-2:15 > UrgentCube-4\n> ExtraDrill-1 > UrgentCube-6 > ExtraCube-1:30\n> ExtraDrill-2:40 > ExtraDrill-0:20\n> expire\n> Major > DailyChip > DailyResource\n> ExtraPart-0:30 > ExtraOil-1 > UrgentBox-6\n> ExtraCube-3 > ExtraPart-1 > UrgentBox-3\n> ExtraCube-4 > ExtraPart-1:30 > ExtraOil-4\n> UrgentBox-1 > ExtraCube-5 > UrgentBox-1\n> ExtraCube-8 > ExtraOil-8\n> UrgentDrill-4 > UrgentDrill-2:40 > UrgentDrill-2\n> UrgentDrill-1 > UrgentDrill-1:30 > UrgentDrill-1:10\n> Extra-0:20 > Extra-0:30 > Extra-1:00 > Extra-1:30 > Extra-2:00\n> shortest",
|
||||
"DoMajorCommission": false
|
||||
},
|
||||
"Storage": {
|
||||
|
||||
@ -23,6 +23,7 @@ from module.ui.scroll import Scroll
|
||||
from module.ui.switch import Switch
|
||||
from module.ui.ui import UI
|
||||
from module.ui_white.assets import REWARD_1_WHITE, REWARD_GOTO_COMMISSION_WHITE
|
||||
from datetime import timedelta
|
||||
|
||||
COMMISSION_SWITCH = Switch('Commission_switch', is_selector=True)
|
||||
COMMISSION_SWITCH.add_state('daily', COMMISSION_DAILY)
|
||||
@ -129,8 +130,8 @@ class RewardCommission(UI, InfoHandler):
|
||||
for comm in total:
|
||||
if comm.genre == 'daily_event':
|
||||
self.max_commission = 5
|
||||
running_count = int(
|
||||
np.sum([1 for c in total if c.status == 'running']))
|
||||
running_list = [c for c in total if c.status == 'running']
|
||||
running_count = len(running_list)
|
||||
logger.attr('Running', f'{running_count}/{self.max_commission}')
|
||||
|
||||
# Load filter string
|
||||
@ -168,6 +169,29 @@ class RewardCommission(UI, InfoHandler):
|
||||
else:
|
||||
logger.info('Not enough commissions to run')
|
||||
|
||||
# 优先处理快过期重要委托
|
||||
if 'expire' in run:
|
||||
logger.info('尝试提前快过期委托')
|
||||
|
||||
valid_runs = [c for c in run if isinstance(c, Commission)]
|
||||
queue = running_list + valid_runs[:self.max_commission - running_count]
|
||||
|
||||
if queue:
|
||||
min_duration_time = queue[0].duration
|
||||
for c in queue:
|
||||
if c.duration < min_duration_time:
|
||||
min_duration_time = c.duration
|
||||
else:
|
||||
min_duration_time = timedelta(seconds=0)
|
||||
logger.attr('Min Duration Time', min_duration_time)
|
||||
|
||||
expire_index = run.grids.index('expire')
|
||||
important = run[:expire_index].filter(lambda c: isinstance(c, Commission) and c.expire)
|
||||
priority = [c for c in important if c.expire < min_duration_time]
|
||||
run = run.delete(SelectedGrids(['expire']))
|
||||
run = SelectedGrids(priority).add_by_eq(run)
|
||||
logger.attr('Filter_sort', ' > '.join([str(c) for c in run]))
|
||||
|
||||
self.comm_choose = run
|
||||
if running_count >= self.max_commission:
|
||||
return SelectedGrids([]), SelectedGrids([])
|
||||
|
||||
@ -14,7 +14,8 @@ DICT_FILTER_PRESET = {
|
||||
> ExtraDrill-5:20 > ExtraDrill-2 > ExtraDrill-3:20
|
||||
> UrgentCube-2:15 > UrgentCube-4
|
||||
> ExtraDrill-1 > UrgentCube-6 > ExtraCube-1:30
|
||||
> ExtraDrill-2:40 > ExtraDrill-0:20
|
||||
> ExtraDrill-2:40 > ExtraDrill-0:20
|
||||
> expire
|
||||
> Major > DailyChip > DailyResource
|
||||
> ExtraPart-0:30 > ExtraOil-1 > UrgentBox-6
|
||||
> ExtraCube-3 > ExtraPart-1 > UrgentBox-3
|
||||
@ -65,6 +66,7 @@ DICT_FILTER_PRESET = {
|
||||
> UrgentCube-2:15 > UrgentCube-4 > UrgentCube-6
|
||||
> ExtraCube-1:30 > ExtraCube-3 > ExtraCube-4
|
||||
> ExtraCube-8 > UrgentBox-6 > UrgentBox-3 > ExtraCube-5 > UrgentBox-1
|
||||
> expire
|
||||
> Major > DailyChip > DailyResource
|
||||
> ExtraOil-8 > UrgentDrill-4 > ExtraOil-4 > ExtraOil-1
|
||||
> ExtraDrill-0:20 > UrgentDrill-2:40 > ExtraPart-0:30
|
||||
@ -113,6 +115,7 @@ DICT_FILTER_PRESET = {
|
||||
> UrgentBox-6 > ExtraCube-1:30 > UrgentCube-6
|
||||
> UrgentBox-3 > UrgentBox-1
|
||||
> UrgentDrill-4 > ExtraOil-8 > UrgentDrill-2:40 > ExtraOil-4
|
||||
> expire
|
||||
> Major > DailyChip > DailyResource
|
||||
> ExtraCube-3 > UrgentDrill-2 > UrgentDrill-1
|
||||
> UrgentDrill-1:30 > UrgentDrill-1:10
|
||||
|
||||
@ -19,7 +19,7 @@ COMMISSION_FILTER = Filter(
|
||||
'(\d\d?.\d\d?|\d\d?)?'
|
||||
),
|
||||
attr=('category_str', 'genre_str', 'duration_hm', 'duration_hour'),
|
||||
preset=('shortest',)
|
||||
preset=('shortest', 'expire')
|
||||
)
|
||||
|
||||
|
||||
|
||||
@ -9219,7 +9219,7 @@
|
||||
},
|
||||
"CustomFilter": {
|
||||
"type": "textarea",
|
||||
"value": "DailyEvent > Gem-4 > Gem-2 > Gem-8 > ExtraCube-0:30\n> UrgentCube-1:30 > UrgentCube-1:45 > UrgentCube-3\n> ExtraDrill-5:20 > ExtraDrill-2 > ExtraDrill-3:20\n> UrgentCube-2:15 > UrgentCube-4\n> ExtraDrill-1 > UrgentCube-6 > ExtraCube-1:30\n> ExtraDrill-2:40 > ExtraDrill-0:20\n> Major > DailyChip > DailyResource\n> ExtraPart-0:30 > ExtraOil-1 > UrgentBox-6\n> ExtraCube-3 > ExtraPart-1 > UrgentBox-3\n> ExtraCube-4 > ExtraPart-1:30 > ExtraOil-4\n> UrgentBox-1 > ExtraCube-5 > UrgentBox-1\n> ExtraCube-8 > ExtraOil-8\n> UrgentDrill-4 > UrgentDrill-2:40 > UrgentDrill-2\n> UrgentDrill-1 > UrgentDrill-1:30 > UrgentDrill-1:10\n> Extra-0:20 > Extra-0:30 > Extra-1:00 > Extra-1:30 > Extra-2:00\n> shortest"
|
||||
"value": "DailyEvent > Gem-4 > Gem-2 > Gem-8 > ExtraCube-0:30\n> UrgentCube-1:30 > UrgentCube-1:45 > UrgentCube-3\n> ExtraDrill-5:20 > ExtraDrill-2 > ExtraDrill-3:20\n> UrgentCube-2:15 > UrgentCube-4\n> ExtraDrill-1 > UrgentCube-6 > ExtraCube-1:30\n> ExtraDrill-2:40 > ExtraDrill-0:20\n> expire\n> Major > DailyChip > DailyResource\n> ExtraPart-0:30 > ExtraOil-1 > UrgentBox-6\n> ExtraCube-3 > ExtraPart-1 > UrgentBox-3\n> ExtraCube-4 > ExtraPart-1:30 > ExtraOil-4\n> UrgentBox-1 > ExtraCube-5 > UrgentBox-1\n> ExtraCube-8 > ExtraOil-8\n> UrgentDrill-4 > UrgentDrill-2:40 > UrgentDrill-2\n> UrgentDrill-1 > UrgentDrill-1:30 > UrgentDrill-1:10\n> Extra-0:20 > Extra-0:30 > Extra-1:00 > Extra-1:30 > Extra-2:00\n> shortest"
|
||||
},
|
||||
"DoMajorCommission": {
|
||||
"type": "checkbox",
|
||||
|
||||
@ -527,6 +527,7 @@ Commission:
|
||||
> UrgentCube-2:15 > UrgentCube-4
|
||||
> ExtraDrill-1 > UrgentCube-6 > ExtraCube-1:30
|
||||
> ExtraDrill-2:40 > ExtraDrill-0:20
|
||||
> expire
|
||||
> Major > DailyChip > DailyResource
|
||||
> ExtraPart-0:30 > ExtraOil-1 > UrgentBox-6
|
||||
> ExtraCube-3 > ExtraPart-1 > UrgentBox-3
|
||||
|
||||
@ -306,7 +306,7 @@ class GeneratedConfig:
|
||||
|
||||
# Group `Commission`
|
||||
Commission_PresetFilter = 'cube' # cube, cube_24h, chip, chip_24h, oil, custom
|
||||
Commission_CustomFilter = 'DailyEvent > Gem-4 > Gem-2 > Gem-8 > ExtraCube-0:30\n> UrgentCube-1:30 > UrgentCube-1:45 > UrgentCube-3\n> ExtraDrill-5:20 > ExtraDrill-2 > ExtraDrill-3:20\n> UrgentCube-2:15 > UrgentCube-4\n> ExtraDrill-1 > UrgentCube-6 > ExtraCube-1:30\n> ExtraDrill-2:40 > ExtraDrill-0:20\n> Major > DailyChip > DailyResource\n> ExtraPart-0:30 > ExtraOil-1 > UrgentBox-6\n> ExtraCube-3 > ExtraPart-1 > UrgentBox-3\n> ExtraCube-4 > ExtraPart-1:30 > ExtraOil-4\n> UrgentBox-1 > ExtraCube-5 > UrgentBox-1\n> ExtraCube-8 > ExtraOil-8\n> UrgentDrill-4 > UrgentDrill-2:40 > UrgentDrill-2\n> UrgentDrill-1 > UrgentDrill-1:30 > UrgentDrill-1:10\n> Extra-0:20 > Extra-0:30 > Extra-1:00 > Extra-1:30 > Extra-2:00\n> shortest'
|
||||
Commission_CustomFilter = 'DailyEvent > Gem-4 > Gem-2 > Gem-8 > ExtraCube-0:30\n> UrgentCube-1:30 > UrgentCube-1:45 > UrgentCube-3\n> ExtraDrill-5:20 > ExtraDrill-2 > ExtraDrill-3:20\n> UrgentCube-2:15 > UrgentCube-4\n> ExtraDrill-1 > UrgentCube-6 > ExtraCube-1:30\n> ExtraDrill-2:40 > ExtraDrill-0:20\n> expire\n> Major > DailyChip > DailyResource\n> ExtraPart-0:30 > ExtraOil-1 > UrgentBox-6\n> ExtraCube-3 > ExtraPart-1 > UrgentBox-3\n> ExtraCube-4 > ExtraPart-1:30 > ExtraOil-4\n> UrgentBox-1 > ExtraCube-5 > UrgentBox-1\n> ExtraCube-8 > ExtraOil-8\n> UrgentDrill-4 > UrgentDrill-2:40 > UrgentDrill-2\n> UrgentDrill-1 > UrgentDrill-1:30 > UrgentDrill-1:10\n> Extra-0:20 > Extra-0:30 > Extra-1:00 > Extra-1:30 > Extra-2:00\n> shortest'
|
||||
Commission_DoMajorCommission = False
|
||||
|
||||
# Group `Tactical`
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user