Shivers: Adds ixupi captures priority option (#4403)
This commit is contained in:
parent
917335ec54
commit
a7b483e4b7
|
@ -110,6 +110,13 @@ class FullPots(Choice):
|
||||||
option_mixed = 2
|
option_mixed = 2
|
||||||
|
|
||||||
|
|
||||||
|
class IxupiCapturesPriority(DefaultOnToggle):
|
||||||
|
"""
|
||||||
|
Ixupi captures are set to priority locations. This forces a progression item into these locations if possible.
|
||||||
|
"""
|
||||||
|
display_name = "Ixupi Captures are Priority"
|
||||||
|
|
||||||
|
|
||||||
class PuzzleCollectBehavior(Choice):
|
class PuzzleCollectBehavior(Choice):
|
||||||
"""
|
"""
|
||||||
Defines what happens to puzzles on collect.
|
Defines what happens to puzzles on collect.
|
||||||
|
@ -177,6 +184,7 @@ class ShiversOptions(PerGameCommonOptions):
|
||||||
early_lightning: EarlyLightning
|
early_lightning: EarlyLightning
|
||||||
location_pot_pieces: LocationPotPieces
|
location_pot_pieces: LocationPotPieces
|
||||||
full_pots: FullPots
|
full_pots: FullPots
|
||||||
|
ixupi_captures_priority: IxupiCapturesPriority
|
||||||
puzzle_collect_behavior: PuzzleCollectBehavior
|
puzzle_collect_behavior: PuzzleCollectBehavior
|
||||||
local_items: ShiversLocalItems
|
local_items: ShiversLocalItems
|
||||||
non_local_items: ShiversNonLocalItems
|
non_local_items: ShiversNonLocalItems
|
||||||
|
|
|
@ -16,7 +16,7 @@ class ShiversWeb(WebWorld):
|
||||||
"English",
|
"English",
|
||||||
"setup_en.md",
|
"setup_en.md",
|
||||||
"setup/en",
|
"setup/en",
|
||||||
["GodlFire", "Mathx2"]
|
["GodlFire", "Cynbel_Terreus"]
|
||||||
)]
|
)]
|
||||||
option_groups = shivers_option_groups
|
option_groups = shivers_option_groups
|
||||||
|
|
||||||
|
@ -41,6 +41,20 @@ class ShiversWorld(World):
|
||||||
def generate_early(self):
|
def generate_early(self):
|
||||||
self.pot_completed_list = []
|
self.pot_completed_list = []
|
||||||
|
|
||||||
|
# Pot piece shuffle location:
|
||||||
|
if self.options.location_pot_pieces == "own_world":
|
||||||
|
self.options.local_items.value |= {name for name, data in item_table.items() if
|
||||||
|
data.type in [ItemType.POT, ItemType.POT_COMPLETE]}
|
||||||
|
elif self.options.location_pot_pieces == "different_world":
|
||||||
|
self.options.non_local_items.value |= {name for name, data in item_table.items() if
|
||||||
|
data.type in [ItemType.POT, ItemType.POT_COMPLETE]}
|
||||||
|
|
||||||
|
# Ixupi captures priority locations:
|
||||||
|
if self.options.ixupi_captures_priority:
|
||||||
|
self.options.priority_locations.value |= (
|
||||||
|
{name for name in self.location_names if name.startswith('Ixupi Captured')}
|
||||||
|
)
|
||||||
|
|
||||||
def create_item(self, name: str) -> Item:
|
def create_item(self, name: str) -> Item:
|
||||||
data = item_table[name]
|
data = item_table[name]
|
||||||
return ShiversItem(name, data.classification, data.code, self.player)
|
return ShiversItem(name, data.classification, data.code, self.player)
|
||||||
|
@ -194,14 +208,6 @@ class ShiversWorld(World):
|
||||||
["Heal", "Easier Lyre"], weights=[95, 5], k=filler_needed
|
["Heal", "Easier Lyre"], weights=[95, 5], k=filler_needed
|
||||||
))
|
))
|
||||||
|
|
||||||
# Pot piece shuffle location:
|
|
||||||
if self.options.location_pot_pieces == "own_world":
|
|
||||||
self.options.local_items.value |= {name for name, data in item_table.items() if
|
|
||||||
data.type in [ItemType.POT, ItemType.POT_COMPLETE]}
|
|
||||||
elif self.options.location_pot_pieces == "different_world":
|
|
||||||
self.options.non_local_items.value |= {name for name, data in item_table.items() if
|
|
||||||
data.type in [ItemType.POT, ItemType.POT_COMPLETE]}
|
|
||||||
|
|
||||||
self.multiworld.itempool += item_pool
|
self.multiworld.itempool += item_pool
|
||||||
|
|
||||||
def pre_fill(self) -> None:
|
def pre_fill(self) -> None:
|
||||||
|
|
|
@ -7,6 +7,11 @@
|
||||||
- [ScummVM](https://www.scummvm.org/downloads/) version 2.7.0 or later
|
- [ScummVM](https://www.scummvm.org/downloads/) version 2.7.0 or later
|
||||||
- [Shivers Randomizer](https://github.com/GodlFire/Shivers-Randomizer-CSharp/releases/latest) Latest release version
|
- [Shivers Randomizer](https://github.com/GodlFire/Shivers-Randomizer-CSharp/releases/latest) Latest release version
|
||||||
|
|
||||||
|
## Optional Software
|
||||||
|
|
||||||
|
- [PopTracker](https://github.com/black-sliver/PopTracker/releases/)
|
||||||
|
- [Jax's Shivers PopTracker pack](https://github.com/blazik-barth/Shivers-Tracker/releases/)
|
||||||
|
|
||||||
## Setup ScummVM for Shivers
|
## Setup ScummVM for Shivers
|
||||||
|
|
||||||
### GOG version of Shivers
|
### GOG version of Shivers
|
||||||
|
@ -57,4 +62,4 @@ validator page: [YAML Validation page](/mysterycheck)
|
||||||
- Every puzzle
|
- Every puzzle
|
||||||
- Every puzzle hint/solution
|
- Every puzzle hint/solution
|
||||||
- Every document that is considered a Flashback
|
- Every document that is considered a Flashback
|
||||||
- Optionally information plaques.
|
- Optionally information plaques
|
||||||
|
|
Loading…
Reference in New Issue