mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00

This is a combined PR for assorted Hollow Knight updates for June 2022 that have cleared testing. It supersedes any HK-exclusive PRs open by myself or @Alchav unless stated otherwise. Summary of changes below: * Implement Split Claw, Split Cloak, Split Superdash, Randomize Nail, Randomize Focus, Randomize Swim and Elevator * Pass options (@Alchav) * Add support for Deathlink with three different modes (@dewiniaid) * Add customizable additional shop slots per-shop (@Alchav) and overall (@dewiniaid) * Overhaul shop cost output to be more generic and account for all locations with standard costs (such as Stag Stations, Cornifer, and Divine) (@dewiniaid) * Add "CostSanity", allowing random prices using any cost type to be chosen for any location with a cost. (e.g. a Stag station requiring 15 grubs to obtain an item) * Item classification fixes (Map and Journal items are fillter, Mask Shards/Pale Ore/Vessel Fragments are useful) (@Alchav) * Fix Ijii -> Jiji (@Alchav ) * General code quality updates The above changes are only for the HK world.
27 lines
932 B
Python
27 lines
932 B
Python
# This module is written by Extractor.py, do not edit manually!.
|
|
from functools import partial
|
|
|
|
def set_generated_rules(hk_world, hk_set_rule):
|
|
player = hk_world.player
|
|
fn = partial(hk_set_rule, hk_world)
|
|
|
|
# Events
|
|
{% for location, rule_text in event_rules.items() %}
|
|
fn("{{location}}", lambda state: {{rule_text}})
|
|
{%- endfor %}
|
|
|
|
# Locations
|
|
{% for location, rule_text in location_rules.items() %}
|
|
fn("{{location}}", lambda state: {{rule_text}})
|
|
{%- endfor %}
|
|
|
|
# Connectors
|
|
{% for entrance, rule_text in connectors_rules.items() %}
|
|
rule = lambda state: {{rule_text}}
|
|
entrance = world.get_entrance("{{entrance}}", player)
|
|
entrance.access_rule = rule
|
|
{%- if entrance not in one_ways %}
|
|
world.get_entrance("{{entrance}}_R", player).access_rule = lambda state, entrance= entrance: \
|
|
rule(state) and entrance.can_reach(state)
|
|
{%- endif %}
|
|
{%- endfor %} |