diff options
-rw-r--r-- | Archipelago/extradata.gd | 15 | ||||
-rw-r--r-- | Archipelago/painting.gd | 32 |
2 files changed, 39 insertions, 8 deletions
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/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 | ||