about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--Archipelago/client.gd26
-rw-r--r--Archipelago/settings_screen.gd1
-rw-r--r--Archipelago/teleport.gd24
-rw-r--r--util/generate_gamedata.rb24
4 files changed, 0 insertions, 75 deletions
diff --git a/Archipelago/client.gd b/Archipelago/client.gd index db79e15..3541016 100644 --- a/Archipelago/client.gd +++ b/Archipelago/client.gd
@@ -62,15 +62,6 @@ const progressive_items = {
62 {"item": "The Colorful - Green Door", "display": "Green"}, 62 {"item": "The Colorful - Green Door", "display": "Green"},
63 {"item": "The Colorful - Brown Door", "display": "Brown"}, 63 {"item": "The Colorful - Brown Door", "display": "Brown"},
64 {"item": "The Colorful - Gray Door", "display": "Gray"}, 64 {"item": "The Colorful - Gray Door", "display": "Gray"},
65 ],
66 "Progressive Pilgrimage":
67 [
68 {"item": "Hub Room - 1 Sunwarp", "display": "1 Sunwarp"},
69 {"item": "Orange Tower Fourth Floor - 2 Sunwarp", "display": "2 Sunwarp"},
70 {"item": "Orange Tower Third Floor - 3 Sunwarp", "display": "3 Sunwarp"},
71 {"item": "Orange Tower First Floor - 4 Sunwarp", "display": "4 Sunwarp"},
72 {"item": "Orange Tower Fourth Floor - 5 Sunwarp", "display": "5 Sunwarp"},
73 {"item": "Outside The Agreeable - 6 Sunwarp", "display": "6 Sunwarp"},
74 ] 65 ]
75} 66}
76 67
@@ -89,11 +80,6 @@ const kCLASSIFICATION_REMOTE_NORMAL = 0
89const kCLASSIFICATION_REMOTE_REDUCED = 1 80const kCLASSIFICATION_REMOTE_REDUCED = 1
90const kCLASSIFICATION_REMOTE_INSANITY = 2 81const kCLASSIFICATION_REMOTE_INSANITY = 2
91 82
92const kSUNWARP_ACCESS_NORMAL = 0
93const kSUNWARP_ACCESS_DISABLED = 1
94const kSUNWARP_ACCESS_UNLOCK = 2
95const kSUNWARP_ACCESS_PROGRESSIVE = 3
96
97var _client = WebSocketClient.new() 83var _client = WebSocketClient.new()
98var _should_process = false 84var _should_process = false
99var _initiated_disconnect = false 85var _initiated_disconnect = false
@@ -125,7 +111,6 @@ var _door_shuffle = false
125var _color_shuffle = false 111var _color_shuffle = false
126var _panel_shuffle = 0 # none, rearrange 112var _panel_shuffle = 0 # none, rearrange
127var _painting_shuffle = false 113var _painting_shuffle = false
128var _sunwarp_access = 0 # normal, disabled, unlock, progressive
129var _mastery_achievements = 21 114var _mastery_achievements = 21
130var _level_2_requirement = 223 115var _level_2_requirement = 223
131var _location_classification_bit = 0 116var _location_classification_bit = 0
@@ -291,8 +276,6 @@ func _on_data():
291 _painting_shuffle = _slot_data["shuffle_paintings"] 276 _painting_shuffle = _slot_data["shuffle_paintings"]
292 if _slot_data.has("shuffle_panels"): 277 if _slot_data.has("shuffle_panels"):
293 _panel_shuffle = _slot_data["shuffle_panels"] 278 _panel_shuffle = _slot_data["shuffle_panels"]
294 if _slot_data.has("sunwarp_access"):
295 _sunwarp_access = _slot_data["sunwarp_access"]
296 if _slot_data.has("seed"): 279 if _slot_data.has("seed"):
297 _slot_seed = _slot_data["seed"] 280 _slot_seed = _slot_data["seed"]
298 if _slot_data.has("painting_entrance_to_exit"): 281 if _slot_data.has("painting_entrance_to_exit"):
@@ -649,11 +632,6 @@ func processItem(item, index, from, flags):
649 painting_node = fake_parent_node.get_node_or_null(painting_id) 632 painting_node = fake_parent_node.get_node_or_null(painting_id)
650 if painting_node != null: 633 if painting_node != null:
651 painting_node.get_node("Script").movePainting() 634 painting_node.get_node("Script").movePainting()
652
653 if gamedata.warp_ids_by_item_id.has(int(item)):
654 var warpsNode = get_tree().get_root().get_node("Spatial/Warps")
655 for warp_id in gamedata.warp_ids_by_item_id[int(item)]:
656 warpsNode.get_node(warp_id).unlock_warp()
657 635
658 # Handle progressive items. 636 # Handle progressive items.
659 if item_name in progressive_items.keys(): 637 if item_name in progressive_items.keys():
@@ -715,10 +693,6 @@ func paintingIsVanilla(painting):
715 return !$Gamedata.mentioned_paintings.has(painting) 693 return !$Gamedata.mentioned_paintings.has(painting)
716 694
717 695
718func warpIsVanilla(warp):
719 return !$Gamedata.mentioned_warps.has(warp)
720
721
722func evaluateSolvability(): 696func evaluateSolvability():
723 emit_signal("evaluate_solvability") 697 emit_signal("evaluate_solvability")
724 698
diff --git a/Archipelago/settings_screen.gd b/Archipelago/settings_screen.gd index 0ae218e..2cabe09 100644 --- a/Archipelago/settings_screen.gd +++ b/Archipelago/settings_screen.gd
@@ -46,7 +46,6 @@ func _ready():
46 installScriptExtension(ResourceLoader.load("user://maps/Archipelago/panelInput.gd")) 46 installScriptExtension(ResourceLoader.load("user://maps/Archipelago/panelInput.gd"))
47 installScriptExtension(ResourceLoader.load("user://maps/Archipelago/pause_menu.gd")) 47 installScriptExtension(ResourceLoader.load("user://maps/Archipelago/pause_menu.gd"))
48 installScriptExtension(ResourceLoader.load("user://maps/Archipelago/player.gd")) 48 installScriptExtension(ResourceLoader.load("user://maps/Archipelago/player.gd"))
49 installScriptExtension(ResourceLoader.load("user://maps/Archipelago/teleport.gd"))
50 installScriptExtension(ResourceLoader.load("user://maps/Archipelago/worldTransporter.gd")) 49 installScriptExtension(ResourceLoader.load("user://maps/Archipelago/worldTransporter.gd"))
51 50
52 var apclient = global.get_node("Archipelago") 51 var apclient = global.get_node("Archipelago")
diff --git a/Archipelago/teleport.gd b/Archipelago/teleport.gd deleted file mode 100644 index d322722..0000000 --- a/Archipelago/teleport.gd +++ /dev/null
@@ -1,24 +0,0 @@
1extends "res://scripts/teleport.gd"
2
3var _unlocked = true
4
5
6func _ready():
7 var apclient = global.get_node("Archipelago")
8 if apclient._door_shuffle and !apclient.warpIsVanilla(self.get_parent().name + "/" + self.name):
9 if self.get_parent().name == "Teleporter Warps":
10 if apclient._sunwarp_access != apclient.kSUNWARP_ACCESS_NORMAL:
11 _unlocked = false
12 else:
13 _unlocked = false
14
15 ._ready()
16
17
18func _body_entered(var body):
19 if _unlocked:
20 ._body_entered(body)
21
22
23func unlock_warp():
24 _unlocked = true
diff --git a/util/generate_gamedata.rb b/util/generate_gamedata.rb index 1cce003..5e03655 100644 --- a/util/generate_gamedata.rb +++ b/util/generate_gamedata.rb
@@ -15,12 +15,10 @@ door_groups = {}
15panel_output = [] 15panel_output = []
16door_ids_by_item_id = {} 16door_ids_by_item_id = {}
17painting_ids_by_item_id = {} 17painting_ids_by_item_id = {}
18warp_ids_by_item_id = {}
19panel_ids_by_location_id = {} 18panel_ids_by_location_id = {}
20classification_by_location_id = {} 19classification_by_location_id = {}
21mentioned_doors = Set[] 20mentioned_doors = Set[]
22mentioned_paintings = Set[] 21mentioned_paintings = Set[]
23mentioned_warps = Set[]
24painting_output = {} 22painting_output = {}
25 23
26ids_config = YAML.load_file(idspath) 24ids_config = YAML.load_file(idspath)
@@ -154,18 +152,6 @@ config.each do |room_name, room_data|
154 painting_ids_by_item_id[item_id] = internal_painting_ids 152 painting_ids_by_item_id[item_id] = internal_painting_ids
155 mentioned_paintings.merge(internal_painting_ids) 153 mentioned_paintings.merge(internal_painting_ids)
156 end 154 end
157
158 if door.include? "warp_id"
159 internal_warp_ids = []
160 if door["warp_id"].kind_of? String
161 internal_warp_ids = [door["warp_id"]]
162 else
163 internal_warp_ids = door["warp_id"]
164 end
165
166 warp_ids_by_item_id[item_id] = internal_warp_ids
167 mentioned_warps.merge(internal_warp_ids)
168 end
169 end 155 end
170 end 156 end
171 end 157 end
@@ -195,12 +181,6 @@ File.open(outputpath, "w") do |f|
195 "\"#{painting_id}\"" 181 "\"#{painting_id}\""
196 end.join(",") + "]" 182 end.join(",") + "]"
197 end.join(",")) 183 end.join(","))
198 f.write "}\nvar warp_ids_by_item_id = {"
199 f.write(warp_ids_by_item_id.map do |item_id, warp_ids|
200 "#{item_id}:[" + warp_ids.map do |warp_id|
201 "\"#{warp_id}\""
202 end.join(",") + "]"
203 end.join(","))
204 f.write "}\nvar panel_ids_by_location_id = {" 184 f.write "}\nvar panel_ids_by_location_id = {"
205 f.write(panel_ids_by_location_id.map do |location_id, panel_ids| 185 f.write(panel_ids_by_location_id.map do |location_id, panel_ids|
206 "#{location_id}:[" + panel_ids.map do |panel_id| 186 "#{location_id}:[" + panel_ids.map do |panel_id|
@@ -215,10 +195,6 @@ File.open(outputpath, "w") do |f|
215 f.write(mentioned_paintings.map do |painting_id| 195 f.write(mentioned_paintings.map do |painting_id|
216 "\"#{painting_id}\"" 196 "\"#{painting_id}\""
217 end.join(",")) 197 end.join(","))
218 f.write "]\nvar mentioned_warps = ["
219 f.write(mentioned_warps.map do |warp_id|
220 "\"#{warp_id}\""
221 end.join(","))
222 f.write "]\nvar paintings = {" 198 f.write "]\nvar paintings = {"
223 f.write(painting_output.map do |painting_id, painting| 199 f.write(painting_output.map do |painting_id, painting|
224 "\"#{painting_id}\":{\"orientation\":\"#{painting["orientation"]}\",\"move\":#{painting.include? "move" and painting["move"]}}" 200 "\"#{painting_id}\":{\"orientation\":\"#{painting["orientation"]}\",\"move\":#{painting.include? "move" and painting["move"]}}"