From 31515678bc9b2cb9615c66fc4d1a08c51e710fd2 Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Sun, 1 Oct 2023 23:20:42 +0800 Subject: [PATCH] Add: Rogue routes --- dev_tools/route_extract.py | 61 +-- module/base/code_generator.py | 15 +- .../Boss/Luofu_ArtisanshipCommission_F1.py | 25 + route/rogue/Combat/Herta_StorageZone_F1.py | 68 +++ route/rogue/Combat/Herta_StorageZone_F2.py | 82 +++ route/rogue/Combat/Herta_SupplyZone_F2.py | 68 +++ route/rogue/Combat/Jarilo_BackwaterPass_F1.py | 122 +++++ route/rogue/Combat/Jarilo_GreatMine_F1.py | 124 +++++ route/rogue/Combat/Jarilo_RivetTown_F1.py | 114 ++++ ...Jarilo_SilvermaneGuardRestrictedZone_F1.py | 81 +++ .../Combat/Luofu_ArtisanshipCommission_F1.py | 43 ++ route/rogue/Combat/Luofu_Cloudford_F1.py | 113 ++++ route/rogue/Elite/Herta_StorageZone_F1.py | 25 + route/rogue/Elite/Herta_SupplyZone_F2.py | 25 + route/rogue/Elite/Jarilo_BackwaterPass_F1.py | 25 + route/rogue/Elite/Jarilo_GreatMine_F1.py | 25 + route/rogue/Elite/Jarilo_RivetTown_F1.py | 25 + route/rogue/Elite/Luofu_Cloudford_F1.py | 25 + .../Luofu_ArtisanshipCommission_F1.py | 60 +++ route/rogue/Respite/Herta_StorageZone_F1.py | 25 + .../rogue/Respite/Jarilo_BackwaterPass_F1.py | 25 + route/rogue/Respite/Jarilo_GreatMine_F1.py | 25 + route/rogue/Respite/Jarilo_RivetTown_F1.py | 25 + ...Jarilo_SilvermaneGuardRestrictedZone_F1.py | 25 + .../Respite/Luofu_ArtisanshipCommission_F1.py | 25 + route/rogue/Respite/Luofu_Cloudford_F1.py | 25 + route/rogue/route.json | 497 ++++++++++++++++++ 27 files changed, 1760 insertions(+), 38 deletions(-) create mode 100644 route/rogue/Boss/Luofu_ArtisanshipCommission_F1.py create mode 100644 route/rogue/Combat/Herta_StorageZone_F1.py create mode 100644 route/rogue/Combat/Herta_StorageZone_F2.py create mode 100644 route/rogue/Combat/Herta_SupplyZone_F2.py create mode 100644 route/rogue/Combat/Jarilo_BackwaterPass_F1.py create mode 100644 route/rogue/Combat/Jarilo_GreatMine_F1.py create mode 100644 route/rogue/Combat/Jarilo_RivetTown_F1.py create mode 100644 route/rogue/Combat/Jarilo_SilvermaneGuardRestrictedZone_F1.py create mode 100644 route/rogue/Combat/Luofu_ArtisanshipCommission_F1.py create mode 100644 route/rogue/Combat/Luofu_Cloudford_F1.py create mode 100644 route/rogue/Elite/Herta_StorageZone_F1.py create mode 100644 route/rogue/Elite/Herta_SupplyZone_F2.py create mode 100644 route/rogue/Elite/Jarilo_BackwaterPass_F1.py create mode 100644 route/rogue/Elite/Jarilo_GreatMine_F1.py create mode 100644 route/rogue/Elite/Jarilo_RivetTown_F1.py create mode 100644 route/rogue/Elite/Luofu_Cloudford_F1.py create mode 100644 route/rogue/Occurrence/Luofu_ArtisanshipCommission_F1.py create mode 100644 route/rogue/Respite/Herta_StorageZone_F1.py create mode 100644 route/rogue/Respite/Jarilo_BackwaterPass_F1.py create mode 100644 route/rogue/Respite/Jarilo_GreatMine_F1.py create mode 100644 route/rogue/Respite/Jarilo_RivetTown_F1.py create mode 100644 route/rogue/Respite/Jarilo_SilvermaneGuardRestrictedZone_F1.py create mode 100644 route/rogue/Respite/Luofu_ArtisanshipCommission_F1.py create mode 100644 route/rogue/Respite/Luofu_Cloudford_F1.py create mode 100644 route/rogue/route.json diff --git a/dev_tools/route_extract.py b/dev_tools/route_extract.py index 3156d967a..ab34f36ca 100644 --- a/dev_tools/route_extract.py +++ b/dev_tools/route_extract.py @@ -248,33 +248,11 @@ class RouteDetect: __str__ = __repr__ - def filter_waypoints(name: str): - return lambda x: x.waypoint.startswith(name) - - def clear_elite(): - with gen.Object('self.clear_elite'): - for w in waypoints.filter(filter_waypoints('enemy')): - gen.ObjectAttr(value=WaypointRepr(w)) - - def clear_item(): - with gen.Object('self.clear_item'): - for w in waypoints.filter(filter_waypoints('item')): - gen.ObjectAttr(value=WaypointRepr(w)) - - def clear_event(): - with gen.Object('self.clear_event'): - for w in waypoints.filter(filter_waypoints('event')): - gen.ObjectAttr(value=WaypointRepr(w)) - - def domain_reward(): - with gen.Object('self.domain_reward'): - for w in waypoints.filter(filter_waypoints('reward')): - gen.ObjectAttr(value=WaypointRepr(w)) - - def domain_herta(): - with gen.Object('self.domain_herta'): - for w in waypoints.filter(filter_waypoints('herta')): - gen.ObjectAttr(value=WaypointRepr(w)) + def call(func, name): + ws = waypoints.filter(lambda x: x.waypoint.startswith(name)).get('waypoint') + ws = ['exit_' if w == 'exit' else w for w in ws] + ws = ', '.join(ws) + gen.add(f'self.{func}({ws})') with gen.tab(): with gen.Def(name=spawn.route, args='self'): @@ -297,26 +275,33 @@ class RouteDetect: pass else: gen.add(f'self.register_domain_exit({WaypointRepr(exit_)}, end_rotation={exit_.rotation})') + # Waypoint attributes + for waypoint in waypoints: + if waypoint.is_spawn: + continue + if waypoint.is_exit and not (spawn.is_DomainBoss or spawn.is_DomainElite or spawn.is_DomainRespite): + continue + name = waypoint.waypoint + if name == 'exit': + name = 'exit_' + gen.Value(key=name, value=WaypointRepr(waypoint)) # Domain specific if spawn.is_DomainBoss or spawn.is_DomainElite: gen.Empty() - clear_elite() - domain_reward() + call('clear_elite', 'enemy') + call('domain_reward', 'reward') if spawn.is_DomainRespite: gen.Empty() - clear_item() - domain_herta() + call('clear_item', 'item') + call('domain_herta', 'herta') if spawn.is_DomainOccurrence or spawn.is_DomainTransaction: gen.Empty() - clear_item() - clear_event() + call('clear_item', 'item') + call('clear_event', 'event') if spawn.is_DomainBoss or spawn.is_DomainElite or spawn.is_DomainRespite: # Domain has only 1 exit - with gen.Object('self.domain_single_exit'): - gen.ObjectAttr(value=WaypointRepr(exit_)) - # Single exit does not need end_rotation - # gen.ObjectAttr(key='end_rotation', value=exit_.rotation) + call('domain_single_exit', 'exit') gen.Comment(self.GEN_END) @@ -442,3 +427,5 @@ if __name__ == '__main__': self.predict() self.write() self.insert('./route/rogue', base='tasks.rogue.route.base') + + rogue_extract('./route/rogue') diff --git a/module/base/code_generator.py b/module/base/code_generator.py index eb1352357..023c6a1ea 100644 --- a/module/base/code_generator.py +++ b/module/base/code_generator.py @@ -33,6 +33,16 @@ class TabWrapper: self.suffix += suffix +class VariableWrapper: + def __init__(self, name): + self.name = name + + def __repr__(self): + return str(self.name) + + __str__ = __repr__ + + class CodeGenerator: def __init__(self): self.tab_count = 0 @@ -77,7 +87,7 @@ class CodeGenerator: return TabWrapper(self) def Empty(self): - self.add('') + self.lines.append('\n') def Pass(self): self.add('pass') @@ -89,6 +99,9 @@ class CodeGenerator: for _ in range(empty): self.Empty() + def Variable(self, name): + return VariableWrapper(name) + def Value(self, key=None, value=None, type_=None, **kwargs): if key is not None: if type_ is not None: diff --git a/route/rogue/Boss/Luofu_ArtisanshipCommission_F1.py b/route/rogue/Boss/Luofu_ArtisanshipCommission_F1.py new file mode 100644 index 000000000..eed62351b --- /dev/null +++ b/route/rogue/Boss/Luofu_ArtisanshipCommission_F1.py @@ -0,0 +1,25 @@ +from tasks.map.control.waypoint import Waypoint +from tasks.map.keywords.plane import Luofu_ArtisanshipCommission +from tasks.rogue.route.base import RouteBase + + +class Route(RouteBase): + + def Luofu_ArtisanshipCommission_F1_X506Y495(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((506.0, 495.4)), | 96.7 | 91 | + | enemy | Waypoint((554.0, 492.2)), | 96.7 | 91 | + | reward | Waypoint((564.8, 498.9)), | 134.2 | 128 | + | exit | Waypoint((572.8, 482.4)), | 76.4 | 68 | + """ + self.map_init(plane=Luofu_ArtisanshipCommission, floor="F1", position=(506.0, 495.4)) + enemy = Waypoint((554.0, 492.2)) + reward = Waypoint((564.8, 498.9)) + exit_ = Waypoint((572.8, 482.4)) + + self.clear_elite(enemy) + self.domain_reward(reward) + self.domain_single_exit(exit_) + # ===== End of generated waypoints ===== diff --git a/route/rogue/Combat/Herta_StorageZone_F1.py b/route/rogue/Combat/Herta_StorageZone_F1.py new file mode 100644 index 000000000..99d28a68c --- /dev/null +++ b/route/rogue/Combat/Herta_StorageZone_F1.py @@ -0,0 +1,68 @@ +from tasks.map.control.waypoint import Waypoint +from tasks.map.keywords.plane import Herta_StorageZone +from tasks.rogue.route.base import RouteBase + + +class Route(RouteBase): + + def Herta_StorageZone_F1_X257Y85(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------ | --------- | -------- | + | spawn | Waypoint((257.3, 85.5)), | 308.0 | 304 | + | item | Waypoint((244.2, 66.3)), | 334.7 | 331 | + | door | Waypoint((215.4, 65.1)), | 303.8 | 301 | + | enemy | Waypoint((202.7, 57.9)), | 297.8 | 294 | + | exit | Waypoint((202.4, 58.1)), | 302.9 | 301 | + """ + self.map_init(plane=Herta_StorageZone, floor="F1", position=(257.3, 85.5)) + self.register_domain_exit(Waypoint((202.4, 58.1)), end_rotation=301) + item = Waypoint((244.2, 66.3)) + door = Waypoint((215.4, 65.1)) + enemy = Waypoint((202.7, 57.9)) + # ===== End of generated waypoints ===== + + self.clear_item(item) + self.clear_enemy(door, enemy) + + def Herta_StorageZone_F1_X692Y61(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((692.0, 62.0)), | 263.8 | 260 | + | item1 | Waypoint((676.1, 98.5)), | 222.6 | 218 | + | enemy1 | Waypoint((658.6, 86.9)), | 339.2 | 336 | + | enemy2 | Waypoint((649.3, 68.7)), | 354.1 | 350 | + | item2 | Waypoint((642.2, 66.1)), | 290.2 | 285 | + | door | Waypoint((640.2, 82.2)), | 260.3 | 258 | + | node | Waypoint((599.2, 91.0)), | 256.7 | 255 | + | enemy3 | Waypoint((598.3, 129.1)), | 181.3 | 174 | + | exit | Waypoint((598.3, 129.1)), | 181.3 | 174 | + """ + self.map_init(plane=Herta_StorageZone, floor="F1", position=(692.0, 62.0)) + self.register_domain_exit(Waypoint((598.3, 129.1)), end_rotation=174) + item1 = Waypoint((676.1, 98.5)) + enemy1 = Waypoint((658.6, 86.9)) + enemy2 = Waypoint((649.3, 68.7)) + item2 = Waypoint((642.2, 66.1)) + door = Waypoint((640.2, 82.2)) + node = Waypoint((599.2, 91.0)) + enemy3 = Waypoint((598.3, 129.1)) + # ===== End of generated waypoints ===== + + # item1 + self.clear_item( + item1.straight_run(), + ) + # enemy12 + self.clear_item( + enemy1.straight_run(), + enemy2, + ) + self.clear_item(item2) + # 3 + self.clear_enemy( + door, + node.straight_run(), + enemy3.straight_run(), + ) diff --git a/route/rogue/Combat/Herta_StorageZone_F2.py b/route/rogue/Combat/Herta_StorageZone_F2.py new file mode 100644 index 000000000..cb360cc36 --- /dev/null +++ b/route/rogue/Combat/Herta_StorageZone_F2.py @@ -0,0 +1,82 @@ +from tasks.map.control.waypoint import Waypoint +from tasks.map.keywords.plane import Herta_StorageZone +from tasks.rogue.route.base import RouteBase + + +class Route(RouteBase): + + def Herta_StorageZone_F2_X365Y167(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((365.1, 167.2)), | 274.2 | 274 | + | item | Waypoint((330.0, 175.6)), | 271.8 | 267 | + | enemy | Waypoint((300.2, 166.0)), | 284.9 | 94 | + | exit | Waypoint((298.5, 162.7)), | 271.8 | 269 | + """ + self.map_init(plane=Herta_StorageZone, floor="F2", position=(365.1, 167.2)) + self.register_domain_exit(Waypoint((298.5, 162.7)), end_rotation=269) + item = Waypoint((330.0, 175.6)) + enemy = Waypoint((300.2, 166.0)) + # ===== End of generated waypoints ===== + + self.clear_item(item) + self.clear_enemy(enemy) + + def Herta_StorageZone_F2_X515Y219(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((515.5, 219.3)), | 354.1 | 348 | + | node1 | Waypoint((525.4, 181.0)), | 2.7 | 357 | + | event | Waypoint((531.8, 180.0)), | 23.8 | 22 | + | enemy1right | Waypoint((518.8, 168.6)), | 75.1 | 253 | + | item1 | Waypoint((537.0, 165.2)), | 30.1 | 27 | + | enemy1left | Waypoint((477.9, 162.1)), | 282.7 | 276 | + | item2_X444Y196 | Waypoint((444.0, 196.5)), | 216.5 | 214 | + | node2 | Waypoint((448.4, 180.6)), | 246.5 | 241 | + | node3 | Waypoint((402.2, 199.4)), | 282.9 | 276 | + | enemy3 | Waypoint((370.7, 163.1)), | 215.8 | 304 | + | enemy4 | Waypoint((301.8, 164.4)), | 278.3 | 276 | + | exit | Waypoint((300.4, 164.5)), | 274.2 | 274 | + """ + self.map_init(plane=Herta_StorageZone, floor="F2", position=(515.5, 219.3)) + self.register_domain_exit(Waypoint((300.4, 164.5)), end_rotation=274) + node1 = Waypoint((525.4, 181.0)) + event = Waypoint((531.8, 180.0)) + enemy1right = Waypoint((518.8, 168.6)) + item1 = Waypoint((537.0, 165.2)) + enemy1left = Waypoint((477.9, 162.1)) + item2_X444Y196 = Waypoint((444.0, 196.5)) + node2 = Waypoint((448.4, 180.6)) + node3 = Waypoint((402.2, 199.4)) + enemy3 = Waypoint((370.7, 163.1)) + enemy4 = Waypoint((301.8, 164.4)) + # ===== End of generated waypoints ===== + + # 1 + self.clear_item( + # Ignore event, go through node1 + event.straight_run(), + item1, + ) + self.clear_enemy( + enemy1right.straight_run(), + enemy1left.straight_run(), + ) + # 2 + self.clear_item( + # Go through enemy1left + enemy1left, + node2.straight_run(), + item2_X444Y196, + ) + # 3 + self.clear_enemy( + node3.straight_run(), + enemy3.straight_run(), + ) + # 4 + self.clear_enemy( + enemy4.straight_run(), + ) diff --git a/route/rogue/Combat/Herta_SupplyZone_F2.py b/route/rogue/Combat/Herta_SupplyZone_F2.py new file mode 100644 index 000000000..44a430de0 --- /dev/null +++ b/route/rogue/Combat/Herta_SupplyZone_F2.py @@ -0,0 +1,68 @@ +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_X215Y112(self): + """ + | Waypoint | Position | Direction | Rotation | + | ------------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((215.6, 112.7)), | 96.7 | 91 | + | item_X227Y105 | Waypoint((227.4, 105.0)), | 67.2 | 61 | + | enemy | Waypoint((264.4, 114.1)), | 101.1 | 98 | + | exit_X227Y105 | Waypoint((266.7, 113.7)), | 60.8 | 91 | + """ + self.map_init(plane=Herta_SupplyZone, floor="F2", position=(215.6, 112.7)) + self.register_domain_exit(Waypoint((266.7, 113.7)), end_rotation=91) + item_X227Y105 = Waypoint((227.4, 105.0)) + enemy = Waypoint((264.4, 114.1)) + # ===== End of generated waypoints ===== + + self.clear_item(item_X227Y105) + self.clear_enemy(enemy) + + 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 | + | enemy1 | Waypoint((44.2, 328.8)), | 6.7 | 4 | + | item2 | Waypoint((34.4, 299.0)), | 352.8 | 348 | + | door2 | Waypoint((46.4, 284.5)), | 4.2 | 361 | + | enemy2left_X31Y248 | Waypoint((31.2, 248.8)), | 183.8 | 84 | + | enemy2right_X55Y247 | Waypoint((55.2, 247.2)), | 96.7 | 91 | + | item3 | Waypoint((68.5, 226.5)), | 30.2 | 29 | + | enemy3_X114Y234 | Waypoint((114.4, 234.7)), | 105.5 | 101 | + | exit_X116Y228 | Waypoint((116.6, 228.8)), | 96.8 | 94 | + """ + self.map_init(plane=Herta_SupplyZone, floor="F2", position=(45.5, 369.5)) + self.register_domain_exit(Waypoint((116.6, 228.8)), end_rotation=94) + item1 = Waypoint((38.7, 346.8)) + enemy1 = Waypoint((44.2, 328.8)) + item2 = Waypoint((34.4, 299.0)) + door2 = Waypoint((46.4, 284.5)) + enemy2left_X31Y248 = Waypoint((31.2, 248.8)) + enemy2right_X55Y247 = Waypoint((55.2, 247.2)) + item3 = Waypoint((68.5, 226.5)) + enemy3_X114Y234 = Waypoint((114.4, 234.7)) + # ===== End of generated waypoints ===== + + # 1, ignore item1, bad way + self.clear_enemy(enemy1) + # 2 + self.clear_item(item2) + self.clear_enemy( + door2, + enemy2left_X31Y248.straight_run(), + enemy2right_X55Y247.straight_run(), + ) + # 3 + self.clear_item( + item3.straight_run(), + ) + self.clear_enemy( + enemy3_X114Y234.straight_run(), + ) diff --git a/route/rogue/Combat/Jarilo_BackwaterPass_F1.py b/route/rogue/Combat/Jarilo_BackwaterPass_F1.py new file mode 100644 index 000000000..b3629594b --- /dev/null +++ b/route/rogue/Combat/Jarilo_BackwaterPass_F1.py @@ -0,0 +1,122 @@ +from tasks.map.control.waypoint import Waypoint +from tasks.map.keywords.plane import Jarilo_BackwaterPass +from tasks.rogue.route.base import RouteBase + + +class Route(RouteBase): + + def Jarilo_BackwaterPass_F1_X475Y49(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((475.2, 49.5)), | 190.1 | 184 | + | item1 | Waypoint((468.4, 77.7)), | 203.1 | 200 | + | enemy1 | Waypoint((475.6, 99.4)), | 30.1 | 184 | + | item2 | Waypoint((448.4, 116.3)), | 245.9 | 248 | + | enemy2 | Waypoint((464.2, 168.0)), | 166.8 | 341 | + | enemy3 | Waypoint((500.9, 202.8)), | 135.8 | 133 | + | exit | Waypoint((500.9, 202.8)), | 135.8 | 133 | + """ + self.map_init(plane=Jarilo_BackwaterPass, floor="F1", position=(475.2, 49.5)) + self.register_domain_exit(Waypoint((500.9, 202.8)), end_rotation=133) + item1 = Waypoint((468.4, 77.7)) + enemy1 = Waypoint((475.6, 99.4)) + item2 = Waypoint((448.4, 116.3)) + enemy2 = Waypoint((464.2, 168.0)) + enemy3 = Waypoint((500.9, 202.8)) + # ===== End of generated waypoints ===== + + # 1 + self.clear_item(item1) + self.clear_enemy(enemy1) + # 2 + self.clear_item( + item2.straight_run(), + ) + self.clear_enemy( + enemy2.straight_run(), + ) + # 3 + self.clear_enemy( + enemy3.straight_run(), + ) + + def Jarilo_BackwaterPass_F1_X483Y105(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((483.5, 105.1)), | 275.8 | 87 | + | enemy | Waypoint((457.4, 101.0)), | 126.1 | 276 | + | exit | Waypoint((441.4, 101.6)), | 275.9 | 274 | + """ + self.map_init(plane=Jarilo_BackwaterPass, floor="F1", position=(483.5, 105.1)) + self.register_domain_exit(Waypoint((441.4, 101.6)), end_rotation=274) + enemy = Waypoint((457.4, 101.0)) + # ===== End of generated waypoints ===== + + self.clear_enemy(enemy) + + def Jarilo_BackwaterPass_F1_X577Y665(self): + """ + | Waypoint | Position | Direction | Rotation | + | ------------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((577.4, 665.3)), | 139.7 | 140 | + | event | Waypoint((586.8, 680.2)), | 149.9 | 149 | + | enemy3 | Waypoint((579.6, 732.2)), | 311.8 | 297 | + | enemy1 | Waypoint((648.9, 714.7)), | 96.8 | 94 | + | enemy2 | Waypoint((634.3, 748.5)), | 206.2 | 13 | + | exit_X573Y720 | Waypoint((573.6, 720.6)), | 315.9 | 311 | + """ + self.map_init(plane=Jarilo_BackwaterPass, floor="F1", position=(577.4, 665.3)) + self.register_domain_exit(Waypoint((573.6, 720.6)), end_rotation=311) + event = Waypoint((586.8, 680.2)) + enemy3 = Waypoint((579.6, 732.2)) + enemy1 = Waypoint((648.9, 714.7)) + enemy2 = Waypoint((634.3, 748.5)) + # ===== End of generated waypoints ===== + + self.clear_enemy( + enemy1, + ) + self.clear_enemy( + enemy2.straight_run(), + ) + self.clear_enemy( + enemy3.straight_run(), + ) + + def Jarilo_BackwaterPass_F1_X580Y741(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((580.5, 741.2)), | 96.7 | 91 | + | item | Waypoint((621.4, 751.2)), | 129.8 | 124 | + | enemy | Waypoint((641.4, 743.1)), | 92.7 | 84 | + | exit | Waypoint((641.4, 743.1)), | 92.7 | 84 | + """ + self.map_init(plane=Jarilo_BackwaterPass, floor="F1", position=(580.5, 741.2)) + self.register_domain_exit(Waypoint((641.4, 743.1)), end_rotation=84) + item = Waypoint((621.4, 751.2)) + enemy = Waypoint((641.4, 743.1)) + # ===== End of generated waypoints ===== + + # enemy first + self.clear_enemy(enemy) + self.clear_item(item) + + def Jarilo_BackwaterPass_F1_X595Y681(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((595.5, 681.5)), | 96.7 | 91 | + | enemy | Waypoint((631.8, 705.4)), | 134.2 | 91 | + | exit | Waypoint((635.5, 706.9)), | 129.9 | 126 | + """ + self.map_init(plane=Jarilo_BackwaterPass, floor="F1", position=(595.5, 681.5)) + self.register_domain_exit(Waypoint((635.5, 706.9)), end_rotation=126) + enemy = Waypoint((631.8, 705.4)) + # ===== End of generated waypoints ===== + + self.clear_enemy( + enemy.straight_run(), + ) diff --git a/route/rogue/Combat/Jarilo_GreatMine_F1.py b/route/rogue/Combat/Jarilo_GreatMine_F1.py new file mode 100644 index 000000000..3b035c161 --- /dev/null +++ b/route/rogue/Combat/Jarilo_GreatMine_F1.py @@ -0,0 +1,124 @@ +from tasks.map.control.waypoint import Waypoint +from tasks.map.keywords.plane import Jarilo_GreatMine +from tasks.rogue.route.base import RouteBase + + +class Route(RouteBase): + + def Jarilo_GreatMine_F1_X133Y465(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((133.3, 465.6)), | 334.8 | 331 | + | item | Waypoint((108.7, 448.2)), | 318.0 | 320 | + | enemy | Waypoint((110.1, 420.6)), | 337.4 | 338 | + | exit | Waypoint((104.0, 414.0)), | 334.8 | 331 | + """ + self.map_init(plane=Jarilo_GreatMine, floor="F1", position=(133.3, 465.6)) + self.register_domain_exit(Waypoint((104.0, 414.0)), end_rotation=331) + item = Waypoint((108.7, 448.2)) + enemy = Waypoint((110.1, 420.6)) + # ===== End of generated waypoints ===== + + self.clear_item(item) + self.clear_enemy(enemy) + + def Jarilo_GreatMine_F1_X149Y273(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((149.7, 273.5)), | 82.5 | 73 | + | node | Waypoint((174.1, 269.0)), | 67.2 | 61 | + | item | Waypoint((180.4, 250.8)), | 36.0 | 31 | + | enemy | Waypoint((202.4, 256.6)), | 76.4 | 71 | + | exit | Waypoint((202.4, 256.6)), | 76.4 | 71 | + """ + self.map_init(plane=Jarilo_GreatMine, floor="F1", position=(149.7, 273.5)) + self.register_domain_exit(Waypoint((202.4, 256.6)), end_rotation=71) + node = Waypoint((174.1, 269.0)) + item = Waypoint((180.4, 250.8)) + enemy = Waypoint((202.4, 256.6)) + # ===== End of generated waypoints ===== + + # ignore item, bad way + self.clear_enemy(node, enemy) + + def Jarilo_GreatMine_F1_X407Y572(self): + """ + | Waypoint | Position | Direction | Rotation | + | --------------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((407.2, 572.8)), | 216.4 | 211 | + | item1 | Waypoint((382.9, 585.2)), | 263.8 | 260 | + | enemy1 | Waypoint((382.4, 590.4)), | 241.2 | 239 | + | item2 | Waypoint((378.2, 610.6)), | 143.8 | 232 | + | enemy3_X340Y595 | Waypoint((340.6, 595.0)), | 297.8 | 294 | + | enemy4 | Waypoint((313.1, 575.7)), | 312.1 | 318 | + | exit | Waypoint((313.6, 572.6)), | 334.7 | 329 | + """ + self.map_init(plane=Jarilo_GreatMine, floor="F1", position=(407.2, 572.8)) + self.register_domain_exit(Waypoint((313.6, 572.6)), end_rotation=329) + item1 = Waypoint((382.9, 585.2)) + enemy1 = Waypoint((382.4, 590.4)) + item2 = Waypoint((378.2, 610.6)) + enemy3_X340Y595 = Waypoint((340.6, 595.0)) + enemy4 = Waypoint((313.1, 575.7)) + # ===== End of generated waypoints ===== + + # enemy first + self.clear_enemy(enemy1) + self.clear_item(item1) + self.clear_item(item2) + # 3 + self.clear_enemy( + enemy3_X340Y595.straight_run(), + ) + # 4 + self.clear_enemy( + enemy4.straight_run(), + ) + + def Jarilo_GreatMine_F1_X545Y513(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((545.3, 513.0)), | 222.5 | 218 | + | item2 | Waypoint((486.8, 523.6)), | 76.5 | 255 | + | item3 | Waypoint((480.0, 490.2)), | 350.2 | 345 | + | enemy1 | Waypoint((492.2, 562.0)), | 237.4 | 50 | + | node2 | Waypoint((468.4, 532.2)), | 30.1 | 27 | + | enemy3 | Waypoint((485.1, 456.8)), | 102.9 | 4 | + | node1 | Waypoint((478.5, 576.5)), | 237.2 | 237 | + | item1 | Waypoint((461.4, 572.2)), | 289.1 | 288 | + | exit | Waypoint((485.1, 456.8)), | 102.9 | 4 | + """ + self.map_init(plane=Jarilo_GreatMine, floor="F1", position=(545.3, 513.0)) + self.register_domain_exit(Waypoint((485.1, 456.8)), end_rotation=4) + item2 = Waypoint((486.8, 523.6)) + item3 = Waypoint((480.0, 490.2)) + enemy1 = Waypoint((492.2, 562.0)) + node2 = Waypoint((468.4, 532.2)) + enemy3 = Waypoint((485.1, 456.8)) + node1 = Waypoint((478.5, 576.5)) + item1 = Waypoint((461.4, 572.2)) + # ===== End of generated waypoints ===== + + # 1 + self.clear_enemy( + enemy1, + ) + self.clear_item( + node1, + item1.straight_run(), + ) + # 2 + self.clear_item( + node2.straight_run(), + item2, + ) + # 3 + self.clear_item( + item3.straight_run(), + ) + self.clear_enemy( + enemy3.straight_run(), + ) diff --git a/route/rogue/Combat/Jarilo_RivetTown_F1.py b/route/rogue/Combat/Jarilo_RivetTown_F1.py new file mode 100644 index 000000000..6485aaec1 --- /dev/null +++ b/route/rogue/Combat/Jarilo_RivetTown_F1.py @@ -0,0 +1,114 @@ +from tasks.map.control.waypoint import Waypoint +from tasks.map.keywords.plane import Jarilo_RivetTown +from tasks.rogue.route.base import RouteBase + + +class Route(RouteBase): + + def Jarilo_RivetTown_F1_X181Y439(self): + """ + | Waypoint | Position | Direction | Rotation | + | ------------ | ------------------------- | --------- | -------- | + | spawn | Waypoint((181.4, 439.2)), | 274.2 | 274 | + | item1 | Waypoint((168.6, 430.8)), | 311.8 | 308 | + | enemy1middle | Waypoint((128.4, 440.0)), | 275.8 | 82 | + | item2 | Waypoint((130.4, 394.2)), | 12.7 | 6 | + | enemy2 | Waypoint((118.4, 380.7)), | 61.1 | 308 | + | enemy3 | Waypoint((58.4, 334.2)), | 318.8 | 322 | + | exit | Waypoint((56.8, 332.4)), | 333.0 | 329 | + """ + self.map_init(plane=Jarilo_RivetTown, floor="F1", position=(181.4, 439.2)) + self.register_domain_exit(Waypoint((56.8, 332.4)), end_rotation=329) + item1 = Waypoint((168.6, 430.8)) + enemy1middle = Waypoint((128.4, 440.0)) + item2 = Waypoint((130.4, 394.2)) + enemy2 = Waypoint((118.4, 380.7)) + enemy3 = Waypoint((58.4, 334.2)) + # ===== End of generated waypoints ===== + + # 1 + self.clear_item(item1) + self.clear_enemy(enemy1middle) + # 2 + self.clear_item( + item2.straight_run(), + ) + self.clear_enemy( + enemy2.straight_run(), + ) + # 3 + self.clear_enemy(enemy3) + + def Jarilo_RivetTown_F1_X209Y333(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((209.4, 333.5)), | 190.1 | 181 | + | item | Waypoint((222.6, 371.5)), | 166.7 | 165 | + | enemy | Waypoint((206.2, 387.8)), | 190.1 | 191 | + | exit | Waypoint((209.2, 392.8)), | 189.0 | 184 | + """ + self.map_init(plane=Jarilo_RivetTown, floor="F1", position=(209.4, 333.5)) + self.register_domain_exit(Waypoint((209.2, 392.8)), end_rotation=184) + item = Waypoint((222.6, 371.5)) + enemy = Waypoint((206.2, 387.8)) + # ===== End of generated waypoints ===== + + self.clear_item(item) + self.clear_enemy(enemy) + + def Jarilo_RivetTown_F1_X279Y301(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((279.4, 301.6)), | 36.1 | 31 | + | item | Waypoint((302.6, 270.6)), | 59.1 | 54 | + | enemy | Waypoint((298.2, 246.0)), | 36.2 | 36 | + | exit | Waypoint((298.2, 246.0)), | 36.2 | 36 | + """ + self.map_init(plane=Jarilo_RivetTown, floor="F1", position=(279.4, 301.6)) + self.register_domain_exit(Waypoint((298.2, 246.0)), end_rotation=36) + item = Waypoint((302.6, 270.6)) + enemy = Waypoint((298.2, 246.0)) + # ===== End of generated waypoints ===== + + self.clear_item(item) + self.clear_enemy(enemy) + + def Jarilo_RivetTown_F1_X293Y243(self): + """ + | Waypoint | Position | Direction | Rotation | + | ----------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((293.6, 243.5)), | 182.9 | 177 | + | item1 | Waypoint((302.5, 259.5)), | 175.8 | 168 | + | enemy1right | Waypoint((290.0, 276.0)), | 198.7 | 195 | + | enemy1left | Waypoint((310.1, 281.1)), | 105.5 | 101 | + | item2 | Waypoint((326.2, 298.0)), | 151.8 | 140 | + | node3 | Waypoint((318.6, 334.8)), | 195.2 | 6 | + | enemy3 | Waypoint((316.4, 385.0)), | 223.8 | 45 | + | exit | Waypoint((314.6, 385.0)), | 289.0 | 188 | + """ + self.map_init(plane=Jarilo_RivetTown, floor="F1", position=(293.6, 243.5)) + self.register_domain_exit(Waypoint((314.6, 385.0)), end_rotation=188) + item1 = Waypoint((302.5, 259.5)) + enemy1right = Waypoint((290.0, 276.0)) + enemy1left = Waypoint((310.1, 281.1)) + item2 = Waypoint((326.2, 298.0)) + node3 = Waypoint((318.6, 334.8)) + enemy3 = Waypoint((316.4, 385.0)) + # ===== End of generated waypoints ===== + + # 1, ignore item1 + self.clear_enemy( + enemy1right, + enemy1left.straight_run(), + ) + # 2 + self.clear_item( + item2.straight_run(), + ) + # 3 + self.clear_enemy( + node3.straight_run(), + enemy3, + ) diff --git a/route/rogue/Combat/Jarilo_SilvermaneGuardRestrictedZone_F1.py b/route/rogue/Combat/Jarilo_SilvermaneGuardRestrictedZone_F1.py new file mode 100644 index 000000000..2a5d8f2bd --- /dev/null +++ b/route/rogue/Combat/Jarilo_SilvermaneGuardRestrictedZone_F1.py @@ -0,0 +1,81 @@ +from tasks.map.control.waypoint import Waypoint +from tasks.map.keywords.plane import Jarilo_SilvermaneGuardRestrictedZone +from tasks.rogue.route.base import RouteBase + + +class Route(RouteBase): + + def Jarilo_SilvermaneGuardRestrictedZone_F1_X221Y426(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((221.3, 426.1)), | 274.2 | 274 | + | item | Waypoint((197.2, 433.4)), | 250.7 | 246 | + | enemy | Waypoint((172.9, 425.9)), | 274.2 | 274 | + | exit | Waypoint((172.9, 425.9)), | 274.2 | 274 | + """ + self.map_init(plane=Jarilo_SilvermaneGuardRestrictedZone, floor="F1", position=(221.3, 426.1)) + self.register_domain_exit(Waypoint((172.9, 425.9)), end_rotation=274) + item = Waypoint((197.2, 433.4)) + enemy = Waypoint((172.9, 425.9)) + # ===== End of generated waypoints ===== + + self.clear_item(item) + self.clear_enemy(enemy) + + def Jarilo_SilvermaneGuardRestrictedZone_F1_X421Y173(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((421.5, 173.4)), | 172.8 | 165 | + | item | Waypoint((418.5, 218.3)), | 183.8 | 181 | + | enemy | Waypoint((440.2, 232.4)), | 166.6 | 154 | + | exit | Waypoint((440.2, 232.4)), | 166.6 | 154 | + """ + self.map_init(plane=Jarilo_SilvermaneGuardRestrictedZone, floor="F1", position=(421.5, 173.4)) + self.register_domain_exit(Waypoint((440.2, 232.4)), end_rotation=154) + item = Waypoint((418.5, 218.3)) + enemy = Waypoint((440.2, 232.4)) + # ===== End of generated waypoints ===== + + self.clear_item(item) + self.clear_enemy(enemy) + + def Jarilo_SilvermaneGuardRestrictedZone_F1_X547Y467(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((547.1, 467.0)), | 190.1 | 184 | + | item1 | Waypoint((562.4, 528.4)), | 203.1 | 200 | + | enemy1 | Waypoint((566.2, 572.0)), | 282.8 | 181 | + | item2 | Waypoint((574.0, 583.2)), | 139.4 | 140 | + | enemy3 | Waypoint((542.6, 613.0)), | 239.8 | 237 | + | enemy4 | Waypoint((494.2, 611.8)), | 274.2 | 274 | + | item3 | Waypoint((536.4, 628.1)), | 210.2 | 204 | + | exit | Waypoint((494.2, 611.8)), | 274.2 | 274 | + """ + self.map_init(plane=Jarilo_SilvermaneGuardRestrictedZone, floor="F1", position=(547.1, 467.0)) + self.register_domain_exit(Waypoint((494.2, 611.8)), end_rotation=274) + item1 = Waypoint((562.4, 528.4)) + enemy1 = Waypoint((566.2, 572.0)) + item2 = Waypoint((574.0, 583.2)) + enemy3 = Waypoint((542.6, 613.0)) + enemy4 = Waypoint((494.2, 611.8)) + item3 = Waypoint((536.4, 628.1)) + # ===== End of generated waypoints ===== + + # 1 + self.clear_item(item1) + self.clear_enemy(enemy1) + self.clear_item(item2) + # 3 + self.clear_enemy( + enemy3.straight_run(), + ) + self.clear_item( + item3, + ) + # 4 + self.clear_enemy( + enemy4.straight_run(), + ) diff --git a/route/rogue/Combat/Luofu_ArtisanshipCommission_F1.py b/route/rogue/Combat/Luofu_ArtisanshipCommission_F1.py new file mode 100644 index 000000000..10c03f718 --- /dev/null +++ b/route/rogue/Combat/Luofu_ArtisanshipCommission_F1.py @@ -0,0 +1,43 @@ +from tasks.map.control.waypoint import Waypoint +from tasks.map.keywords.plane import Luofu_ArtisanshipCommission +from tasks.rogue.route.base import RouteBase + + +class Route(RouteBase): + + def Luofu_ArtisanshipCommission_F1_X185Y361(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((185.4, 361.4)), | 157.2 | 151 | + | enemy_X212Y398 | Waypoint((212.5, 398.4)), | 149.9 | 327 | + | item | Waypoint((232.4, 388.4)), | 129.9 | 133 | + | exit | Waypoint((217.4, 405.1)), | 166.7 | 168 | + """ + self.map_init(plane=Luofu_ArtisanshipCommission, floor="F1", position=(185.4, 361.4)) + self.register_domain_exit(Waypoint((217.4, 405.1)), end_rotation=168) + enemy_X212Y398 = Waypoint((212.5, 398.4)) + item = Waypoint((232.4, 388.4)) + # ===== End of generated waypoints ===== + + # Enemy first, then go back for item + self.clear_enemy(enemy_X212Y398) + self.clear_item(item) + + def Luofu_ArtisanshipCommission_F1_X655Y537(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((655.5, 537.3)), | 6.7 | 361 | + | item | Waypoint((680.6, 503.2)), | 30.1 | 27 | + | enemy | Waypoint((656.2, 484.2)), | 11.1 | 184 | + | exit | Waypoint((647.0, 477.5)), | 357.8 | 352 | + """ + self.map_init(plane=Luofu_ArtisanshipCommission, floor="F1", position=(655.5, 537.3)) + self.register_domain_exit(Waypoint((647.0, 477.5)), end_rotation=352) + item = Waypoint((680.6, 503.2)) + enemy = Waypoint((656.2, 484.2)) + # ===== End of generated waypoints ===== + + # Ignore item, bad way + self.clear_enemy(enemy) diff --git a/route/rogue/Combat/Luofu_Cloudford_F1.py b/route/rogue/Combat/Luofu_Cloudford_F1.py new file mode 100644 index 000000000..d1ef91e93 --- /dev/null +++ b/route/rogue/Combat/Luofu_Cloudford_F1.py @@ -0,0 +1,113 @@ +from tasks.map.control.waypoint import Waypoint +from tasks.map.keywords.plane import Luofu_Cloudford +from tasks.rogue.route.base import RouteBase + + +class Route(RouteBase): + + def Luofu_Cloudford_F1_X241Y947(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((240.4, 947.6)), | 274.2 | 274 | + | node | Waypoint((218.8, 948.8)), | 282.9 | 278 | + | item | Waypoint((222.4, 934.6)), | 311.8 | 306 | + | enemy | Waypoint((197.2, 947.4)), | 282.6 | 260 | + | exit | Waypoint((193.1, 947.2)), | 12.8 | 274 | + """ + self.map_init(plane=Luofu_Cloudford, floor="F1", position=(240.4, 947.6)) + self.register_domain_exit(Waypoint((193.1, 947.2)), end_rotation=274) + node = Waypoint((218.8, 948.8)) + item = Waypoint((222.4, 934.6)) + enemy = Waypoint((197.2, 947.4)) + # ===== End of generated waypoints ===== + + # item at corner + self.clear_item(item) + self.clear_enemy( + # Get back to main road first + node, + enemy, + ) + + def Luofu_Cloudford_F1_X283Y865(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((283.4, 865.3)), | 6.7 | 4 | + | item | Waypoint((297.0, 841.4)), | 36.1 | 31 | + | enemy | Waypoint((282.4, 814.2)), | 8.1 | 361 | + | exit | Waypoint((284.5, 816.8)), | 5.7 | 361 | + """ + self.map_init(plane=Luofu_Cloudford, floor="F1", position=(283.4, 865.3)) + self.register_domain_exit(Waypoint((284.5, 816.8)), end_rotation=361) + item = Waypoint((297.0, 841.4)) + enemy = Waypoint((282.4, 814.2)) + # ===== End of generated waypoints ===== + + self.clear_item(item) + self.clear_enemy(enemy) + + def Luofu_Cloudford_F1_X431Y593(self): + """ + | Waypoint | Position | Direction | Rotation | + | --------------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((431.5, 593.4)), | 2.7 | 357 | + | item1 | Waypoint((373.8, 592.8)), | 263.8 | 267 | + | enemy1_X341Y586 | Waypoint((341.2, 586.8)), | 274.2 | 274 | + | item2 | Waypoint((310.4, 582.2)), | 289.0 | 288 | + | enemy2 | Waypoint((275.9, 584.9)), | 274.1 | 271 | + | exit | Waypoint((275.9, 584.9)), | 274.1 | 271 | + """ + self.map_init(plane=Luofu_Cloudford, floor="F1", position=(431.5, 593.4)) + self.register_domain_exit(Waypoint((275.9, 584.9)), end_rotation=271) + item1 = Waypoint((373.8, 592.8)) + enemy1_X341Y586 = Waypoint((341.2, 586.8)) + item2 = Waypoint((310.4, 582.2)) + enemy2 = Waypoint((275.9, 584.9)) + # ===== End of generated waypoints ===== + + # 1 + self.clear_item( + item1.straight_run(), + ) + self.clear_enemy( + enemy1_X341Y586.straight_run(), + ) + # 2 + self.clear_item(item2) + self.clear_enemy(enemy2) + + def Luofu_Cloudford_F1_X59Y405(self): + """ + | Waypoint | Position | Direction | Rotation | + | ------------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((59.3, 405.6)), | 96.7 | 91 | + | item1 | Waypoint((97.2, 393.0)), | 87.7 | 84 | + | enemy1 | Waypoint((126.3, 402.5)), | 96.8 | 101 | + | enemy2top | Waypoint((214.6, 432.8)), | 94.1 | 87 | + | enemy2bottom | Waypoint((215.4, 481.0)), | 191.8 | 174 | + | enemy3 | Waypoint((288.0, 452.2)), | 87.7 | 260 | + | exit_X288Y454 | Waypoint((288.5, 454.5)), | 5.7 | 91 | + """ + self.map_init(plane=Luofu_Cloudford, floor="F1", position=(59.3, 405.6)) + self.register_domain_exit(Waypoint((288.5, 454.5)), end_rotation=91) + item1 = Waypoint((97.2, 393.0)) + enemy1 = Waypoint((126.3, 402.5)) + enemy2top = Waypoint((214.6, 432.8)) + enemy2bottom = Waypoint((215.4, 481.0)) + enemy3 = Waypoint((288.0, 452.2)) + # ===== End of generated waypoints ===== + + # 1 + self.clear_item(item1) + self.clear_enemy(enemy1) + # 2 moving enemy + self.clear_enemy( + enemy2top, + enemy2bottom.straight_run(), + ) + # 3 + self.clear_enemy( + enemy3.straight_run(), + ) diff --git a/route/rogue/Elite/Herta_StorageZone_F1.py b/route/rogue/Elite/Herta_StorageZone_F1.py new file mode 100644 index 000000000..c860a8fc6 --- /dev/null +++ b/route/rogue/Elite/Herta_StorageZone_F1.py @@ -0,0 +1,25 @@ +from tasks.map.control.waypoint import Waypoint +from tasks.map.keywords.plane import Herta_StorageZone +from tasks.rogue.route.base import RouteBase + + +class Route(RouteBase): + + def Herta_StorageZone_F1_X477Y233(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((477.6, 233.5)), | 319.8 | 320 | + | enemy | Waypoint((444.7, 197.9)), | 318.0 | 318 | + | reward | Waypoint((442.6, 186.3)), | 356.3 | 354 | + | exit | Waypoint((431.1, 194.6)), | 290.1 | 290 | + """ + self.map_init(plane=Herta_StorageZone, floor="F1", position=(477.6, 233.5)) + enemy = Waypoint((444.7, 197.9)) + reward = Waypoint((442.6, 186.3)) + exit_ = Waypoint((431.1, 194.6)) + + self.clear_elite(enemy) + self.domain_reward(reward) + self.domain_single_exit(exit_) + # ===== End of generated waypoints ===== diff --git a/route/rogue/Elite/Herta_SupplyZone_F2.py b/route/rogue/Elite/Herta_SupplyZone_F2.py new file mode 100644 index 000000000..2dd721653 --- /dev/null +++ b/route/rogue/Elite/Herta_SupplyZone_F2.py @@ -0,0 +1,25 @@ +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_X657Y247(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((657.1, 247.5)), | 96.7 | 91 | + | enemy | Waypoint((726.4, 246.6)), | 99.0 | 94 | + | reward | Waypoint((738.2, 254.2)), | 166.6 | 112 | + | exit | Waypoint((746.0, 240.0)), | 82.8 | 75 | + """ + self.map_init(plane=Herta_SupplyZone, floor="F2", position=(657.1, 247.5)) + enemy = Waypoint((726.4, 246.6)) + reward = Waypoint((738.2, 254.2)) + exit_ = Waypoint((746.0, 240.0)) + + self.clear_elite(enemy) + self.domain_reward(reward) + self.domain_single_exit(exit_) + # ===== End of generated waypoints ===== diff --git a/route/rogue/Elite/Jarilo_BackwaterPass_F1.py b/route/rogue/Elite/Jarilo_BackwaterPass_F1.py new file mode 100644 index 000000000..781d306bf --- /dev/null +++ b/route/rogue/Elite/Jarilo_BackwaterPass_F1.py @@ -0,0 +1,25 @@ +from tasks.map.control.waypoint import Waypoint +from tasks.map.keywords.plane import Jarilo_BackwaterPass +from tasks.rogue.route.base import RouteBase + + +class Route(RouteBase): + + def Jarilo_BackwaterPass_F1_X351Y641(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((351.4, 641.3)), | 274.2 | 274 | + | enemy | Waypoint((304.3, 640.6)), | 274.2 | 274 | + | reward | Waypoint((293.8, 632.4)), | 290.2 | 288 | + | exit | Waypoint((286.4, 646.7)), | 244.9 | 258 | + """ + self.map_init(plane=Jarilo_BackwaterPass, floor="F1", position=(351.4, 641.3)) + enemy = Waypoint((304.3, 640.6)) + reward = Waypoint((293.8, 632.4)) + exit_ = Waypoint((286.4, 646.7)) + + self.clear_elite(enemy) + self.domain_reward(reward) + self.domain_single_exit(exit_) + # ===== End of generated waypoints ===== diff --git a/route/rogue/Elite/Jarilo_GreatMine_F1.py b/route/rogue/Elite/Jarilo_GreatMine_F1.py new file mode 100644 index 000000000..e1732595f --- /dev/null +++ b/route/rogue/Elite/Jarilo_GreatMine_F1.py @@ -0,0 +1,25 @@ +from tasks.map.control.waypoint import Waypoint +from tasks.map.keywords.plane import Jarilo_GreatMine +from tasks.rogue.route.base import RouteBase + + +class Route(RouteBase): + + def Jarilo_GreatMine_F1_X175Y273(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((175.5, 273.5)), | 274.2 | 274 | + | enemy | Waypoint((128.5, 273.0)), | 282.9 | 271 | + | reward | Waypoint((116.8, 265.0)), | 293.1 | 290 | + | exit | Waypoint((111.5, 280.3)), | 250.7 | 248 | + """ + self.map_init(plane=Jarilo_GreatMine, floor="F1", position=(175.5, 273.5)) + enemy = Waypoint((128.5, 273.0)) + reward = Waypoint((116.8, 265.0)) + exit_ = Waypoint((111.5, 280.3)) + + self.clear_elite(enemy) + self.domain_reward(reward) + self.domain_single_exit(exit_) + # ===== End of generated waypoints ===== diff --git a/route/rogue/Elite/Jarilo_RivetTown_F1.py b/route/rogue/Elite/Jarilo_RivetTown_F1.py new file mode 100644 index 000000000..055a834d5 --- /dev/null +++ b/route/rogue/Elite/Jarilo_RivetTown_F1.py @@ -0,0 +1,25 @@ +from tasks.map.control.waypoint import Waypoint +from tasks.map.keywords.plane import Jarilo_RivetTown +from tasks.rogue.route.base import RouteBase + + +class Route(RouteBase): + + def Jarilo_RivetTown_F1_X149Y435(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((149.9, 435.6)), | 96.7 | 91 | + | enemy | Waypoint((197.4, 437.1)), | 96.8 | 94 | + | reward | Waypoint((208.4, 441.0)), | 102.9 | 98 | + | exit | Waypoint((216.4, 428.6)), | 96.7 | 94 | + """ + self.map_init(plane=Jarilo_RivetTown, floor="F1", position=(149.9, 435.6)) + enemy = Waypoint((197.4, 437.1)) + reward = Waypoint((208.4, 441.0)) + exit_ = Waypoint((216.4, 428.6)) + + self.clear_elite(enemy) + self.domain_reward(reward) + self.domain_single_exit(exit_) + # ===== End of generated waypoints ===== diff --git a/route/rogue/Elite/Luofu_Cloudford_F1.py b/route/rogue/Elite/Luofu_Cloudford_F1.py new file mode 100644 index 000000000..d1086bdfa --- /dev/null +++ b/route/rogue/Elite/Luofu_Cloudford_F1.py @@ -0,0 +1,25 @@ +from tasks.map.control.waypoint import Waypoint +from tasks.map.keywords.plane import Luofu_Cloudford +from tasks.rogue.route.base import RouteBase + + +class Route(RouteBase): + + def Luofu_Cloudford_F1_X337Y1003(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | -------------------------- | --------- | -------- | + | spawn | Waypoint((337.3, 1003.4)), | 6.7 | 4 | + | enemy | Waypoint((336.2, 962.2)), | 6.7 | 4 | + | reward | Waypoint((342.9, 954.8)), | 44.2 | 31 | + | exit | Waypoint((328.8, 942.8)), | 316.1 | 331 | + """ + self.map_init(plane=Luofu_Cloudford, floor="F1", position=(337.3, 1003.4)) + enemy = Waypoint((336.2, 962.2)) + reward = Waypoint((342.9, 954.8)) + exit_ = Waypoint((328.8, 942.8)) + + self.clear_elite(enemy) + self.domain_reward(reward) + self.domain_single_exit(exit_) + # ===== End of generated waypoints ===== diff --git a/route/rogue/Occurrence/Luofu_ArtisanshipCommission_F1.py b/route/rogue/Occurrence/Luofu_ArtisanshipCommission_F1.py new file mode 100644 index 000000000..5f136f8dd --- /dev/null +++ b/route/rogue/Occurrence/Luofu_ArtisanshipCommission_F1.py @@ -0,0 +1,60 @@ +from tasks.map.control.waypoint import Waypoint +from tasks.map.keywords.plane import Luofu_ArtisanshipCommission +from tasks.rogue.route.base import RouteBase + + +class Route(RouteBase): + + def Luofu_ArtisanshipCommission_F1_X169Y491(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((167.8, 491.0)), | 96.7 | 91 | + | item | Waypoint((178.8, 468.4)), | 41.0 | 36 | + | event | Waypoint((218.7, 491.1)), | 96.7 | 94 | + | exit | Waypoint((216.9, 490.9)), | 190.0 | 89 | + """ + self.map_init(plane=Luofu_ArtisanshipCommission, floor="F1", position=(167.8, 491.0)) + self.register_domain_exit(Waypoint((216.9, 490.9)), end_rotation=89) + item = Waypoint((178.8, 468.4)) + event = Waypoint((218.7, 491.1)) + + self.clear_item(item) + self.clear_event(event) + # ===== End of generated waypoints ===== + + def Luofu_ArtisanshipCommission_F1_X205Y145(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((205.5, 145.5)), | 190.1 | 184 | + | item | Waypoint((223.0, 163.1)), | 143.8 | 140 | + | event_X204Y179 | Waypoint((204.4, 179.9)), | 282.8 | 181 | + | exit_X204Y179 | Waypoint((204.4, 179.9)), | 282.8 | 181 | + """ + self.map_init(plane=Luofu_ArtisanshipCommission, floor="F1", position=(205.5, 145.5)) + self.register_domain_exit(Waypoint((204.4, 179.9)), end_rotation=181) + item = Waypoint((223.0, 163.1)) + event_X204Y179 = Waypoint((204.4, 179.9)) + + self.clear_item(item) + self.clear_event(event_X204Y179) + # ===== End of generated waypoints ===== + + def Luofu_ArtisanshipCommission_F1_X521Y63(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------ | --------- | -------- | + | spawn | Waypoint((521.8, 63.6)), | 96.7 | 91 | + | item | Waypoint((536.8, 51.1)), | 62.6 | 57 | + | event | Waypoint((572.0, 64.2)), | 96.7 | 91 | + | exit | Waypoint((572.8, 65.3)), | 193.0 | 91 | + """ + self.map_init(plane=Luofu_ArtisanshipCommission, floor="F1", position=(521.8, 63.6)) + self.register_domain_exit(Waypoint((572.8, 65.3)), end_rotation=91) + item = Waypoint((536.8, 51.1)) + event = Waypoint((572.0, 64.2)) + + self.clear_item(item) + self.clear_event(event) + # ===== End of generated waypoints ===== diff --git a/route/rogue/Respite/Herta_StorageZone_F1.py b/route/rogue/Respite/Herta_StorageZone_F1.py new file mode 100644 index 000000000..59dce96ed --- /dev/null +++ b/route/rogue/Respite/Herta_StorageZone_F1.py @@ -0,0 +1,25 @@ +from tasks.map.control.waypoint import Waypoint +from tasks.map.keywords.plane import Herta_StorageZone +from tasks.rogue.route.base import RouteBase + + +class Route(RouteBase): + + def Herta_StorageZone_F1_X703Y267(self): + """ + | Waypoint | Position | Direction | Rotation | + | ------------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((703.2, 267.6)), | 300.1 | 292 | + | item_X690Y255 | Waypoint((690.6, 255.0)), | 327.8 | 322 | + | herta | Waypoint((660.9, 244.9)), | 311.8 | 308 | + | exit_X641Y258 | Waypoint((641.4, 258.4)), | 300.1 | 292 | + """ + self.map_init(plane=Herta_StorageZone, floor="F1", position=(703.2, 267.6)) + item_X690Y255 = Waypoint((690.6, 255.0)) + herta = Waypoint((660.9, 244.9)) + exit_X641Y258 = Waypoint((641.4, 258.4)) + + self.clear_item(item_X690Y255) + self.domain_herta(herta) + self.domain_single_exit(exit_X641Y258) + # ===== End of generated waypoints ===== diff --git a/route/rogue/Respite/Jarilo_BackwaterPass_F1.py b/route/rogue/Respite/Jarilo_BackwaterPass_F1.py new file mode 100644 index 000000000..6ba86784a --- /dev/null +++ b/route/rogue/Respite/Jarilo_BackwaterPass_F1.py @@ -0,0 +1,25 @@ +from tasks.map.control.waypoint import Waypoint +from tasks.map.keywords.plane import Jarilo_BackwaterPass +from tasks.rogue.route.base import RouteBase + + +class Route(RouteBase): + + def Jarilo_BackwaterPass_F1_X581Y403(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((581.5, 403.5)), | 131.7 | 126 | + | item | Waypoint((586.8, 418.6)), | 172.7 | 165 | + | herta | Waypoint((606.6, 433.0)), | 143.8 | 140 | + | exit | Waypoint((618.6, 430.6)), | 116.7 | 114 | + """ + self.map_init(plane=Jarilo_BackwaterPass, floor="F1", position=(581.5, 403.5)) + item = Waypoint((586.8, 418.6)) + herta = Waypoint((606.6, 433.0)) + exit_ = Waypoint((618.6, 430.6)) + + self.clear_item(item) + self.domain_herta(herta) + self.domain_single_exit(exit_) + # ===== End of generated waypoints ===== diff --git a/route/rogue/Respite/Jarilo_GreatMine_F1.py b/route/rogue/Respite/Jarilo_GreatMine_F1.py new file mode 100644 index 000000000..49d52b8d1 --- /dev/null +++ b/route/rogue/Respite/Jarilo_GreatMine_F1.py @@ -0,0 +1,25 @@ +from tasks.map.control.waypoint import Waypoint +from tasks.map.keywords.plane import Jarilo_GreatMine +from tasks.rogue.route.base import RouteBase + + +class Route(RouteBase): + + def Jarilo_GreatMine_F1_X494Y237(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((494.5, 237.2)), | 260.2 | 255 | + | item | Waypoint((476.4, 232.8)), | 289.0 | 288 | + | herta | Waypoint((444.4, 246.0)), | 250.8 | 253 | + | exit | Waypoint((435.4, 259.4)), | 241.3 | 239 | + """ + self.map_init(plane=Jarilo_GreatMine, floor="F1", position=(494.5, 237.2)) + item = Waypoint((476.4, 232.8)) + herta = Waypoint((444.4, 246.0)) + exit_ = Waypoint((435.4, 259.4)) + + self.clear_item(item) + self.domain_herta(herta) + self.domain_single_exit(exit_) + # ===== End of generated waypoints ===== diff --git a/route/rogue/Respite/Jarilo_RivetTown_F1.py b/route/rogue/Respite/Jarilo_RivetTown_F1.py new file mode 100644 index 000000000..cada9e591 --- /dev/null +++ b/route/rogue/Respite/Jarilo_RivetTown_F1.py @@ -0,0 +1,25 @@ +from tasks.map.control.waypoint import Waypoint +from tasks.map.keywords.plane import Jarilo_RivetTown +from tasks.rogue.route.base import RouteBase + + +class Route(RouteBase): + + def Jarilo_RivetTown_F1_X157Y273(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((157.2, 273.5)), | 60.8 | 59 | + | item | Waypoint((174.9, 274.8)), | 96.8 | 89 | + | herta | Waypoint((202.2, 259.4)), | 76.3 | 73 | + | exit | Waypoint((208.6, 244.6)), | 67.1 | 61 | + """ + self.map_init(plane=Jarilo_RivetTown, floor="F1", position=(157.2, 273.5)) + item = Waypoint((174.9, 274.8)) + herta = Waypoint((202.2, 259.4)) + exit_ = Waypoint((208.6, 244.6)) + + self.clear_item(item) + self.domain_herta(herta) + self.domain_single_exit(exit_) + # ===== End of generated waypoints ===== diff --git a/route/rogue/Respite/Jarilo_SilvermaneGuardRestrictedZone_F1.py b/route/rogue/Respite/Jarilo_SilvermaneGuardRestrictedZone_F1.py new file mode 100644 index 000000000..f4d8325df --- /dev/null +++ b/route/rogue/Respite/Jarilo_SilvermaneGuardRestrictedZone_F1.py @@ -0,0 +1,25 @@ +from tasks.map.control.waypoint import Waypoint +from tasks.map.keywords.plane import Jarilo_SilvermaneGuardRestrictedZone +from tasks.rogue.route.base import RouteBase + + +class Route(RouteBase): + + def Jarilo_SilvermaneGuardRestrictedZone_F1_X777Y199(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((777.2, 199.7)), | 96.7 | 91 | + | item | Waypoint((790.8, 206.8)), | 129.8 | 126 | + | herta | Waypoint((822.8, 208.2)), | 101.2 | 96 | + | exit | Waypoint((834.6, 198.9)), | 102.7 | 96 | + """ + self.map_init(plane=Jarilo_SilvermaneGuardRestrictedZone, floor="F1", position=(777.2, 199.7)) + item = Waypoint((790.8, 206.8)) + herta = Waypoint((822.8, 208.2)) + exit_ = Waypoint((834.6, 198.9)) + + self.clear_item(item) + self.domain_herta(herta) + self.domain_single_exit(exit_) + # ===== End of generated waypoints ===== diff --git a/route/rogue/Respite/Luofu_ArtisanshipCommission_F1.py b/route/rogue/Respite/Luofu_ArtisanshipCommission_F1.py new file mode 100644 index 000000000..1cc481b14 --- /dev/null +++ b/route/rogue/Respite/Luofu_ArtisanshipCommission_F1.py @@ -0,0 +1,25 @@ +from tasks.map.control.waypoint import Waypoint +from tasks.map.keywords.plane import Luofu_ArtisanshipCommission +from tasks.rogue.route.base import RouteBase + + +class Route(RouteBase): + + def Luofu_ArtisanshipCommission_F1_X299Y863(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((299.6, 863.4)), | 6.7 | 4 | + | item | Waypoint((306.8, 850.6)), | 33.9 | 31 | + | herta | Waypoint((305.2, 821.0)), | 11.2 | 8 | + | exit | Waypoint((301.0, 808.4)), | 2.7 | 357 | + """ + self.map_init(plane=Luofu_ArtisanshipCommission, floor="F1", position=(299.6, 863.4)) + item = Waypoint((306.8, 850.6)) + herta = Waypoint((305.2, 821.0)) + exit_ = Waypoint((301.0, 808.4)) + + self.clear_item(item) + self.domain_herta(herta) + self.domain_single_exit(exit_) + # ===== End of generated waypoints ===== diff --git a/route/rogue/Respite/Luofu_Cloudford_F1.py b/route/rogue/Respite/Luofu_Cloudford_F1.py new file mode 100644 index 000000000..afeef50ce --- /dev/null +++ b/route/rogue/Respite/Luofu_Cloudford_F1.py @@ -0,0 +1,25 @@ +from tasks.map.control.waypoint import Waypoint +from tasks.map.keywords.plane import Luofu_Cloudford +from tasks.rogue.route.base import RouteBase + + +class Route(RouteBase): + + def Luofu_Cloudford_F1_X417Y933(self): + """ + | Waypoint | Position | Direction | Rotation | + | -------- | ------------------------- | --------- | -------- | + | spawn | Waypoint((417.5, 933.4)), | 96.7 | 91 | + | item | Waypoint((431.0, 940.6)), | 129.8 | 124 | + | herta | Waypoint((464.4, 942.4)), | 112.7 | 110 | + | exit | Waypoint((476.2, 934.2)), | 87.8 | 82 | + """ + self.map_init(plane=Luofu_Cloudford, floor="F1", position=(417.5, 933.4)) + item = Waypoint((431.0, 940.6)) + herta = Waypoint((464.4, 942.4)) + exit_ = Waypoint((476.2, 934.2)) + + self.clear_item(item) + self.domain_herta(herta) + self.domain_single_exit(exit_) + # ===== End of generated waypoints ===== diff --git a/route/rogue/route.json b/route/rogue/route.json new file mode 100644 index 000000000..2efb1af38 --- /dev/null +++ b/route/rogue/route.json @@ -0,0 +1,497 @@ +[ + { + "name": "Boss_Luofu_ArtisanshipCommission_F1_X506Y495", + "route": "route.rogue.Boss.Luofu_ArtisanshipCommission_F1:Luofu_ArtisanshipCommission_F1_X506Y495", + "plane": "Luofu_ArtisanshipCommission", + "floor": "F1", + "position": [ + 506.0, + 495.4 + ], + "domain": "Boss" + }, + { + "name": "Combat_Herta_StorageZone_F1_X257Y85", + "route": "route.rogue.Combat.Herta_StorageZone_F1:Herta_StorageZone_F1_X257Y85", + "plane": "Herta_StorageZone", + "floor": "F1", + "position": [ + 257.3, + 85.5 + ], + "domain": "Combat" + }, + { + "name": "Combat_Herta_StorageZone_F1_X692Y61", + "route": "route.rogue.Combat.Herta_StorageZone_F1:Herta_StorageZone_F1_X692Y61", + "plane": "Herta_StorageZone", + "floor": "F1", + "position": [ + 692.0, + 62.0 + ], + "domain": "Combat" + }, + { + "name": "Combat_Herta_StorageZone_F2_X365Y167", + "route": "route.rogue.Combat.Herta_StorageZone_F2:Herta_StorageZone_F2_X365Y167", + "plane": "Herta_StorageZone", + "floor": "F2", + "position": [ + 365.1, + 167.2 + ], + "domain": "Combat" + }, + { + "name": "Combat_Herta_StorageZone_F2_X515Y219", + "route": "route.rogue.Combat.Herta_StorageZone_F2:Herta_StorageZone_F2_X515Y219", + "plane": "Herta_StorageZone", + "floor": "F2", + "position": [ + 515.5, + 219.3 + ], + "domain": "Combat" + }, + { + "name": "Combat_Herta_SupplyZone_F2_X215Y112", + "route": "route.rogue.Combat.Herta_SupplyZone_F2:Herta_SupplyZone_F2_X215Y112", + "plane": "Herta_SupplyZone", + "floor": "F2", + "position": [ + 215.6, + 112.7 + ], + "domain": "Combat" + }, + { + "name": "Combat_Herta_SupplyZone_F2_X45Y369", + "route": "route.rogue.Combat.Herta_SupplyZone_F2:Herta_SupplyZone_F2_X45Y369", + "plane": "Herta_SupplyZone", + "floor": "F2", + "position": [ + 45.5, + 369.5 + ], + "domain": "Combat" + }, + { + "name": "Combat_Jarilo_BackwaterPass_F1_X475Y49", + "route": "route.rogue.Combat.Jarilo_BackwaterPass_F1:Jarilo_BackwaterPass_F1_X475Y49", + "plane": "Jarilo_BackwaterPass", + "floor": "F1", + "position": [ + 475.2, + 49.5 + ], + "domain": "Combat" + }, + { + "name": "Combat_Jarilo_BackwaterPass_F1_X483Y105", + "route": "route.rogue.Combat.Jarilo_BackwaterPass_F1:Jarilo_BackwaterPass_F1_X483Y105", + "plane": "Jarilo_BackwaterPass", + "floor": "F1", + "position": [ + 483.5, + 105.1 + ], + "domain": "Combat" + }, + { + "name": "Combat_Jarilo_BackwaterPass_F1_X577Y665", + "route": "route.rogue.Combat.Jarilo_BackwaterPass_F1:Jarilo_BackwaterPass_F1_X577Y665", + "plane": "Jarilo_BackwaterPass", + "floor": "F1", + "position": [ + 577.4, + 665.3 + ], + "domain": "Combat" + }, + { + "name": "Combat_Jarilo_BackwaterPass_F1_X580Y741", + "route": "route.rogue.Combat.Jarilo_BackwaterPass_F1:Jarilo_BackwaterPass_F1_X580Y741", + "plane": "Jarilo_BackwaterPass", + "floor": "F1", + "position": [ + 580.5, + 741.2 + ], + "domain": "Combat" + }, + { + "name": "Combat_Jarilo_BackwaterPass_F1_X595Y681", + "route": "route.rogue.Combat.Jarilo_BackwaterPass_F1:Jarilo_BackwaterPass_F1_X595Y681", + "plane": "Jarilo_BackwaterPass", + "floor": "F1", + "position": [ + 595.5, + 681.5 + ], + "domain": "Combat" + }, + { + "name": "Combat_Jarilo_GreatMine_F1_X133Y465", + "route": "route.rogue.Combat.Jarilo_GreatMine_F1:Jarilo_GreatMine_F1_X133Y465", + "plane": "Jarilo_GreatMine", + "floor": "F1", + "position": [ + 133.3, + 465.6 + ], + "domain": "Combat" + }, + { + "name": "Combat_Jarilo_GreatMine_F1_X149Y273", + "route": "route.rogue.Combat.Jarilo_GreatMine_F1:Jarilo_GreatMine_F1_X149Y273", + "plane": "Jarilo_GreatMine", + "floor": "F1", + "position": [ + 149.7, + 273.5 + ], + "domain": "Combat" + }, + { + "name": "Combat_Jarilo_GreatMine_F1_X407Y572", + "route": "route.rogue.Combat.Jarilo_GreatMine_F1:Jarilo_GreatMine_F1_X407Y572", + "plane": "Jarilo_GreatMine", + "floor": "F1", + "position": [ + 407.2, + 572.8 + ], + "domain": "Combat" + }, + { + "name": "Combat_Jarilo_GreatMine_F1_X545Y513", + "route": "route.rogue.Combat.Jarilo_GreatMine_F1:Jarilo_GreatMine_F1_X545Y513", + "plane": "Jarilo_GreatMine", + "floor": "F1", + "position": [ + 545.3, + 513.0 + ], + "domain": "Combat" + }, + { + "name": "Combat_Jarilo_RivetTown_F1_X181Y439", + "route": "route.rogue.Combat.Jarilo_RivetTown_F1:Jarilo_RivetTown_F1_X181Y439", + "plane": "Jarilo_RivetTown", + "floor": "F1", + "position": [ + 181.4, + 439.2 + ], + "domain": "Combat" + }, + { + "name": "Combat_Jarilo_RivetTown_F1_X209Y333", + "route": "route.rogue.Combat.Jarilo_RivetTown_F1:Jarilo_RivetTown_F1_X209Y333", + "plane": "Jarilo_RivetTown", + "floor": "F1", + "position": [ + 209.4, + 333.5 + ], + "domain": "Combat" + }, + { + "name": "Combat_Jarilo_RivetTown_F1_X279Y301", + "route": "route.rogue.Combat.Jarilo_RivetTown_F1:Jarilo_RivetTown_F1_X279Y301", + "plane": "Jarilo_RivetTown", + "floor": "F1", + "position": [ + 279.4, + 301.6 + ], + "domain": "Combat" + }, + { + "name": "Combat_Jarilo_RivetTown_F1_X293Y243", + "route": "route.rogue.Combat.Jarilo_RivetTown_F1:Jarilo_RivetTown_F1_X293Y243", + "plane": "Jarilo_RivetTown", + "floor": "F1", + "position": [ + 293.6, + 243.5 + ], + "domain": "Combat" + }, + { + "name": "Combat_Jarilo_SilvermaneGuardRestrictedZone_F1_X221Y426", + "route": "route.rogue.Combat.Jarilo_SilvermaneGuardRestrictedZone_F1:Jarilo_SilvermaneGuardRestrictedZone_F1_X221Y426", + "plane": "Jarilo_SilvermaneGuardRestrictedZone", + "floor": "F1", + "position": [ + 221.3, + 426.1 + ], + "domain": "Combat" + }, + { + "name": "Combat_Jarilo_SilvermaneGuardRestrictedZone_F1_X421Y173", + "route": "route.rogue.Combat.Jarilo_SilvermaneGuardRestrictedZone_F1:Jarilo_SilvermaneGuardRestrictedZone_F1_X421Y173", + "plane": "Jarilo_SilvermaneGuardRestrictedZone", + "floor": "F1", + "position": [ + 421.5, + 173.4 + ], + "domain": "Combat" + }, + { + "name": "Combat_Jarilo_SilvermaneGuardRestrictedZone_F1_X547Y467", + "route": "route.rogue.Combat.Jarilo_SilvermaneGuardRestrictedZone_F1:Jarilo_SilvermaneGuardRestrictedZone_F1_X547Y467", + "plane": "Jarilo_SilvermaneGuardRestrictedZone", + "floor": "F1", + "position": [ + 547.1, + 467.0 + ], + "domain": "Combat" + }, + { + "name": "Combat_Luofu_ArtisanshipCommission_F1_X185Y361", + "route": "route.rogue.Combat.Luofu_ArtisanshipCommission_F1:Luofu_ArtisanshipCommission_F1_X185Y361", + "plane": "Luofu_ArtisanshipCommission", + "floor": "F1", + "position": [ + 185.4, + 361.4 + ], + "domain": "Combat" + }, + { + "name": "Combat_Luofu_ArtisanshipCommission_F1_X655Y537", + "route": "route.rogue.Combat.Luofu_ArtisanshipCommission_F1:Luofu_ArtisanshipCommission_F1_X655Y537", + "plane": "Luofu_ArtisanshipCommission", + "floor": "F1", + "position": [ + 655.5, + 537.3 + ], + "domain": "Combat" + }, + { + "name": "Combat_Luofu_Cloudford_F1_X241Y947", + "route": "route.rogue.Combat.Luofu_Cloudford_F1:Luofu_Cloudford_F1_X241Y947", + "plane": "Luofu_Cloudford", + "floor": "F1", + "position": [ + 240.4, + 947.6 + ], + "domain": "Combat" + }, + { + "name": "Combat_Luofu_Cloudford_F1_X283Y865", + "route": "route.rogue.Combat.Luofu_Cloudford_F1:Luofu_Cloudford_F1_X283Y865", + "plane": "Luofu_Cloudford", + "floor": "F1", + "position": [ + 283.4, + 865.3 + ], + "domain": "Combat" + }, + { + "name": "Combat_Luofu_Cloudford_F1_X431Y593", + "route": "route.rogue.Combat.Luofu_Cloudford_F1:Luofu_Cloudford_F1_X431Y593", + "plane": "Luofu_Cloudford", + "floor": "F1", + "position": [ + 431.5, + 593.4 + ], + "domain": "Combat" + }, + { + "name": "Combat_Luofu_Cloudford_F1_X59Y405", + "route": "route.rogue.Combat.Luofu_Cloudford_F1:Luofu_Cloudford_F1_X59Y405", + "plane": "Luofu_Cloudford", + "floor": "F1", + "position": [ + 59.3, + 405.6 + ], + "domain": "Combat" + }, + { + "name": "Elite_Herta_StorageZone_F1_X477Y233", + "route": "route.rogue.Elite.Herta_StorageZone_F1:Herta_StorageZone_F1_X477Y233", + "plane": "Herta_StorageZone", + "floor": "F1", + "position": [ + 477.6, + 233.5 + ], + "domain": "Elite" + }, + { + "name": "Elite_Herta_SupplyZone_F2_X657Y247", + "route": "route.rogue.Elite.Herta_SupplyZone_F2:Herta_SupplyZone_F2_X657Y247", + "plane": "Herta_SupplyZone", + "floor": "F2", + "position": [ + 657.1, + 247.5 + ], + "domain": "Elite" + }, + { + "name": "Elite_Jarilo_BackwaterPass_F1_X351Y641", + "route": "route.rogue.Elite.Jarilo_BackwaterPass_F1:Jarilo_BackwaterPass_F1_X351Y641", + "plane": "Jarilo_BackwaterPass", + "floor": "F1", + "position": [ + 351.4, + 641.3 + ], + "domain": "Elite" + }, + { + "name": "Elite_Jarilo_GreatMine_F1_X175Y273", + "route": "route.rogue.Elite.Jarilo_GreatMine_F1:Jarilo_GreatMine_F1_X175Y273", + "plane": "Jarilo_GreatMine", + "floor": "F1", + "position": [ + 175.5, + 273.5 + ], + "domain": "Elite" + }, + { + "name": "Elite_Jarilo_RivetTown_F1_X149Y435", + "route": "route.rogue.Elite.Jarilo_RivetTown_F1:Jarilo_RivetTown_F1_X149Y435", + "plane": "Jarilo_RivetTown", + "floor": "F1", + "position": [ + 149.9, + 435.6 + ], + "domain": "Elite" + }, + { + "name": "Elite_Luofu_Cloudford_F1_X337Y1003", + "route": "route.rogue.Elite.Luofu_Cloudford_F1:Luofu_Cloudford_F1_X337Y1003", + "plane": "Luofu_Cloudford", + "floor": "F1", + "position": [ + 337.3, + 1003.4 + ], + "domain": "Elite" + }, + { + "name": "Occurrence_Luofu_ArtisanshipCommission_F1_X169Y491", + "route": "route.rogue.Occurrence.Luofu_ArtisanshipCommission_F1:Luofu_ArtisanshipCommission_F1_X169Y491", + "plane": "Luofu_ArtisanshipCommission", + "floor": "F1", + "position": [ + 167.8, + 491.0 + ], + "domain": "Occurrence" + }, + { + "name": "Occurrence_Luofu_ArtisanshipCommission_F1_X205Y145", + "route": "route.rogue.Occurrence.Luofu_ArtisanshipCommission_F1:Luofu_ArtisanshipCommission_F1_X205Y145", + "plane": "Luofu_ArtisanshipCommission", + "floor": "F1", + "position": [ + 205.5, + 145.5 + ], + "domain": "Occurrence" + }, + { + "name": "Occurrence_Luofu_ArtisanshipCommission_F1_X521Y63", + "route": "route.rogue.Occurrence.Luofu_ArtisanshipCommission_F1:Luofu_ArtisanshipCommission_F1_X521Y63", + "plane": "Luofu_ArtisanshipCommission", + "floor": "F1", + "position": [ + 521.8, + 63.6 + ], + "domain": "Occurrence" + }, + { + "name": "Respite_Herta_StorageZone_F1_X703Y267", + "route": "route.rogue.Respite.Herta_StorageZone_F1:Herta_StorageZone_F1_X703Y267", + "plane": "Herta_StorageZone", + "floor": "F1", + "position": [ + 703.2, + 267.6 + ], + "domain": "Respite" + }, + { + "name": "Respite_Jarilo_BackwaterPass_F1_X581Y403", + "route": "route.rogue.Respite.Jarilo_BackwaterPass_F1:Jarilo_BackwaterPass_F1_X581Y403", + "plane": "Jarilo_BackwaterPass", + "floor": "F1", + "position": [ + 581.5, + 403.5 + ], + "domain": "Respite" + }, + { + "name": "Respite_Jarilo_GreatMine_F1_X494Y237", + "route": "route.rogue.Respite.Jarilo_GreatMine_F1:Jarilo_GreatMine_F1_X494Y237", + "plane": "Jarilo_GreatMine", + "floor": "F1", + "position": [ + 494.5, + 237.2 + ], + "domain": "Respite" + }, + { + "name": "Respite_Jarilo_RivetTown_F1_X157Y273", + "route": "route.rogue.Respite.Jarilo_RivetTown_F1:Jarilo_RivetTown_F1_X157Y273", + "plane": "Jarilo_RivetTown", + "floor": "F1", + "position": [ + 157.2, + 273.5 + ], + "domain": "Respite" + }, + { + "name": "Respite_Jarilo_SilvermaneGuardRestrictedZone_F1_X777Y199", + "route": "route.rogue.Respite.Jarilo_SilvermaneGuardRestrictedZone_F1:Jarilo_SilvermaneGuardRestrictedZone_F1_X777Y199", + "plane": "Jarilo_SilvermaneGuardRestrictedZone", + "floor": "F1", + "position": [ + 777.2, + 199.7 + ], + "domain": "Respite" + }, + { + "name": "Respite_Luofu_ArtisanshipCommission_F1_X299Y863", + "route": "route.rogue.Respite.Luofu_ArtisanshipCommission_F1:Luofu_ArtisanshipCommission_F1_X299Y863", + "plane": "Luofu_ArtisanshipCommission", + "floor": "F1", + "position": [ + 299.6, + 863.4 + ], + "domain": "Respite" + }, + { + "name": "Respite_Luofu_Cloudford_F1_X417Y933", + "route": "route.rogue.Respite.Luofu_Cloudford_F1:Luofu_Cloudford_F1_X417Y933", + "plane": "Luofu_Cloudford", + "floor": "F1", + "position": [ + 417.5, + 933.4 + ], + "domain": "Respite" + } +] \ No newline at end of file