SM update (#147)

* fixed generations failing when only bosses are unreachable

* - replaced setting maxDiff to infinity with a bool only affecting boss logics if only bosses are left to finish

* fixed failling generations when using 'fun' settings

Accessibility checks are forced to 'items' if restricted locations are used by VARIA following usage of 'fun' settings

* fixed debug logger

* removed unsupported "suits_restriction" option

* fixed generations failing when only bosses are unreachable (using a less intrusive approach for AP)

* - fixed deathlink emptying reserves

- added death_link_survive option that lets player survive when receiving a deathlink if the have non-empty reserves

* - merged death_link and death_link_survive options
This commit is contained in:
lordlou
2021-12-02 00:11:42 -05:00
committed by GitHub
parent f673dfb7cf
commit 83cfd6ec05
8 changed files with 64 additions and 27 deletions

View File

@@ -40,6 +40,14 @@ class StartLocation(Choice):
option_Golden_Four = 14
default = 1
class DeathLinkSurvive(Choice):
"""When DeathLink is enabled and someone dies, you can survive with (enable_survive) if you have non-empty reserve tank."""
displayname = "Death Link Survive"
option_disable = 0
option_enable = 1
option_enable_survive = 3
default = 0
class MaxDifficulty(Choice):
displayname = "Maximum Difficulty"
option_easy = 0
@@ -57,9 +65,6 @@ class MorphPlacement(Choice):
option_normal = 1
default = 0
class SuitsRestriction(DefaultOnToggle):
displayname = "Suits Restriction"
class StrictMinors(Toggle):
displayname = "Strict Minors"
@@ -117,12 +122,15 @@ class BossRandomization(Toggle):
displayname = "Boss Randomization"
class FunCombat(Toggle):
"""if used, might force 'items' accessibility"""
displayname = "Fun Combat"
class FunMovement(Toggle):
"""if used, might force 'items' accessibility"""
displayname = "Fun Movement"
class FunSuits(Toggle):
"""if used, might force 'items' accessibility"""
displayname = "Fun Suits"
class LayoutPatches(DefaultOnToggle):
@@ -188,7 +196,7 @@ sm_options: typing.Dict[str, type(Option)] = {
"start_inventory_removes_from_pool": StartItemsRemovesFromPool,
"preset": Preset,
"start_location": StartLocation,
"death_link": DeathLink,
"death_link_survive": DeathLinkSurvive,
#"majors_split": "Full",
#"scav_num_locs": "10",
#"scav_randomized": "off",
@@ -197,7 +205,7 @@ sm_options: typing.Dict[str, type(Option)] = {
#"progression_speed": "medium",
#"progression_difficulty": "normal",
"morph_placement": MorphPlacement,
"suits_restriction": SuitsRestriction,
#"suits_restriction": SuitsRestriction,
#"hide_items": "off",
"strict_minors": StrictMinors,
"missile_qty": MissileQty,