Timespinner: Adds Lantern Check flags, Missing Traps (#5188)

* Timespinner: Add Torch Flags

* Add comment of all torch locations

* Add gyre and dark forest lanterns

* Add Ancient Pyramid

* Don't make cube default progression

* Add Emperors Tower

* Add lake desolation, forest

* Add lab

* Add library, varndagroth

* Add hangar

* Add ramparts

* Add Xarion

* Add castle keep

* Add royal towers

* Add lake serene

* Add remaining checks

* Add missing region

* Fix region names

* Fix location id

* Add traps to settings

* Add restriction to elevator keycard torch

* Set new traps to have quantity 0 by default

* Scythe is now useful due to torch shredding

* Add additional lantern

* Un-disable missing lantern

* Include location ids in tracker

* Remove additional space

* Fix paren

* Add missing lantern

* Remove tablet requirement for torches

* Update filler V card

* Fix brackets

* Address feedback
This commit is contained in:
Colin
2025-09-10 07:27:13 -07:00
committed by GitHub
parent 9aa0bf7245
commit 78b529fc23
7 changed files with 844 additions and 261 deletions

View File

@@ -132,6 +132,8 @@ class TimespinnerWorld(World):
"PyramidStart": self.options.pyramid_start.value,
"GateKeep": self.options.gate_keep.value,
"RoyalRoadblock": self.options.royal_roadblock.value,
"PureTorcher": self.options.pure_torcher.value,
"FindTheFlame": self.options.find_the_flame.value,
"Traps": self.options.traps.value,
"DeathLink": self.options.death_link.value,
"StinkyMaw": True,
@@ -298,7 +300,9 @@ class TimespinnerWorld(World):
if not item.advancement:
return item
if (name == 'Tablet' or name == 'Library Keycard V') and not self.options.downloadable_items:
if name == 'Tablet' and not self.options.downloadable_items:
item.classification = ItemClassification.filler
elif name == 'Library Keycard V' and not (self.options.downloadable_items or self.options.pure_torcher):
item.classification = ItemClassification.filler
elif name == 'Oculus Ring' and not self.options.eye_spy:
item.classification = ItemClassification.filler
@@ -315,6 +319,8 @@ class TimespinnerWorld(World):
item.classification = ItemClassification.filler
elif name == "Drawbridge Key" and not self.options.gate_keep:
item.classification = ItemClassification.filler
elif name == "Cube of Bodie" and not self.options.find_the_flame:
item.classification = ItemClassification.filler
return item
@@ -361,6 +367,9 @@ class TimespinnerWorld(World):
if not self.options.gate_keep:
excluded_items.add('Drawbridge Key')
if not self.options.find_the_flame:
excluded_items.add('Cube of Bodie')
for item in self.multiworld.precollected_items[self.player]:
if item.name not in self.item_name_groups['UseItem']:
excluded_items.add(item.name)