From 62904f7943498efe9a041b2d42cbc9dae48a4c7d Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Wed, 19 Apr 2023 22:00:39 -0400 Subject: Signs get updated in panel shuffle mode Palindromes room is fixed now too. --- Archipelago/load.gd | 6 +++++- data/LL1.yaml | 14 +++++++++++--- util/generate_gamedata.rb | 8 +++++++- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/Archipelago/load.gd b/Archipelago/load.gd index c720f45..b2e7608 100644 --- a/Archipelago/load.gd +++ b/Archipelago/load.gd @@ -61,7 +61,8 @@ func _load(): "id": panel["id"], "hint": panel_node.text, "answer": panel_node.answer, - "link": panel["link"] + "link": panel["link"], + "copy_to_sign": panel["copy_to_sign"] } ) @@ -90,6 +91,9 @@ func _load(): target_panel_node.text = source["hint"] target_panel_node.answer = source["answer"] + for sign_name in target["copy_to_sign"]: + self.get_node("Decorations/PanelSign").get_node(sign_name).value = source["hint"] + # Handle our other static panels after panel randomization, so that the old # values can enter the pool, if necessary. set_static_panel("Entry Room/Panel_hi_hi", "hi") diff --git a/data/LL1.yaml b/data/LL1.yaml index d7fcb36..482e177 100644 --- a/data/LL1.yaml +++ b/data/LL1.yaml @@ -287,19 +287,27 @@ tag: midred - id: Palindrome Room/Panel_solos_solos color: black - tag: midblack + tag: palindrome + copy_to_sign: + - sign5 + - sign6 - id: Palindrome Room/Panel_solos_solos_2 color: white tag: midwhite + copy_to_sign: + - sign1 + - sign2 - id: Palindrome Room/Panel_racecar_racecar color: black - tag: forbid # The signs make this and LEVEL too hard for now + tag: palindrome + copy_to_sign: sign4 - id: Palindrome Room/Panel_racecar_racecar_2 color: white tag: midwhite + copy_to_sign: sign3 - id: Palindrome Room/Panel_level_level color: black - tag: forbid + tag: midblack - id: Palindrome Room/Panel_level_level_2 color: white tag: midwhite diff --git a/util/generate_gamedata.rb b/util/generate_gamedata.rb index 7f4216f..5940480 100644 --- a/util/generate_gamedata.rb +++ b/util/generate_gamedata.rb @@ -22,7 +22,13 @@ end.map do |panel| ret["link"] = "\"#{panel["link"]}\"" end if panel.include? "copy_to_sign" - ret["copy_to_sign"] = "\"#{panel["copy_to_sign"]}\"" + copytos = [] + if panel["copy_to_sign"].kind_of? String + copytos = [panel["copy_to_sign"]] + else + copytos = panel["copy_to_sign"] + end + ret["copy_to_sign"] = "[\"" + copytos.join("\",\"") + "\"]" end ret end.map do |panel| -- cgit 1.4.1