Subnautica: add Options to Creature Scans (#950)

This commit is contained in:
Fabian Dill
2022-08-22 23:35:41 +02:00
committed by GitHub
parent 11cbc0b40b
commit c695f91198
5 changed files with 109 additions and 51 deletions

View File

@@ -1,4 +1,4 @@
from Options import Choice, Range, DeathLink
from Options import Choice, Range, DeathLink, Toggle
from .Creatures import all_creatures
@@ -33,12 +33,27 @@ class Goal(Choice):
class CreatureScans(Range):
"""Place items on specific creature scans.
"""Place items on specific, randomly chosen, creature scans.
Warning: Includes aggressive Leviathans."""
display_name = "Creature Scans"
range_end = len(all_creatures)
class AggressiveScanLogic(Toggle):
"""By default (Stasis), aggressive Creature Scans are logically expected only with a Stasis Rifle.
Containment: Removes Stasis Rifle as expected solution and expects Alien Containment instead.
Either: Creatures may be expected to be scanned via Stasis Rifle or Containment, whichever is found first.
None: Aggressive Creatures are assumed to not need any tools to scan.
Note: Containment, Either and None adds Cuddlefish as an option for scans.
Note: This is purely a logic expectation, and does not affect gameplay, only placement."""
display_name = "Aggressive Creature Scan Logic"
option_stasis = 0
option_containment = 1
option_either = 2
option_none = 3
class SubnauticaDeathLink(DeathLink):
"""When you die, everyone dies. Of course the reverse is true too.
Note: can be toggled via in-game console command "deathlink"."""
@@ -48,5 +63,6 @@ options = {
"item_pool": ItemPool,
"goal": Goal,
"creature_scans": CreatureScans,
"creature_scan_logic": AggressiveScanLogic,
"death_link": SubnauticaDeathLink,
}