diff options
Diffstat (limited to 'Archipelago')
| -rw-r--r-- | Archipelago/client.gd | 6 | ||||
| -rw-r--r-- | Archipelago/extradata.gd | 15 | ||||
| -rw-r--r-- | Archipelago/load.gd | 1 | ||||
| -rw-r--r-- | Archipelago/painting.gd | 32 |
4 files changed, 43 insertions, 11 deletions
| diff --git a/Archipelago/client.gd b/Archipelago/client.gd index 2c60f7c..fffd8c3 100644 --- a/Archipelago/client.gd +++ b/Archipelago/client.gd | |||
| @@ -19,7 +19,7 @@ var enable_multiplayer = false | |||
| 19 | var track_player = false | 19 | var track_player = false |
| 20 | var connection_history = [] | 20 | var connection_history = [] |
| 21 | 21 | ||
| 22 | const my_version = "5.3.1" | 22 | const my_version = "5.4.0" |
| 23 | const ap_version = {"major": 0, "minor": 5, "build": 1, "class": "Version"} | 23 | const ap_version = {"major": 0, "minor": 5, "build": 1, "class": "Version"} |
| 24 | const color_items = [ | 24 | const color_items = [ |
| 25 | "White", "Black", "Red", "Blue", "Green", "Brown", "Gray", "Orange", "Purple", "Yellow" | 25 | "White", "Black", "Red", "Blue", "Green", "Brown", "Gray", "Orange", "Purple", "Yellow" |
| @@ -908,8 +908,8 @@ func processItem(item, index, from, flags): | |||
| 908 | item_name += " (%s)" % prognames[item_name][_progressive_progress[int(item)]] | 908 | item_name += " (%s)" % prognames[item_name][_progressive_progress[int(item)]] |
| 909 | _progressive_progress[int(item)] += 1 | 909 | _progressive_progress[int(item)] += 1 |
| 910 | 910 | ||
| 911 | if _color_shuffle and color_items.has(_item_id_to_name["Lingo"][item]): | 911 | if _color_shuffle and color_items.has(_item_id_to_name["Lingo"][float(item)]): |
| 912 | var lcol = _item_id_to_name["Lingo"][item].to_lower() | 912 | var lcol = _item_id_to_name["Lingo"][float(item)].to_lower() |
| 913 | if not _has_colors.has(lcol): | 913 | if not _has_colors.has(lcol): |
| 914 | _has_colors.append(lcol) | 914 | _has_colors.append(lcol) |
| 915 | emit_signal("evaluate_solvability") | 915 | emit_signal("evaluate_solvability") |
| diff --git a/Archipelago/extradata.gd b/Archipelago/extradata.gd index 2e26eb2..c90433a 100644 --- a/Archipelago/extradata.gd +++ b/Archipelago/extradata.gd | |||
| @@ -177,3 +177,18 @@ var panels_mode_051_door_fixes = { | |||
| 177 | "Door_nine_hider_2" | 177 | "Door_nine_hider_2" |
| 178 | ] | 178 | ] |
| 179 | } | 179 | } |
| 180 | |||
| 181 | var pilgrimage_061_painting_fixes = [ | ||
| 182 | "outside2", | ||
| 183 | "outside_2", | ||
| 184 | "outside_3", | ||
| 185 | "outside_4", | ||
| 186 | "north2", | ||
| 187 | "south2", | ||
| 188 | "west2", | ||
| 189 | "east_enter", | ||
| 190 | "owl_painting_4", | ||
| 191 | "garden_painting", | ||
| 192 | "yinyang_painting", | ||
| 193 | "fruitbowl_painting2" | ||
| 194 | ] | ||
| diff --git a/Archipelago/load.gd b/Archipelago/load.gd index e050f23..b95e4c4 100644 --- a/Archipelago/load.gd +++ b/Archipelago/load.gd | |||
| @@ -120,6 +120,7 @@ func _load(): | |||
| 120 | new_master_cdp.translation = old_master_cdp.translation | 120 | new_master_cdp.translation = old_master_cdp.translation |
| 121 | new_master_cdp.rotation = old_master_cdp.rotation | 121 | new_master_cdp.rotation = old_master_cdp.rotation |
| 122 | get_node("CountdownPanels").add_child(new_master_cdp) | 122 | get_node("CountdownPanels").add_child(new_master_cdp) |
| 123 | old_master_cdp.total = 5000 | ||
| 123 | old_master_cdp.queue_free() | 124 | old_master_cdp.queue_free() |
| 124 | 125 | ||
| 125 | # Configure AN OTHER WAY. | 126 | # Configure AN OTHER WAY. |
| diff --git a/Archipelago/painting.gd b/Archipelago/painting.gd index adc8337..dc791ce 100644 --- a/Archipelago/painting.gd +++ b/Archipelago/painting.gd | |||
| @@ -1,10 +1,26 @@ | |||
| 1 | extends "res://scripts/painting.gd" | 1 | extends "res://scripts/painting.gd" |
| 2 | 2 | ||
| 3 | func _looked_at(var body, var painting): | 3 | var breaks_pilgrimage = false |
| 4 | ._looked_at(body, painting) | 4 | |
| 5 | 5 | ||
| 6 | if body.is_in_group("player") && (painting.get_name() == self.get_name()): | 6 | func _ready(): |
| 7 | var apclient = global.get_node("Archipelago") | 7 | var apclient = global.get_node("Archipelago") |
| 8 | if !apclient._pilgrimage_allows_paintings: | 8 | if !apclient._pilgrimage_allows_paintings: |
| 9 | global.sunwarp = 1 | 9 | if apclient.wasGeneratedBeforeVersion(0, 6, 2): |
| 10 | body.get_node("pivot/camera/sunwarp_background").visible = false | 10 | var extradata = apclient.get_node("Extradata") |
| 11 | if not extradata.pilgrimage_061_painting_fixes.has(get_name()): | ||
| 12 | breaks_pilgrimage = true | ||
| 13 | else: | ||
| 14 | breaks_pilgrimage = true | ||
| 15 | |||
| 16 | |||
| 17 | func _looked_at(body, painting): | ||
| 18 | ._looked_at(body, painting) | ||
| 19 | |||
| 20 | if ( | ||
| 21 | breaks_pilgrimage | ||
| 22 | and body.is_in_group("player") | ||
| 23 | and (painting.get_name() == self.get_name()) | ||
| 24 | ): | ||
| 25 | global.sunwarp = 1 | ||
| 26 | body.get_node("pivot/camera/sunwarp_background").visible = false | ||
