StarRailCopilot/route/rogue/Combat/Herta_SupplyZone_F2.py

172 lines
7.5 KiB
Python
Raw Normal View History

2023-10-01 15:20:42 +00:00
from tasks.map.control.waypoint import Waypoint
from tasks.map.keywords.plane import Herta_SupplyZone
from tasks.rogue.route.base import RouteBase
class Route(RouteBase):
def Herta_SupplyZone_F2_X45Y369(self):
"""
| Waypoint | Position | Direction | Rotation |
| ----------- | ------------------------- | --------- | -------- |
| spawn | Waypoint((45.5, 369.5)), | 6.7 | 4 |
| item1 | Waypoint((38.7, 346.8)), | 36.0 | 359 |
| door1 | Waypoint((46.6, 343.9)), | 12.6 | 6 |
| enemy1 | Waypoint((46.2, 328.2)), | 12.6 | 8 |
| item2 | Waypoint((42.4, 299.0)), | 352.8 | 348 |
| door2 | Waypoint((46.4, 284.5)), | 4.2 | 1 |
| enemy2left | Waypoint((31.2, 248.8)), | 183.8 | 84 |
| enemy2right | Waypoint((55.2, 247.2)), | 96.7 | 91 |
| item3 | Waypoint((68.5, 226.5)), | 30.2 | 29 |
| enemy3 | Waypoint((114.4, 234.7)), | 105.5 | 101 |
| exit_ | Waypoint((119.1, 235.4)), | 6.8 | 96 |
2023-10-01 15:20:42 +00:00
"""
self.map_init(plane=Herta_SupplyZone, floor="F2", position=(45.5, 369.5))
2023-10-04 03:15:14 +00:00
self.register_domain_exit(Waypoint((119.1, 235.4)), end_rotation=96)
2023-10-01 15:20:42 +00:00
item1 = Waypoint((38.7, 346.8))
2023-10-04 03:15:14 +00:00
door1 = Waypoint((46.6, 343.9))
enemy1 = Waypoint((46.2, 328.2))
item2 = Waypoint((42.4, 299.0))
2023-10-01 15:20:42 +00:00
door2 = Waypoint((46.4, 284.5))
enemy2left = Waypoint((31.2, 248.8))
enemy2right = Waypoint((55.2, 247.2))
2023-10-01 15:20:42 +00:00
item3 = Waypoint((68.5, 226.5))
enemy3 = Waypoint((114.4, 234.7))
2023-10-01 15:20:42 +00:00
# ===== End of generated waypoints =====
# 1, ignore item1, bad way
2023-10-04 03:15:14 +00:00
self.clear_enemy(
door1.set_threshold(3),
enemy1,
)
2023-10-01 15:20:42 +00:00
# 2
2023-10-04 03:15:14 +00:00
# self.clear_item(item2)
2023-10-01 15:20:42 +00:00
self.clear_enemy(
2023-10-22 18:24:02 +00:00
door2.set_threshold(3),
enemy2left.straight_run(),
enemy2right.straight_run(),
2023-10-01 15:20:42 +00:00
)
# 3
self.clear_item(
item3.straight_run(),
)
self.clear_enemy(
enemy3.straight_run(),
2023-10-01 15:20:42 +00:00
)
2023-10-02 09:19:21 +00:00
def Herta_SupplyZone_F2_X397Y233(self):
"""
2023-10-04 03:15:14 +00:00
| Waypoint | Position | Direction | Rotation |
| -------------- | ------------------------- | --------- | -------- |
| spawn | Waypoint((397.4, 233.5)), | 6.7 | 4 |
| item_X406Y202 | Waypoint((406.5, 202.1)), | 48.1 | 45 |
| enemy_X397Y182 | Waypoint((397.2, 183.1)), | 356.3 | 4 |
| exit_X397Y182 | Waypoint((397.2, 183.1)), | 356.3 | 4 |
2023-10-02 09:19:21 +00:00
"""
self.map_init(plane=Herta_SupplyZone, floor="F2", position=(397.4, 233.5))
2023-10-04 03:15:14 +00:00
self.register_domain_exit(Waypoint((397.2, 183.1)), end_rotation=4)
item_X406Y202 = Waypoint((406.5, 202.1))
enemy_X397Y182 = Waypoint((397.2, 183.1))
2023-10-02 09:19:21 +00:00
# ===== End of generated waypoints =====
# Ignore item, bad way
2023-10-04 03:15:14 +00:00
self.clear_enemy(enemy_X397Y182)
2023-10-02 09:19:21 +00:00
def Herta_SupplyZone_F2_X543Y255(self):
"""
| Waypoint | Position | Direction | Rotation |
| -------- | ------------------------- | --------- | -------- |
| spawn | Waypoint((543.4, 255.2)), | 6.7 | 4 |
| enemy1 | Waypoint((542.4, 163.0)), | 6.7 | 179 |
| item1 | Waypoint((540.3, 136.6)), | 2.7 | 357 |
| item2 | Waypoint((560.6, 132.9)), | 82.6 | 75 |
| enemy2 | Waypoint((586.2, 128.9)), | 91.3 | 84 |
| exit_ | Waypoint((588.4, 126.8)), | 5.7 | 1 |
"""
self.map_init(plane=Herta_SupplyZone, floor="F2", position=(543.4, 255.2))
self.register_domain_exit(Waypoint((588.4, 126.8)), end_rotation=1)
enemy1 = Waypoint((542.4, 163.0))
item1 = Waypoint((540.3, 136.6))
item2 = Waypoint((560.6, 132.9))
enemy2 = Waypoint((586.2, 128.9))
# ===== End of generated waypoints =====
self.clear_enemy(enemy1)
self.clear_item(item1)
self.clear_item(item2.straight_run())
self.clear_enemy(enemy2)
2023-10-05 11:32:47 +00:00
def Herta_SupplyZone_F2_X594Y247(self):
2023-10-02 09:19:21 +00:00
"""
| Waypoint | Position | Direction | Rotation |
| -------- | ------------------------- | --------- | -------- |
| spawn | Waypoint((594.3, 247.5)), | 274.2 | 274 |
| item1 | Waypoint((578.9, 258.2)), | 282.8 | 276 |
| enemy1 | Waypoint((542.2, 246.2)), | 302.7 | 301 |
| enemy2 | Waypoint((542.2, 168.6)), | 11.1 | 177 |
| enemy3 | Waypoint((586.5, 128.3)), | 87.7 | 260 |
| item3 | Waypoint((560.2, 130.9)), | 67.2 | 66 |
| exit_ | Waypoint((586.9, 129.8)), | 266.1 | 1 |
2023-11-14 17:37:18 +00:00
| exit1 | Waypoint((580.9, 124.3)), | 354.1 | 350 |
| exit2 | Waypoint((594.2, 122.2)), | 12.6 | 6 |
2023-10-02 09:19:21 +00:00
"""
2023-10-05 11:32:47 +00:00
self.map_init(plane=Herta_SupplyZone, floor="F2", position=(594.3, 247.5))
2023-11-14 17:37:18 +00:00
self.register_domain_exit(
Waypoint((586.9, 129.8)), end_rotation=1,
left_door=Waypoint((580.9, 124.3)), right_door=Waypoint((594.2, 122.2)))
item1 = Waypoint((578.9, 258.2))
2023-10-02 09:19:21 +00:00
enemy1 = Waypoint((542.2, 246.2))
enemy2 = Waypoint((542.2, 168.6))
2023-10-05 11:32:47 +00:00
enemy3 = Waypoint((586.5, 128.3))
item3 = Waypoint((560.2, 130.9))
2023-10-02 09:19:21 +00:00
# ===== End of generated waypoints =====
self.clear_item(item1)
2023-10-02 09:19:21 +00:00
self.clear_enemy(enemy1)
self.clear_enemy(enemy2.straight_run())
self.clear_item(
# Go through enemy2 before turning right
enemy2,
item3.straight_run(),
)
self.clear_enemy(enemy3.straight_run())
def Herta_SupplyZone_F2_X657Y247(self):
"""
| Waypoint | Position | Direction | Rotation |
| -------- | ------------------------- | --------- | -------- |
| spawn | Waypoint((656.7, 247.5)), | 274.2 | 274 |
| item1 | Waypoint((578.9, 258.2)), | 282.8 | 276 |
| enemy1 | Waypoint((542.2, 246.2)), | 302.7 | 301 |
| enemy3 | Waypoint((586.5, 128.3)), | 87.7 | 260 |
| enemy2 | Waypoint((542.2, 168.6)), | 11.1 | 177 |
| item3 | Waypoint((560.2, 130.9)), | 67.2 | 66 |
| exit_ | Waypoint((586.9, 129.8)), | 266.1 | 1 |
"""
self.map_init(plane=Herta_SupplyZone, floor="F2", position=(656.7, 247.5))
self.register_domain_exit(Waypoint((586.9, 129.8)), end_rotation=1)
item1 = Waypoint((578.9, 258.2))
enemy1 = Waypoint((542.2, 246.2))
enemy3 = Waypoint((586.5, 128.3))
enemy2 = Waypoint((542.2, 168.6))
item3 = Waypoint((560.2, 130.9))
# ===== End of generated waypoints =====
"""
Notes
Herta_SupplyZone_F2_X657Y247 is the same as Herta_SupplyZone_F2_X594Y247
but for wrong spawn point detected
"""
self.clear_item(item1)
self.clear_enemy(enemy1)
self.clear_enemy(enemy2.straight_run())
self.clear_item(
# Go through enemy2 before turning right
enemy2,
item3.straight_run(),
)
2023-10-02 09:19:21 +00:00
self.clear_enemy(enemy3.straight_run())