about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--apworld/client/manager.gd2
-rw-r--r--apworld/client/player.gd102
-rw-r--r--apworld/player_logic.py4
-rw-r--r--data/connections.txtpb82
-rw-r--r--data/ids.yaml57
-rw-r--r--data/maps/icarus/connections.txtpb15
-rw-r--r--data/maps/icarus/doors.txtpb66
-rw-r--r--data/maps/icarus/metadata.txtpb2
-rw-r--r--data/maps/icarus/rooms/Mastery.txtpb5
-rw-r--r--data/maps/icarus/rooms/Trans Rights Panels.txtpb22
-rw-r--r--data/maps/icarus/rooms/Trans Rights.txtpb21
-rw-r--r--data/maps/the_charismatic/connections.txtpb35
-rw-r--r--data/maps/the_charismatic/doors.txtpb56
-rw-r--r--data/maps/the_charismatic/metadata.txtpb4
-rw-r--r--data/maps/the_charismatic/rooms/Latitude Middle.txtpb8
-rw-r--r--data/maps/the_charismatic/rooms/Latitude North.txtpb8
-rw-r--r--data/maps/the_charismatic/rooms/Latitude South.txtpb8
-rw-r--r--data/maps/the_charismatic/rooms/Longitude East.txtpb8
-rw-r--r--data/maps/the_charismatic/rooms/Longitude Middle.txtpb8
-rw-r--r--data/maps/the_charismatic/rooms/Longitude West.txtpb8
-rw-r--r--data/maps/the_charismatic/rooms/Main Area.txtpb78
-rw-r--r--data/maps/the_charismatic/rooms/Mastery.txtpb5
-rw-r--r--data/maps/the_crystalline/connections.txtpb25
-rw-r--r--data/maps/the_crystalline/doors.txtpb5
-rw-r--r--data/maps/the_crystalline/metadata.txtpb4
-rw-r--r--data/maps/the_crystalline/rooms/Flip Area.txtpb14
-rw-r--r--data/maps/the_crystalline/rooms/Main Area.txtpb29
-rw-r--r--data/maps/the_crystalline/rooms/Mastery.txtpb5
-rw-r--r--data/maps/the_crystalline/rooms/Painting Divot.txtpb5
-rw-r--r--data/maps/the_entry/metadata.txtpb2
-rw-r--r--data/maps/the_entry/rooms/Starting Room.txtpb2
31 files changed, 669 insertions, 26 deletions
diff --git a/apworld/client/manager.gd b/apworld/client/manager.gd index 91797b2..41ab648 100644 --- a/apworld/client/manager.gd +++ b/apworld/client/manager.gd
@@ -64,6 +64,7 @@ var apworld_version = [0, 0, 0]
64var cyan_door_behavior = kCYAN_DOOR_BEHAVIOR_H2 64var cyan_door_behavior = kCYAN_DOOR_BEHAVIOR_H2
65var daedalus_roof_access = false 65var daedalus_roof_access = false
66var enable_gift_maps = [] 66var enable_gift_maps = []
67var enable_icarus = false
67var keyholder_sanity = false 68var keyholder_sanity = false
68var port_pairings = {} 69var port_pairings = {}
69var shuffle_control_center_colors = false 70var shuffle_control_center_colors = false
@@ -441,6 +442,7 @@ func _client_connected(slot_data):
441 cyan_door_behavior = int(slot_data.get("cyan_door_behavior", 0)) 442 cyan_door_behavior = int(slot_data.get("cyan_door_behavior", 0))
442 daedalus_roof_access = bool(slot_data.get("daedalus_roof_access", false)) 443 daedalus_roof_access = bool(slot_data.get("daedalus_roof_access", false))
443 enable_gift_maps = slot_data.get("enable_gift_maps", []) 444 enable_gift_maps = slot_data.get("enable_gift_maps", [])
445 enable_icarus = bool(slot_data.get("enable_icarus", false))
444 keyholder_sanity = bool(slot_data.get("keyholder_sanity", false)) 446 keyholder_sanity = bool(slot_data.get("keyholder_sanity", false))
445 shuffle_control_center_colors = bool(slot_data.get("shuffle_control_center_colors", false)) 447 shuffle_control_center_colors = bool(slot_data.get("shuffle_control_center_colors", false))
446 shuffle_doors = bool(slot_data.get("shuffle_doors", false)) 448 shuffle_doors = bool(slot_data.get("shuffle_doors", false))
diff --git a/apworld/client/player.gd b/apworld/client/player.gd index 3858e53..8aee21a 100644 --- a/apworld/client/player.gd +++ b/apworld/client/player.gd
@@ -113,6 +113,34 @@ func _ready():
113 icely_wpl.senders.append(NodePath("../IcelyPanel")) 113 icely_wpl.senders.append(NodePath("../IcelyPanel"))
114 giftmap_parent.add_child.call_deferred(icely_wpl) 114 giftmap_parent.add_child.call_deferred(icely_wpl)
115 115
116 if ap.enable_gift_maps.has("The Charismatic"):
117 var souvey_panel = panel_prefab.instantiate()
118 souvey_panel.name = "SouveyPanel"
119 souvey_panel.answer = "souvey"
120 souvey_panel.position = Vector3(33.5, -210, 5.5)
121 giftmap_panel.proxies.append(NodePath("../SouveyPanel"))
122 giftmap_parent.add_child.call_deferred(souvey_panel)
123
124 var souvey_wpl = wpl_prefab.instantiate()
125 souvey_wpl.name = "SouveyWpl"
126 souvey_wpl.exit = "the_charismatic"
127 souvey_wpl.senders.append(NodePath("../SouveyPanel"))
128 giftmap_parent.add_child.call_deferred(souvey_wpl)
129
130 if ap.enable_gift_maps.has("The Crystalline"):
131 var q_panel = panel_prefab.instantiate()
132 q_panel.name = "QPanel"
133 q_panel.answer = "q"
134 q_panel.position = Vector3(33.5, -220, 5.5)
135 giftmap_panel.proxies.append(NodePath("../QPanel"))
136 giftmap_parent.add_child.call_deferred(q_panel)
137
138 var q_wpl = wpl_prefab.instantiate()
139 q_wpl.name = "QWpl"
140 q_wpl.exit = "the_crystalline"
141 q_wpl.senders.append(NodePath("../QPanel"))
142 giftmap_parent.add_child.call_deferred(q_wpl)
143
116 giftmap_parent.add_child.call_deferred(giftmap_panel) 144 giftmap_parent.add_child.call_deferred(giftmap_panel)
117 145
118 var giftmap_tpl = tpl_prefab.instantiate() 146 var giftmap_tpl = tpl_prefab.instantiate()
@@ -233,6 +261,34 @@ func _ready():
233 var rte_trigger = get_node("/root/scene/Components/Warps/triggerArea") 261 var rte_trigger = get_node("/root/scene/Components/Warps/triggerArea")
234 rte_trigger.position.z = 0 262 rte_trigger.position.z = 0
235 263
264 # Add the mastery to Icarus.
265 if global.map == "icarus" and ap.enable_icarus:
266 var collectable_prefab = preload("res://objects/nodes/collectable.tscn")
267 var saver_prefab = preload("res://objects/nodes/saver.tscn")
268 var tpl_prefab = preload("res://objects/nodes/listeners/teleportListener.tscn")
269
270 var mastery = collectable_prefab.instantiate()
271 mastery.name = "collectable"
272 mastery.position = Vector3(0, -2000, 0)
273 mastery.unlock_type = "smiley"
274 mastery.material_override = load("res://assets/materials/gold.material")
275 get_node("/root/scene/Components/Collectables").add_child.call_deferred(mastery)
276
277 var tpl = tpl_prefab.instantiate()
278 tpl.teleport_point = Vector3(56.25, 0, -5.5)
279 tpl.teleport_rotate = Vector3(0, 0, 0)
280 tpl.target_path = mastery
281 tpl.name = "Teleport"
282 tpl.senderGroup.append(NodePath("/root/scene/Panels"))
283 tpl.nested = true
284 mastery.add_child.call_deferred(tpl)
285
286 var saver = saver_prefab.instantiate()
287 saver.name = "saver_collectables"
288 saver.type = "collectables"
289 saver.senderGroup.append(NodePath("/root/scene/Components/Collectables"))
290 get_node("/root/scene").add_child.call_deferred(saver)
291
236 # Add the mastery to The Advanced. 292 # Add the mastery to The Advanced.
237 if global.map == "the_advanced": 293 if global.map == "the_advanced":
238 var collectable_prefab = preload("res://objects/nodes/collectable.tscn") 294 var collectable_prefab = preload("res://objects/nodes/collectable.tscn")
@@ -262,6 +318,52 @@ func _ready():
262 saver.senderGroup.append(NodePath("/root/scene/Components/Collectables")) 318 saver.senderGroup.append(NodePath("/root/scene/Components/Collectables"))
263 get_node("/root/scene").add_child.call_deferred(saver) 319 get_node("/root/scene").add_child.call_deferred(saver)
264 320
321 # Add the mastery to The Charismatic.
322 if global.map == "the_charismatic":
323 var collectable_prefab = preload("res://objects/nodes/collectable.tscn")
324 var saver_prefab = preload("res://objects/nodes/saver.tscn")
325
326 var mastery = collectable_prefab.instantiate()
327 mastery.name = "collectable"
328 mastery.position = Vector3(-17, 2, -29)
329 mastery.rotation_degrees = Vector3(0, 45, 0)
330 mastery.unlock_type = "smiley"
331 mastery.material_override = load("res://assets/materials/gold.material")
332 get_node("/root/scene/Components/Collectables").add_child.call_deferred(mastery)
333
334 var saver = saver_prefab.instantiate()
335 saver.name = "saver_collectables"
336 saver.type = "collectables"
337 saver.senderGroup.append(NodePath("/root/scene/Components/Collectables"))
338 get_node("/root/scene").add_child.call_deferred(saver)
339
340 # Add the mastery to The Crystalline.
341 if global.map == "the_crystalline":
342 var collectable_prefab = preload("res://objects/nodes/collectable.tscn")
343 var saver_prefab = preload("res://objects/nodes/saver.tscn")
344 var tpl_prefab = preload("res://objects/nodes/listeners/teleportListener.tscn")
345
346 var mastery = collectable_prefab.instantiate()
347 mastery.name = "collectable"
348 mastery.position = Vector3(0, 13, 37)
349 mastery.unlock_type = "smiley"
350 mastery.material_override = load("res://assets/materials/gold.material")
351 get_node("/root/scene/Components/Collectables").add_child.call_deferred(mastery)
352
353 var tpl = tpl_prefab.instantiate()
354 tpl.teleport_point = Vector3(0, 11.5, -20)
355 tpl.teleport_rotate = Vector3(0, 0, 180)
356 tpl.target_path = mastery
357 tpl.name = "Teleport"
358 tpl.senders.append(NodePath("/root/scene/Panels/Room_1/panel_3"))
359 mastery.add_child.call_deferred(tpl)
360
361 var saver = saver_prefab.instantiate()
362 saver.name = "saver_collectables"
363 saver.type = "collectables"
364 saver.senderGroup.append(NodePath("/root/scene/Components/Collectables"))
365 get_node("/root/scene").add_child.call_deferred(saver)
366
265 ap.update_job_well_done_sign() 367 ap.update_job_well_done_sign()
266 368
267 # Set up door locations. 369 # Set up door locations.
diff --git a/apworld/player_logic.py b/apworld/player_logic.py index 4f825b9..5f4f1d7 100644 --- a/apworld/player_logic.py +++ b/apworld/player_logic.py
@@ -237,6 +237,10 @@ class Lingo2PlayerLogic:
237 elif game_map.type == data_pb2.MapType.GIFT_MAP: 237 elif game_map.type == data_pb2.MapType.GIFT_MAP:
238 if game_map.name == "the_advanced": 238 if game_map.name == "the_advanced":
239 return "The Advanced" in world.options.enable_gift_maps.value 239 return "The Advanced" in world.options.enable_gift_maps.value
240 elif game_map.name == "the_charismatic":
241 return "The Charismatic" in world.options.enable_gift_maps.value
242 elif game_map.name == "the_crystalline":
243 return "The Crystalline" in world.options.enable_gift_maps.value
240 244
241 return False 245 return False
242 246
diff --git a/data/connections.txtpb b/data/connections.txtpb index 5027215..12d6cfe 100644 --- a/data/connections.txtpb +++ b/data/connections.txtpb
@@ -2522,3 +2522,85 @@ connections {
2522 } 2522 }
2523 oneway: true 2523 oneway: true
2524} 2524}
2525connections {
2526 from {
2527 panel {
2528 map: "the_entry"
2529 room: "Starting Room"
2530 name: "Gift Maps"
2531 answer: "souvey"
2532 }
2533 }
2534 to {
2535 room {
2536 map: "the_charismatic"
2537 name: "Main Area"
2538 }
2539 }
2540 oneway: true
2541}
2542connections {
2543 from {
2544 port {
2545 map: "the_charismatic"
2546 room: "Main Area"
2547 name: "WORLDPORT"
2548 }
2549 }
2550 to {
2551 room {
2552 map: "the_entry"
2553 name: "Starting Room"
2554 }
2555 }
2556 oneway: true
2557}
2558connections {
2559 from {
2560 panel {
2561 map: "the_entry"
2562 room: "Starting Room"
2563 name: "Gift Maps"
2564 answer: "q"
2565 }
2566 }
2567 to {
2568 room {
2569 map: "the_crystalline"
2570 name: "Main Area"
2571 }
2572 }
2573 oneway: true
2574}
2575connections {
2576 from {
2577 port {
2578 map: "the_crystalline"
2579 room: "Main Area"
2580 name: "WORLDPORT"
2581 }
2582 }
2583 to {
2584 room {
2585 map: "the_entry"
2586 name: "Starting Room"
2587 }
2588 }
2589 oneway: true
2590}
2591connections {
2592 # Possibly the most cursed connection in the entire game.
2593 from {
2594 room {
2595 map: "the_crystalline"
2596 name: "Flip Area"
2597 }
2598 }
2599 to {
2600 room {
2601 map: "icarus"
2602 name: "Welcome Spine (Obverse)"
2603 }
2604 }
2605 oneway: true
2606}
diff --git a/data/ids.yaml b/data/ids.yaml index bfa1f5c..dc57d10 100644 --- a/data/ids.yaml +++ b/data/ids.yaml
@@ -1229,6 +1229,9 @@ maps:
1229 panels: 1229 panels:
1230 DIAGNOSIS: 2882 1230 DIAGNOSIS: 2882
1231 QUEEN: 2883 1231 QUEEN: 2883
1232 Mastery:
1233 masteries:
1234 MASTERY: 2994
1232 Maze: 1235 Maze:
1233 panels: 1236 panels:
1234 ANALYSIS: 2887 1237 ANALYSIS: 2887
@@ -1288,11 +1291,13 @@ maps:
1288 PRINCE: 2921 1291 PRINCE: 2921
1289 Trans Rights: 1292 Trans Rights:
1290 panels: 1293 panels:
1294 SERVANT (1): 2926
1295 SERVANT (2): 2927
1296 Trans Rights Panels:
1297 panels:
1291 AGENDER: 2923 1298 AGENDER: 2923
1292 HUMAN (3): 2924 1299 HUMAN (3): 2924
1293 HUMAN (4): 2925 1300 HUMAN (4): 2925
1294 SERVANT (1): 2926
1295 SERVANT (2): 2927
1296 Welcome Spine (Obverse): 1301 Welcome Spine (Obverse):
1297 panels: 1302 panels:
1298 FISHWIFE: 2928 1303 FISHWIFE: 2928
@@ -1540,6 +1545,41 @@ maps:
1540 Mastery: 1545 Mastery:
1541 masteries: 1546 masteries:
1542 MASTERY: 140 1547 MASTERY: 140
1548 the_charismatic:
1549 rooms:
1550 Latitude Middle:
1551 panels:
1552 FUNNY: 2972
1553 Latitude North:
1554 panels:
1555 DEPENDABLE: 2973
1556 Latitude South:
1557 panels:
1558 CHARISMA: 2974
1559 Longitude East:
1560 panels:
1561 FUN: 2975
1562 Longitude Middle:
1563 panels:
1564 INTELLIGENT: 2976
1565 Longitude West:
1566 panels:
1567 CREATIVE: 2977
1568 Main Area:
1569 panels:
1570 AQUA: 2981
1571 ARC: 2978
1572 Blank: 2987
1573 HERE: 2984
1574 IT: 2985
1575 KING: 2979
1576 NAIL: 2983
1577 PINS: 2986
1578 TILE: 2982
1579 TIP: 2980
1580 Mastery:
1581 masteries:
1582 MASTERY: 2988
1543 the_colorful: 1583 the_colorful:
1544 rooms: 1584 rooms:
1545 Black Room: 1585 Black Room:
@@ -1656,6 +1696,19 @@ maps:
1656 Obverse Magenta Door: 173 1696 Obverse Magenta Door: 173
1657 Obverse Yellow Door: 178 1697 Obverse Yellow Door: 178
1658 Obverse Yellow Puzzles: 179 1698 Obverse Yellow Puzzles: 179
1699 the_crystalline:
1700 rooms:
1701 Flip Area:
1702 panels:
1703 SUCCEED: 2989
1704 Main Area:
1705 panels:
1706 DROP: 2991
1707 LEAP: 2990
1708 SPIN: 2992
1709 Mastery:
1710 masteries:
1711 MASTERY: 2993
1659 the_darkroom: 1712 the_darkroom:
1660 rooms: 1713 rooms:
1661 First Room: 1714 First Room:
diff --git a/data/maps/icarus/connections.txtpb b/data/maps/icarus/connections.txtpb index 1ec90d9..a963424 100644 --- a/data/maps/icarus/connections.txtpb +++ b/data/maps/icarus/connections.txtpb
@@ -607,6 +607,21 @@ connections {
607 } 607 }
608 oneway: true 608 oneway: true
609} 609}
610connections {
611 from_room: "Trans Rights"
612 to_room: "Trans Rights Panels"
613 oneway: true
614}
615connections {
616 from_room: "Above Trans Rights"
617 to_room: "Trans Rights Panels"
618 oneway: true
619}
620connections {
621 from_room: "Welcome Spine (Obverse)"
622 to_room: "Mastery"
623 door { name: "Mastery" }
624}
610# It is possible to fall out of the map from every room, which always sends you 625# It is possible to fall out of the map from every room, which always sends you
611# back to the beginning. 626# back to the beginning.
612connections { 627connections {
diff --git a/data/maps/icarus/doors.txtpb b/data/maps/icarus/doors.txtpb index 5554393..a333dea 100644 --- a/data/maps/icarus/doors.txtpb +++ b/data/maps/icarus/doors.txtpb
@@ -2,14 +2,14 @@ doors {
2 name: "Agender Door" 2 name: "Agender Door"
3 type: STANDARD 3 type: STANDARD
4 receivers: "Components/Doors/quicktravel3" 4 receivers: "Components/Doors/quicktravel3"
5 panels { room: "Trans Rights" name: "AGENDER" } 5 panels { room: "Trans Rights Panels" name: "AGENDER" }
6 location_room: "Trans Rights" 6 location_room: "Trans Rights Panels"
7} 7}
8doors { 8doors {
9 name: "Quick Travel 3" 9 name: "Quick Travel 3"
10 type: ITEM_ONLY 10 type: ITEM_ONLY
11 receivers: "Components/Paintings/QuickTravel/go3" 11 receivers: "Components/Paintings/QuickTravel/go3"
12 panels { room: "Trans Rights" name: "AGENDER" } 12 panels { room: "Trans Rights Panels" name: "AGENDER" }
13} 13}
14doors { 14doors {
15 name: "Pea Door" 15 name: "Pea Door"
@@ -224,3 +224,63 @@ doors {
224 panels { room: "Spiral Ramp" name: "FIREMAN" } 224 panels { room: "Spiral Ramp" name: "FIREMAN" }
225 location_room: "Spiral Ramp" 225 location_room: "Spiral Ramp"
226} 226}
227doors {
228 name: "Mastery"
229 type: EVENT
230 panels { room: "Above Trans Rights" name: "ANT" }
231 panels { room: "Big U" name: "DECK" }
232 panels { room: "Big U" name: "COLONY" }
233 panels { room: "Big U" name: "MANOR" }
234 panels { room: "Fatherland" name: "FATHERLAND" }
235 panels { room: "Highest Point" name: "DIAGNOSIS" }
236 panels { room: "Highest Point" name: "QUEEN" }
237 panels { room: "Maze Back" name: "THESE" }
238 panels { room: "Maze King Panel" name: "KING (2)" }
239 panels { room: "Maze" name: "KING (1)" }
240 panels { room: "Maze" name: "ANALYSIS" }
241 panels { room: "Maze" name: "MANSLAUGHTER" }
242 panels { room: "Maze" name: "MEDIUMS" }
243 panels { room: "Maze" name: "BOOKS" }
244 panels { room: "Mini Icarus 2" name: "BATTERY" }
245 panels { room: "Mini Icarus 2" name: "TROUPE" }
246 panels { room: "Mini Icarus 2" name: "ANIMALS" }
247 panels { room: "Mini Icarus 2" name: "ARROWS" }
248 panels { room: "Mini Icarus 2" name: "SQUAD" }
249 panels { room: "Pillar Ramp" name: "ASTEROID" }
250 panels { room: "Pillar Ramp" name: "BUNCH" }
251 panels { room: "Pillar Ramp" name: "PRINCES" }
252 panels { room: "Pillar Ramp" name: "PATRICIDE" }
253 panels { room: "Pillar Ramp" name: "DRONE" }
254 panels { room: "Pillar Ramp" name: "PEA (1)" }
255 panels { room: "Spiral Ramp" name: "FIREMAN" }
256 panels { room: "The Orb" name: "ADDERS" }
257 panels { room: "The Orb" name: "PUPPY" }
258 panels { room: "The Orb" name: "NEEDLE" }
259 panels { room: "The Orb" name: "US" }
260 panels { room: "The Orb" name: "FISH" }
261 panels { room: "The Orb" name: "DEADLINE" }
262 panels { room: "The Orb" name: "PEA (2)" }
263 panels { room: "The Orb" name: "THESIS" }
264 panels { room: "The Orb" name: "CLUTCH (1)" }
265 panels { room: "The Orb" name: "BASIS (2)" }
266 panels { room: "The Orb" name: "AXIS" }
267 panels { room: "The Orb" name: "STRAIGHT" }
268 panels { room: "The Orb" name: "HISS" }
269 panels { room: "The Orb" name: "DISCUS" }
270 panels { room: "The Orb" name: "SON" }
271 panels { room: "The Orb" name: "CLUTCH (2)" }
272 panels { room: "Through Woman (Obverse)" name: "HUMAN (2)" }
273 panels { room: "Through Woman (Obverse)" name: "COW" }
274 panels { room: "Through Woman (Reverse)" name: "PRINCE" }
275 panels { room: "Through Woman (Reverse)" name: "BASIS (1)" }
276 panels { room: "Trans Rights" name: "SERVANT (1)" }
277 panels { room: "Trans Rights" name: "SERVANT (2)" }
278 panels { room: "Trans Rights Panels" name: "AGENDER" }
279 panels { room: "Trans Rights Panels" name: "HUMAN (3)" }
280 panels { room: "Trans Rights Panels" name: "HUMAN (4)" }
281 panels { room: "Welcome Spine (Obverse)" name: "FISHWIFE" }
282 panels { room: "Welcome Spine (Obverse)" name: "HUMAN (1)" }
283 panels { room: "Welcome Spine (Reverse)" name: "FATHER" }
284 panels { room: "Welcome Spine (Reverse)" name: "TERMITE" }
285 panels { room: "Welcome Spine (Reverse)" name: "SISTER" }
286}
diff --git a/data/maps/icarus/metadata.txtpb b/data/maps/icarus/metadata.txtpb index 83afad7..8512d8e 100644 --- a/data/maps/icarus/metadata.txtpb +++ b/data/maps/icarus/metadata.txtpb
@@ -1,2 +1,4 @@
1display_name: "Icarus" 1display_name: "Icarus"
2type: ICARUS 2type: ICARUS
3# The map's mastery is created at runtime.
4custom_nodes: "Components/Collectables/collectable"
diff --git a/data/maps/icarus/rooms/Mastery.txtpb b/data/maps/icarus/rooms/Mastery.txtpb new file mode 100644 index 0000000..bbe8742 --- /dev/null +++ b/data/maps/icarus/rooms/Mastery.txtpb
@@ -0,0 +1,5 @@
1name: "Mastery"
2masteries {
3 name: "MASTERY"
4 path: "Components/Collectables/collectable"
5}
diff --git a/data/maps/icarus/rooms/Trans Rights Panels.txtpb b/data/maps/icarus/rooms/Trans Rights Panels.txtpb new file mode 100644 index 0000000..e51d4bc --- /dev/null +++ b/data/maps/icarus/rooms/Trans Rights Panels.txtpb
@@ -0,0 +1,22 @@
1name: "Trans Rights Panels"
2panels {
3 name: "AGENDER"
4 path: "Panels/Room_1/human4"
5 clue: "agender"
6 answer: "human"
7 symbols: GENDER
8}
9panels {
10 name: "HUMAN (3)"
11 path: "Panels/Room_1/human5"
12 clue: "human"
13 answer: "female"
14 symbols: GENDER
15}
16panels {
17 name: "HUMAN (4)"
18 path: "Panels/Room_1/human6"
19 clue: "human"
20 answer: "male"
21 symbols: GENDER
22}
diff --git a/data/maps/icarus/rooms/Trans Rights.txtpb b/data/maps/icarus/rooms/Trans Rights.txtpb index 2e95de6..2ca98dd 100644 --- a/data/maps/icarus/rooms/Trans Rights.txtpb +++ b/data/maps/icarus/rooms/Trans Rights.txtpb
@@ -1,27 +1,6 @@
1name: "Trans Rights" 1name: "Trans Rights"
2# slay 2# slay
3panels { 3panels {
4 name: "AGENDER"
5 path: "Panels/Room_1/human4"
6 clue: "agender"
7 answer: "human"
8 symbols: GENDER
9}
10panels {
11 name: "HUMAN (3)"
12 path: "Panels/Room_1/human5"
13 clue: "human"
14 answer: "female"
15 symbols: GENDER
16}
17panels {
18 name: "HUMAN (4)"
19 path: "Panels/Room_1/human6"
20 clue: "human"
21 answer: "male"
22 symbols: GENDER
23}
24panels {
25 name: "SERVANT (1)" 4 name: "SERVANT (1)"
26 path: "Panels/Room_1/servant" 5 path: "Panels/Room_1/servant"
27 clue: "servant" 6 clue: "servant"
diff --git a/data/maps/the_charismatic/connections.txtpb b/data/maps/the_charismatic/connections.txtpb new file mode 100644 index 0000000..6130302 --- /dev/null +++ b/data/maps/the_charismatic/connections.txtpb
@@ -0,0 +1,35 @@
1connections {
2 from_room: "Main Area"
3 to_room: "Latitude South"
4 door { name: "Latitude South Door" }
5}
6connections {
7 from_room: "Main Area"
8 to_room: "Latitude Middle"
9 door { name: "Latitude Middle Door" }
10}
11connections {
12 from_room: "Main Area"
13 to_room: "Latitude North"
14 door { name: "Latitude North Door" }
15}
16connections {
17 from_room: "Main Area"
18 to_room: "Longitude West"
19 door { name: "Longitude West Door" }
20}
21connections {
22 from_room: "Main Area"
23 to_room: "Longitude Middle"
24 door { name: "Longitude Middle Door" }
25}
26connections {
27 from_room: "Main Area"
28 to_room: "Longitude East"
29 door { name: "Longitude East Door" }
30}
31connections {
32 from_room: "Main Area"
33 to_room: "Mastery"
34 door { name: "Mastery Door" }
35}
diff --git a/data/maps/the_charismatic/doors.txtpb b/data/maps/the_charismatic/doors.txtpb new file mode 100644 index 0000000..0c7eb40 --- /dev/null +++ b/data/maps/the_charismatic/doors.txtpb
@@ -0,0 +1,56 @@
1doors {
2 name: "Latitude South Door"
3 type: EVENT
4 panels { room: "Main Area" name: "TIP" }
5 panels { room: "Main Area" name: "KING" }
6 panels { room: "Main Area" name: "ARC" }
7}
8doors {
9 name: "Latitude Middle Door"
10 type: EVENT
11 panels { room: "Main Area" name: "NAIL" }
12 panels { room: "Main Area" name: "TILE" }
13 panels { room: "Main Area" name: "AQUA" }
14}
15doors {
16 name: "Latitude North Door"
17 type: EVENT
18 panels { room: "Main Area" name: "PINS" }
19 panels { room: "Main Area" name: "IT" }
20 panels { room: "Main Area" name: "HERE" }
21}
22doors {
23 name: "Longitude West Door"
24 type: EVENT
25 panels { room: "Main Area" name: "ARC" }
26 panels { room: "Main Area" name: "AQUA" }
27 panels { room: "Main Area" name: "HERE" }
28}
29doors {
30 name: "Longitude Middle Door"
31 type: EVENT
32 panels { room: "Main Area" name: "KING" }
33 panels { room: "Main Area" name: "TILE" }
34 panels { room: "Main Area" name: "IT" }
35}
36doors {
37 name: "Longitude East Door"
38 type: EVENT
39 panels { room: "Main Area" name: "TIP" }
40 panels { room: "Main Area" name: "NAIL" }
41 panels { room: "Main Area" name: "PINS" }
42}
43doors {
44 name: "Mastery Door"
45 type: EVENT
46 panels { room: "Main Area" name: "HERE" }
47 panels { room: "Main Area" name: "TILE" }
48 panels { room: "Main Area" name: "TIP" }
49 panels { room: "Main Area" name: "Blank" }
50 panels { room: "Latitude South" name: "CHARISMA" }
51 panels { room: "Latitude Middle" name: "FUNNY" }
52 panels { room: "Latitude North" name: "DEPENDABLE" }
53 panels { room: "Longitude West" name: "CREATIVE" }
54 panels { room: "Longitude Middle" name: "INTELLIGENT" }
55 panels { room: "Longitude East" name: "FUN" }
56}
diff --git a/data/maps/the_charismatic/metadata.txtpb b/data/maps/the_charismatic/metadata.txtpb new file mode 100644 index 0000000..8d26105 --- /dev/null +++ b/data/maps/the_charismatic/metadata.txtpb
@@ -0,0 +1,4 @@
1display_name: "The Charismatic"
2type: GIFT_MAP
3# The map's mastery is created at runtime.
4custom_nodes: "Components/Collectables/collectable"
diff --git a/data/maps/the_charismatic/rooms/Latitude Middle.txtpb b/data/maps/the_charismatic/rooms/Latitude Middle.txtpb new file mode 100644 index 0000000..7d83dcf --- /dev/null +++ b/data/maps/the_charismatic/rooms/Latitude Middle.txtpb
@@ -0,0 +1,8 @@
1name: "Latitude Middle"
2panels {
3 name: "FUNNY"
4 path: "Panels/Room 2/panel_h"
5 clue: "funny"
6 answer: "hilarious"
7 symbols: PYRAMID
8}
diff --git a/data/maps/the_charismatic/rooms/Latitude North.txtpb b/data/maps/the_charismatic/rooms/Latitude North.txtpb new file mode 100644 index 0000000..50c412b --- /dev/null +++ b/data/maps/the_charismatic/rooms/Latitude North.txtpb
@@ -0,0 +1,8 @@
1name: "Latitude North"
2panels {
3 name: "DEPENDABLE"
4 path: "Panels/Room 2/panel_r"
5 clue: "dependable"
6 answer: "reliable"
7 symbols: SUN
8}
diff --git a/data/maps/the_charismatic/rooms/Latitude South.txtpb b/data/maps/the_charismatic/rooms/Latitude South.txtpb new file mode 100644 index 0000000..472e4a7 --- /dev/null +++ b/data/maps/the_charismatic/rooms/Latitude South.txtpb
@@ -0,0 +1,8 @@
1name: "Latitude South"
2panels {
3 name: "CHARISMA"
4 path: "Panels/Room 2/panel_c"
5 clue: "charisma"
6 answer: "charismatic"
7 symbols: QUESTION
8}
diff --git a/data/maps/the_charismatic/rooms/Longitude East.txtpb b/data/maps/the_charismatic/rooms/Longitude East.txtpb new file mode 100644 index 0000000..75cd6e0 --- /dev/null +++ b/data/maps/the_charismatic/rooms/Longitude East.txtpb
@@ -0,0 +1,8 @@
1name: "Longitude East"
2panels {
3 name: "FUN"
4 path: "Panels/Room 2/panel_s2"
5 clue: "fun"
6 answer: "silly"
7 symbols: SUN
8}
diff --git a/data/maps/the_charismatic/rooms/Longitude Middle.txtpb b/data/maps/the_charismatic/rooms/Longitude Middle.txtpb new file mode 100644 index 0000000..7ee8c11 --- /dev/null +++ b/data/maps/the_charismatic/rooms/Longitude Middle.txtpb
@@ -0,0 +1,8 @@
1name: "Longitude Middle"
2panels {
3 name: "INTELLIGENT"
4 path: "Panels/Room 2/panel_s"
5 clue: "intelligent"
6 answer: "smart"
7 symbols: SUN
8}
diff --git a/data/maps/the_charismatic/rooms/Longitude West.txtpb b/data/maps/the_charismatic/rooms/Longitude West.txtpb new file mode 100644 index 0000000..28fe8c8 --- /dev/null +++ b/data/maps/the_charismatic/rooms/Longitude West.txtpb
@@ -0,0 +1,8 @@
1name: "Longitude West"
2panels {
3 name: "CREATIVE"
4 path: "Panels/Room 2/panel_i"
5 clue: "creative"
6 answer: "imaginative"
7 symbols: SUN
8}
diff --git a/data/maps/the_charismatic/rooms/Main Area.txtpb b/data/maps/the_charismatic/rooms/Main Area.txtpb new file mode 100644 index 0000000..2d84000 --- /dev/null +++ b/data/maps/the_charismatic/rooms/Main Area.txtpb
@@ -0,0 +1,78 @@
1name: "Main Area"
2panels {
3 name: "ARC"
4 path: "Panels/Room_1/panel_1"
5 clue: "arc"
6 answer: "arctic"
7 symbols: QUESTION
8}
9panels {
10 name: "KING"
11 path: "Panels/Room_1/panel_2"
12 clue: "king"
13 answer: "tacking"
14 symbols: QUESTION
15}
16panels {
17 name: "TIP"
18 path: "Panels/Room_1/panel_3"
19 clue: "tip"
20 answer: "tiptoe"
21 symbols: QUESTION
22}
23panels {
24 name: "AQUA"
25 path: "Panels/Room_1/panel_4"
26 clue: "aqua"
27 answer: "aquatic"
28 symbols: QUESTION
29}
30panels {
31 name: "TILE"
32 path: "Panels/Room_1/panel_5"
33 clue: "tile"
34 answer: "tactile"
35 symbols: QUESTION
36}
37panels {
38 name: "NAIL"
39 path: "Panels/Room_1/panel_6"
40 clue: "nail"
41 answer: "toenail"
42 symbols: QUESTION
43}
44panels {
45 name: "HERE"
46 path: "Panels/Room_1/panel_7"
47 clue: "here"
48 answer: "heretic"
49 symbols: QUESTION
50}
51panels {
52 name: "IT"
53 path: "Panels/Room_1/panel_8"
54 clue: "it"
55 answer: "tacit"
56 symbols: QUESTION
57}
58panels {
59 name: "PINS"
60 path: "Panels/Room_1/panel_9"
61 clue: "pins"
62 answer: "pintoes"
63 symbols: QUESTION
64}
65panels {
66 name: "Blank"
67 path: "Panels/Room 3/panel_10"
68 clue: ""
69 answer: "tactic"
70 symbols: QUESTION
71}
72ports {
73 name: "WORLDPORT"
74 display_name: "Entrance"
75 path: "Components/Warps/worldport"
76 destination { x: 0 y: 0 z: 9.5 }
77 rotation: 0
78}
diff --git a/data/maps/the_charismatic/rooms/Mastery.txtpb b/data/maps/the_charismatic/rooms/Mastery.txtpb new file mode 100644 index 0000000..bbe8742 --- /dev/null +++ b/data/maps/the_charismatic/rooms/Mastery.txtpb
@@ -0,0 +1,5 @@
1name: "Mastery"
2masteries {
3 name: "MASTERY"
4 path: "Components/Collectables/collectable"
5}
diff --git a/data/maps/the_crystalline/connections.txtpb b/data/maps/the_crystalline/connections.txtpb new file mode 100644 index 0000000..4134d12 --- /dev/null +++ b/data/maps/the_crystalline/connections.txtpb
@@ -0,0 +1,25 @@
1connections {
2 from_room: "Main Area"
3 to_room: "Painting Divot"
4 oneway: true
5}
6connections {
7 from {
8 painting {
9 room: "Painting Divot"
10 name: "SNAKE"
11 }
12 }
13 to {
14 painting {
15 room: "Flip Area"
16 name: "SNAKE2"
17 }
18 }
19 oneway: true
20}
21connections {
22 from_room: "Flip Area"
23 to_room: "Mastery"
24 door { name: "Mastery" }
25}
diff --git a/data/maps/the_crystalline/doors.txtpb b/data/maps/the_crystalline/doors.txtpb new file mode 100644 index 0000000..024752a --- /dev/null +++ b/data/maps/the_crystalline/doors.txtpb
@@ -0,0 +1,5 @@
1doors {
2 name: "Mastery"
3 type: EVENT
4 panels { room: "Flip Area" name: "SUCCEED" }
5}
diff --git a/data/maps/the_crystalline/metadata.txtpb b/data/maps/the_crystalline/metadata.txtpb new file mode 100644 index 0000000..09b0f1d --- /dev/null +++ b/data/maps/the_crystalline/metadata.txtpb
@@ -0,0 +1,4 @@
1display_name: "The Crystalline"
2type: GIFT_MAP
3# The map's mastery is created at runtime.
4custom_nodes: "Components/Collectables/collectable"
diff --git a/data/maps/the_crystalline/rooms/Flip Area.txtpb b/data/maps/the_crystalline/rooms/Flip Area.txtpb new file mode 100644 index 0000000..3c6e3fd --- /dev/null +++ b/data/maps/the_crystalline/rooms/Flip Area.txtpb
@@ -0,0 +1,14 @@
1name: "Flip Area"
2panels {
3 name: "SUCCEED"
4 path: "Panels/Room_1/panel_3"
5 clue: "succeed"
6 answer: "win"
7 symbols: SUN
8}
9paintings {
10 name: "SNAKE2"
11 path: "Components/snake2"
12 exit_only: true
13 gravity: Y_PLUS
14}
diff --git a/data/maps/the_crystalline/rooms/Main Area.txtpb b/data/maps/the_crystalline/rooms/Main Area.txtpb new file mode 100644 index 0000000..0b8d26c --- /dev/null +++ b/data/maps/the_crystalline/rooms/Main Area.txtpb
@@ -0,0 +1,29 @@
1name: "Main Area"
2panels {
3 name: "LEAP"
4 path: "Panels/Room_1/panel_1"
5 clue: "leap"
6 answer: "jump"
7 symbols: SUN
8}
9panels {
10 name: "DROP"
11 path: "Panels/Room_1/panel_2"
12 clue: "drop"
13 answer: "fall"
14 symbols: SUN
15}
16panels {
17 name: "SPIN"
18 path: "Panels/Room_1/panel_4"
19 clue: "spin"
20 answer: "flip"
21 symbols: SUN
22}
23ports {
24 name: "WORLDPORT"
25 display_name: "Entrance"
26 path: "Components/Warps/worldport"
27 destination { x: 0 y: 0 z: 9.5 }
28 rotation: 0
29}
diff --git a/data/maps/the_crystalline/rooms/Mastery.txtpb b/data/maps/the_crystalline/rooms/Mastery.txtpb new file mode 100644 index 0000000..bbe8742 --- /dev/null +++ b/data/maps/the_crystalline/rooms/Mastery.txtpb
@@ -0,0 +1,5 @@
1name: "Mastery"
2masteries {
3 name: "MASTERY"
4 path: "Components/Collectables/collectable"
5}
diff --git a/data/maps/the_crystalline/rooms/Painting Divot.txtpb b/data/maps/the_crystalline/rooms/Painting Divot.txtpb new file mode 100644 index 0000000..ab9a132 --- /dev/null +++ b/data/maps/the_crystalline/rooms/Painting Divot.txtpb
@@ -0,0 +1,5 @@
1name: "Painting Divot"
2paintings {
3 name: "SNAKE"
4 path: "Components/snake"
5}
diff --git a/data/maps/the_entry/metadata.txtpb b/data/maps/the_entry/metadata.txtpb index 9536831..d969c68 100644 --- a/data/maps/the_entry/metadata.txtpb +++ b/data/maps/the_entry/metadata.txtpb
@@ -14,3 +14,5 @@ excluded_nodes: "Panels/Entry/entry_proxied_fake"
14# The gift map entrance is created by the mod. 14# The gift map entrance is created by the mod.
15custom_nodes: "Components/GiftMapEntrance/IcelyPanel" 15custom_nodes: "Components/GiftMapEntrance/IcelyPanel"
16custom_nodes: "Components/GiftMapEntrance/Panel" 16custom_nodes: "Components/GiftMapEntrance/Panel"
17custom_nodes: "Components/GiftMapEntrance/QPanel"
18custom_nodes: "Components/GiftMapEntrance/SouveyPanel"
diff --git a/data/maps/the_entry/rooms/Starting Room.txtpb b/data/maps/the_entry/rooms/Starting Room.txtpb index e21e3ff..a1f3dbf 100644 --- a/data/maps/the_entry/rooms/Starting Room.txtpb +++ b/data/maps/the_entry/rooms/Starting Room.txtpb
@@ -56,6 +56,8 @@ panels {
56 # for fun. 56 # for fun.
57 symbols: QUESTION 57 symbols: QUESTION
58 proxies { answer: "icely" path: "Components/GiftMapEntrance/IcelyPanel" } 58 proxies { answer: "icely" path: "Components/GiftMapEntrance/IcelyPanel" }
59 proxies { answer: "q" path: "Components/GiftMapEntrance/QPanel" }
60 proxies { answer: "souvey" path: "Components/GiftMapEntrance/SouveyPanel" }
59 required_door { name: "Gift Maps Entrance" } 61 required_door { name: "Gift Maps Entrance" }
60} 62}
61letters { 63letters {