diff options
-rw-r--r-- | Archipelago/load.gd | 6 | ||||
-rw-r--r-- | data/LL1.yaml | 14 | ||||
-rw-r--r-- | 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(): | |||
61 | "id": panel["id"], | 61 | "id": panel["id"], |
62 | "hint": panel_node.text, | 62 | "hint": panel_node.text, |
63 | "answer": panel_node.answer, | 63 | "answer": panel_node.answer, |
64 | "link": panel["link"] | 64 | "link": panel["link"], |
65 | "copy_to_sign": panel["copy_to_sign"] | ||
65 | } | 66 | } |
66 | ) | 67 | ) |
67 | 68 | ||
@@ -90,6 +91,9 @@ func _load(): | |||
90 | target_panel_node.text = source["hint"] | 91 | target_panel_node.text = source["hint"] |
91 | target_panel_node.answer = source["answer"] | 92 | target_panel_node.answer = source["answer"] |
92 | 93 | ||
94 | for sign_name in target["copy_to_sign"]: | ||
95 | self.get_node("Decorations/PanelSign").get_node(sign_name).value = source["hint"] | ||
96 | |||
93 | # Handle our other static panels after panel randomization, so that the old | 97 | # Handle our other static panels after panel randomization, so that the old |
94 | # values can enter the pool, if necessary. | 98 | # values can enter the pool, if necessary. |
95 | set_static_panel("Entry Room/Panel_hi_hi", "hi") | 99 | 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 @@ | |||
287 | tag: midred | 287 | tag: midred |
288 | - id: Palindrome Room/Panel_solos_solos | 288 | - id: Palindrome Room/Panel_solos_solos |
289 | color: black | 289 | color: black |
290 | tag: midblack | 290 | tag: palindrome |
291 | copy_to_sign: | ||
292 | - sign5 | ||
293 | - sign6 | ||
291 | - id: Palindrome Room/Panel_solos_solos_2 | 294 | - id: Palindrome Room/Panel_solos_solos_2 |
292 | color: white | 295 | color: white |
293 | tag: midwhite | 296 | tag: midwhite |
297 | copy_to_sign: | ||
298 | - sign1 | ||
299 | - sign2 | ||
294 | - id: Palindrome Room/Panel_racecar_racecar | 300 | - id: Palindrome Room/Panel_racecar_racecar |
295 | color: black | 301 | color: black |
296 | tag: forbid # The signs make this and LEVEL too hard for now | 302 | tag: palindrome |
303 | copy_to_sign: sign4 | ||
297 | - id: Palindrome Room/Panel_racecar_racecar_2 | 304 | - id: Palindrome Room/Panel_racecar_racecar_2 |
298 | color: white | 305 | color: white |
299 | tag: midwhite | 306 | tag: midwhite |
307 | copy_to_sign: sign3 | ||
300 | - id: Palindrome Room/Panel_level_level | 308 | - id: Palindrome Room/Panel_level_level |
301 | color: black | 309 | color: black |
302 | tag: forbid | 310 | tag: midblack |
303 | - id: Palindrome Room/Panel_level_level_2 | 311 | - id: Palindrome Room/Panel_level_level_2 |
304 | color: white | 312 | color: white |
305 | tag: midwhite | 313 | 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| | |||
22 | ret["link"] = "\"#{panel["link"]}\"" | 22 | ret["link"] = "\"#{panel["link"]}\"" |
23 | end | 23 | end |
24 | if panel.include? "copy_to_sign" | 24 | if panel.include? "copy_to_sign" |
25 | ret["copy_to_sign"] = "\"#{panel["copy_to_sign"]}\"" | 25 | copytos = [] |
26 | if panel["copy_to_sign"].kind_of? String | ||
27 | copytos = [panel["copy_to_sign"]] | ||
28 | else | ||
29 | copytos = panel["copy_to_sign"] | ||
30 | end | ||
31 | ret["copy_to_sign"] = "[\"" + copytos.join("\",\"") + "\"]" | ||
26 | end | 32 | end |
27 | ret | 33 | ret |
28 | end.map do |panel| | 34 | end.map do |panel| |