about summary refs log tree commit diff stats
path: root/apworld
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2026-02-04 13:32:05 -0500
committerStar Rauchenberger <fefferburbia@gmail.com>2026-02-04 13:32:05 -0500
commit92892af0dfefadd00f7681811fd20aaefed1e59f (patch)
tree55fb44536dec95ce7400243aec924a8744cc1e0e /apworld
parent45776a759271e50864a2fa77c321c25acc48a016 (diff)
downloadlingo2-archipelago-92892af0dfefadd00f7681811fd20aaefed1e59f.tar.gz
lingo2-archipelago-92892af0dfefadd00f7681811fd20aaefed1e59f.tar.bz2
lingo2-archipelago-92892af0dfefadd00f7681811fd20aaefed1e59f.zip
Start with Sun Symbol if doing daed only symbol shuffle
Diffstat (limited to 'apworld')
-rw-r--r--apworld/__init__.py3
-rw-r--r--apworld/player_logic.py7
2 files changed, 9 insertions, 1 deletions
diff --git a/apworld/__init__.py b/apworld/__init__.py index 27ed95a..5bad63e 100644 --- a/apworld/__init__.py +++ b/apworld/__init__.py
@@ -120,6 +120,9 @@ class Lingo2World(World):
120 120
121 self.multiworld.itempool += pool 121 self.multiworld.itempool += pool
122 122
123 for name in self.player_logic.starting_items:
124 self.push_precollected(self.create_item(name))
125
123 def create_item(self, name: str) -> Item: 126 def create_item(self, name: str) -> Item:
124 return Lingo2Item(name, ItemClassification.filler if name == self.get_filler_item_name() else 127 return Lingo2Item(name, ItemClassification.filler if name == self.get_filler_item_name() else
125 ItemClassification.trap if name in ANTI_COLLECTABLE_TRAPS else 128 ItemClassification.trap if name in ANTI_COLLECTABLE_TRAPS else
diff --git a/apworld/player_logic.py b/apworld/player_logic.py index d3518d9..d498f0f 100644 --- a/apworld/player_logic.py +++ b/apworld/player_logic.py
@@ -216,6 +216,7 @@ class Lingo2PlayerLogic:
216 door_reqs: dict[int, AccessRequirements] 216 door_reqs: dict[int, AccessRequirements]
217 217
218 real_items: list[str] 218 real_items: list[str]
219 starting_items: list[str]
219 220
220 double_letter_amount: dict[str, int] 221 double_letter_amount: dict[str, int]
221 goal_room_id: int 222 goal_room_id: int
@@ -231,6 +232,7 @@ class Lingo2PlayerLogic:
231 self.proxy_reqs = dict() 232 self.proxy_reqs = dict()
232 self.door_reqs = dict() 233 self.door_reqs = dict()
233 self.real_items = list() 234 self.real_items = list()
235 self.starting_items = list()
234 self.double_letter_amount = dict() 236 self.double_letter_amount = dict()
235 237
236 def should_shuffle_map(game_map) -> bool | set[int]: 238 def should_shuffle_map(game_map) -> bool | set[int]:
@@ -431,7 +433,10 @@ class Lingo2PlayerLogic:
431 433
432 if self.world.options.shuffle_symbols: 434 if self.world.options.shuffle_symbols:
433 for symbol_name in SYMBOL_ITEMS.values(): 435 for symbol_name in SYMBOL_ITEMS.values():
434 self.real_items.append(symbol_name) 436 if self.world.options.daedalus_only and symbol_name == "Sun Symbol":
437 self.starting_items.append(symbol_name)
438 else:
439 self.real_items.append(symbol_name)
435 440
436 def get_panel_reqs(self, panel_id: int, answer: str | None) -> AccessRequirements: 441 def get_panel_reqs(self, panel_id: int, answer: str | None) -> AccessRequirements:
437 if answer is None: 442 if answer is None: