summary refs log tree commit diff stats
path: root/data/LL1.yaml
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2023-11-25 07:09:08 -0500
committerGitHub <noreply@github.com>2023-11-25 13:09:08 +0100
commite5d14e2e19772bb58905770f663c974592e43f32 (patch)
treedce303516f8e856b93abe6d061de6e2f4774a116 /data/LL1.yaml
parent9e57d690a3e8d337a6bbe45bec5a9449db64fd92 (diff)
downloadlingo-apworld-e5d14e2e19772bb58905770f663c974592e43f32.tar.gz
lingo-apworld-e5d14e2e19772bb58905770f663c974592e43f32.tar.bz2
lingo-apworld-e5d14e2e19772bb58905770f663c974592e43f32.zip
Lingo: Various generation optimizations (#2479)
Almost all of the events have been eradicated, which significantly improves both generation speed and playthrough calculation.

Previously, checking for access to a location involved checking for access to each panel in the location, as well as recursively checking for access to any panels required by those panels. This potentially performed the same check multiple times. The access requirements for locations are now calculated and flattened in generate_early, so that the access function can directly check for the required rooms, doors, and colors.

These flattened access requirements are also used for Entrance checking, and register_indirect_condition is used to make sure that can_reach(Region) is safe to use.

The Mastery and Level 2 rules now just run a bunch of access rules and count the number of them that succeed, instead of relying on event items.

Finally: the Level 2 panel hunt is now enabled even when Level 2 is not the victory condition, as I feel that generation is fast enough now for that to be acceptable.
Diffstat (limited to 'data/LL1.yaml')
-rw-r--r--data/LL1.yaml2
1 files changed, 0 insertions, 2 deletions
diff --git a/data/LL1.yaml b/data/LL1.yaml index d46403e..8a4f831 100644 --- a/data/LL1.yaml +++ b/data/LL1.yaml
@@ -379,8 +379,6 @@
379 tag: forbid 379 tag: forbid
380 non_counting: True 380 non_counting: True
381 check: True 381 check: True
382 required_panel:
383 - panel: ANOTHER TRY
384 doors: 382 doors:
385 Exit Door: 383 Exit Door:
386 id: Entry Room Area Doors/Door_hi_high 384 id: Entry Room Area Doors/Door_hi_high