diff options
author | Star Rauchenberger <fefferburbia@gmail.com> | 2025-05-17 13:15:19 -0400 |
---|---|---|
committer | Star Rauchenberger <fefferburbia@gmail.com> | 2025-05-17 13:15:19 -0400 |
commit | 55e420736009afd82afa2c830921e10c67b42445 (patch) | |
tree | e16c38132536f588eb80e7b3e07b44337e0fae1c /Archipelago | |
parent | 215e47b99d9d2bbe003286c7b78c21ad65b27794 (diff) | |
download | lingo-archipelago-55e420736009afd82afa2c830921e10c67b42445.tar.gz lingo-archipelago-55e420736009afd82afa2c830921e10c67b42445.tar.bz2 lingo-archipelago-55e420736009afd82afa2c830921e10c67b42445.zip |
Stopgap fix for Bearer paintings in pilgrimage
AP 0.6.1 and earlier logically expects you to use The Bearer's paintings during pilgrimage even if paintings in pilgrimage are disabled. This changes those paintings so that they do work in this case, but only for multiworlds generated in 0.6.1 and earlier.
Diffstat (limited to 'Archipelago')
-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 | ||