about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--Archipelago/client.gd14
-rw-r--r--util/generate_gamedata.rb5
2 files changed, 19 insertions, 0 deletions
diff --git a/Archipelago/client.gd b/Archipelago/client.gd index 8abc42c..6f5fefe 100644 --- a/Archipelago/client.gd +++ b/Archipelago/client.gd
@@ -77,6 +77,7 @@ const kREARRANGE_PANELS = 1
77const kCLASSIFICATION_LOCAL_NORMAL = 1 77const kCLASSIFICATION_LOCAL_NORMAL = 1
78const kCLASSIFICATION_LOCAL_REDUCED = 2 78const kCLASSIFICATION_LOCAL_REDUCED = 2
79const kCLASSIFICATION_LOCAL_INSANITY = 4 79const kCLASSIFICATION_LOCAL_INSANITY = 4
80const kCLASSIFICATION_LOCAL_SMALL_SPHERE_ONE = 8
80 81
81const kCLASSIFICATION_REMOTE_NORMAL = 0 82const kCLASSIFICATION_REMOTE_NORMAL = 0
82const kCLASSIFICATION_REMOTE_REDUCED = 1 83const kCLASSIFICATION_REMOTE_REDUCED = 1
@@ -282,8 +283,12 @@ func _on_data():
282 _victory_condition = _slot_data["victory_condition"] 283 _victory_condition = _slot_data["victory_condition"]
283 if _slot_data.has("shuffle_colors"): 284 if _slot_data.has("shuffle_colors"):
284 _color_shuffle = _slot_data["shuffle_colors"] 285 _color_shuffle = _slot_data["shuffle_colors"]
286
285 if _slot_data.has("shuffle_doors"): 287 if _slot_data.has("shuffle_doors"):
286 _door_shuffle = (_slot_data["shuffle_doors"] > 0) 288 _door_shuffle = (_slot_data["shuffle_doors"] > 0)
289 else:
290 _door_shuffle = false
291
287 if _slot_data.has("shuffle_paintings"): 292 if _slot_data.has("shuffle_paintings"):
288 _painting_shuffle = _slot_data["shuffle_paintings"] 293 _painting_shuffle = _slot_data["shuffle_paintings"]
289 if _slot_data.has("shuffle_panels"): 294 if _slot_data.has("shuffle_panels"):
@@ -296,6 +301,7 @@ func _on_data():
296 _mastery_achievements = _slot_data["mastery_achievements"] 301 _mastery_achievements = _slot_data["mastery_achievements"]
297 if _slot_data.has("level_2_requirement"): 302 if _slot_data.has("level_2_requirement"):
298 _level_2_requirement = _slot_data["level_2_requirement"] 303 _level_2_requirement = _slot_data["level_2_requirement"]
304
299 if _slot_data.has("location_checks"): 305 if _slot_data.has("location_checks"):
300 if _slot_data["location_checks"] == kCLASSIFICATION_REMOTE_NORMAL: 306 if _slot_data["location_checks"] == kCLASSIFICATION_REMOTE_NORMAL:
301 _location_classification_bit = kCLASSIFICATION_LOCAL_NORMAL 307 _location_classification_bit = kCLASSIFICATION_LOCAL_NORMAL
@@ -303,8 +309,16 @@ func _on_data():
303 _location_classification_bit = kCLASSIFICATION_LOCAL_REDUCED 309 _location_classification_bit = kCLASSIFICATION_LOCAL_REDUCED
304 elif _slot_data["location_checks"] == kCLASSIFICATION_REMOTE_INSANITY: 310 elif _slot_data["location_checks"] == kCLASSIFICATION_REMOTE_INSANITY:
305 _location_classification_bit = kCLASSIFICATION_LOCAL_INSANITY 311 _location_classification_bit = kCLASSIFICATION_LOCAL_INSANITY
312 else:
313 _location_classification_bit = kCLASSIFICATION_LOCAL_NORMAL
314
306 if _slot_data.has("early_color_hallways"): 315 if _slot_data.has("early_color_hallways"):
307 _early_color_hallways = _slot_data["early_color_hallways"] 316 _early_color_hallways = _slot_data["early_color_hallways"]
317 else:
318 _early_color_hallways = false
319
320 if _door_shuffle and not _early_color_hallways:
321 _location_classification_bit += kCLASSIFICATION_LOCAL_SMALL_SPHERE_ONE
308 322
309 if track_player: 323 if track_player:
310 setValue("PlayerPos", {"x": 0, "z": 0}) 324 setValue("PlayerPos", {"x": 0, "z": 0})
diff --git a/util/generate_gamedata.rb b/util/generate_gamedata.rb index f63e062..3f610b1 100644 --- a/util/generate_gamedata.rb +++ b/util/generate_gamedata.rb
@@ -8,6 +8,7 @@ outputpath = ARGV[2]
8CLASSIFICATION_NORMAL = 1 8CLASSIFICATION_NORMAL = 1
9CLASSIFICATION_REDUCED = 2 9CLASSIFICATION_REDUCED = 2
10CLASSIFICATION_INSANITY = 4 10CLASSIFICATION_INSANITY = 4
11CLASSIFICATION_SMALL_SPHERE_ONE = 8
11 12
12panel_to_id = {} 13panel_to_id = {}
13door_groups = {} 14door_groups = {}
@@ -80,6 +81,10 @@ config.each do |room_name, room_data|
80 classification_by_location_id[location_id] += CLASSIFICATION_REDUCED 81 classification_by_location_id[location_id] += CLASSIFICATION_REDUCED
81 end 82 end
82 end 83 end
84
85 if room_name == "Starting Room"
86 classification_by_location_id[location_id] += CLASSIFICATION_SMALL_SPHERE_ONE
87 end
83 end 88 end
84 end 89 end
85 90