Archipelago/worlds/ror2
Mysteryem 05ce29f7dc
RoR2: Remove recursion from explore mode access rules (#3681)
The access rules for "<Environment name> Chest n", "<Environment name>
Shrine n" etc. locations recursively called state.can_reach() for the
n-1 location name, with the n=1 location being the only location to have
the actual access rule set.

This patch removes the recursion, instead setting the actual access rule
directly on each location, increasing the performance of checking
accessibility of n>1 locations.

Risk of Rain 2 was already quite fast to generate despite the recursion
in the access rules, but with this patch, generating a multiworld with
200 copies of the template RoR2 yaml (and progression balancing
disabled through a meta.yaml) goes from about 18s to about 6s for me.

From generating the same seed before and after this patch, the same
result is produced.
2024-08-07 23:57:07 +02:00
..
docs Ror2: Add progressive stages option (#2813) 2024-04-09 21:14:18 +02:00
test Ror2: Add progressive stages option (#2813) 2024-04-09 21:14:18 +02:00
__init__.py RoR2: Add Support for New Stage (#3436) 2024-06-04 21:24:14 +02:00
items.py Ror2: Add progressive stages option (#2813) 2024-04-09 21:14:18 +02:00
locations.py RoR2: 1.3.0 content update (#2425) 2023-11-22 09:20:32 -06:00
options.py RoR2: Add Support for New Stage (#3436) 2024-06-04 21:24:14 +02:00
regions.py RoR2: Add Support for New Stage (#3436) 2024-06-04 21:24:14 +02:00
ror2environments.py RoR2: Add Support for New Stage (#3436) 2024-06-04 21:24:14 +02:00
rules.py RoR2: Remove recursion from explore mode access rules (#3681) 2024-08-07 23:57:07 +02:00