Archipelago/worlds
Mysteryem 90f80ce1c1
AHiT: Various logic fixes (#4492)
* Fix Director boss photo logic

The rules were being added to for the "Director" boss in
`set_enemy_rules()`, which didn't exist because the boss created was
called "Conductor" instead.

The name of the boss has been changed to "Director", to match, because
it is more accurate due to DJ Grooves possibly being the boss instead of
The Conductor.

The missing logic was the `Hookshot Badge` requirement, however, the
boss events are only used as part of the `Camera Tourist - All Clear`
location, which requires every boss event to be reachable, and the
Toxic Flower boss also has a `Hookshot Badge` requirement, so the
missing `Hookshot Badge` for the Director boss had no effect on logic.

The boss event locations are hidden from spoiler output, so to get a
spoiler showing the Director boss event accessed before having
`Hookshot Badge`, spoiler output had to be modified to also show the
hidden locations. Example sphere from playthrough that should not be
possible because it gets the `Hookshot Badge` and the `Conductor` event
(now renamed to `Director`) in the same sphere:

```
5: {
  Act Completion (Time Rift - Dead Bird Studio): Relic (Crayon Box)
  Conductor - Dead Bird Studio Basement: Conductor
  Dead Bird Studio (Rift) - Page: Behind Cardboard Planet: Time Piece
  Dead Bird Studio (Rift) - Page: Near Time Rift Gate: Hookshot Badge
  Picture Perfect - Hats Buy Building: Metro Ticket - Blue
  Snatcher - Your Contract has Expired: Snatcher
}
```

* Add missing Hookshot + Painting logic for Toilet boss picture

Includes the Hard logic of crossing the gap with a cherry bridge instead
of hookshot and the expert logic of being able to skip the boss firewall
with a cherry hover.

* Fix Alpine Skyline - Goat Outpost Horn region

`Alpine Skyline - Goat Outpost Horn` is accessible from The Illness has
Spread, but was being added to the region that is only accessible from
Alpine Free Roam. `Alpine Skyline - Goat Outpost Horn` has been moved to
the region that is accessible from both The Illness has Spread and
Alpine Free Roam.

* Add missing HitType.umbrella logic for Top of HQ Coin in Beat the Heat

Like Heating up Mafia Town, the cannon to the Mafia HQ area only opens
once all the faucets have been turned off by hitting them. This requires
the Umbrella when umbrella logic is enabled, but the Snatcher Coin on
top of Mafia HQ was missing this requirement when accessed from Beat the
Heat.

* Add missing Main Objective requirement for auto-completed Bonus Stamps

When a Main Objective is not excluded, but the bonuses are excluded, the
bonuses auto-complete once the Main Objective is completed. The
requirement to complete the Main Objective was missing, so the logic was
incorrectly awarding bonus stamps as soon as a Contract was unlocked,
even when it was not possible to complete the Main Objective of that
Contract.

* Add missing Hookshot requirement for The Arctic Cruise - Toilet from Bon Voyage!

`The Arctic Cruise - Toilet` is accessed from the `Cruise Ship` region,
but it is only present in the Ship Shape and Bon Voyage! acts.

Ship Shape and Rock the Boat can access `Cruise Ship` without any items,
but Bon Voyage! requires the Hookshot Badge to reach `Cruise Ship`.

With how the logic was set up, it was incorrectly giving access to
`The Arctic Cruise - Toilet` if the player had access to Bon Voyage!
but only had access to `Cruise Ship` through Rock the Boat.

* Fix Expert logic Rush Hour-only ticket skips

The code was checking `if not world.options.NoTicketSkips:`, but that
would only be `True` for `False`. For "rush_hour" (for Rush Hour-only
ticket skips), it would be `False`, causing Rush Hour-only ticket skips
to act as if ticket skips were disabled.

* Remove Mystifying Time Mesa: Zipline gaining Hookshot requirement in moderate logic

Alpine Skyline - Mystifying Time Mesa: Zipline does not normally
require Hookshot Badge because it is an implied requirement due to only
being accessible from Alpine Free Roam which does require Hookshot
Badge. In normal logic difficulty, the location does not have an
explicit Hookshot Badge requirement, but moderate logic was adding a
Hookshot Badge requirement. This extraneous Hookshot Badge requirement
has been removed.

* Fix Act Completion (Queen Vanessa's Manor) not being accessible with Dweller Mask/Brewing Hat

It was logically requiring the Umbrella hit type only, whereas all the
other locations in Queen Vanessa's Manor require the Dweller Bell hit
type which additionally allows Dweller Mask or Brewing Hat.

* Remove Dweller Mask requirement for Subcon Forest - Tall Tree Hookshot Swing

The Dweller Mask is not used in the intended vanilla route to get this
item, so this requirement seems to have been a mistake.

* Remove unused SDJ option for Subcon Forest - Long Tree Climb Chest

Hard logic can already reach this location with nothing (other than
paintings), so the "or" logic of being able to perform an SDJ was
unused.

* Require any non-HUMT Mafia Town act for Hot Air Balloon with nothing

Two buckets/beach balls are required to bucket/ball hover, but there is
only a single beach ball accessible in Heating Up Mafia Town, and
no accessible buckets.

There is an alternative strategy for Top of Lighthouse that only
requires a single beach ball, so that location can still be reached with
nothing from Heating Up Mafia Town.

* Use `get_difficulty()` helper in `set_enemy_rules`

Co-authored-by: Exempt-Medic <60412657+exempt-medic@users.noreply.github.com>

---------

Co-authored-by: Exempt-Medic <60412657+exempt-medic@users.noreply.github.com>
2025-01-17 03:10:41 +01:00
..
_bizhawk BizhawkClient: set metadata from patch file (#4346) 2025-01-12 19:01:16 +01:00
_sc2common SC2: don't close all SC2 instances when one quits (#3507) 2024-06-12 02:14:30 +02:00
adventure Adventure: Optimize imports (#4300) 2025-01-12 19:00:20 +01:00
ahit AHiT: Various logic fixes (#4492) 2025-01-17 03:10:41 +01:00
alttp LTTP: Fix Itemlinks (#4479) 2025-01-14 12:34:40 -05:00
apsudoku APSudoku: Update setup guide, remove extraneous options page link (#3849) 2024-08-29 08:12:58 +02:00
aquaria Aquaria: Fixing itemlink not working (#4473) 2025-01-13 20:09:39 +01:00
archipidle ArchipIDLE 2024 (#3079) 2024-04-12 00:32:10 -04:00
blasphemous Blasphemous: Move Locality Changes Earlier (#4422) 2025-01-13 19:34:56 -05:00
bomb_rush_cyberfunk Bomb Rush Cyberfunk: Fix Coil quest being in glitched logic too early (#3720) 2024-07-31 17:32:51 +02:00
bumpstik Bumper Stickers: Update tests to bases.py #4137 2024-11-06 09:37:36 +01:00
celeste64 Celeste 64: Typo #3840 2024-08-24 02:05:42 +02:00
checksfinder Checksfinder: clean up setup guide intro and change ownership #4147 2024-11-07 10:35:12 +01:00
clique Clique: Update to new options API (#3759) 2024-08-11 14:47:17 +02:00
cv64 CV64: Fix the first Waterway 3HB ledge setting the flag of one of the Nitro room item locations. #4277 2024-11-29 01:36:21 +01:00
cvcotm Castlevania: Circle of the Moon - Implement New Game (#3299) 2024-12-12 14:47:47 +01:00
dark_souls_3 DS3: Convert post_fill to stage_post_fill for better performance (#4122) 2024-12-26 08:50:18 -05:00
dkc3 DKC3: Remove unused variables and imports #4302 2025-01-14 10:49:30 +01:00
dlcquest DLC Quest Bug Fix 50+ coin bundle basic Campaign (#4276) 2024-11-29 01:35:09 +01:00
doom_1993 id Tech 1 games: Add command line instructions/info (#3757) 2024-12-01 04:10:43 +01:00
doom_ii id Tech 1 games: Add command line instructions/info (#3757) 2024-12-01 04:10:43 +01:00
factorio Factorio: fix Evolution Trap crashing bound server (#4366) 2025-01-14 22:24:46 +01:00
faxanadu Faxanadu: Fix generations with itemlinks (#4395) 2025-01-13 18:35:01 -05:00
ff1 Core: Remove Universally Unique ID Requirements (Per-Game Data Packages) (#1933) 2024-06-01 06:07:13 -05:00
ffmq FFMQ: Fix encoding issue with Game Page (#4299) 2025-01-02 22:03:07 -05:00
generic Docs: Clarify !alias commands in commands_en.md (#4426) 2025-01-06 09:42:18 -05:00
heretic id Tech 1 games: Add command line instructions/info (#3757) 2024-12-01 04:10:43 +01:00
hk HK: Abstract and default grub counts (#4336) 2025-01-13 11:08:46 -05:00
hylics2 Core: Remove Universally Unique ID Requirements (Per-Game Data Packages) (#1933) 2024-06-01 06:07:13 -05:00
inscryption Inscryption: Implement new game (#3621) 2024-12-21 23:12:35 +01:00
kdl3 Various Worlds: use / explicitly for pkgutil (#4232) 2024-12-09 01:59:40 +01:00
kh1 Kingdom Hearts: Minor Logic Fixes (#4236) 2024-11-24 18:42:21 +01:00
kh2 KH2: Doc Updates (#4434) 2025-01-06 14:02:04 -05:00
ladx LADX: Stabilize Item Pool Option (#3935) 2025-01-15 21:42:19 -05:00
landstalker Landstalker: Fix paths Lantern logic affecting other Landstalker worlds (#4394) 2024-12-24 20:44:47 -05:00
lingo Lingo: Add speed boost mode (#3989) 2025-01-15 21:13:29 +01:00
lufia2ac Core/Docs: Adding apostrophe quotes around variables in printed error messages (#3914) 2024-12-19 20:47:33 -05:00
meritous Core: Remove Universally Unique ID Requirements (Per-Game Data Packages) (#1933) 2024-06-01 06:07:13 -05:00
messenger The Messenger: reduce strictness of output path check (#4442) 2025-01-07 23:11:26 +01:00
minecraft Various Worlds: use / explicitly for pkgutil (#4232) 2024-12-09 01:59:40 +01:00
mlss MLSS: Various bugfixes and QoL updates (#3744) 2024-09-18 19:33:02 +02:00
mm2 BizHawkClient: Add command to get size of memory domain (#4439) 2025-01-12 08:03:31 +01:00
mmbn3 MMBN3: Typo for SloGauge (#3457) 2024-11-12 00:03:48 +01:00
musedash Muse Dash: Change Data storage from a .txt file to a .py file and Filter Webhost Song Lists correctly (#4234) 2025-01-12 18:59:16 +01:00
noita Noita: Make greed die a trap (#4382) 2024-12-19 20:30:41 -05:00
oot OoT: Two Bugfixes (#4389) 2025-01-14 16:39:13 -05:00
osrs OSRS: Fixes to Logic errors related to Max Skill Level determining when Regions are accessible (#4188) 2024-11-22 16:33:27 +01:00
overcooked2 oc2: Reduce calls to meets_requirements (#4060) 2024-10-29 11:07:49 +01:00
pokemon_emerald Pokemon Emerald: Remove unnecessary code (#4364) 2024-12-16 09:06:48 +01:00
pokemon_rb Pokémon R/B: Fix Route 11-E to Route-12-W logic (#4435) 2025-01-11 01:31:29 +01:00
raft Raft: Place locked items in create_items and fix get_pre_fill_items (#4250) 2024-12-09 01:57:34 +01:00
rogue_legacy Rogue Legacy: Remove item/location id overlap rejection code. (#3893) 2024-11-05 08:33:41 +00:00
ror2 RoR2: Remove recursion from explore mode access rules (#3681) 2024-08-07 23:57:07 +02:00
sa2b Fix Incorrect Link Syntax in SA2B Linux Setup (#3524) 2024-06-13 06:53:01 +02:00
saving_princess Saving Princess: implement new game (#3238) 2024-12-07 11:29:27 +01:00
sc2 SC2: Fix wrongly classified location type (#4249) 2024-11-26 00:35:24 +01:00
shivers Shivers: Fix spelling error in naming (#4425) 2025-01-04 07:42:34 -05:00
shorthike A Short Hike: Fix Boat Rental purchase being incorrectly calculated (#3639) 2024-07-22 01:47:46 +02:00
sm SM generate without rom (#3460) 2025-01-10 21:46:17 +01:00
sm64ex Super Mario 64: Rework logic for 100 Coins (#4131) 2024-12-12 14:50:48 +01:00
smw Various worlds: Fix more absolute world imports (#3510) 2024-06-27 08:51:27 +02:00
smz3 SMZ3: Fix minimal logic considering SM boss tokens unnecessary (#4377) 2024-12-21 20:39:38 +01:00
soe SoE: fix logic for drain cave with OoB (#4496) 2025-01-17 01:27:36 +01:00
spire Spire: Convert options, clean up random calls, and add DeathLink (#3704) 2024-07-31 18:27:35 +02:00
stardew_valley Stardew Valley: Update Mod Content (#4416) 2025-01-14 12:47:12 -05:00
subnautica Subnautica: fix typo and remove no longer used logger (#4456) 2025-01-10 23:28:38 +01:00
terraria Core: Remove Universally Unique ID Requirements (Per-Game Data Packages) (#1933) 2024-06-01 06:07:13 -05:00
timespinner Timespinner: Implemented support for universal tracker (#3771) 2024-12-01 04:11:45 +01:00
tloz TLoZ: Fix typo in setup guide (#4486) 2025-01-16 00:52:12 +01:00
tunic TUNIC: Grass Randomizer (#3913) 2025-01-16 00:17:07 +01:00
undertale Undertale: Fix slot_data and options.as_dict() (#3774) 2024-08-12 01:53:40 +02:00
v6 VVVVVV: Make unnecessary Trinkets filler (#3806) 2024-08-18 23:03:57 +02:00
wargroove Wargroove: Switched to options API. (#3306) 2024-05-16 18:46:13 +02:00
witness The Witness: Make location order in the spoiler log deterministic (#3895) 2024-12-30 00:50:39 +01:00
yachtdice Yacht Dice: Textual fixes and changes (Docs / yaml description) (#3967) 2024-10-28 02:37:21 +01:00
yoshisisland Yoshi's Island: Fix client giving victory randomly (#3586) 2024-06-26 13:19:16 +02:00
yugioh06 YGO06: add Item groups (#3737) 2024-12-01 04:09:22 +01:00
zillion Zillion: use "new" settings api and cleaning (#3903) 2024-11-29 21:25:01 +01:00
zork_grand_inquisitor Zork Grand Inquisitor: Precollect Start with Hotspot Items in deterministic order (#4412) 2024-12-31 09:16:29 -05:00
AutoSNIClient.py SNIClient: Let clients based on SNIClient monitor packages via on_package method (#3093) 2025-01-07 00:10:23 +01:00
AutoWorld.py Core: Add some more world convenience methods (#3021) 2024-12-15 23:30:35 +01:00
Files.py APProcedurePatch: fix RLE/COPY incorrect sizing (#3006) 2024-03-22 09:02:38 +01:00
LauncherComponents.py Core: add docstrings for launcher components (#4148) 2025-01-06 09:35:37 -05:00
__init__.py Core: purge py3.8 and py3.9 (#3973) 2024-11-27 03:28:00 +01:00