about summary refs log tree commit diff stats
path: root/apworld/player_logic.py
diff options
context:
space:
mode:
Diffstat (limited to 'apworld/player_logic.py')
-rw-r--r--apworld/player_logic.py18
1 files changed, 13 insertions, 5 deletions
diff --git a/apworld/player_logic.py b/apworld/player_logic.py index e21e2c3..d7b18c2 100644 --- a/apworld/player_logic.py +++ b/apworld/player_logic.py
@@ -241,6 +241,8 @@ class Lingo2PlayerLogic:
241 return "The Charismatic" in world.options.enable_gift_maps.value 241 return "The Charismatic" in world.options.enable_gift_maps.value
242 elif game_map.name == "the_crystalline": 242 elif game_map.name == "the_crystalline":
243 return "The Crystalline" in world.options.enable_gift_maps.value 243 return "The Crystalline" in world.options.enable_gift_maps.value
244 elif game_map.name == "the_fuzzy":
245 return "The Fuzzy" in world.options.enable_gift_maps.value
244 elif game_map.name == "the_stellar": 246 elif game_map.name == "the_stellar":
245 return "The Stellar" in world.options.enable_gift_maps.value 247 return "The Stellar" in world.options.enable_gift_maps.value
246 248
@@ -256,6 +258,9 @@ class Lingo2PlayerLogic:
256 if world.options.masteries_requirement > maximum_masteries: 258 if world.options.masteries_requirement > maximum_masteries:
257 world.options.masteries_requirement.value = maximum_masteries 259 world.options.masteries_requirement.value = maximum_masteries
258 260
261 if "The Fuzzy" in world.options.enable_gift_maps.value:
262 self.real_items.append("Numbers")
263
259 if self.world.options.shuffle_doors: 264 if self.world.options.shuffle_doors:
260 for progressive in world.static_logic.objects.progressives: 265 for progressive in world.static_logic.objects.progressives:
261 for i in range(0, len(progressive.doors)): 266 for i in range(0, len(progressive.doors)):
@@ -384,14 +389,14 @@ class Lingo2PlayerLogic:
384 self.locations_by_room.setdefault(ending.room_id, []).append(PlayerLocation(ending.ap_id, 389 self.locations_by_room.setdefault(ending.room_id, []).append(PlayerLocation(ending.ap_id,
385 AccessRequirements())) 390 AccessRequirements()))
386 391
387 event_name = f"{ending.name.capitalize()} Ending (Achieved)"
388 item_name = "Ending"
389
390 if world.options.victory_condition.current_key.removesuffix("_ending").upper() == ending.name: 392 if world.options.victory_condition.current_key.removesuffix("_ending").upper() == ending.name:
391 item_name = "Victory" 393 event_name = f"{ending.name.capitalize()} Ending (Goal)"
394 self.event_loc_item_by_room.setdefault(ending.room_id, {})[event_name] = "Victory"
392 self.goal_room_id = ending.room_id 395 self.goal_room_id = ending.room_id
393 396
394 self.event_loc_item_by_room.setdefault(ending.room_id, {})[event_name] = item_name 397 if ending.name != "WHITE":
398 event_name = f"{ending.name.capitalize()} Ending (Achieved)"
399 self.event_loc_item_by_room.setdefault(ending.room_id, {})[event_name] = "Ending"
395 400
396 if self.world.options.keyholder_sanity: 401 if self.world.options.keyholder_sanity:
397 for keyholder in world.static_logic.objects.keyholders: 402 for keyholder in world.static_logic.objects.keyholders:
@@ -599,3 +604,6 @@ class Lingo2PlayerLogic:
599 604
600 if needed > 0: 605 if needed > 0:
601 reqs.letters[l] = max(reqs.letters.get(l, 0), needed) 606 reqs.letters[l] = max(reqs.letters.get(l, 0), needed)
607
608 if any(l.isnumeric() for l in solution):
609 reqs.items.add("Numbers")