AHIT: Fix Your Contract has Expired being placed on the first level when it shouldn't (#3379)

This commit is contained in:
CookieCat 2024-05-23 03:49:17 -04:00 committed by GitHub
parent e1ff5073b5
commit 3f8c348a49
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 8 additions and 10 deletions

View File

@ -699,11 +699,14 @@ def is_valid_first_act(world: "HatInTimeWorld", act: Region) -> bool:
# Needs to be at least moderate to cross the big dweller wall # Needs to be at least moderate to cross the big dweller wall
if act.name == "Queen Vanessa's Manor" and diff < Difficulty.MODERATE: if act.name == "Queen Vanessa's Manor" and diff < Difficulty.MODERATE:
return False return False
elif act.name == "Your Contract has Expired" and diff < Difficulty.EXPERT: # Snatcher Hover
return False
elif act.name == "Heating Up Mafia Town": # Straight up impossible elif act.name == "Heating Up Mafia Town": # Straight up impossible
return False return False
# Need to be able to hover
if act.name == "Your Contract has Expired":
if diff < Difficulty.EXPERT or world.options.ShuffleSubconPaintings and world.options.NoPaintingSkips:
return False
if act.name == "Dead Bird Studio": if act.name == "Dead Bird Studio":
# No umbrella logic = moderate, umbrella logic = expert. # No umbrella logic = moderate, umbrella logic = expert.
if diff < Difficulty.MODERATE or world.options.UmbrellaLogic and diff < Difficulty.EXPERT: if diff < Difficulty.MODERATE or world.options.UmbrellaLogic and diff < Difficulty.EXPERT:
@ -718,12 +721,7 @@ def is_valid_first_act(world: "HatInTimeWorld", act: Region) -> bool:
return False return False
if world.options.ShuffleSubconPaintings and act_chapters.get(act.name, "") == "Subcon Forest": if world.options.ShuffleSubconPaintings and act_chapters.get(act.name, "") == "Subcon Forest":
# This requires a cherry hover to enter Subcon # Only allow Subcon levels if painting skips are allowed
if act.name == "Your Contract has Expired":
if diff < Difficulty.EXPERT or world.options.NoPaintingSkips:
return False
else:
# Only allow Subcon levels if paintings can be skipped
if diff < Difficulty.MODERATE or world.options.NoPaintingSkips: if diff < Difficulty.MODERATE or world.options.NoPaintingSkips:
return False return False