Add: Rogue routes

This commit is contained in:
LmeSzinc 2023-10-01 23:20:42 +08:00
parent 76805d6753
commit 31515678bc
27 changed files with 1760 additions and 38 deletions

View File

@ -248,33 +248,11 @@ class RouteDetect:
__str__ = __repr__ __str__ = __repr__
def filter_waypoints(name: str): def call(func, name):
return lambda x: x.waypoint.startswith(name) ws = waypoints.filter(lambda x: x.waypoint.startswith(name)).get('waypoint')
ws = ['exit_' if w == 'exit' else w for w in ws]
def clear_elite(): ws = ', '.join(ws)
with gen.Object('self.clear_elite'): gen.add(f'self.{func}({ws})')
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))
with gen.tab(): with gen.tab():
with gen.Def(name=spawn.route, args='self'): with gen.Def(name=spawn.route, args='self'):
@ -297,26 +275,33 @@ class RouteDetect:
pass pass
else: else:
gen.add(f'self.register_domain_exit({WaypointRepr(exit_)}, end_rotation={exit_.rotation})') 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 # Domain specific
if spawn.is_DomainBoss or spawn.is_DomainElite: if spawn.is_DomainBoss or spawn.is_DomainElite:
gen.Empty() gen.Empty()
clear_elite() call('clear_elite', 'enemy')
domain_reward() call('domain_reward', 'reward')
if spawn.is_DomainRespite: if spawn.is_DomainRespite:
gen.Empty() gen.Empty()
clear_item() call('clear_item', 'item')
domain_herta() call('domain_herta', 'herta')
if spawn.is_DomainOccurrence or spawn.is_DomainTransaction: if spawn.is_DomainOccurrence or spawn.is_DomainTransaction:
gen.Empty() gen.Empty()
clear_item() call('clear_item', 'item')
clear_event() call('clear_event', 'event')
if spawn.is_DomainBoss or spawn.is_DomainElite or spawn.is_DomainRespite: if spawn.is_DomainBoss or spawn.is_DomainElite or spawn.is_DomainRespite:
# Domain has only 1 exit # Domain has only 1 exit
with gen.Object('self.domain_single_exit'): call('domain_single_exit', 'exit')
gen.ObjectAttr(value=WaypointRepr(exit_))
# Single exit does not need end_rotation
# gen.ObjectAttr(key='end_rotation', value=exit_.rotation)
gen.Comment(self.GEN_END) gen.Comment(self.GEN_END)
@ -442,3 +427,5 @@ if __name__ == '__main__':
self.predict() self.predict()
self.write() self.write()
self.insert('./route/rogue', base='tasks.rogue.route.base') self.insert('./route/rogue', base='tasks.rogue.route.base')
rogue_extract('./route/rogue')

View File

@ -33,6 +33,16 @@ class TabWrapper:
self.suffix += suffix self.suffix += suffix
class VariableWrapper:
def __init__(self, name):
self.name = name
def __repr__(self):
return str(self.name)
__str__ = __repr__
class CodeGenerator: class CodeGenerator:
def __init__(self): def __init__(self):
self.tab_count = 0 self.tab_count = 0
@ -77,7 +87,7 @@ class CodeGenerator:
return TabWrapper(self) return TabWrapper(self)
def Empty(self): def Empty(self):
self.add('') self.lines.append('\n')
def Pass(self): def Pass(self):
self.add('pass') self.add('pass')
@ -89,6 +99,9 @@ class CodeGenerator:
for _ in range(empty): for _ in range(empty):
self.Empty() self.Empty()
def Variable(self, name):
return VariableWrapper(name)
def Value(self, key=None, value=None, type_=None, **kwargs): def Value(self, key=None, value=None, type_=None, **kwargs):
if key is not None: if key is not None:
if type_ is not None: if type_ is not None:

View File

@ -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 =====

View File

@ -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(),
)

View File

@ -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(),
)

View File

@ -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(),
)

View File

@ -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(),
)

View File

@ -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(),
)

View File

@ -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,
)

View File

@ -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(),
)

View File

@ -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)

View File

@ -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(),
)

View File

@ -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 =====

View File

@ -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 =====

View File

@ -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 =====

View File

@ -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 =====

View File

@ -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 =====

View File

@ -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 =====

View File

@ -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 =====

View File

@ -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 =====

View File

@ -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 =====

View File

@ -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 =====

View File

@ -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 =====

View File

@ -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 =====

View File

@ -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 =====

View File

@ -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 =====

497
route/rogue/route.json Normal file
View File

@ -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"
}
]