From 95beaf55efe7f65ac6416f4fe08bd4f2f47f080e Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Sun, 21 Apr 2024 14:27:03 -0400 Subject: Expand sphere 1 in door shuffle + no ECH --- Archipelago/client.gd | 14 ++++++++++++++ util/generate_gamedata.rb | 5 +++++ 2 files changed, 19 insertions(+) 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 const kCLASSIFICATION_LOCAL_NORMAL = 1 const kCLASSIFICATION_LOCAL_REDUCED = 2 const kCLASSIFICATION_LOCAL_INSANITY = 4 +const kCLASSIFICATION_LOCAL_SMALL_SPHERE_ONE = 8 const kCLASSIFICATION_REMOTE_NORMAL = 0 const kCLASSIFICATION_REMOTE_REDUCED = 1 @@ -282,8 +283,12 @@ func _on_data(): _victory_condition = _slot_data["victory_condition"] if _slot_data.has("shuffle_colors"): _color_shuffle = _slot_data["shuffle_colors"] + if _slot_data.has("shuffle_doors"): _door_shuffle = (_slot_data["shuffle_doors"] > 0) + else: + _door_shuffle = false + if _slot_data.has("shuffle_paintings"): _painting_shuffle = _slot_data["shuffle_paintings"] if _slot_data.has("shuffle_panels"): @@ -296,6 +301,7 @@ func _on_data(): _mastery_achievements = _slot_data["mastery_achievements"] if _slot_data.has("level_2_requirement"): _level_2_requirement = _slot_data["level_2_requirement"] + if _slot_data.has("location_checks"): if _slot_data["location_checks"] == kCLASSIFICATION_REMOTE_NORMAL: _location_classification_bit = kCLASSIFICATION_LOCAL_NORMAL @@ -303,8 +309,16 @@ func _on_data(): _location_classification_bit = kCLASSIFICATION_LOCAL_REDUCED elif _slot_data["location_checks"] == kCLASSIFICATION_REMOTE_INSANITY: _location_classification_bit = kCLASSIFICATION_LOCAL_INSANITY + else: + _location_classification_bit = kCLASSIFICATION_LOCAL_NORMAL + if _slot_data.has("early_color_hallways"): _early_color_hallways = _slot_data["early_color_hallways"] + else: + _early_color_hallways = false + + if _door_shuffle and not _early_color_hallways: + _location_classification_bit += kCLASSIFICATION_LOCAL_SMALL_SPHERE_ONE if track_player: 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] CLASSIFICATION_NORMAL = 1 CLASSIFICATION_REDUCED = 2 CLASSIFICATION_INSANITY = 4 +CLASSIFICATION_SMALL_SPHERE_ONE = 8 panel_to_id = {} door_groups = {} @@ -80,6 +81,10 @@ config.each do |room_name, room_data| classification_by_location_id[location_id] += CLASSIFICATION_REDUCED end end + + if room_name == "Starting Room" + classification_by_location_id[location_id] += CLASSIFICATION_SMALL_SPHERE_ONE + end end end -- cgit 1.4.1