-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Expand file tree
/
Copy pathos_run.py
More file actions
122 lines (105 loc) · 3.94 KB
/
os_run.py
File metadata and controls
122 lines (105 loc) · 3.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
from module.config.utils import get_os_reset_remain
from module.logger import logger
from module.os.config import OSConfig
from module.os.map_operation import OSMapOperation
from module.os.operation_siren import OperationSiren
from module.os_handler.action_point import ActionPointLimit
class OSCampaignRun(OSMapOperation):
campaign: OperationSiren
campaign_loaded = False
def load_campaign(self):
if self.campaign_loaded:
return False
config = self.config.merge(OSConfig())
self.campaign = OperationSiren(config=config, device=self.device)
self.campaign.os_init()
self.campaign_loaded = True
return True
def opsi_explore(self):
try:
self.load_campaign()
self.campaign.os_explore()
except ActionPointLimit:
self.config.opsi_task_delay(ap_limit=True)
def opsi_shop(self):
try:
self.load_campaign()
self.campaign.os_shop()
except ActionPointLimit:
self.config.opsi_task_delay(ap_limit=True)
def opsi_voucher(self):
try:
self.load_campaign()
self.campaign.os_voucher()
except ActionPointLimit:
self.config.opsi_task_delay(ap_limit=True)
def opsi_daily(self):
try:
self.load_campaign()
self.campaign.os_daily()
except ActionPointLimit:
self.config.opsi_task_delay(ap_limit=True)
def opsi_meowfficer_farming(self):
try:
self.load_campaign()
self.campaign.os_check_leveling()
self.campaign.os_meowfficer_farming()
except ActionPointLimit:
if get_os_reset_remain() > 0:
self.config.task_delay(server_update=True)
self.config.task_call('Reward')
if self.config.is_task_enabled('OpsiHazard1Leveling') \
and self.get_yellow_coins() > self.config.OS_CL1_YELLOW_COINS_PRESERVE:
self.config.task_call('OpsiHazard1Leveling')
else:
logger.info('Just less than 1 day to OpSi reset, delay 2.5 hours')
self.config.task_delay(minute=150, server_update=True)
def opsi_hazard1_leveling(self):
try:
self.load_campaign()
self.campaign.os_check_leveling()
self.campaign.os_hazard1_leveling()
except ActionPointLimit:
self.config.task_delay(server_update=True)
def opsi_obscure(self):
try:
self.load_campaign()
self.campaign.os_obscure()
except ActionPointLimit:
self.config.opsi_task_delay(ap_limit=True)
def opsi_month_boss(self):
if self.config.SERVER in ['tw']:
logger.info(f'OpsiMonthBoss is not supported in {self.config.SERVER},'
' please contact server maintainers')
self.config.task_delay(server_update=True)
self.config.task_stop()
return
try:
self.load_campaign()
self.campaign.clear_month_boss()
except ActionPointLimit:
self.config.opsi_task_delay(ap_limit=True)
def opsi_abyssal(self):
try:
self.load_campaign()
self.campaign.os_abyssal()
except ActionPointLimit:
self.config.opsi_task_delay(ap_limit=True)
def opsi_archive(self):
try:
self.load_campaign()
self.campaign.os_archive()
except ActionPointLimit:
self.config.opsi_task_delay(ap_limit=True)
def opsi_stronghold(self):
try:
self.load_campaign()
self.campaign.os_stronghold()
except ActionPointLimit:
self.config.opsi_task_delay(ap_limit=True)
def opsi_cross_month(self):
try:
self.load_campaign()
self.campaign.os_cross_month()
except ActionPointLimit:
self.campaign.os_cross_month_end()