diff --git a/worlds/subnautica/Options.py b/worlds/subnautica/Options.py index fa66026d..582e93eb 100644 --- a/worlds/subnautica/Options.py +++ b/worlds/subnautica/Options.py @@ -1,6 +1,6 @@ import typing -from Options import Choice, Range, DeathLink, DefaultOnToggle, StartInventoryPool +from Options import Choice, Range, DeathLink, Toggle, DefaultOnToggle, StartInventoryPool from .Creatures import all_creatures, Definitions @@ -35,6 +35,12 @@ class EarlySeaglide(DefaultOnToggle): display_name = "Early Seaglide" +class FreeSamples(Toggle): + """Get free items with your blueprints. + Items that can go into your inventory are awarded when you unlock their blueprint through Archipelago.""" + display_name = "Free Samples" + + class Goal(Choice): """Goal to complete. Launch: Leave the planet. @@ -100,6 +106,7 @@ class SubnauticaDeathLink(DeathLink): options = { "swim_rule": SwimRule, "early_seaglide": EarlySeaglide, + "free_samples": FreeSamples, "goal": Goal, "creature_scans": CreatureScans, "creature_scan_logic": AggressiveScanLogic, diff --git a/worlds/subnautica/__init__.py b/worlds/subnautica/__init__.py index bc1e4f69..0807f1a7 100644 --- a/worlds/subnautica/__init__.py +++ b/worlds/subnautica/__init__.py @@ -45,7 +45,7 @@ class SubnauticaWorld(World): option_definitions = Options.options data_version = 9 - required_client_version = (0, 3, 9) + required_client_version = (0, 4, 0) creatures_to_scan: List[str] @@ -129,6 +129,7 @@ class SubnauticaWorld(World): "vanilla_tech": vanilla_tech, "creatures_to_scan": self.creatures_to_scan, "death_link": self.multiworld.death_link[self.player].value, + "free_samples": self.multiworld.free_samples[self.player].value, } return slot_data