about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--Archipelago/client.gd6
-rw-r--r--Archipelago/extradata.gd15
-rw-r--r--Archipelago/load.gd1
-rw-r--r--Archipelago/painting.gd32
-rw-r--r--CHANGELOG.md28
5 files changed, 71 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
19var track_player = false 19var track_player = false
20var connection_history = [] 20var connection_history = []
21 21
22const my_version = "5.3.1" 22const my_version = "5.4.0"
23const ap_version = {"major": 0, "minor": 5, "build": 1, "class": "Version"} 23const ap_version = {"major": 0, "minor": 5, "build": 1, "class": "Version"}
24const color_items = [ 24const 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
181var 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 @@
1extends "res://scripts/painting.gd" 1extends "res://scripts/painting.gd"
2 2
3func _looked_at(var body, var painting): 3var breaks_pilgrimage = false
4 ._looked_at(body, painting) 4
5 5
6 if body.is_in_group("player") && (painting.get_name() == self.get_name()): 6func _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
17func _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
diff --git a/CHANGELOG.md b/CHANGELOG.md index 77aadcd..6e02284 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md
@@ -1,5 +1,33 @@
1# lingo-archipelago Releases 1# lingo-archipelago Releases
2 2
3## v5.4.0 - 2025-05-17
4
5- ProgUseful items (items marked both Progression and Useful) are now colored
6 gold in the text client and the message popups.
7- Fixed an issue where two copies of THE MASTER could appear on top of one
8 another.
9- This update adds a workaround for
10 [a logic error in Archipelago 0.6.1 and earlier](https://github.com/ArchipelagoMW/Archipelago/pull/5005).
11 - This bug causes the paintings in The Bearer to be considered logically
12 usable for the pilgrimage even when the "Allow Paintings For Pilgrimage"
13 option is disabled, despite the paintings not being usable in-game. This
14 can, on rare occasion, cause the game to become unbeatable.
15 - If you are playing in a slot affected by this issue (generated using
16 Archipelago 0.6.1 or earlier, with pilgrimage enabled and paintings during
17 pilgrimage disabled), the mod will work around the issue by allowing you to
18 use the paintings in The Bearer without breaking your pilgrimage.
19 - This can lead to non-intuitive gameplay, as one would not expect the
20 paintings to be usable in this situation. You can use the Lingo AP Tracker
21 to figure out whether or not you are expected to be able to perform a
22 pilgrimage, as it currently uses the same broken logic as the generator.
23 - There is already a fix for the logic error, and it will likely be included
24 as part of the next major Archipelago release. I apologize for the
25 inconvenience.
26
27Download:
28[lingo-archipelago-v5.4.0.zip](https://files.fourisland.com/releases/lingo-archipelago/lingo-archipelago-v5.4.0.zip)<br/>
29Source: [v5.4.0](https://code.fourisland.com/lingo-archipelago/tag/?h=v5.4.0)
30
3## v5.3.1 - 2025-03-22 31## v5.3.1 - 2025-03-22
4 32
5- Fixed a bug with panel syncing that would cause the client to crash on 33- Fixed a bug with panel syncing that would cause the client to crash on