From 2def8f35ad0027ab52a00aa9e8eeb523f447c9e2 Mon Sep 17 00:00:00 2001 From: Fabian Dill Date: Tue, 5 Apr 2022 15:01:33 +0200 Subject: [PATCH] KH: what? yeah, it's HK (#420) * KH: what? yeah, it's HK someone this hadn't been spotted yet. * KH: also fix the start AST Node, just in case we add those in at some point (currently they resolve to True/False anyway) --- worlds/hk/Extractor.py | 4 +- worlds/hk/Rules.py | 788 ++++++++++++++++++++--------------------- worlds/hk/__init__.py | 6 +- 3 files changed, 398 insertions(+), 400 deletions(-) diff --git a/worlds/hk/Extractor.py b/worlds/hk/Extractor.py index e6399930..6c23a44e 100644 --- a/worlds/hk/Extractor.py +++ b/worlds/hk/Extractor.py @@ -107,7 +107,7 @@ class Absorber(ast.NodeTransformer): return ast.Constant(False, ctx=node.ctx) if node.id in logic_options: return ast.Call( - func=ast.Attribute(value=ast.Name(id='state', ctx=ast.Load()), attr='_kh_option', ctx=ast.Load()), + func=ast.Attribute(value=ast.Name(id='state', ctx=ast.Load()), attr='_hk_option', ctx=ast.Load()), args=[ast.Name(id="player", ctx=ast.Load()), ast.Constant(value=logic_options[node.id])], keywords=[]) if node.id in macros: return macros[node.id].body @@ -143,7 +143,7 @@ class Absorber(ast.NodeTransformer): if node.slice.value in removed_starts: return ast.Constant(False, ctx=node.ctx) return ast.Call( - func=ast.Attribute(value=ast.Name(id='state', ctx=ast.Load()), attr='_kh_start', ctx=ast.Load()), + func=ast.Attribute(value=ast.Name(id='state', ctx=ast.Load()), attr='_hk_start', ctx=ast.Load()), args=[ast.Name(id="player", ctx=ast.Load()), node.slice], keywords=[]) elif node.value.id == "COMBAT": return macros[unparse(node)].body diff --git a/worlds/hk/Rules.py b/worlds/hk/Rules.py index 983be5fd..a6d404f0 100644 --- a/worlds/hk/Rules.py +++ b/worlds/hk/Rules.py @@ -36,19 +36,19 @@ def set_rules(hk_world): # Events - hk_set_rule(hk_world, "Can_Replenish_Geo", lambda state: state.count('Tutorial_01', player) or state.count('Can_Replenish_Geo-Crossroads', player) or state.count('Fungus1_01[right1]', player) or state.count('Fungus2_03[left1]', player) or state.count('Fungus2_06[top1]', player) or state.count('Fungus2_12[left1]', player) or state.count('Fungus2_14[top1]', player) or (state.count('Deepnest_41[left1]', player) and (state._kh_option(player, 'DarkRooms') or state.count('LANTERN', player))) or state.count('Ruins1_01[left1]', player) or state.count('Ruins1_17[right1]', player) or state.count('Ruins2_04[right2]', player) or state.count('Ruins2_06[right2]', player) or state.count('Abyss_04[left1]', player) or state.count('Abyss_12[right1]', player) or state.count('Fungus3_40[top1]', player) or state.count('Mines_02[left1]', player) or state.count('Cliffs_02[left1]', player) or state.count('Deepnest_East_01[bot1]', player) or state.count('Deepnest_East_03[left1]', player) or state.count('Deepnest_East_07[left2]', player) or state.count('Deepnest_East_08[top1]', player) or state.count('Waterways_02[top1]', player) or state.count('Waterways_01[right1]', player) or state.count('Waterways_04b[left1]', player)) - hk_set_rule(hk_world, "Can_Replenish_Geo-Crossroads", lambda state: state.count('Crossroads_01[top1]', player) or state.count('Crossroads_03', player) or state.count('Crossroads_04[door1]', player) or state.count('Crossroads_05[left1]', player) or state.count('Crossroads_07', player) or state.count('Crossroads_08', player) or (state.count('Crossroads_11_alt[left1]', player) and (state._kh_option(player, 'InfectionSkips') and state.count('DREAMER', player))) or (state.count('Crossroads_12[right1]', player) and (state._kh_option(player, 'InfectionSkips') and state.count('DREAMER', player))) or state.count('Crossroads_13[left1]', player) or state.count('Crossroads_15[left1]', player) or state.count('Crossroads_16[left1]', player) or state.count('Crossroads_19', player) or state.count('Crossroads_21', player) or state.count('Crossroads_22[bot1]', player) or state.count('Crossroads_25[right1]', player) or state.count('Crossroads_27', player) or state.count('Crossroads_35[right1]', player) or state.count('Crossroads_37[right1]', player) or state.count('Crossroads_39[left1]', player) or state.count('Crossroads_40[left1]', player) or state.count('Crossroads_42[left1]', player) or state.count('Crossroads_48[left1]', player) or state.count('Crossroads_ShamanTemple[left1]', player)) + hk_set_rule(hk_world, "Can_Replenish_Geo", lambda state: state.count('Tutorial_01', player) or state.count('Can_Replenish_Geo-Crossroads', player) or state.count('Fungus1_01[right1]', player) or state.count('Fungus2_03[left1]', player) or state.count('Fungus2_06[top1]', player) or state.count('Fungus2_12[left1]', player) or state.count('Fungus2_14[top1]', player) or (state.count('Deepnest_41[left1]', player) and (state._hk_option(player, 'DarkRooms') or state.count('LANTERN', player))) or state.count('Ruins1_01[left1]', player) or state.count('Ruins1_17[right1]', player) or state.count('Ruins2_04[right2]', player) or state.count('Ruins2_06[right2]', player) or state.count('Abyss_04[left1]', player) or state.count('Abyss_12[right1]', player) or state.count('Fungus3_40[top1]', player) or state.count('Mines_02[left1]', player) or state.count('Cliffs_02[left1]', player) or state.count('Deepnest_East_01[bot1]', player) or state.count('Deepnest_East_03[left1]', player) or state.count('Deepnest_East_07[left2]', player) or state.count('Deepnest_East_08[top1]', player) or state.count('Waterways_02[top1]', player) or state.count('Waterways_01[right1]', player) or state.count('Waterways_04b[left1]', player)) + hk_set_rule(hk_world, "Can_Replenish_Geo-Crossroads", lambda state: state.count('Crossroads_01[top1]', player) or state.count('Crossroads_03', player) or state.count('Crossroads_04[door1]', player) or state.count('Crossroads_05[left1]', player) or state.count('Crossroads_07', player) or state.count('Crossroads_08', player) or (state.count('Crossroads_11_alt[left1]', player) and (state._hk_option(player, 'InfectionSkips') and state.count('DREAMER', player))) or (state.count('Crossroads_12[right1]', player) and (state._hk_option(player, 'InfectionSkips') and state.count('DREAMER', player))) or state.count('Crossroads_13[left1]', player) or state.count('Crossroads_15[left1]', player) or state.count('Crossroads_16[left1]', player) or state.count('Crossroads_19', player) or state.count('Crossroads_21', player) or state.count('Crossroads_22[bot1]', player) or state.count('Crossroads_25[right1]', player) or state.count('Crossroads_27', player) or state.count('Crossroads_35[right1]', player) or state.count('Crossroads_37[right1]', player) or state.count('Crossroads_39[left1]', player) or state.count('Crossroads_40[left1]', player) or state.count('Crossroads_42[left1]', player) or state.count('Crossroads_48[left1]', player) or state.count('Crossroads_ShamanTemple[left1]', player)) hk_set_rule(hk_world, "Rescued_Sly", lambda state: state.count('Room_ruinhouse[left1]', player)) - hk_set_rule(hk_world, "Rescued_Bretta", lambda state: state.count('Fungus2_23', player) and ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player) or (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player)) or state.count('WINGS', player) or ((state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True and state._kh_option(player, 'ShadeSkips') and (state.count('MASKSHARDS', player) > 15))) or ((state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and state._kh_option(player, 'EnemyPogos'))) and state.count('WINGS', player)))) + hk_set_rule(hk_world, "Rescued_Bretta", lambda state: state.count('Fungus2_23', player) and ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player) or (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player)) or state.count('WINGS', player) or ((state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True and state._hk_option(player, 'ShadeSkips') and (state.count('MASKSHARDS', player) > 15))) or ((state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and state._hk_option(player, 'EnemyPogos'))) and state.count('WINGS', player)))) hk_set_rule(hk_world, "Rescued_Deepnest_Zote", lambda state: state.count('Deepnest_33[top1]', player)) hk_set_rule(hk_world, "Defeated_Colosseum_Zote", lambda state: state.count('Room_Colosseum_01[left1]', player) and state.count('Rescued_Deepnest_Zote', player) and state.count('Defeated_Colosseum_1', player)) hk_set_rule(hk_world, "Lever-Shade_Soul", lambda state: state.count('Ruins1_31b[right1]', player) or (state.count('Ruins1_31b[right2]', player) and state.count('Defeated_Elegant_Warrior', player))) hk_set_rule(hk_world, "Completed_Path_of_Pain", lambda state: state.count('White_Palace_20[bot1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and state.count('RIGHTDASH', player) and state.count('WINGS', player) and state.count('Defeated_Path_of_Pain_Arena', player)) hk_set_rule(hk_world, "Lever-Dung_Defender", lambda state: state.count('Waterways_05[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) and state.count('Defeated_Dung_Defender', player) or state.count('Waterways_05[bot2]', player) or state.count('Waterways_05[right1]', player)) - hk_set_rule(hk_world, "Warp-Lifeblood_Core_to_Abyss", lambda state: state.count('Abyss_08[right1]', player) and (state._kh_option(player, 'PreciseMovement') or state.count('LEFTDASH', player))) + hk_set_rule(hk_world, "Warp-Lifeblood_Core_to_Abyss", lambda state: state.count('Abyss_08[right1]', player) and (state._hk_option(player, 'PreciseMovement') or state.count('LEFTDASH', player))) hk_set_rule(hk_world, "Warp-Palace_Grounds_to_White_Palace", lambda state: state.count('Abyss_05', player) and state.count('DREAMNAIL', player) > 2) - hk_set_rule(hk_world, "Warp-White_Palace_Entrance_to_Palace_Grounds", lambda state: state.count('White_Palace_11[door2]', player) and ((state.count('SPELLS', player) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))))) - hk_set_rule(hk_world, "Warp-White_Palace_Atrium_to_Palace_Grounds", lambda state: state.count('White_Palace_03_hub[left1]', player) or (state.count('White_Palace_03_hub[top1]', player) and state.count('Palace_Atrium_Gates_Opened', player)) or (state.count('White_Palace_03_hub[right1]', player) and state.count('Palace_Atrium_Gates_Opened', player)) or (state.count('White_Palace_03_hub', player) and (state._kh_option(player, 'PreciseMovement') or state.count('LEFTCLAW', player) or state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or state.count('WINGS', player)))) + hk_set_rule(hk_world, "Warp-White_Palace_Entrance_to_Palace_Grounds", lambda state: state.count('White_Palace_11[door2]', player) and ((state.count('SPELLS', player) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))))) + hk_set_rule(hk_world, "Warp-White_Palace_Atrium_to_Palace_Grounds", lambda state: state.count('White_Palace_03_hub[left1]', player) or (state.count('White_Palace_03_hub[top1]', player) and state.count('Palace_Atrium_Gates_Opened', player)) or (state.count('White_Palace_03_hub[right1]', player) and state.count('Palace_Atrium_Gates_Opened', player)) or (state.count('White_Palace_03_hub', player) and (state._hk_option(player, 'PreciseMovement') or state.count('LEFTCLAW', player) or state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Warp-Path_of_Pain_Complete", lambda state: state.count('White_Palace_20[bot1]', player) and state.count('Completed_Path_of_Pain', player)) hk_set_rule(hk_world, "Upper_Tram", lambda state: state.count('TRAM', player) and (state.count('Crossroads_46[left1]', player) or state.count('Crossroads_46b[right1]', player))) hk_set_rule(hk_world, "Lower_Tram", lambda state: state.count('TRAM', player) and (state.count('Abyss_03', player) or state.count('Abyss_03_b', player) or state.count('Abyss_03_c', player))) @@ -56,45 +56,45 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Right_Elevator", lambda state: (state.count('Ruins2_10[right1]', player) or state.count('Ruins2_10[left1]', player) or state.count('Ruins2_10b[right1]', player) or state.count('Ruins2_10b[right2]', player) or state.count('Ruins2_10b[left1]', player)) and (False == 0 or state.count('Elevator_Pass', player))) hk_set_rule(hk_world, "Defeated_Gruz_Mother", lambda state: (state.count('Crossroads_04[left1]', player) or state.count('Crossroads_04[top1]', player) or state.count('Crossroads_04[door_Mender_House]', player) or state.count('Crossroads_04[door1]', player) or state.count('Crossroads_04[door_charmshop]', player) or state.count('Crossroads_04[right1]', player)) and True) hk_set_rule(hk_world, "Defeated_False_Knight", lambda state: (state.count('Crossroads_10[right1]', player) or (state.count('Crossroads_10[left1]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)))) and True) - hk_set_rule(hk_world, "Defeated_Brooding_Mawlek", lambda state: (state.count('Crossroads_09[left1]', player) or state.count('Crossroads_09[right1]', player)) and ((state.count('SPELLS', player) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))))) + hk_set_rule(hk_world, "Defeated_Brooding_Mawlek", lambda state: (state.count('Crossroads_09[left1]', player) or state.count('Crossroads_09[right1]', player)) and ((state.count('SPELLS', player) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))))) hk_set_rule(hk_world, "Defeated_Hornet_1", lambda state: state.count('Fungus1_04[right1]', player) and True) hk_set_rule(hk_world, "Defeated_Mantis_Lords", lambda state: (state.count('Fungus2_15[top3]', player) or state.count('Fungus2_15[right1]', player) or state.count('Fungus2_15[left1]', player)) and True) - hk_set_rule(hk_world, "Defeated_Sanctum_Warrior", lambda state: (state.count('Ruins1_23', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and state.count('LEFTSUPERDASH', player) and state._kh_option(player, 'EnemyPogos'))) or state.count('Ruins1_23[top1]', player)) and True) - hk_set_rule(hk_world, "Defeated_Soul_Master", lambda state: state.count('Ruins1_24[right1]', player) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips')))) - hk_set_rule(hk_world, "Defeated_Elegant_Warrior", lambda state: (state.count('Ruins1_31b[right1]', player) or state.count('Ruins1_31b[right2]', player)) and ((state.count('SPELLS', player) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))))) + hk_set_rule(hk_world, "Defeated_Sanctum_Warrior", lambda state: (state.count('Ruins1_23', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and state.count('LEFTSUPERDASH', player) and state._hk_option(player, 'EnemyPogos'))) or state.count('Ruins1_23[top1]', player)) and True) + hk_set_rule(hk_world, "Defeated_Soul_Master", lambda state: state.count('Ruins1_24[right1]', player) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips')))) + hk_set_rule(hk_world, "Defeated_Elegant_Warrior", lambda state: (state.count('Ruins1_31b[right1]', player) or state.count('Ruins1_31b[right2]', player)) and ((state.count('SPELLS', player) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))))) hk_set_rule(hk_world, "Defeated_Crystal_Guardian", lambda state: (state.count('Mines_18[left1]', player) or state.count('Mines_18[right1]', player) or state.count('Mines_18[top1]', player)) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('Great_Slash', player) or state.count('Cyclone_Slash', player) or ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) and state.count('Dash_Slash', player))) and True) - hk_set_rule(hk_world, "Defeated_Enraged_Guardian", lambda state: state.count('Mines_32[bot1]', player) and state.count('Defeated_Crystal_Guardian', player) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._kh_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))))) - hk_set_rule(hk_world, "Defeated_Flukemarm", lambda state: state.count('Waterways_12[right1]', player) and (state.count('SWIM', player) or state.count('LEFTSUPERDASH', player)) and (state.count('FIREBALL', player) > 1 or state.count('SCREAM', player) > 1 or ((state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._kh_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips')))) and state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'RemoveSpellUpgrades') and (state.count('FIREBALL', player) or state.count('SCREAM', player))))) - hk_set_rule(hk_world, "Defeated_Dung_Defender", lambda state: state.count('Waterways_05[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._kh_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))))) - hk_set_rule(hk_world, "Defeated_Broken_Vessel", lambda state: state.count('Abyss_19[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) and ((state.count('SPELLS', player) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))))) - hk_set_rule(hk_world, "Defeated_Hornet_2", lambda state: state.count('Deepnest_East_Hornet[left1]', player) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._kh_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))))) - hk_set_rule(hk_world, "Defeated_Watcher_Knights", lambda state: (state.count('Ruins2_03[bot1]', player) or state.count('Ruins2_03[top1]', player)) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._kh_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))))) - hk_set_rule(hk_world, "Defeated_Uumuu", lambda state: state.count('Fungus3_archive_02[top1]', player) and ((state.count('LEFTSUPERDASH', player) or state.count('RIGHTSUPERDASH', player)) or state.count('ACID', player) or (state._kh_option(player, 'AcidSkips') and state.count('LEFTDASH', player) and state.count('LEFTCLAW', player) and state.count('WINGS', player))) and (((state.count('FIREBALL', player) or state.count('SCREAM', player)) and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips')))))) - hk_set_rule(hk_world, "Defeated_Nosk", lambda state: state.count('Deepnest_32[left1]', player) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._kh_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))))) - hk_set_rule(hk_world, "Defeated_Traitor_Lord", lambda state: (state.count('Fungus3_23[left1]', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('RIGHTDASH', player)) or (state.count('Fungus3_23[right1]', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('LEFTDASH', player)) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._kh_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))))) - hk_set_rule(hk_world, "Defeated_Grimm", lambda state: state.count('Grimm_Main_Tent[left1]', player) and state.count('GRIMMCHILD', player) and (state.count('FLAMES', player) > 5) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._kh_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))))) - hk_set_rule(hk_world, "Defeated_Collector", lambda state: state.count('Ruins2_11[right1]', player) and (state.count('LEFTCLAW', player) or (state.count('RIGHTDASH', player) and state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._kh_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))))) - hk_set_rule(hk_world, "Defeated_Hive_Knight", lambda state: state.count('Hive_05[left1]', player) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._kh_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))))) - hk_set_rule(hk_world, "Defeated_Pale_Lurker", lambda state: state.count('GG_Lurker[left1]', player) and (state.count('SWIM', player) or state.count('RIGHTDASH', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player))) and state.count('RIGHTCLAW', player) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._kh_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))))) - hk_set_rule(hk_world, "Defeated_Elder_Hu", lambda state: state.count('Fungus2_32[left1]', player) and state.count('DREAMNAIL', player) and (((state.count('FIREBALL', player) or state.count('SCREAM', player)) and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips')))))) - hk_set_rule(hk_world, "Defeated_Xero", lambda state: state.count('RestingGrounds_02', player) and state.count('DREAMNAIL', player) and (((state.count('FIREBALL', player) or state.count('SCREAM', player)) and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips')))))) - hk_set_rule(hk_world, "Defeated_Gorb", lambda state: state.count('Cliffs_02', player) and state.count('DREAMNAIL', player) and (((state.count('FIREBALL', player) or state.count('SCREAM', player)) and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips')))))) - hk_set_rule(hk_world, "Defeated_Marmu", lambda state: (state.count('Fungus3_40[top1]', player) or (state.count('Fungus3_40[right1]', player) and (state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and state.count('LEFTSUPERDASH', player)) or state.count('WINGS', player) or state.count('LEFTDASH', player)))) and state.count('DREAMNAIL', player) and (((state.count('FIREBALL', player) or state.count('SCREAM', player)) and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips')))))) - hk_set_rule(hk_world, "Defeated_No_Eyes", lambda state: (state.count('Fungus1_35[left1]', player) or state.count('Fungus1_35[right1]', player)) and state.count('LANTERN', player) and state.count('DREAMNAIL', player) and (((state.count('FIREBALL', player) or state.count('SCREAM', player)) and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips')))))) - hk_set_rule(hk_world, "Defeated_Galien", lambda state: state.count('Deepnest_40[right1]', player) and state.count('DREAMNAIL', player) and (((state.count('FIREBALL', player) or state.count('SCREAM', player)) and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips')))))) - hk_set_rule(hk_world, "Defeated_Markoth", lambda state: state.count('Deepnest_East_10[left1]', player) and state.count('DREAMNAIL', player) and (((state.count('FIREBALL', player) or state.count('SCREAM', player)) and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips')))))) - hk_set_rule(hk_world, "Defeated_Failed_Champion", lambda state: (state.count('Crossroads_10[left1]', player) or state.count('Crossroads_10[right1]', player)) and state.count('Defeated_False_Knight', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and (state.count('WINGS', player) or state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player))) and state.count('DREAMNAIL', player) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._kh_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))))) - hk_set_rule(hk_world, "Defeated_Soul_Tyrant", lambda state: (state.count('Ruins1_24[right1]', player) or state.count('Ruins1_24[left1]', player)) and state.count('Defeated_Soul_Master', player) and (state.count('LEFTCLAW', player) and state._kh_option(player, 'PreciseMovement') or state.count('WINGS', player) or state.count('LEFTDASH', player)) and state.count('DREAMNAIL', player) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._kh_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))))) - hk_set_rule(hk_world, "Defeated_Lost_Kin", lambda state: (state.count('Abyss_19[left1]', player) or state.count('Abyss_19[bot1]', player)) and state.count('Defeated_Broken_Vessel', player) and state.count('DREAMNAIL', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player)) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._kh_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))))) - hk_set_rule(hk_world, "Defeated_White_Defender", lambda state: state.count('Waterways_15[top1]', player) and state.count('DREAMNAIL', player) and (state.count('DREAMER', player) > 2) and state.count('Defeated_Dung_Defender', player) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._kh_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))))) - hk_set_rule(hk_world, "Defeated_Grey_Prince_Zote", lambda state: state.count('Room_Bretta[right1]', player) and state.count('DREAMNAIL', player) and state.count('WINGS', player) and state.count('Rescued_Bretta', player) and state.count('Defeated_Colosseum_Zote', player) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._kh_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))))) - hk_set_rule(hk_world, "Defeated_Colosseum_1", lambda state: state.count('Room_Colosseum_01[left1]', player) and state.count('Can_Replenish_Geo', player) and ((state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._kh_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips')))) and (state.count('FOCUS', player) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))))) - hk_set_rule(hk_world, "Defeated_Colosseum_2", lambda state: state.count('Room_Colosseum_01[left1]', player) and state.count('Can_Replenish_Geo', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or ((state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips')) and state.count('WINGS', player))) and ((state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._kh_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips')))) and (state.count('FOCUS', player) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))))) - hk_set_rule(hk_world, "Defeated_Shrumal_Ogre_Arena", lambda state: (state.count('Fungus2_05[bot1]', player) or state.count('Fungus2_05[right1]', player)) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('Cyclone_Slash', player) or state.count('Great_Slash', player) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips')))) - hk_set_rule(hk_world, "Defeated_King's_Station_Arena", lambda state: state.count('Ruins2_09[bot1]', player) and ((state.count('SPELLS', player) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))))) - hk_set_rule(hk_world, "Defeated_West_Queen's_Gardens_Arena", lambda state: (state.count('Fungus3_10[bot1]', player) or (state.count('Fungus3_10[top1]', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player) or state.count('WINGS', player)))) and ((state.count('SPELLS', player) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))))) - hk_set_rule(hk_world, "Defeated_Path_of_Pain_Arena", lambda state: state.count('White_Palace_20[bot1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and state.count('RIGHTDASH', player) and state.count('WINGS', player) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._kh_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))))) - hk_set_rule(hk_world, "Can_Bench", lambda state: state.count('Town', player) or state.count('Room_nailmaster[left1]', player) or state.count('Crossroads_30[left1]', player) or state.count('Crossroads_47[right1]', player) or state.count('Crossroads_04[door_charmshop]', player) or state.count('Crossroads_ShamanTemple[left1]', player) or (state.count('Room_temple[left1]', player) and state.count('Opened_Black_Egg_Temple', player)) or state.count('Fungus1_01b[left1]', player) or state.count('Fungus1_37[left1]', player) or state.count('Fungus1_31[bot1]', player) or state.count('Fungus1_16_alt[right1]', player) or state.count('Room_Slug_Shrine[left1]', player) or state.count('Fungus1_15[door1]', player) or (state.count('Fungus3_archive[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player))) or state.count('Fungus2_02[right1]', player) or state.count('Fungus2_26[left1]', player) or state.count('Fungus2_13', player) or (state.count('Fungus2_31[left1]', player) and state.count('Defeated_Mantis_Lords', player)) or (state.count('Ruins1_02[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player))) or state.count('Ruins1_02[top1]', player) or (state.count('Ruins1_31[left1]', player) and state.count('Can_Replenish_Geo', player)) or state.count('Ruins1_29[left1]', player) or state.count('Ruins1_18[right2]', player) or state.count('Ruins2_08[left1]', player) or state.count('Ruins_Bathhouse[door1]', player) or state.count('Deepnest_30[left1]', player) or state.count('Deepnest_14[left1]', player) or (state.count('Deepnest_Spider_Town[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or (state.count('WINGS', player) and state._kh_option(player, 'ComplexSkips') and state._kh_option(player, 'ShadeSkips') and (state.count('MASKSHARDS', player) > 15)))) or (state.count('Waterways_02[top3]', player) and state.count('QUAKE', player)) or (state.count('Waterways_02', player) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state.count('RIGHTCLAW', player)) or (state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'DangerousSkips') and (state.count('WINGS', player) or state.count('RIGHTCLAW', player))))) or (state.count('Abyss_18[right1]', player) and state.count('Can_Replenish_Geo', player)) or state.count('Abyss_22[left1]', player) or state.count('Deepnest_East_06[door1]', player) or state.count('Deepnest_East_13[bot1]', player) or state.count('Room_Colosseum_02[top1]', player) or state.count('Room_Colosseum_02[top2]', player) or state.count('Hive_01[right2]', player) or state.count('Mines_29[left1]', player) or (state.count('Mines_18[left1]', player) and state.count('Defeated_Crystal_Guardian', player)) or state.count('RestingGrounds_09[left1]', player) or state.count('RestingGrounds_12[door_Mansion]', player) or (state.count('Fungus1_24[left1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player))) or (state.count('Fungus3_50[right1]', player) and state.count('Can_Replenish_Geo', player)) or state.count('Fungus3_40[right1]', player) or state.count('White_Palace_01', player) or state.count('White_Palace_03_hub', player) or state.count('White_Palace_06[top1]', player) or state.count('Upper_Tram', player) or state.count('Lower_Tram', player)) + hk_set_rule(hk_world, "Defeated_Enraged_Guardian", lambda state: state.count('Mines_32[bot1]', player) and state.count('Defeated_Crystal_Guardian', player) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._hk_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))))) + hk_set_rule(hk_world, "Defeated_Flukemarm", lambda state: state.count('Waterways_12[right1]', player) and (state.count('SWIM', player) or state.count('LEFTSUPERDASH', player)) and (state.count('FIREBALL', player) > 1 or state.count('SCREAM', player) > 1 or ((state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._hk_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips')))) and state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'RemoveSpellUpgrades') and (state.count('FIREBALL', player) or state.count('SCREAM', player))))) + hk_set_rule(hk_world, "Defeated_Dung_Defender", lambda state: state.count('Waterways_05[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._hk_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))))) + hk_set_rule(hk_world, "Defeated_Broken_Vessel", lambda state: state.count('Abyss_19[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) and ((state.count('SPELLS', player) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))))) + hk_set_rule(hk_world, "Defeated_Hornet_2", lambda state: state.count('Deepnest_East_Hornet[left1]', player) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._hk_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))))) + hk_set_rule(hk_world, "Defeated_Watcher_Knights", lambda state: (state.count('Ruins2_03[bot1]', player) or state.count('Ruins2_03[top1]', player)) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._hk_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))))) + hk_set_rule(hk_world, "Defeated_Uumuu", lambda state: state.count('Fungus3_archive_02[top1]', player) and ((state.count('LEFTSUPERDASH', player) or state.count('RIGHTSUPERDASH', player)) or state.count('ACID', player) or (state._hk_option(player, 'AcidSkips') and state.count('LEFTDASH', player) and state.count('LEFTCLAW', player) and state.count('WINGS', player))) and (((state.count('FIREBALL', player) or state.count('SCREAM', player)) and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips')))))) + hk_set_rule(hk_world, "Defeated_Nosk", lambda state: state.count('Deepnest_32[left1]', player) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._hk_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))))) + hk_set_rule(hk_world, "Defeated_Traitor_Lord", lambda state: (state.count('Fungus3_23[left1]', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('RIGHTDASH', player)) or (state.count('Fungus3_23[right1]', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('LEFTDASH', player)) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._hk_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))))) + hk_set_rule(hk_world, "Defeated_Grimm", lambda state: state.count('Grimm_Main_Tent[left1]', player) and state.count('GRIMMCHILD', player) and (state.count('FLAMES', player) > 5) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._hk_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))))) + hk_set_rule(hk_world, "Defeated_Collector", lambda state: state.count('Ruins2_11[right1]', player) and (state.count('LEFTCLAW', player) or (state.count('RIGHTDASH', player) and state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._hk_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))))) + hk_set_rule(hk_world, "Defeated_Hive_Knight", lambda state: state.count('Hive_05[left1]', player) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._hk_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))))) + hk_set_rule(hk_world, "Defeated_Pale_Lurker", lambda state: state.count('GG_Lurker[left1]', player) and (state.count('SWIM', player) or state.count('RIGHTDASH', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player))) and state.count('RIGHTCLAW', player) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._hk_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))))) + hk_set_rule(hk_world, "Defeated_Elder_Hu", lambda state: state.count('Fungus2_32[left1]', player) and state.count('DREAMNAIL', player) and (((state.count('FIREBALL', player) or state.count('SCREAM', player)) and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips')))))) + hk_set_rule(hk_world, "Defeated_Xero", lambda state: state.count('RestingGrounds_02', player) and state.count('DREAMNAIL', player) and (((state.count('FIREBALL', player) or state.count('SCREAM', player)) and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips')))))) + hk_set_rule(hk_world, "Defeated_Gorb", lambda state: state.count('Cliffs_02', player) and state.count('DREAMNAIL', player) and (((state.count('FIREBALL', player) or state.count('SCREAM', player)) and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips')))))) + hk_set_rule(hk_world, "Defeated_Marmu", lambda state: (state.count('Fungus3_40[top1]', player) or (state.count('Fungus3_40[right1]', player) and (state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and state.count('LEFTSUPERDASH', player)) or state.count('WINGS', player) or state.count('LEFTDASH', player)))) and state.count('DREAMNAIL', player) and (((state.count('FIREBALL', player) or state.count('SCREAM', player)) and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips')))))) + hk_set_rule(hk_world, "Defeated_No_Eyes", lambda state: (state.count('Fungus1_35[left1]', player) or state.count('Fungus1_35[right1]', player)) and state.count('LANTERN', player) and state.count('DREAMNAIL', player) and (((state.count('FIREBALL', player) or state.count('SCREAM', player)) and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips')))))) + hk_set_rule(hk_world, "Defeated_Galien", lambda state: state.count('Deepnest_40[right1]', player) and state.count('DREAMNAIL', player) and (((state.count('FIREBALL', player) or state.count('SCREAM', player)) and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips')))))) + hk_set_rule(hk_world, "Defeated_Markoth", lambda state: state.count('Deepnest_East_10[left1]', player) and state.count('DREAMNAIL', player) and (((state.count('FIREBALL', player) or state.count('SCREAM', player)) and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips')))))) + hk_set_rule(hk_world, "Defeated_Failed_Champion", lambda state: (state.count('Crossroads_10[left1]', player) or state.count('Crossroads_10[right1]', player)) and state.count('Defeated_False_Knight', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and (state.count('WINGS', player) or state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player))) and state.count('DREAMNAIL', player) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._hk_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))))) + hk_set_rule(hk_world, "Defeated_Soul_Tyrant", lambda state: (state.count('Ruins1_24[right1]', player) or state.count('Ruins1_24[left1]', player)) and state.count('Defeated_Soul_Master', player) and (state.count('LEFTCLAW', player) and state._hk_option(player, 'PreciseMovement') or state.count('WINGS', player) or state.count('LEFTDASH', player)) and state.count('DREAMNAIL', player) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._hk_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))))) + hk_set_rule(hk_world, "Defeated_Lost_Kin", lambda state: (state.count('Abyss_19[left1]', player) or state.count('Abyss_19[bot1]', player)) and state.count('Defeated_Broken_Vessel', player) and state.count('DREAMNAIL', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player)) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._hk_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))))) + hk_set_rule(hk_world, "Defeated_White_Defender", lambda state: state.count('Waterways_15[top1]', player) and state.count('DREAMNAIL', player) and (state.count('DREAMER', player) > 2) and state.count('Defeated_Dung_Defender', player) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._hk_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))))) + hk_set_rule(hk_world, "Defeated_Grey_Prince_Zote", lambda state: state.count('Room_Bretta[right1]', player) and state.count('DREAMNAIL', player) and state.count('WINGS', player) and state.count('Rescued_Bretta', player) and state.count('Defeated_Colosseum_Zote', player) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._hk_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))))) + hk_set_rule(hk_world, "Defeated_Colosseum_1", lambda state: state.count('Room_Colosseum_01[left1]', player) and state.count('Can_Replenish_Geo', player) and ((state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._hk_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips')))) and (state.count('FOCUS', player) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))))) + hk_set_rule(hk_world, "Defeated_Colosseum_2", lambda state: state.count('Room_Colosseum_01[left1]', player) and state.count('Can_Replenish_Geo', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or ((state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips')) and state.count('WINGS', player))) and ((state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._hk_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips')))) and (state.count('FOCUS', player) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))))) + hk_set_rule(hk_world, "Defeated_Shrumal_Ogre_Arena", lambda state: (state.count('Fungus2_05[bot1]', player) or state.count('Fungus2_05[right1]', player)) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('Cyclone_Slash', player) or state.count('Great_Slash', player) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips')))) + hk_set_rule(hk_world, "Defeated_King's_Station_Arena", lambda state: state.count('Ruins2_09[bot1]', player) and ((state.count('SPELLS', player) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))))) + hk_set_rule(hk_world, "Defeated_West_Queen's_Gardens_Arena", lambda state: (state.count('Fungus3_10[bot1]', player) or (state.count('Fungus3_10[top1]', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player) or state.count('WINGS', player)))) and ((state.count('SPELLS', player) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))))) + hk_set_rule(hk_world, "Defeated_Path_of_Pain_Arena", lambda state: state.count('White_Palace_20[bot1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and state.count('RIGHTDASH', player) and state.count('WINGS', player) and (state.count('SPELLS', player) > 1 and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state._hk_option(player, 'ProficientCombat')) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))))) + hk_set_rule(hk_world, "Can_Bench", lambda state: state.count('Town', player) or state.count('Room_nailmaster[left1]', player) or state.count('Crossroads_30[left1]', player) or state.count('Crossroads_47[right1]', player) or state.count('Crossroads_04[door_charmshop]', player) or state.count('Crossroads_ShamanTemple[left1]', player) or (state.count('Room_temple[left1]', player) and state.count('Opened_Black_Egg_Temple', player)) or state.count('Fungus1_01b[left1]', player) or state.count('Fungus1_37[left1]', player) or state.count('Fungus1_31[bot1]', player) or state.count('Fungus1_16_alt[right1]', player) or state.count('Room_Slug_Shrine[left1]', player) or state.count('Fungus1_15[door1]', player) or (state.count('Fungus3_archive[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player))) or state.count('Fungus2_02[right1]', player) or state.count('Fungus2_26[left1]', player) or state.count('Fungus2_13', player) or (state.count('Fungus2_31[left1]', player) and state.count('Defeated_Mantis_Lords', player)) or (state.count('Ruins1_02[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player))) or state.count('Ruins1_02[top1]', player) or (state.count('Ruins1_31[left1]', player) and state.count('Can_Replenish_Geo', player)) or state.count('Ruins1_29[left1]', player) or state.count('Ruins1_18[right2]', player) or state.count('Ruins2_08[left1]', player) or state.count('Ruins_Bathhouse[door1]', player) or state.count('Deepnest_30[left1]', player) or state.count('Deepnest_14[left1]', player) or (state.count('Deepnest_Spider_Town[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or (state.count('WINGS', player) and state._hk_option(player, 'ComplexSkips') and state._hk_option(player, 'ShadeSkips') and (state.count('MASKSHARDS', player) > 15)))) or (state.count('Waterways_02[top3]', player) and state.count('QUAKE', player)) or (state.count('Waterways_02', player) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state.count('RIGHTCLAW', player)) or (state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'DangerousSkips') and (state.count('WINGS', player) or state.count('RIGHTCLAW', player))))) or (state.count('Abyss_18[right1]', player) and state.count('Can_Replenish_Geo', player)) or state.count('Abyss_22[left1]', player) or state.count('Deepnest_East_06[door1]', player) or state.count('Deepnest_East_13[bot1]', player) or state.count('Room_Colosseum_02[top1]', player) or state.count('Room_Colosseum_02[top2]', player) or state.count('Hive_01[right2]', player) or state.count('Mines_29[left1]', player) or (state.count('Mines_18[left1]', player) and state.count('Defeated_Crystal_Guardian', player)) or state.count('RestingGrounds_09[left1]', player) or state.count('RestingGrounds_12[door_Mansion]', player) or (state.count('Fungus1_24[left1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player))) or (state.count('Fungus3_50[right1]', player) and state.count('Can_Replenish_Geo', player)) or state.count('Fungus3_40[right1]', player) or state.count('White_Palace_01', player) or state.count('White_Palace_03_hub', player) or state.count('White_Palace_06[top1]', player) or state.count('Upper_Tram', player) or state.count('Lower_Tram', player)) hk_set_rule(hk_world, "Can_Stag", lambda state: state.count('Room_Town_Stag_Station[left1]', player) or state.count('Crossroads_47[right1]', player) or state.count('Fungus1_16_alt[right1]', player) or state.count('Fungus2_02[right1]', player) or (state.count('Fungus3_40[top1]', player) or state.count('Fungus3_40[right1]', player)) or state.count('Ruins1_29[left1]', player) or state.count('Ruins2_08[left1]', player) or state.count('RestingGrounds_09[left1]', player) or state.count('Deepnest_09[left1]', player) or state.count('Abyss_22[left1]', player)) hk_set_rule(hk_world, "Can_Repair_Fragile_Charms", lambda state: state.count('Fungus2_26[left1]', player) and state.count('Can_Replenish_Geo', player)) hk_set_rule(hk_world, "First_Grimmchild_Upgrade", lambda state: state.count('Grimm_Main_Tent[left1]', player) and state.count('GRIMMCHILD', player) and (state.count('FLAMES', player) > 2)) @@ -102,21 +102,21 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Nightmare_Lantern_Lit", lambda state: state.count('Cliffs_06[left1]', player) and state.count('DREAMNAIL', player) or state.count('GRIMMCHILD', player)) hk_set_rule(hk_world, "Opened_Waterways_Manhole", lambda state: state.count('Ruins1_05b', player) and state.count('SIMPLE', player) > 3) hk_set_rule(hk_world, "Opened_Dung_Defender_Wall", lambda state: state.count('Waterways_05[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) and state.count('Defeated_Dung_Defender', player) or state.count('Waterways_05[bot2]', player) or state.count('Waterways_05[right1]', player)) - hk_set_rule(hk_world, "Opened_Resting_Grounds_Floor", lambda state: (state.count('RestingGrounds_06[left1]', player) or state.count('RestingGrounds_06[right1]', player)) and (state.count('LEFTDASH', player) or state.count('LEFTCLAW', player) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos')) or state.count('RestingGrounds_06[top1]', player)) + hk_set_rule(hk_world, "Opened_Resting_Grounds_Floor", lambda state: (state.count('RestingGrounds_06[left1]', player) or state.count('RestingGrounds_06[right1]', player)) and (state.count('LEFTDASH', player) or state.count('LEFTCLAW', player) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos')) or state.count('RestingGrounds_06[top1]', player)) hk_set_rule(hk_world, "Opened_Resting_Grounds_Catacombs_Wall", lambda state: state.count('RestingGrounds_10', player)) hk_set_rule(hk_world, "Opened_Pleasure_House_Wall", lambda state: state.count('Ruins_Bathhouse[door1]', player) or state.count('Ruins_Bathhouse[right1]', player)) hk_set_rule(hk_world, "Opened_Gardens_Stag_Exit", lambda state: state.count('Fungus3_40[top1]', player) or state.count('Fungus3_40[right1]', player) or (state.count("Queen's_Gardens_Stag", player) and state.count('Can_Stag', player))) hk_set_rule(hk_world, "Opened_Mawlek_Wall", lambda state: state.count('Crossroads_09[right1]', player) or (state.count('Crossroads_09[left1]', player) and state.count('Defeated_Brooding_Mawlek', player))) hk_set_rule(hk_world, "Opened_Shaman_Pillar", lambda state: state.count('Crossroads_06[left1]', player) or state.count('Crossroads_06[door1]', player) or state.count('Crossroads_06[right1]', player) or state.count('DREAMER', player)) hk_set_rule(hk_world, "Opened_Archives_Exit_Wall", lambda state: state.count('Fungus3_47', player)) - hk_set_rule(hk_world, "Opened_Tramway_Exit_Gate", lambda state: state.count('Deepnest_26b[right2]', player) and (state.count('WINGS', player) or (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state._kh_option(player, 'EnemyPogos'))))) + hk_set_rule(hk_world, "Opened_Tramway_Exit_Gate", lambda state: state.count('Deepnest_26b[right2]', player) and (state.count('WINGS', player) or (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state._hk_option(player, 'EnemyPogos'))))) hk_set_rule(hk_world, "Broke_Sanctum_Glass_Floor", lambda state: state.count('Ruins1_30', player) and state.count('QUAKE', player)) hk_set_rule(hk_world, "Opened_Emilitia_Door", lambda state: state.count('Ruins_House_03[left1]', player) or ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state.count('Ruins_House_03[left2]', player))) hk_set_rule(hk_world, "Lit_Abyss_Lighthouse", lambda state: state.count('Abyss_Lighthouse_room[left1]', player)) hk_set_rule(hk_world, "Opened_Lower_Kingdom's_Edge_Wall", lambda state: state.count('Deepnest_East_02', player)) hk_set_rule(hk_world, "Opened_Glade_Door", lambda state: state.count('RestingGrounds_07[right1]', player) and state.count('ESSENCE', player) > 199) hk_set_rule(hk_world, "Opened_Waterways_Exit", lambda state: (state.count('Waterways_09[left1]', player) or state.count('Waterways_09[right1]', player)) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player)))) or False) - hk_set_rule(hk_world, "Palace_Entrance_Lantern_Lit", lambda state: state.count('White_Palace_02[left1]', player) and state.count('LEFTCLAW', player) and state.count('WINGS', player) and ((state.count('SPELLS', player) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))))) + hk_set_rule(hk_world, "Palace_Entrance_Lantern_Lit", lambda state: state.count('White_Palace_02[left1]', player) and state.count('LEFTCLAW', player) and state.count('WINGS', player) and ((state.count('SPELLS', player) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))))) hk_set_rule(hk_world, "Palace_Left_Lantern_Lit", lambda state: state.count('White_Palace_14[right1]', player)) hk_set_rule(hk_world, "Palace_Right_Lantern_Lit", lambda state: state.count('White_Palace_15[right1]', player)) hk_set_rule(hk_world, "Palace_Atrium_Gates_Opened", lambda state: state.count('Palace_Left_Lantern_Lit', player) and state.count('Palace_Right_Lantern_Lit', player)) @@ -127,7 +127,7 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Crossroads_07", lambda state: state.count('Crossroads_07[left1]', player) or state.count('Crossroads_07[left2]', player) or state.count('Crossroads_07[left3]', player) or state.count('Crossroads_07[right1]', player) or state.count('Crossroads_07[right2]', player) or state.count('Crossroads_07[bot1]', player)) hk_set_rule(hk_world, "Crossroads_08", lambda state: state.count('Crossroads_08[left1]', player) or state.count('Crossroads_08[left2]', player) or state.count('Crossroads_08[right1]', player) or state.count('Crossroads_08[right2]', player)) hk_set_rule(hk_world, "Crossroads_14", lambda state: state.count('Crossroads_14[left1]', player) or state.count('Crossroads_14[left2]', player) or state.count('Crossroads_14[right1]', player) or state.count('Crossroads_14[right2]', player)) - hk_set_rule(hk_world, "Crossroads_18", lambda state: state.count('Crossroads_18[right1]', player) and (state.count('LEFTDASH', player) or state.count('WINGS', player) or (state._kh_option(player, 'InfectionSkips') and state.count('DREAMER', player))) or state.count('Crossroads_18[bot1]', player) or state.count('Crossroads_18[right2]', player)) + hk_set_rule(hk_world, "Crossroads_18", lambda state: state.count('Crossroads_18[right1]', player) and (state.count('LEFTDASH', player) or state.count('WINGS', player) or (state._hk_option(player, 'InfectionSkips') and state.count('DREAMER', player))) or state.count('Crossroads_18[bot1]', player) or state.count('Crossroads_18[right2]', player)) hk_set_rule(hk_world, "Crossroads_19", lambda state: state.count('Crossroads_19[left1]', player) or state.count('Crossroads_19[left2]', player) or state.count('Crossroads_19[right1]', player) or state.count('Crossroads_19[top1]', player)) hk_set_rule(hk_world, "Crossroads_21", lambda state: state.count('Crossroads_21[left1]', player) or state.count('Crossroads_21[right1]', player) or state.count('Crossroads_21[top1]', player)) hk_set_rule(hk_world, "Crossroads_27", lambda state: state.count('Crossroads_27[right1]', player) or state.count('Crossroads_27[bot1]', player) or state.count('Crossroads_27[left1]', player) or state.count('Crossroads_27[left2]', player)) @@ -145,7 +145,7 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Fungus2_04", lambda state: state.count('Fungus2_04[left1]', player) or state.count('Fungus2_04[right1]', player) or state.count('Fungus2_04[right2]', player) or state.count('Fungus2_04[top1]', player)) hk_set_rule(hk_world, "Fungus2_06", lambda state: state.count('Fungus2_06[left1]', player) or (state.count('Fungus2_06[left2]', player) and state.count('ACID', player)) or state.count('Fungus2_06[top1]', player) or state.count('Fungus2_06[right1]', player) or state.count('Fungus2_06[right2]', player)) hk_set_rule(hk_world, "Fungus2_11", lambda state: state.count('Fungus2_11[top1]', player) or state.count('Fungus2_11[left1]', player) or state.count('Fungus2_11[left2]', player) or state.count('Fungus2_11[right1]', player)) - hk_set_rule(hk_world, "Fungus2_13", lambda state: state.count('Fungus2_13[top1]', player) or state.count('Fungus2_13[left2]', player) or (state.count('Fungus2_13[left3]', player) and (state.count('RIGHTDASH', player) or state.count('ACID', player) or state.count('WINGS', player) or state.count('LEFTCLAW', player) or ((state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True) or state._kh_option(player, 'ShadeSkips')))) + hk_set_rule(hk_world, "Fungus2_13", lambda state: state.count('Fungus2_13[top1]', player) or state.count('Fungus2_13[left2]', player) or (state.count('Fungus2_13[left3]', player) and (state.count('RIGHTDASH', player) or state.count('ACID', player) or state.count('WINGS', player) or state.count('LEFTCLAW', player) or ((state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True) or state._hk_option(player, 'ShadeSkips')))) hk_set_rule(hk_world, "Fungus2_14", lambda state: state.count('Fungus2_14[top1]', player) or state.count('Fungus2_14[bot3]', player) or (state.count('Fungus2_14[right1]', player) and (state.count('LEFTDASH', player) or state.count('LEFTCLAW', player) or state.count('WINGS', player) or state.count('LEFTSUPERDASH', player) or state.count('ACID', player)))) hk_set_rule(hk_world, "Fungus2_17", lambda state: state.count('Fungus2_17[right1]', player) or state.count('Fungus2_17[left1]', player) or state.count('Fungus2_17[bot1]', player)) hk_set_rule(hk_world, "Fungus2_20", lambda state: state.count('Fungus2_20[left1]', player) or state.count('Fungus2_20[right1]', player)) @@ -158,15 +158,15 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Deepnest_14", lambda state: state.count('Deepnest_14[left1]', player) or state.count('Deepnest_14[bot1]', player) or state.count('Deepnest_14[bot2]', player)) hk_set_rule(hk_world, "Deepnest_17", lambda state: state.count('Deepnest_17[left1]', player) or state.count('Deepnest_17[right1]', player) or state.count('Deepnest_17[top1]', player) or state.count('Deepnest_17[bot1]', player)) hk_set_rule(hk_world, "Deepnest_26", lambda state: state.count('Deepnest_26[right1]', player) or state.count('Deepnest_26[bot1]', player) or (state.count('Deepnest_26[left1]', player) and (state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player)) or state.count('WINGS', player)) and state.count('Opened_Tramway_Exit_Gate', player))) - hk_set_rule(hk_world, "Deepnest_34", lambda state: (state.count('LANTERN', player) or state._kh_option(player, 'DarkRooms')) and (state.count('Deepnest_34[left1]', player) or state.count('Deepnest_34[right1]', player) or state.count('Deepnest_34[top1]', player))) - hk_set_rule(hk_world, "Deepnest_35", lambda state: (state.count('LANTERN', player) or state._kh_option(player, 'DarkRooms')) and (state.count('Deepnest_35[bot1]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('Deepnest_35[left1]', player) or state.count('Deepnest_35[top1]', player))) + hk_set_rule(hk_world, "Deepnest_34", lambda state: (state.count('LANTERN', player) or state._hk_option(player, 'DarkRooms')) and (state.count('Deepnest_34[left1]', player) or state.count('Deepnest_34[right1]', player) or state.count('Deepnest_34[top1]', player))) + hk_set_rule(hk_world, "Deepnest_35", lambda state: (state.count('LANTERN', player) or state._hk_option(player, 'DarkRooms')) and (state.count('Deepnest_35[bot1]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('Deepnest_35[left1]', player) or state.count('Deepnest_35[top1]', player))) hk_set_rule(hk_world, "Deepnest_37", lambda state: state.count('Deepnest_37[left1]', player) or state.count('Deepnest_37[top1]', player) or state.count('Deepnest_37[right1]', player) or state.count('Deepnest_37[bot1]', player)) - hk_set_rule(hk_world, "Deepnest_39", lambda state: (state.count('LANTERN', player) or state._kh_option(player, 'DarkRooms')) and (state.count('Deepnest_39[right1]', player) or state.count('Deepnest_39[door1]', player) or state.count('Deepnest_39[top1]', player) or state.count('Deepnest_39[left1]', player))) - hk_set_rule(hk_world, "Deepnest_41", lambda state: (state.count('LANTERN', player) or state._kh_option(player, 'DarkRooms')) and (state.count('Deepnest_41[left1]', player) and (state.count('RIGHTCLAW', player) or ((state.count('LEFTCLAW', player) or state.count('WINGS', player)) and state._kh_option(player, 'EnemyPogos'))) or (state.count('Deepnest_41[left2]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))))) or (state.count('Deepnest_41[right1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player))))) - hk_set_rule(hk_world, "Deepnest_42", lambda state: (state.count('LANTERN', player) or state._kh_option(player, 'DarkRooms')) and (state.count('Deepnest_42[bot1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) or state.count('Deepnest_42[left1]', player) or state.count('Deepnest_42[top1]', player))) - hk_set_rule(hk_world, "Deepnest_East_02", lambda state: state.count('Deepnest_East_02[bot1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and state._kh_option(player, 'EnemyPogos'))) or state.count('Deepnest_East_02[top1]', player) or state.count('Deepnest_East_02[right1]', player)) + hk_set_rule(hk_world, "Deepnest_39", lambda state: (state.count('LANTERN', player) or state._hk_option(player, 'DarkRooms')) and (state.count('Deepnest_39[right1]', player) or state.count('Deepnest_39[door1]', player) or state.count('Deepnest_39[top1]', player) or state.count('Deepnest_39[left1]', player))) + hk_set_rule(hk_world, "Deepnest_41", lambda state: (state.count('LANTERN', player) or state._hk_option(player, 'DarkRooms')) and (state.count('Deepnest_41[left1]', player) and (state.count('RIGHTCLAW', player) or ((state.count('LEFTCLAW', player) or state.count('WINGS', player)) and state._hk_option(player, 'EnemyPogos'))) or (state.count('Deepnest_41[left2]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))))) or (state.count('Deepnest_41[right1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player))))) + hk_set_rule(hk_world, "Deepnest_42", lambda state: (state.count('LANTERN', player) or state._hk_option(player, 'DarkRooms')) and (state.count('Deepnest_42[bot1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) or state.count('Deepnest_42[left1]', player) or state.count('Deepnest_42[top1]', player))) + hk_set_rule(hk_world, "Deepnest_East_02", lambda state: state.count('Deepnest_East_02[bot1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and state._hk_option(player, 'EnemyPogos'))) or state.count('Deepnest_East_02[top1]', player) or state.count('Deepnest_East_02[right1]', player)) hk_set_rule(hk_world, "Deepnest_East_03", lambda state: state.count('Deepnest_East_03[left1]', player) or state.count('Deepnest_East_03[left2]', player) or state.count('Deepnest_East_03[top1]', player) or state.count('Deepnest_East_03[right1]', player) or state.count('Deepnest_East_03[right2]', player) or state.count('Deepnest_East_03[top2]', player)) - hk_set_rule(hk_world, "Deepnest_East_04", lambda state: state.count('Deepnest_East_04[left1]', player) and state.count('ACID', player) or state.count('Deepnest_East_04[left2]', player) or state.count('Deepnest_East_04[right2]', player) or (state.count('Deepnest_East_04[right1]', player) and (state.count('ACID', player) or state.count('LEFTDASH', player) or state.count('WINGS', player) or ((state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True) or (state.count('MASKSHARDS', player) > 7)))) + hk_set_rule(hk_world, "Deepnest_East_04", lambda state: state.count('Deepnest_East_04[left1]', player) and state.count('ACID', player) or state.count('Deepnest_East_04[left2]', player) or state.count('Deepnest_East_04[right2]', player) or (state.count('Deepnest_East_04[right1]', player) and (state.count('ACID', player) or state.count('LEFTDASH', player) or state.count('WINGS', player) or ((state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True) or (state.count('MASKSHARDS', player) > 7)))) hk_set_rule(hk_world, "Deepnest_East_07", lambda state: state.count('Deepnest_East_07[right1]', player) or state.count('Deepnest_East_07[left1]', player) or state.count('Deepnest_East_07[left2]', player)) hk_set_rule(hk_world, "Deepnest_East_11", lambda state: state.count('Deepnest_East_11[left1]', player) or state.count('Deepnest_East_11[bot1]', player) or (state.count('Deepnest_East_11[top1]', player) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('Cyclone_Slash', player) or state.count('Great_Slash', player) or state.count('FIREBALL', player) or state.count('QUAKE', player))) or state.count('Deepnest_East_11[right1]', player)) hk_set_rule(hk_world, "Deepnest_East_18", lambda state: state.count('Deepnest_East_18[top1]', player) or state.count('Deepnest_East_18[bot1]', player) or (state.count('Deepnest_East_18[right2]', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('LEFTDASH', player)))) @@ -178,10 +178,10 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Abyss_06_Core", lambda state: state.count('Abyss_06_Core[top1]', player) and state.count('BRAND', player) or state.count('Abyss_06_Core[left1]', player) or state.count('Abyss_06_Core[left3]', player) or state.count('Abyss_06_Core[bot1]', player) or state.count('Abyss_06_Core[right2]', player)) hk_set_rule(hk_world, "Abyss_09", lambda state: state.count('Abyss_09[left1]', player) and (state.count('RIGHTCLAW', player) and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player) or (state.count('SWIM', player) and state.count('WHITEFRAGMENT', player) > 2)) or state.count('WINGS', player)) or (state.count('Abyss_09[right1]', player) and (state.count('Lit_Abyss_Lighthouse', player) or state.count('WHITEFRAGMENT', player) > 2) and (state.count('LEFTSUPERDASH', player) or state.count('SWIM', player))) or state.count('Abyss_09[right2]', player)) hk_set_rule(hk_world, "Abyss_19", lambda state: state.count('Abyss_19[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) or state.count('Abyss_19[right1]', player)) - hk_set_rule(hk_world, "Abyss_01", lambda state: state.count('Abyss_01[left1]', player) or state.count('Abyss_01[right1]', player) or (state.count('Abyss_01[left3]', player) and (state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state.count('WINGS', player)))) or (state.count('Abyss_01[left2]', player) and (state._kh_option(player, 'SpikeTunnels') and state.count('RIGHTDASH', player) and (state.count('Dashmaster', player) and state.count('Can_Bench', player) or (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))) or state.count('RIGHTSUPERDASH', player))) or (state.count('Abyss_01[right2]', player) and (state._kh_option(player, 'SpikeTunnels') and state.count('LEFTDASH', player) and (state.count('Dashmaster', player) and state.count('Can_Bench', player) or (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))) or state.count('LEFTSUPERDASH', player)))) + hk_set_rule(hk_world, "Abyss_01", lambda state: state.count('Abyss_01[left1]', player) or state.count('Abyss_01[right1]', player) or (state.count('Abyss_01[left3]', player) and (state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state.count('WINGS', player)))) or (state.count('Abyss_01[left2]', player) and (state._hk_option(player, 'SpikeTunnels') and state.count('RIGHTDASH', player) and (state.count('Dashmaster', player) and state.count('Can_Bench', player) or (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))) or state.count('RIGHTSUPERDASH', player))) or (state.count('Abyss_01[right2]', player) and (state._hk_option(player, 'SpikeTunnels') and state.count('LEFTDASH', player) and (state.count('Dashmaster', player) and state.count('Can_Bench', player) or (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))) or state.count('LEFTSUPERDASH', player)))) hk_set_rule(hk_world, "Waterways_01", lambda state: state.count('Waterways_01[top1]', player) or state.count('Waterways_01[right1]', player) or state.count('Waterways_01[bot1]', player) or state.count('Waterways_01[left1]', player)) hk_set_rule(hk_world, "Waterways_02", lambda state: state.count('Waterways_02[top1]', player) or state.count('Waterways_02[top2]', player) or (state.count('Waterways_02[top3]', player) and state.count('QUAKE', player)) or state.count('Waterways_02[bot1]', player) or state.count('Waterways_02[bot2]', player)) - hk_set_rule(hk_world, "Waterways_04", lambda state: state.count('Waterways_04[right1]', player) or (state.count('Waterways_04[left1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos'))) or state.count('Waterways_04[left2]', player)) + hk_set_rule(hk_world, "Waterways_04", lambda state: state.count('Waterways_04[right1]', player) or (state.count('Waterways_04[left1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos'))) or state.count('Waterways_04[left2]', player)) hk_set_rule(hk_world, "Waterways_04b", lambda state: state.count('Waterways_04b[right1]', player) or state.count('Waterways_04b[right2]', player) or state.count('Waterways_04b[left1]', player)) hk_set_rule(hk_world, "Waterways_07", lambda state: state.count('Waterways_07[left1]', player) and (state.count('ACID', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player)) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and state.count('RIGHTSUPERDASH', player)) or (state.count('WINGS', player) and state.count('RIGHTDASH', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)))) or (state.count('Waterways_07[right1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player))) or (state.count('Waterways_07[right2]', player) and state.count('ACID', player)) or state.count('Waterways_07[door1]', player) or state.count('Waterways_07[top1]', player)) hk_set_rule(hk_world, "Ruins1_03", lambda state: state.count('Ruins1_03[top1]', player) or state.count('Ruins1_03[left1]', player) or state.count('Ruins1_03[right1]', player) or state.count('Ruins1_03[right2]', player)) @@ -189,7 +189,7 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Ruins1_05c", lambda state: state.count('Ruins1_05c[bot1]', player) or state.count('Ruins1_05c[left2]', player) or state.count('Ruins1_05c[top1]', player) or state.count('Ruins1_05c[top2]', player) or state.count('Ruins1_05c[top3]', player)) hk_set_rule(hk_world, "Ruins1_05", lambda state: state.count('Ruins1_05[bot3]', player) or state.count('Ruins1_05[right1]', player) or state.count('Ruins1_05[right2]', player) or state.count('Ruins1_05[top1]', player)) hk_set_rule(hk_world, "Ruins1_23", lambda state: state.count('Ruins1_23[right2]', player) or state.count('Ruins1_23[left1]', player) or state.count('Ruins1_23[bot1]', player)) - hk_set_rule(hk_world, "Ruins1_28", lambda state: state.count('Ruins1_28[left1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('RIGHTDASH', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player)) or state._kh_option(player, 'BackgroundObjectPogos') or (True and state._kh_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._kh_option(player, 'ShadeSkips')))) or state.count('Ruins1_28[bot1]', player) or state.count('Ruins1_28[right1]', player)) + hk_set_rule(hk_world, "Ruins1_28", lambda state: state.count('Ruins1_28[left1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('RIGHTDASH', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player)) or state._hk_option(player, 'BackgroundObjectPogos') or (True and state._hk_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._hk_option(player, 'ShadeSkips')))) or state.count('Ruins1_28[bot1]', player) or state.count('Ruins1_28[right1]', player)) hk_set_rule(hk_world, "Ruins1_30", lambda state: state.count('Ruins1_30[left1]', player) or (state.count('Ruins1_30[left2]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) and state.count('QUAKE', player)) or state.count('Ruins1_30[bot1]', player) or state.count('Ruins1_30[right1]', player)) hk_set_rule(hk_world, "Ruins1_31", lambda state: state.count('Ruins1_31[right1]', player) or state.count('Ruins1_31[left2]', player) or state.count('Ruins1_31[left3]', player)) hk_set_rule(hk_world, "Ruins2_01", lambda state: state.count('Ruins2_01[top1]', player) or state.count('Ruins2_01[bot1]', player) or state.count('Ruins2_01[left2]', player)) @@ -202,7 +202,7 @@ def set_rules(hk_world): hk_set_rule(hk_world, "RestingGrounds_10", lambda state: state.count('RestingGrounds_10[left1]', player) or state.count('RestingGrounds_10[top1]', player) or state.count('RestingGrounds_10[top2]', player)) hk_set_rule(hk_world, "Mines_02", lambda state: state.count('Mines_02[top1]', player) or state.count('Mines_02[top2]', player) or state.count('Mines_02[left1]', player) or state.count('Mines_02[right1]', player)) hk_set_rule(hk_world, "Mines_03", lambda state: state.count('Mines_03[right1]', player) or state.count('Mines_03[top1]', player) or state.count('Mines_03[bot1]', player)) - hk_set_rule(hk_world, "Mines_04", lambda state: state.count('Mines_04[left1]', player) or state.count('Mines_04[left2]', player) or (state.count('Mines_04[left3]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state._kh_option(player, 'EnemyPogos'))))) or state.count('Mines_04[right1]', player) or state.count('Mines_04[top1]', player)) + hk_set_rule(hk_world, "Mines_04", lambda state: state.count('Mines_04[left1]', player) or state.count('Mines_04[left2]', player) or (state.count('Mines_04[left3]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state._hk_option(player, 'EnemyPogos'))))) or state.count('Mines_04[right1]', player) or state.count('Mines_04[top1]', player)) hk_set_rule(hk_world, "Mines_05", lambda state: state.count('Mines_05[right1]', player) or state.count('Mines_05[top1]', player) or state.count('Mines_05[bot1]', player) or state.count('Mines_05[left1]', player) or state.count('Mines_05[left2]', player)) hk_set_rule(hk_world, "Mines_10", lambda state: state.count('Mines_10[left1]', player) and (state.count('RIGHTDASH', player) and state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player)) or (state.count('Mines_10[bot1]', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player) or state.count('WINGS', player) or (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player)))) or (state.count('Mines_10[right1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and state.count('LEFTSUPERDASH', player))) hk_set_rule(hk_world, "Mines_11", lambda state: state.count('Mines_11[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) or state.count('Mines_11[right1]', player) or state.count('Mines_11[top1]', player)) @@ -216,15 +216,15 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Fungus3_34", lambda state: state.count('Fungus3_34[left1]', player) and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player) or state.count('WINGS', player)) or state.count('Fungus3_34[right1]', player) or state.count('Fungus3_34[top1]', player)) hk_set_rule(hk_world, "Fungus3_40", lambda state: state.count('Fungus3_40[top1]', player) or state.count('Fungus3_40[right1]', player)) hk_set_rule(hk_world, "Cliffs_01", lambda state: state.count('Cliffs_01[right1]', player) or state.count('Cliffs_01[right2]', player) or state.count('Cliffs_01[right3]', player) or state.count('Cliffs_01[right4]', player)) - hk_set_rule(hk_world, "Cliffs_02", lambda state: state.count('Cliffs_02[bot1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or state._kh_option(player, 'EnemyPogos')))) or state.count('Cliffs_02[door1]', player) or state.count('Cliffs_02[left1]', player) or state.count('Cliffs_02[left2]', player)) - hk_set_rule(hk_world, "White_Palace_01", lambda state: state.count('White_Palace_01[left1]', player) and (state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and state.count('RIGHTDASH', player))) or (state.count('White_Palace_01[right1]', player) and (state.count('LEFTDASH', player) and (state._kh_option(player, 'BackgroundObjectPogos') or state.count('LEFTCLAW', player)) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and state.count('LEFTSUPERDASH', player)) or state.count('WINGS', player))) or (state.count('White_Palace_01[top1]', player) and state.count('Palace_Entrance_Lantern_Lit', player))) + hk_set_rule(hk_world, "Cliffs_02", lambda state: state.count('Cliffs_02[bot1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or state._hk_option(player, 'EnemyPogos')))) or state.count('Cliffs_02[door1]', player) or state.count('Cliffs_02[left1]', player) or state.count('Cliffs_02[left2]', player)) + hk_set_rule(hk_world, "White_Palace_01", lambda state: state.count('White_Palace_01[left1]', player) and (state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and state.count('RIGHTDASH', player))) or (state.count('White_Palace_01[right1]', player) and (state.count('LEFTDASH', player) and (state._hk_option(player, 'BackgroundObjectPogos') or state.count('LEFTCLAW', player)) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and state.count('LEFTSUPERDASH', player)) or state.count('WINGS', player))) or (state.count('White_Palace_01[top1]', player) and state.count('Palace_Entrance_Lantern_Lit', player))) hk_set_rule(hk_world, "White_Palace_03_hub", lambda state: state.count('White_Palace_03_hub[left1]', player) or state.count('White_Palace_03_hub[left2]', player) or (state.count('White_Palace_03_hub[bot1]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or state.count('White_Palace_03_hub[right1]', player) or (state.count('White_Palace_03_hub[top1]', player) and state.count('Palace_Atrium_Gates_Opened', player))) - hk_set_rule(hk_world, "White_Palace_13", lambda state: state.count('White_Palace_13[right1]', player) and state._kh_option(player, 'ObscureSkips') and (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player)) and state.count('LEFTCLAW', player) and (state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))) or (state.count('White_Palace_13[left1]', player) and state.count('RIGHTCLAW', player) and (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player))) or (state.count('White_Palace_13[left2]', player) and state.count('LEFTCLAW', player) and (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player)) and (state.count('WINGS', player) or state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player) or (state.count('WINGS', player) and state.count('RIGHTCLAW', player)))) or state.count('White_Palace_13[left3]', player)) + hk_set_rule(hk_world, "White_Palace_13", lambda state: state.count('White_Palace_13[right1]', player) and state._hk_option(player, 'ObscureSkips') and (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player)) and state.count('LEFTCLAW', player) and (state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))) or (state.count('White_Palace_13[left1]', player) and state.count('RIGHTCLAW', player) and (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player))) or (state.count('White_Palace_13[left2]', player) and state.count('LEFTCLAW', player) and (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player)) and (state.count('WINGS', player) or state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player) or (state.count('WINGS', player) and state.count('RIGHTCLAW', player)))) or state.count('White_Palace_13[left3]', player)) hk_set_rule(hk_world, "Abyss_05", lambda state: state.count('Abyss_05[left1]', player) or state.count('Abyss_05[right1]', player) or state.count('Warp-White_Palace_Entrance_to_Palace_Grounds', player) or state.count('Warp-White_Palace_Atrium_to_Palace_Grounds', player)) hk_set_rule(hk_world, "Room_temple[left1]", lambda state: state.count('Room_temple[left1]', player)) hk_set_rule(hk_world, "Tutorial_01[right1]", lambda state: state.count('Tutorial_01[right1]', player) or state.count('Tutorial_01', player)) hk_set_rule(hk_world, "Tutorial_01[top1]", lambda state: False) - hk_set_rule(hk_world, "Tutorial_01[top2]", lambda state: state.count('Tutorial_01[top2]', player) or (((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._kh_option(player, 'ComplexSkips'))) and state.count('Tutorial_01', player))) + hk_set_rule(hk_world, "Tutorial_01[top2]", lambda state: state.count('Tutorial_01[top2]', player) or (((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._hk_option(player, 'ComplexSkips'))) and state.count('Tutorial_01', player))) hk_set_rule(hk_world, "Town[left1]", lambda state: state.count('Town[left1]', player) or (state.count('Town', player) and (state.count('LEFTCLAW', player) or (state.count('Town[right1]', player) and state.count('LEFTSUPERDASH', player))))) hk_set_rule(hk_world, "Town[bot1]", lambda state: state.count('Town[bot1]', player) or state.count('Town', player)) hk_set_rule(hk_world, "Town[right1]", lambda state: state.count('Town[right1]', player) or (state.count('Town', player) and (state.count('LEFTCLAW', player) or state.count('Town[left1]', player)) and state.count('WINGS', player) and state.count('RIGHTSUPERDASH', player))) @@ -259,8 +259,8 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Crossroads_04[top1]", lambda state: state.count('Crossroads_04[top1]', player) or state.count('Crossroads_04[door_Mender_House]', player) or state.count('Crossroads_04[door1]', player) or state.count('Crossroads_04[door_charmshop]', player) or state.count('Crossroads_04[right1]', player) or state.count('Crossroads_04[left1]', player)) hk_set_rule(hk_world, "Crossroads_04[door_Mender_House]", lambda state: state.count('Crossroads_04[door_Mender_House]', player) or state.count('Crossroads_04[door1]', player) or state.count('Crossroads_04[door_charmshop]', player) or state.count('Crossroads_04[right1]', player) or ((state.count('Crossroads_04[left1]', player) or state.count('Crossroads_04[top1]', player)) and state.count('Defeated_Gruz_Mother', player))) hk_set_rule(hk_world, "Crossroads_04[door1]", lambda state: state.count('Crossroads_04[door1]', player) or state.count('Crossroads_04[door_Mender_House]', player) or state.count('Crossroads_04[door_charmshop]', player) or state.count('Crossroads_04[right1]', player) or ((state.count('Crossroads_04[left1]', player) or state.count('Crossroads_04[top1]', player)) and state.count('Defeated_Gruz_Mother', player))) - hk_set_rule(hk_world, "Crossroads_04[door_charmshop]", lambda state: state.count('Crossroads_04[door_charmshop]', player) or state.count('Crossroads_04[right1]', player) or ((state.count('Crossroads_04[door1]', player) or state.count('Crossroads_04[door_Mender_House]', player) or ((state.count('Crossroads_04[left1]', player) or state.count('Crossroads_04[top1]', player)) and state.count('Defeated_Gruz_Mother', player))) and (state.count('RIGHTCLAW', player) or state.count('RIGHTDASH', player) or state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player) or ((state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True) or state._kh_option(player, 'ShadeSkips') or (state._kh_option(player, 'InfectionSkips') and state.count('DREAMER', player))))) - hk_set_rule(hk_world, "Crossroads_04[right1]", lambda state: state.count('Crossroads_04[right1]', player) or ((state.count('Crossroads_04[door_Mender_House]', player) or state.count('Crossroads_04[door1]', player) or state.count('Crossroads_04[door_charmshop]', player) or ((state.count('Crossroads_04[left1]', player) or state.count('Crossroads_04[top1]', player)) and state.count('Defeated_Gruz_Mother', player))) and (state.count('RIGHTCLAW', player) and state.count('WINGS', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player)) or (state._kh_option(player, 'InfectionSkips') and state.count('DREAMER', player)) or ((state._kh_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._kh_option(player, 'ShadeSkips'))) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state._kh_option(player, 'ComplexSkips') and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and True)))))) + hk_set_rule(hk_world, "Crossroads_04[door_charmshop]", lambda state: state.count('Crossroads_04[door_charmshop]', player) or state.count('Crossroads_04[right1]', player) or ((state.count('Crossroads_04[door1]', player) or state.count('Crossroads_04[door_Mender_House]', player) or ((state.count('Crossroads_04[left1]', player) or state.count('Crossroads_04[top1]', player)) and state.count('Defeated_Gruz_Mother', player))) and (state.count('RIGHTCLAW', player) or state.count('RIGHTDASH', player) or state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player) or ((state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True) or state._hk_option(player, 'ShadeSkips') or (state._hk_option(player, 'InfectionSkips') and state.count('DREAMER', player))))) + hk_set_rule(hk_world, "Crossroads_04[right1]", lambda state: state.count('Crossroads_04[right1]', player) or ((state.count('Crossroads_04[door_Mender_House]', player) or state.count('Crossroads_04[door1]', player) or state.count('Crossroads_04[door_charmshop]', player) or ((state.count('Crossroads_04[left1]', player) or state.count('Crossroads_04[top1]', player)) and state.count('Defeated_Gruz_Mother', player))) and (state.count('RIGHTCLAW', player) and state.count('WINGS', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player)) or (state._hk_option(player, 'InfectionSkips') and state.count('DREAMER', player)) or ((state._hk_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._hk_option(player, 'ShadeSkips'))) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state._hk_option(player, 'ComplexSkips') and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and True)))))) hk_set_rule(hk_world, "Crossroads_05[left1]", lambda state: state.count('Crossroads_05[left1]', player) or state.count('Crossroads_05[right1]', player)) hk_set_rule(hk_world, "Crossroads_05[right1]", lambda state: state.count('Crossroads_05[right1]', player) or state.count('Crossroads_05[left1]', player)) hk_set_rule(hk_world, "Crossroads_06[left1]", lambda state: state.count('Crossroads_06[left1]', player) or state.count('Crossroads_06[door1]', player) or state.count('Crossroads_06[right1]', player)) @@ -280,7 +280,7 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Crossroads_09[right1]", lambda state: state.count('Crossroads_09[right1]', player) or (state.count('Crossroads_09[left1]', player) and state.count('Defeated_Brooding_Mawlek', player))) hk_set_rule(hk_world, "Crossroads_10[left1]", lambda state: state.count('Crossroads_10[left1]', player) or (state.count('Crossroads_10[right1]', player) and state.count('Defeated_False_Knight', player))) hk_set_rule(hk_world, "Crossroads_10[right1]", lambda state: state.count('Crossroads_10[right1]', player) or (state.count('Crossroads_10[left1]', player) and state.count('Defeated_False_Knight', player))) - hk_set_rule(hk_world, "Crossroads_11_alt[left1]", lambda state: state.count('Crossroads_11_alt[left1]', player) or (state.count('Crossroads_11_alt[right1]', player) and ((state.count('FIREBALL', player) or state.count('QUAKE', player) or (state.count('Glowing_Womb', player) and state.count('Can_Bench', player)) or ((state.count('Weaversong', player) and state.count('Can_Bench', player) or ((state.count('Spore_Shroom', player) and state.count('Can_Bench', player)) and state.count('FOCUS', player))) and state._kh_option(player, 'ObscureSkips')) or (state.count('CYCLONE', player) and state._kh_option(player, 'DifficultSkips'))) or ((state.count("Grubberfly's_Elegy", player) and state.count('Can_Bench', player)) and state.count('LEFTSLASH', player)) or (state.count('Dash_Slash', player) and state.count('LEFTDASH', player)) or (((state.count('Mark_of_Pride', player) and state.count('Can_Bench', player)) and state.count('LEFTSLASH', player) or (state.count('LEFTDASH', player) and state.count('LEFTSLASH', player))) and state._kh_option(player, 'DifficultSkips'))))) + hk_set_rule(hk_world, "Crossroads_11_alt[left1]", lambda state: state.count('Crossroads_11_alt[left1]', player) or (state.count('Crossroads_11_alt[right1]', player) and ((state.count('FIREBALL', player) or state.count('QUAKE', player) or (state.count('Glowing_Womb', player) and state.count('Can_Bench', player)) or ((state.count('Weaversong', player) and state.count('Can_Bench', player) or ((state.count('Spore_Shroom', player) and state.count('Can_Bench', player)) and state.count('FOCUS', player))) and state._hk_option(player, 'ObscureSkips')) or (state.count('CYCLONE', player) and state._hk_option(player, 'DifficultSkips'))) or ((state.count("Grubberfly's_Elegy", player) and state.count('Can_Bench', player)) and state.count('LEFTSLASH', player)) or (state.count('Dash_Slash', player) and state.count('LEFTDASH', player)) or (((state.count('Mark_of_Pride', player) and state.count('Can_Bench', player)) and state.count('LEFTSLASH', player) or (state.count('LEFTDASH', player) and state.count('LEFTSLASH', player))) and state._hk_option(player, 'DifficultSkips'))))) hk_set_rule(hk_world, "Crossroads_11_alt[right1]", lambda state: state.count('Crossroads_11_alt[right1]', player)) hk_set_rule(hk_world, "Crossroads_12[left1]", lambda state: state.count('Crossroads_12[left1]', player) or state.count('Crossroads_12[right1]', player)) hk_set_rule(hk_world, "Crossroads_12[right1]", lambda state: state.count('Crossroads_12[right1]', player) or state.count('Crossroads_12[left1]', player)) @@ -304,7 +304,7 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Crossroads_19[left2]", lambda state: state.count('Crossroads_19[left2]', player) or state.count('Crossroads_19', player)) hk_set_rule(hk_world, "Crossroads_21[left1]", lambda state: state.count('Crossroads_21[left1]', player) or state.count('Crossroads_21', player)) hk_set_rule(hk_world, "Crossroads_21[right1]", lambda state: state.count('Crossroads_21[right1]', player) or state.count('Crossroads_21', player)) - hk_set_rule(hk_world, "Crossroads_21[top1]", lambda state: state.count('Crossroads_21[top1]', player) and (state.count('WINGS', player) or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state._kh_option(player, 'InfectionSkips') and state.count('DREAMER', player))) or (state.count('Crossroads_21', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or (state._kh_option(player, 'InfectionSkips') and state.count('DREAMER', player))) and (state.count('LEFTSUPERDASH', player) or (state._kh_option(player, 'SpikeTunnels') and state.count('LEFTDASH', player) and (state.count('Dashmaster', player) and state.count('Can_Bench', player) or (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))))))) + hk_set_rule(hk_world, "Crossroads_21[top1]", lambda state: state.count('Crossroads_21[top1]', player) and (state.count('WINGS', player) or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state._hk_option(player, 'InfectionSkips') and state.count('DREAMER', player))) or (state.count('Crossroads_21', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or (state._hk_option(player, 'InfectionSkips') and state.count('DREAMER', player))) and (state.count('LEFTSUPERDASH', player) or (state._hk_option(player, 'SpikeTunnels') and state.count('LEFTDASH', player) and (state.count('Dashmaster', player) and state.count('Can_Bench', player) or (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))))))) hk_set_rule(hk_world, "Crossroads_22[bot1]", lambda state: state.count('Crossroads_22[bot1]', player)) hk_set_rule(hk_world, "Crossroads_25[right1]", lambda state: state.count('Crossroads_25[right1]', player) or state.count('Crossroads_25[left1]', player)) hk_set_rule(hk_world, "Crossroads_25[left1]", lambda state: state.count('Crossroads_25[left1]', player) or state.count('Crossroads_25[right1]', player)) @@ -319,8 +319,8 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Crossroads_33[left2]", lambda state: state.count('Crossroads_33[left2]', player) or state.count('Crossroads_33', player)) hk_set_rule(hk_world, "Crossroads_33[right1]", lambda state: state.count('Crossroads_33[right1]', player) or (state.count('Crossroads_33', player) and state.count('Opened_Shaman_Pillar', player))) hk_set_rule(hk_world, "Crossroads_33[right2]", lambda state: state.count('Crossroads_33[right2]', player) or state.count('Crossroads_33', player)) - hk_set_rule(hk_world, "Crossroads_35[bot1]", lambda state: state.count('Crossroads_35[bot1]', player) or (state.count('Crossroads_35[right1]', player) and (state.count('ACID', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player) and (state.count('WINGS', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state.count('RIGHTDASH', player))) and state._kh_option(player, 'AcidSkips'))))) - hk_set_rule(hk_world, "Crossroads_35[right1]", lambda state: state.count('Crossroads_35[right1]', player) or (state.count('Crossroads_35[bot1]', player) and state.count('RIGHTCLAW', player) and (state.count('ACID', player) or ((state.count('LEFTSUPERDASH', player) and state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state.count('LEFTDASH', player))) and state._kh_option(player, 'AcidSkips'))))) + hk_set_rule(hk_world, "Crossroads_35[bot1]", lambda state: state.count('Crossroads_35[bot1]', player) or (state.count('Crossroads_35[right1]', player) and (state.count('ACID', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player) and (state.count('WINGS', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state.count('RIGHTDASH', player))) and state._hk_option(player, 'AcidSkips'))))) + hk_set_rule(hk_world, "Crossroads_35[right1]", lambda state: state.count('Crossroads_35[right1]', player) or (state.count('Crossroads_35[bot1]', player) and state.count('RIGHTCLAW', player) and (state.count('ACID', player) or ((state.count('LEFTSUPERDASH', player) and state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state.count('LEFTDASH', player))) and state._hk_option(player, 'AcidSkips'))))) hk_set_rule(hk_world, "Crossroads_36[right1]", lambda state: state.count('Crossroads_36[right1]', player) or state.count('Crossroads_36[right2]', player)) hk_set_rule(hk_world, "Crossroads_36[right2]", lambda state: state.count('Crossroads_36[right2]', player) or state.count('Crossroads_36[right1]', player)) hk_set_rule(hk_world, "Crossroads_37[right1]", lambda state: state.count('Crossroads_37[right1]', player)) @@ -353,14 +353,14 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Fungus1_01[right1]", lambda state: state.count('Fungus1_01[right1]', player) or state.count('Fungus1_01[left1]', player)) hk_set_rule(hk_world, "Fungus1_01b[left1]", lambda state: state.count('Fungus1_01b[left1]', player) or state.count('Fungus1_01b[right1]', player)) hk_set_rule(hk_world, "Fungus1_01b[right1]", lambda state: state.count('Fungus1_01b[right1]', player) or state.count('Fungus1_01b[left1]', player)) - hk_set_rule(hk_world, "Fungus1_02[left1]", lambda state: state.count('Fungus1_02[left1]', player) or ((state.count('Fungus1_02[right1]', player) or state.count('Fungus1_02[right2]', player)) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or state._kh_option(player, 'EnemyPogos')))) + hk_set_rule(hk_world, "Fungus1_02[left1]", lambda state: state.count('Fungus1_02[left1]', player) or ((state.count('Fungus1_02[right1]', player) or state.count('Fungus1_02[right2]', player)) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or state._hk_option(player, 'EnemyPogos')))) hk_set_rule(hk_world, "Fungus1_02[right1]", lambda state: state.count('Fungus1_02[right1]', player) or state.count('Fungus1_02[left1]', player) or state.count('Fungus1_02[right2]', player)) hk_set_rule(hk_world, "Fungus1_02[right2]", lambda state: state.count('Fungus1_02[right2]', player) or state.count('Fungus1_02[left1]', player) or state.count('Fungus1_02[right1]', player)) hk_set_rule(hk_world, "Fungus1_03[left1]", lambda state: state.count('Fungus1_03[left1]', player) or state.count('Fungus1_03[right1]', player) or state.count('Fungus1_03[bot1]', player)) hk_set_rule(hk_world, "Fungus1_03[right1]", lambda state: state.count('Fungus1_03[right1]', player) or state.count('Fungus1_03[left1]', player) or state.count('Fungus1_03[bot1]', player)) hk_set_rule(hk_world, "Fungus1_03[bot1]", lambda state: state.count('Fungus1_03[bot1]', player) or state.count('Fungus1_03[left1]', player) or state.count('Fungus1_03[right1]', player)) hk_set_rule(hk_world, "Fungus1_04[left1]", lambda state: state.count('Fungus1_04[left1]', player) or (state.count('Fungus1_04[right1]', player) and state.count('Defeated_Hornet_1', player) and ((state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player)) and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player)) or state.count('WINGS', player) or state.count('ACID', player)))) - hk_set_rule(hk_world, "Fungus1_04[right1]", lambda state: state.count('Fungus1_04[right1]', player) or (state.count('Fungus1_04[left1]', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player) or state.count('WINGS', player) or (state.count('ACID', player) and state.count('RIGHTCLAW', player)) or ((state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player)) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player))) or (state.count('RIGHTDASH', player) and state.count('LEFTCLAW', player) and state._kh_option(player, 'PreciseMovement'))))) + hk_set_rule(hk_world, "Fungus1_04[right1]", lambda state: state.count('Fungus1_04[right1]', player) or (state.count('Fungus1_04[left1]', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player) or state.count('WINGS', player) or (state.count('ACID', player) and state.count('RIGHTCLAW', player)) or ((state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player)) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player))) or (state.count('RIGHTDASH', player) and state.count('LEFTCLAW', player) and state._hk_option(player, 'PreciseMovement'))))) hk_set_rule(hk_world, "Fungus1_05[right1]", lambda state: state.count('Fungus1_05[right1]', player) or state.count('Fungus1_05[bot1]', player) or state.count('Fungus1_05[top1]', player)) hk_set_rule(hk_world, "Fungus1_05[bot1]", lambda state: state.count('Fungus1_05[bot1]', player) or state.count('Fungus1_05[right1]', player) or state.count('Fungus1_05[top1]', player)) hk_set_rule(hk_world, "Fungus1_05[top1]", lambda state: state.count('Fungus1_05[top1]', player) or state.count('Fungus1_05[right1]', player) or state.count('Fungus1_05[bot1]', player)) @@ -370,7 +370,7 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Fungus1_07[left1]", lambda state: state.count('Fungus1_07[left1]', player) or state.count('Fungus1_07[top1]', player) or state.count('Fungus1_07[right1]', player)) hk_set_rule(hk_world, "Fungus1_07[right1]", lambda state: state.count('Fungus1_07[right1]', player) or state.count('Fungus1_07[top1]', player) or state.count('Fungus1_07[left1]', player)) hk_set_rule(hk_world, "Fungus1_08[left1]", lambda state: state.count('Fungus1_08[left1]', player)) - hk_set_rule(hk_world, "Fungus1_09[left1]", lambda state: state.count('Fungus1_09[left1]', player) or (state.count('Fungus1_09[right1]', player) and (state.count('LEFTCLAW', player) and (state.count('LEFTSUPERDASH', player) and state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) or state.count('WINGS', player)) or (state.count('WINGS', player) and state.count('LEFTDASH', player))) or (state.count('RIGHTCLAW', player) and state.count('LEFTDASH', player) and state.count('WINGS', player) and state.count('LEFTSUPERDASH', player) and state._kh_option(player, 'DangerousSkips') and state._kh_option(player, 'PreciseMovement'))))) + hk_set_rule(hk_world, "Fungus1_09[left1]", lambda state: state.count('Fungus1_09[left1]', player) or (state.count('Fungus1_09[right1]', player) and (state.count('LEFTCLAW', player) and (state.count('LEFTSUPERDASH', player) and state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) or state.count('WINGS', player)) or (state.count('WINGS', player) and state.count('LEFTDASH', player))) or (state.count('RIGHTCLAW', player) and state.count('LEFTDASH', player) and state.count('WINGS', player) and state.count('LEFTSUPERDASH', player) and state._hk_option(player, 'DangerousSkips') and state._hk_option(player, 'PreciseMovement'))))) hk_set_rule(hk_world, "Fungus1_09[right1]", lambda state: state.count('Fungus1_09[right1]', player) or (state.count('Fungus1_09[left1]', player) and (state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and state.count('WINGS', player))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('Great_Slash', player) or state.count('Cyclone_Slash', player) or (state.count('RIGHTDASH', player) and state.count('Dash_Slash', player))))) hk_set_rule(hk_world, "Fungus1_10[left1]", lambda state: state.count('Fungus1_10[left1]', player) or state.count('Fungus1_10[right1]', player) or state.count('Fungus1_10[top1]', player)) hk_set_rule(hk_world, "Fungus1_10[right1]", lambda state: state.count('Fungus1_10[right1]', player) or state.count('Fungus1_10[left1]', player) or state.count('Fungus1_10[top1]', player)) @@ -378,7 +378,7 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Fungus1_11[top1]", lambda state: state.count('Fungus1_11[top1]', player) or state.count('Fungus1_11', player)) hk_set_rule(hk_world, "Fungus1_11[right1]", lambda state: state.count('Fungus1_11[right1]', player) or state.count('Fungus1_11', player)) hk_set_rule(hk_world, "Fungus1_11[right2]", lambda state: state.count('Fungus1_11[right2]', player) or state.count('Fungus1_11', player)) - hk_set_rule(hk_world, "Fungus1_11[left1]", lambda state: state.count('Fungus1_11[left1]', player) or (state.count('Fungus1_11', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or state.count('LEFTSUPERDASH', player) or state.count('LEFTDASH', player) or ((state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True) or (True and state._kh_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._kh_option(player, 'ShadeSkips')))))) + hk_set_rule(hk_world, "Fungus1_11[left1]", lambda state: state.count('Fungus1_11[left1]', player) or (state.count('Fungus1_11', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or state.count('LEFTSUPERDASH', player) or state.count('LEFTDASH', player) or ((state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True) or (True and state._hk_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._hk_option(player, 'ShadeSkips')))))) hk_set_rule(hk_world, "Fungus1_11[bot1]", lambda state: state.count('Fungus1_11[bot1]', player) or state.count('Fungus1_11', player)) hk_set_rule(hk_world, "Fungus1_12[left1]", lambda state: state.count('Fungus1_12[left1]', player) or state.count('Fungus1_12[right1]', player)) hk_set_rule(hk_world, "Fungus1_12[right1]", lambda state: state.count('Fungus1_12[right1]', player) or state.count('Fungus1_12[left1]', player)) @@ -408,10 +408,10 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Fungus1_24[left1]", lambda state: state.count('Fungus1_24[left1]', player)) hk_set_rule(hk_world, "Fungus1_25[right1]", lambda state: state.count('Fungus1_25[right1]', player) or state.count('Fungus1_25[left1]', player)) hk_set_rule(hk_world, "Fungus1_25[left1]", lambda state: state.count('Fungus1_25[left1]', player) or state.count('Fungus1_25[right1]', player)) - hk_set_rule(hk_world, "Fungus1_26[right1]", lambda state: state.count('Fungus1_26[right1]', player) or (state.count('Fungus1_26[left1]', player) and (state.count('ACID', player) or (state._kh_option(player, 'AcidSkips') and state.count('LEFTCLAW', player) and state.count('WINGS', player) and state.count('RIGHTSUPERDASH', player)))) or state.count('Fungus1_26[door_SlugShrine]', player)) - hk_set_rule(hk_world, "Fungus1_26[left1]", lambda state: state.count('Fungus1_26[left1]', player) or ((state.count('Fungus1_26[right1]', player) or state.count('Fungus1_26[door_SlugShrine]', player)) and (state.count('ACID', player) or (state._kh_option(player, 'ComplexSkips') and state._kh_option(player, 'AcidSkips') and state.count('WINGS', player) and state.count('LEFTSUPERDASH', player) and state.count('LEFTDASH', player) and (state.count('FIREBALL', player) and state._kh_option(player, 'FireballSkips') or ((state.count('Sharp_Shadow', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('LEFTDASH', player)) and state.count('Can_Bench', player)) and True)))) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) - hk_set_rule(hk_world, "Fungus1_26[door_SlugShrine]", lambda state: state.count('Fungus1_26[door_SlugShrine]', player) or (state.count('Fungus1_26[left1]', player) and (state.count('ACID', player) or (state._kh_option(player, 'AcidSkips') and state.count('LEFTCLAW', player) and state.count('WINGS', player) and state.count('RIGHTSUPERDASH', player)))) or state.count('Fungus1_26[right1]', player)) - hk_set_rule(hk_world, "Fungus1_28[left1]", lambda state: state.count('Fungus1_28[left1]', player) or (state.count('Fungus1_28[left2]', player) and ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)))) and ((state.count('FIREBALL', player) or state.count('QUAKE', player) or (state.count('Glowing_Womb', player) and state.count('Can_Bench', player)) or ((state.count('Weaversong', player) and state.count('Can_Bench', player) or ((state.count('Spore_Shroom', player) and state.count('Can_Bench', player)) and state.count('FOCUS', player))) and state._kh_option(player, 'ObscureSkips')) or (state.count('CYCLONE', player) and state._kh_option(player, 'DifficultSkips'))) or ((state.count("Grubberfly's_Elegy", player) and state.count('Can_Bench', player)) and state.count('RIGHTSLASH', player)) or (state.count('Dash_Slash', player) and state.count('RIGHTDASH', player)) or (((state.count('Mark_of_Pride', player) and state.count('Can_Bench', player)) and state.count('RIGHTSLASH', player) or (state.count('RIGHTDASH', player) and state.count('RIGHTSLASH', player))) and state._kh_option(player, 'DifficultSkips'))) or (state.count('WINGS', player) and state.count('LEFTCLAW', player)) or (state.count('WINGS', player) and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or ((state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True)) and (True and state._kh_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._kh_option(player, 'ShadeSkips'))) and state._kh_option(player, 'DifficultSkips') and (state.count('MASKSHARDS', player) > 15))))) + hk_set_rule(hk_world, "Fungus1_26[right1]", lambda state: state.count('Fungus1_26[right1]', player) or (state.count('Fungus1_26[left1]', player) and (state.count('ACID', player) or (state._hk_option(player, 'AcidSkips') and state.count('LEFTCLAW', player) and state.count('WINGS', player) and state.count('RIGHTSUPERDASH', player)))) or state.count('Fungus1_26[door_SlugShrine]', player)) + hk_set_rule(hk_world, "Fungus1_26[left1]", lambda state: state.count('Fungus1_26[left1]', player) or ((state.count('Fungus1_26[right1]', player) or state.count('Fungus1_26[door_SlugShrine]', player)) and (state.count('ACID', player) or (state._hk_option(player, 'ComplexSkips') and state._hk_option(player, 'AcidSkips') and state.count('WINGS', player) and state.count('LEFTSUPERDASH', player) and state.count('LEFTDASH', player) and (state.count('FIREBALL', player) and state._hk_option(player, 'FireballSkips') or ((state.count('Sharp_Shadow', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('LEFTDASH', player)) and state.count('Can_Bench', player)) and True)))) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) + hk_set_rule(hk_world, "Fungus1_26[door_SlugShrine]", lambda state: state.count('Fungus1_26[door_SlugShrine]', player) or (state.count('Fungus1_26[left1]', player) and (state.count('ACID', player) or (state._hk_option(player, 'AcidSkips') and state.count('LEFTCLAW', player) and state.count('WINGS', player) and state.count('RIGHTSUPERDASH', player)))) or state.count('Fungus1_26[right1]', player)) + hk_set_rule(hk_world, "Fungus1_28[left1]", lambda state: state.count('Fungus1_28[left1]', player) or (state.count('Fungus1_28[left2]', player) and ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)))) and ((state.count('FIREBALL', player) or state.count('QUAKE', player) or (state.count('Glowing_Womb', player) and state.count('Can_Bench', player)) or ((state.count('Weaversong', player) and state.count('Can_Bench', player) or ((state.count('Spore_Shroom', player) and state.count('Can_Bench', player)) and state.count('FOCUS', player))) and state._hk_option(player, 'ObscureSkips')) or (state.count('CYCLONE', player) and state._hk_option(player, 'DifficultSkips'))) or ((state.count("Grubberfly's_Elegy", player) and state.count('Can_Bench', player)) and state.count('RIGHTSLASH', player)) or (state.count('Dash_Slash', player) and state.count('RIGHTDASH', player)) or (((state.count('Mark_of_Pride', player) and state.count('Can_Bench', player)) and state.count('RIGHTSLASH', player) or (state.count('RIGHTDASH', player) and state.count('RIGHTSLASH', player))) and state._hk_option(player, 'DifficultSkips'))) or (state.count('WINGS', player) and state.count('LEFTCLAW', player)) or (state.count('WINGS', player) and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or ((state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True)) and (True and state._hk_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._hk_option(player, 'ShadeSkips'))) and state._hk_option(player, 'DifficultSkips') and (state.count('MASKSHARDS', player) > 15))))) hk_set_rule(hk_world, "Fungus1_28[left2]", lambda state: state.count('Fungus1_28[left2]', player) or state.count('Fungus1_28[left1]', player)) hk_set_rule(hk_world, "Fungus1_29[left1]", lambda state: state.count('Fungus1_29[left1]', player) or state.count('Fungus1_29[right1]', player)) hk_set_rule(hk_world, "Fungus1_29[right1]", lambda state: state.count('Fungus1_29[right1]', player) or state.count('Fungus1_29[left1]', player)) @@ -427,8 +427,8 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Fungus1_32[left1]", lambda state: state.count('Fungus1_32[left1]', player) or state.count('Fungus1_32[bot1]', player) or state.count('Fungus1_32[top1]', player)) hk_set_rule(hk_world, "Fungus1_34[door1]", lambda state: state.count('Fungus1_34[door1]', player) or state.count('Fungus1_34[left1]', player)) hk_set_rule(hk_world, "Fungus1_34[left1]", lambda state: state.count('Fungus1_34[left1]', player) or state.count('Fungus1_34[door1]', player)) - hk_set_rule(hk_world, "Fungus1_35[left1]", lambda state: state.count('Fungus1_35[left1]', player) or (state.count('Fungus1_35[right1]', player) and (state.count('LANTERN', player) or state._kh_option(player, 'DarkRooms')))) - hk_set_rule(hk_world, "Fungus1_35[right1]", lambda state: state.count('Fungus1_35[right1]', player) or (state.count('Fungus1_35[left1]', player) and (state.count('LANTERN', player) or state._kh_option(player, 'DarkRooms')))) + hk_set_rule(hk_world, "Fungus1_35[left1]", lambda state: state.count('Fungus1_35[left1]', player) or (state.count('Fungus1_35[right1]', player) and (state.count('LANTERN', player) or state._hk_option(player, 'DarkRooms')))) + hk_set_rule(hk_world, "Fungus1_35[right1]", lambda state: state.count('Fungus1_35[right1]', player) or (state.count('Fungus1_35[left1]', player) and (state.count('LANTERN', player) or state._hk_option(player, 'DarkRooms')))) hk_set_rule(hk_world, "Fungus1_36[left1]", lambda state: state.count('Fungus1_36[left1]', player)) hk_set_rule(hk_world, "Fungus1_37[left1]", lambda state: state.count('Fungus1_37[left1]', player)) hk_set_rule(hk_world, "Fungus1_Slug[right1]", lambda state: state.count('Fungus1_Slug[right1]', player)) @@ -443,8 +443,8 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Fungus3_02[left3]", lambda state: state.count('Fungus3_02[left3]', player) or state.count('Fungus3_02', player)) hk_set_rule(hk_world, "Fungus3_02[right1]", lambda state: state.count('Fungus3_02[right1]', player) or (state.count('Fungus3_02', player) and state.count('Opened_Archives_Exit_Wall', player))) hk_set_rule(hk_world, "Fungus3_02[right2]", lambda state: state.count('Fungus3_02[right2]', player) or state.count('Fungus3_02', player)) - hk_set_rule(hk_world, "Fungus3_03[right1]", lambda state: state.count('Fungus3_03[right1]', player) or (state.count('Fungus3_03[left1]', player) and (state.count('ACID', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('RIGHTSUPERDASH', player) and state._kh_option(player, 'AcidSkips'))))) - hk_set_rule(hk_world, "Fungus3_03[left1]", lambda state: state.count('Fungus3_03[left1]', player) or (state.count('Fungus3_03[right1]', player) and (state.count('ACID', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('LEFTSUPERDASH', player) and state._kh_option(player, 'AcidSkips'))))) + hk_set_rule(hk_world, "Fungus3_03[right1]", lambda state: state.count('Fungus3_03[right1]', player) or (state.count('Fungus3_03[left1]', player) and (state.count('ACID', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('RIGHTSUPERDASH', player) and state._hk_option(player, 'AcidSkips'))))) + hk_set_rule(hk_world, "Fungus3_03[left1]", lambda state: state.count('Fungus3_03[left1]', player) or (state.count('Fungus3_03[right1]', player) and (state.count('ACID', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('LEFTSUPERDASH', player) and state._hk_option(player, 'AcidSkips'))))) hk_set_rule(hk_world, "Fungus3_24[right1]", lambda state: state.count('Fungus3_24[right1]', player) or state.count('Fungus3_24[left1]', player) or state.count('Fungus3_24[top1]', player)) hk_set_rule(hk_world, "Fungus3_24[left1]", lambda state: state.count('Fungus3_24[left1]', player) or state.count('Fungus3_24[right1]', player) or state.count('Fungus3_24[top1]', player)) hk_set_rule(hk_world, "Fungus3_24[top1]", lambda state: state.count('Fungus3_24[top1]', player) or state.count('Fungus3_24[right1]', player) or state.count('Fungus3_24[left1]', player)) @@ -452,7 +452,7 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Fungus3_25[left1]", lambda state: state.count('Fungus3_25[left1]', player) or (state.count('Fungus3_25[right1]', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('LEFTDASH', player)))) hk_set_rule(hk_world, "Fungus3_25b[right1]", lambda state: state.count('Fungus3_25b[right1]', player) or state.count('Fungus3_25b[left1]', player)) hk_set_rule(hk_world, "Fungus3_25b[left1]", lambda state: state.count('Fungus3_25b[left1]', player) or state.count('Fungus3_25b[right1]', player)) - hk_set_rule(hk_world, "Fungus3_26[top1]", lambda state: state.count('Fungus3_26[top1]', player) or (state.count('Fungus3_26', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or (state.count('RIGHTDASH', player) and (state.count('LEFTDASH', player) or ((state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True)) and state._kh_option(player, 'EnemyPogos'))))) + hk_set_rule(hk_world, "Fungus3_26[top1]", lambda state: state.count('Fungus3_26[top1]', player) or (state.count('Fungus3_26', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or (state.count('RIGHTDASH', player) and (state.count('LEFTDASH', player) or ((state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True)) and state._hk_option(player, 'EnemyPogos'))))) hk_set_rule(hk_world, "Fungus3_26[left1]", lambda state: state.count('Fungus3_26[left1]', player) or state.count('Fungus3_26', player)) hk_set_rule(hk_world, "Fungus3_26[left2]", lambda state: state.count('Fungus3_26[left2]', player) or state.count('Fungus3_26', player)) hk_set_rule(hk_world, "Fungus3_26[left3]", lambda state: state.count('Fungus3_26[left3]', player) or state.count('Fungus3_26', player)) @@ -463,7 +463,7 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Fungus3_30[bot1]", lambda state: state.count('Fungus3_30[bot1]', player)) hk_set_rule(hk_world, "Fungus3_35[right1]", lambda state: state.count('Fungus3_35[right1]', player)) hk_set_rule(hk_world, "Fungus3_44[bot1]", lambda state: state.count('Fungus3_44[bot1]', player) or (state.count('Fungus3_44', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('LEFTDASH', player)))) - hk_set_rule(hk_world, "Fungus3_44[door1]", lambda state: state.count('Fungus3_44[door1]', player) or (state.count('Fungus3_44', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._kh_option(player, 'EnemyPogos'))))) + hk_set_rule(hk_world, "Fungus3_44[door1]", lambda state: state.count('Fungus3_44[door1]', player) or (state.count('Fungus3_44', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._hk_option(player, 'EnemyPogos'))))) hk_set_rule(hk_world, "Fungus3_44[right1]", lambda state: state.count('Fungus3_44[right1]', player) or state.count('Fungus3_44', player)) hk_set_rule(hk_world, "Fungus3_47[left1]", lambda state: state.count('Fungus3_47[left1]', player) or state.count('Fungus3_47', player)) hk_set_rule(hk_world, "Fungus3_47[right1]", lambda state: state.count('Fungus3_47[right1]', player) or state.count('Fungus3_47', player)) @@ -475,7 +475,7 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Fungus2_01[left1]", lambda state: state.count('Fungus2_01[left1]', player) or state.count('Fungus2_01', player)) hk_set_rule(hk_world, "Fungus2_01[left2]", lambda state: state.count('Fungus2_01[left2]', player) or state.count('Fungus2_01', player)) hk_set_rule(hk_world, "Fungus2_01[left3]", lambda state: state.count('Fungus2_01[left3]', player) or state.count('Fungus2_01', player)) - hk_set_rule(hk_world, "Fungus2_01[right1]", lambda state: state.count('Fungus2_01[right1]', player) or (state.count('Fungus2_01', player) and (state.count('RIGHTDASH', player) or state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player) or ((state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True)))) + hk_set_rule(hk_world, "Fungus2_01[right1]", lambda state: state.count('Fungus2_01[right1]', player) or (state.count('Fungus2_01', player) and (state.count('RIGHTDASH', player) or state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player) or ((state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True)))) hk_set_rule(hk_world, "Fungus2_02[right1]", lambda state: state.count('Fungus2_02[right1]', player) or (state.count('Can_Stag', player) and state.count("Queen's_Station_Stag", player))) hk_set_rule(hk_world, "Fungus2_34[right1]", lambda state: state.count('Fungus2_34[right1]', player)) hk_set_rule(hk_world, "Fungus2_03[left1]", lambda state: state.count('Fungus2_03[left1]', player) or state.count('Fungus2_03', player)) @@ -487,10 +487,10 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Fungus2_04[right2]", lambda state: state.count('Fungus2_04[right2]', player) or state.count('Fungus2_04', player)) hk_set_rule(hk_world, "Fungus2_05[bot1]", lambda state: state.count('Fungus2_05[bot1]', player) or (state.count('Fungus2_05[right1]', player) and state.count('Defeated_Shrumal_Ogre_Arena', player))) hk_set_rule(hk_world, "Fungus2_05[right1]", lambda state: state.count('Fungus2_05[right1]', player) or (state.count('Fungus2_05[bot1]', player) and state.count('Defeated_Shrumal_Ogre_Arena', player))) - hk_set_rule(hk_world, "Fungus2_06[top1]", lambda state: state.count('Fungus2_06[top1]', player) or (state.count('Fungus2_06', player) and (state.count('ACID', player) or state.count('RIGHTDASH', player) or state.count('WINGS', player) or state.count('RIGHTCLAW', player) or state.count('RIGHTSUPERDASH', player) or ((state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True) or state.count('Fungus2_06[right1]', player)))) + hk_set_rule(hk_world, "Fungus2_06[top1]", lambda state: state.count('Fungus2_06[top1]', player) or (state.count('Fungus2_06', player) and (state.count('ACID', player) or state.count('RIGHTDASH', player) or state.count('WINGS', player) or state.count('RIGHTCLAW', player) or state.count('RIGHTSUPERDASH', player) or ((state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True) or state.count('Fungus2_06[right1]', player)))) hk_set_rule(hk_world, "Fungus2_06[left1]", lambda state: state.count('Fungus2_06[left1]', player) or state.count('Fungus2_06', player)) hk_set_rule(hk_world, "Fungus2_06[left2]", lambda state: state.count('Fungus2_06[left2]', player) or (state.count('Fungus2_06', player) and state.count('ACID', player))) - hk_set_rule(hk_world, "Fungus2_06[right1]", lambda state: state.count('Fungus2_06[right1]', player) or (state.count('Fungus2_06', player) and (state.count('ACID', player) or state.count('RIGHTDASH', player) or state.count('WINGS', player) or state.count('RIGHTCLAW', player) or state.count('RIGHTSUPERDASH', player) or ((state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True) or state.count('Fungus2_06[top1]', player)))) + hk_set_rule(hk_world, "Fungus2_06[right1]", lambda state: state.count('Fungus2_06[right1]', player) or (state.count('Fungus2_06', player) and (state.count('ACID', player) or state.count('RIGHTDASH', player) or state.count('WINGS', player) or state.count('RIGHTCLAW', player) or state.count('RIGHTSUPERDASH', player) or ((state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True) or state.count('Fungus2_06[top1]', player)))) hk_set_rule(hk_world, "Fungus2_06[right2]", lambda state: state.count('Fungus2_06[right2]', player) or state.count('Fungus2_06', player)) hk_set_rule(hk_world, "Fungus2_07[left1]", lambda state: state.count('Fungus2_07[left1]', player) or (state.count('Fungus2_07[right1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('LEFTDASH', player) or state.count('WINGS', player) or state.count('ACID', player)))) hk_set_rule(hk_world, "Fungus2_07[right1]", lambda state: state.count('Fungus2_07[right1]', player) or state.count('Fungus2_07[left1]', player)) @@ -504,30 +504,30 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Fungus2_10[bot1]", lambda state: state.count('Fungus2_10[bot1]', player) or state.count('Fungus2_10[right1]', player) or state.count('Fungus2_10[right2]', player)) hk_set_rule(hk_world, "Fungus2_11[top1]", lambda state: state.count('Fungus2_11[top1]', player) or state.count('Fungus2_11', player)) hk_set_rule(hk_world, "Fungus2_11[left1]", lambda state: state.count('Fungus2_11[left1]', player) or state.count('Fungus2_11', player)) - hk_set_rule(hk_world, "Fungus2_11[left2]", lambda state: state.count('Fungus2_11[left2]', player) or (state.count('Fungus2_11', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state._kh_option(player, 'EnemyPogos') and (state._kh_option(player, 'ObscureSkips') or state.count('LEFTDASH', player))) or ((state._kh_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._kh_option(player, 'ShadeSkips'))) and state.count('MASKSHARDS', player) > 15)))) + hk_set_rule(hk_world, "Fungus2_11[left2]", lambda state: state.count('Fungus2_11[left2]', player) or (state.count('Fungus2_11', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state._hk_option(player, 'EnemyPogos') and (state._hk_option(player, 'ObscureSkips') or state.count('LEFTDASH', player))) or ((state._hk_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._hk_option(player, 'ShadeSkips'))) and state.count('MASKSHARDS', player) > 15)))) hk_set_rule(hk_world, "Fungus2_11[right1]", lambda state: state.count('Fungus2_11[right1]', player) or state.count('Fungus2_11', player)) - hk_set_rule(hk_world, "Fungus2_12[left1]", lambda state: state.count('Fungus2_12[left1]', player) or (state.count('Fungus2_12[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('LEFTDASH', player) or state._kh_option(player, 'EnemyPogos')))) + hk_set_rule(hk_world, "Fungus2_12[left1]", lambda state: state.count('Fungus2_12[left1]', player) or (state.count('Fungus2_12[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('LEFTDASH', player) or state._hk_option(player, 'EnemyPogos')))) hk_set_rule(hk_world, "Fungus2_12[bot1]", lambda state: state.count('Fungus2_12[bot1]', player) or state.count('Fungus2_12[left1]', player)) - hk_set_rule(hk_world, "Fungus2_13[top1]", lambda state: state.count('Fungus2_13[top1]', player) or (state.count('Fungus2_13', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos')))) + hk_set_rule(hk_world, "Fungus2_13[top1]", lambda state: state.count('Fungus2_13[top1]', player) or (state.count('Fungus2_13', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos')))) hk_set_rule(hk_world, "Fungus2_13[left2]", lambda state: state.count('Fungus2_13[left2]', player) or state.count('Fungus2_13', player)) - hk_set_rule(hk_world, "Fungus2_13[left3]", lambda state: state.count('Fungus2_13[left3]', player) or (state.count('Fungus2_13', player) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('ACID', player) or state._kh_option(player, 'EnemyPogos') or state._kh_option(player, 'PreciseMovement')))) - hk_set_rule(hk_world, "Fungus2_14[top1]", lambda state: state.count('Fungus2_14[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._kh_option(player, 'PreciseMovement'))) or (state.count('Fungus2_14', player) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state.count('RIGHTCLAW', player)) or (state.count('RIGHTCLAW', player) and state._kh_option(player, 'EnemyPogos'))))) - hk_set_rule(hk_world, "Fungus2_14[right1]", lambda state: state.count('Fungus2_14[right1]', player) or (state.count('Fungus2_14', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('ACID', player) or (state.count('RIGHTDASH', player) and state._kh_option(player, 'EnemyPogos')) or state.count('RIGHTSUPERDASH', player) or (state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'DifficultSkips'))))) - hk_set_rule(hk_world, "Fungus2_14[bot3]", lambda state: state.count('Fungus2_14[bot3]', player) or ((state.count('Fungus2_14', player) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) or state._kh_option(player, 'EnemyPogos')) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state.count('RIGHTCLAW', player)) or (state.count('RIGHTCLAW', player) and state._kh_option(player, 'EnemyPogos'))) or state.count('Fungus2_14[top1]', player)) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player) or state._kh_option(player, 'BackgroundObjectPogos')))))) - hk_set_rule(hk_world, "Fungus2_15[top3]", lambda state: state.count('Fungus2_15[top3]', player) or ((state.count('Fungus2_15[right1]', player) or (state.count('Fungus2_15[left1]', player) and state.count('RIGHTCLAW', player))) and (state.count('RIGHTCLAW', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTDASH', player) or state._kh_option(player, 'EnemyPogos')) or state.count('WINGS', player)))) - hk_set_rule(hk_world, "Fungus2_15[right1]", lambda state: state.count('Fungus2_15[right1]', player) or (state.count('Fungus2_15[top3]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._kh_option(player, 'EnemyPogos')))) or (state.count('Fungus2_15[left1]', player) and state.count('RIGHTCLAW', player))) + hk_set_rule(hk_world, "Fungus2_13[left3]", lambda state: state.count('Fungus2_13[left3]', player) or (state.count('Fungus2_13', player) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('ACID', player) or state._hk_option(player, 'EnemyPogos') or state._hk_option(player, 'PreciseMovement')))) + hk_set_rule(hk_world, "Fungus2_14[top1]", lambda state: state.count('Fungus2_14[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._hk_option(player, 'PreciseMovement'))) or (state.count('Fungus2_14', player) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state.count('RIGHTCLAW', player)) or (state.count('RIGHTCLAW', player) and state._hk_option(player, 'EnemyPogos'))))) + hk_set_rule(hk_world, "Fungus2_14[right1]", lambda state: state.count('Fungus2_14[right1]', player) or (state.count('Fungus2_14', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('ACID', player) or (state.count('RIGHTDASH', player) and state._hk_option(player, 'EnemyPogos')) or state.count('RIGHTSUPERDASH', player) or (state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'DifficultSkips'))))) + hk_set_rule(hk_world, "Fungus2_14[bot3]", lambda state: state.count('Fungus2_14[bot3]', player) or ((state.count('Fungus2_14', player) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) or state._hk_option(player, 'EnemyPogos')) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state.count('RIGHTCLAW', player)) or (state.count('RIGHTCLAW', player) and state._hk_option(player, 'EnemyPogos'))) or state.count('Fungus2_14[top1]', player)) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player) or state._hk_option(player, 'BackgroundObjectPogos')))))) + hk_set_rule(hk_world, "Fungus2_15[top3]", lambda state: state.count('Fungus2_15[top3]', player) or ((state.count('Fungus2_15[right1]', player) or (state.count('Fungus2_15[left1]', player) and state.count('RIGHTCLAW', player))) and (state.count('RIGHTCLAW', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTDASH', player) or state._hk_option(player, 'EnemyPogos')) or state.count('WINGS', player)))) + hk_set_rule(hk_world, "Fungus2_15[right1]", lambda state: state.count('Fungus2_15[right1]', player) or (state.count('Fungus2_15[top3]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._hk_option(player, 'EnemyPogos')))) or (state.count('Fungus2_15[left1]', player) and state.count('RIGHTCLAW', player))) hk_set_rule(hk_world, "Fungus2_15[left1]", lambda state: state.count('Fungus2_15[left1]', player) or ((state.count('Fungus2_15[top3]', player) or state.count('Fungus2_15[right1]', player)) and state.count('Defeated_Mantis_Lords', player))) hk_set_rule(hk_world, "Fungus2_17[left1]", lambda state: state.count('Fungus2_17[left1]', player) or (state.count('Fungus2_17', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('LEFTDASH', player) and state.count('Fungus2_17[right1]', player))))) hk_set_rule(hk_world, "Fungus2_17[right1]", lambda state: state.count('Fungus2_17[right1]', player) or (state.count('Fungus2_17', player) and (state.count('WINGS', player) or state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player)))))) hk_set_rule(hk_world, "Fungus2_17[bot1]", lambda state: state.count('Fungus2_17[bot1]', player) or state.count('Fungus2_17', player)) hk_set_rule(hk_world, "Fungus2_18[right1]", lambda state: state.count('Fungus2_18[right1]', player)) - hk_set_rule(hk_world, "Fungus2_18[bot1]", lambda state: state.count('Fungus2_18[bot1]', player) or ((state.count('Fungus2_18[right1]', player) and (state.count('LEFTDASH', player) or state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and state.count('LEFTSUPERDASH', player)) or state._kh_option(player, 'EnemyPogos')) or state.count('Fungus2_18[top1]', player)) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and (state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'ObscureSkips') or (state._kh_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._kh_option(player, 'ShadeSkips')))))))) - hk_set_rule(hk_world, "Fungus2_18[top1]", lambda state: state.count('Fungus2_18[top1]', player) or (state.count('Fungus2_18[right1]', player) and (state.count('LEFTDASH', player) or state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and state.count('LEFTSUPERDASH', player)) or state._kh_option(player, 'EnemyPogos'))) or (state.count('Fungus2_18[bot1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player)))) + hk_set_rule(hk_world, "Fungus2_18[bot1]", lambda state: state.count('Fungus2_18[bot1]', player) or ((state.count('Fungus2_18[right1]', player) and (state.count('LEFTDASH', player) or state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and state.count('LEFTSUPERDASH', player)) or state._hk_option(player, 'EnemyPogos')) or state.count('Fungus2_18[top1]', player)) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and (state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'ObscureSkips') or (state._hk_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._hk_option(player, 'ShadeSkips')))))))) + hk_set_rule(hk_world, "Fungus2_18[top1]", lambda state: state.count('Fungus2_18[top1]', player) or (state.count('Fungus2_18[right1]', player) and (state.count('LEFTDASH', player) or state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and state.count('LEFTSUPERDASH', player)) or state._hk_option(player, 'EnemyPogos'))) or (state.count('Fungus2_18[bot1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Fungus2_19[top1]", lambda state: state.count('Fungus2_19[top1]', player) or (state.count('Fungus2_19[left1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Fungus2_19[left1]", lambda state: state.count('Fungus2_19[left1]', player) or (state.count('Fungus2_19[top1]', player) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state.count('LEFTDASH', player))))) hk_set_rule(hk_world, "Fungus2_20[right1]", lambda state: state.count('Fungus2_20[right1]', player) or state.count('Fungus2_20', player)) hk_set_rule(hk_world, "Fungus2_20[left1]", lambda state: state.count('Fungus2_20[left1]', player) or state.count('Fungus2_20', player)) - hk_set_rule(hk_world, "Fungus2_21[right1]", lambda state: state.count('Fungus2_21[right1]', player) or (state.count('Fungus2_21[left1]', player) and (state.count('RIGHTCLAW', player) and (state.count('RIGHTDASH', player) or (state.count('WINGS', player) and (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True)) or state.count('RIGHTSUPERDASH', player) or state.count('ACID', player)) and state.count('CREST', player))) + hk_set_rule(hk_world, "Fungus2_21[right1]", lambda state: state.count('Fungus2_21[right1]', player) or (state.count('Fungus2_21[left1]', player) and (state.count('RIGHTCLAW', player) and (state.count('RIGHTDASH', player) or (state.count('WINGS', player) and (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True)) or state.count('RIGHTSUPERDASH', player) or state.count('ACID', player)) and state.count('CREST', player))) hk_set_rule(hk_world, "Fungus2_21[left1]", lambda state: state.count('Fungus2_21[left1]', player) or (state.count('Fungus2_21[right1]', player) and ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player)) or ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state.count('WINGS', player))) and state.count('QUAKE', player))) hk_set_rule(hk_world, "Fungus2_23[right1]", lambda state: state.count('Fungus2_23[right1]', player) or state.count('Fungus2_23', player)) hk_set_rule(hk_world, "Fungus2_23[right2]", lambda state: state.count('Fungus2_23[right2]', player) or (state.count('Fungus2_23', player) and state.count('Opened_Waterways_Exit', player))) @@ -537,7 +537,7 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Fungus2_29[right1]", lambda state: state.count('Fungus2_29[right1]', player) or (state.count('Fungus2_29[bot1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Fungus2_29[bot1]", lambda state: state.count('Fungus2_29[bot1]', player) or (state.count('Fungus2_29[right1]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state.count('WINGS', player))) hk_set_rule(hk_world, "Fungus2_30[bot1]", lambda state: state.count('Fungus2_30[bot1]', player) or state.count('Fungus2_30[top1]', player)) - hk_set_rule(hk_world, "Fungus2_30[top1]", lambda state: state.count('Fungus2_30[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._kh_option(player, 'PreciseMovement')))) + hk_set_rule(hk_world, "Fungus2_30[top1]", lambda state: state.count('Fungus2_30[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._hk_option(player, 'PreciseMovement')))) hk_set_rule(hk_world, "Fungus2_31[left1]", lambda state: state.count('Fungus2_31[left1]', player)) hk_set_rule(hk_world, "Fungus2_32[left1]", lambda state: state.count('Fungus2_32[left1]', player)) hk_set_rule(hk_world, "Fungus2_33[right1]", lambda state: state.count('Fungus2_33[right1]', player) or state.count('Fungus2_33[left1]', player)) @@ -546,18 +546,18 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Deepnest_01[bot1]", lambda state: state.count('Deepnest_01[bot1]', player)) hk_set_rule(hk_world, "Deepnest_01[bot2]", lambda state: state.count('Deepnest_01[bot2]', player) or state.count('Deepnest_01', player)) hk_set_rule(hk_world, "Deepnest_01[left1]", lambda state: state.count('Deepnest_01[left1]', player) or state.count('Deepnest_01', player)) - hk_set_rule(hk_world, "Deepnest_01b[top1]", lambda state: state.count('Deepnest_01b[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or (state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'DangerousSkips'))) or (state.count('Deepnest_01b', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state.count('WINGS', player) or (((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) and (state._kh_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._kh_option(player, 'ShadeSkips')))) or (state.count('Deepnest_01b[right1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'DangerousSkips'))))))) + hk_set_rule(hk_world, "Deepnest_01b[top1]", lambda state: state.count('Deepnest_01b[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or (state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'DangerousSkips'))) or (state.count('Deepnest_01b', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state.count('WINGS', player) or (((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) and (state._hk_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._hk_option(player, 'ShadeSkips')))) or (state.count('Deepnest_01b[right1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'DangerousSkips'))))))) hk_set_rule(hk_world, "Deepnest_01b[top2]", lambda state: False) hk_set_rule(hk_world, "Deepnest_01b[right1]", lambda state: state.count('Deepnest_01b[right1]', player)) hk_set_rule(hk_world, "Deepnest_01b[right2]", lambda state: state.count('Deepnest_01b[right2]', player) or state.count('Deepnest_01b[top1]', player) or state.count('Deepnest_01b[top2]', player) or (state.count('Deepnest_01b', player) and (state.count('WINGS', player) or state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player)))) hk_set_rule(hk_world, "Deepnest_01b[bot1]", lambda state: state.count('Deepnest_01b[bot1]', player) or state.count('Deepnest_01b', player)) hk_set_rule(hk_world, "Deepnest_02[left1]", lambda state: state.count('Deepnest_02[left1]', player) or (state.count('Deepnest_02', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)))) hk_set_rule(hk_world, "Deepnest_02[left2]", lambda state: state.count('Deepnest_02[left2]', player) or state.count('Deepnest_02', player)) - hk_set_rule(hk_world, "Deepnest_02[right1]", lambda state: state.count('Deepnest_02[right1]', player) or state.count('Deepnest_02[left1]', player) or (state.count('Deepnest_02', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos') or state._kh_option(player, 'BackgroundObjectPogos')))) + hk_set_rule(hk_world, "Deepnest_02[right1]", lambda state: state.count('Deepnest_02[right1]', player) or state.count('Deepnest_02[left1]', player) or (state.count('Deepnest_02', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos') or state._hk_option(player, 'BackgroundObjectPogos')))) hk_set_rule(hk_world, "Deepnest_03[right1]", lambda state: state.count('Deepnest_03[right1]', player) or state.count('Deepnest_03', player)) - hk_set_rule(hk_world, "Deepnest_03[left1]", lambda state: state.count('Deepnest_03[left1]', player) or (state.count('Deepnest_03', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or state.count('Deepnest_03[top1]', player) or (state.count('RIGHTCLAW', player) and state._kh_option(player, 'ObscureSkips'))))) - hk_set_rule(hk_world, "Deepnest_03[top1]", lambda state: state.count('Deepnest_03[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) or (state.count('Deepnest_03', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and state.count('Deepnest_03[left1]', player)) or (state.count('RIGHTCLAW', player) and state._kh_option(player, 'ObscureSkips')) or (state.count('LEFTCLAW', player) and (state._kh_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._kh_option(player, 'ShadeSkips'))))))) - hk_set_rule(hk_world, "Deepnest_03[left2]", lambda state: state.count('Deepnest_03[left2]', player) or (state.count('Deepnest_03', player) and (state.count('LEFTSUPERDASH', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and (True and state._kh_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._kh_option(player, 'ShadeSkips'))))))) + hk_set_rule(hk_world, "Deepnest_03[left1]", lambda state: state.count('Deepnest_03[left1]', player) or (state.count('Deepnest_03', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or state.count('Deepnest_03[top1]', player) or (state.count('RIGHTCLAW', player) and state._hk_option(player, 'ObscureSkips'))))) + hk_set_rule(hk_world, "Deepnest_03[top1]", lambda state: state.count('Deepnest_03[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) or (state.count('Deepnest_03', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and state.count('Deepnest_03[left1]', player)) or (state.count('RIGHTCLAW', player) and state._hk_option(player, 'ObscureSkips')) or (state.count('LEFTCLAW', player) and (state._hk_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._hk_option(player, 'ShadeSkips'))))))) + hk_set_rule(hk_world, "Deepnest_03[left2]", lambda state: state.count('Deepnest_03[left2]', player) or (state.count('Deepnest_03', player) and (state.count('LEFTSUPERDASH', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and (True and state._hk_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._hk_option(player, 'ShadeSkips'))))))) hk_set_rule(hk_world, "Deepnest_09[left1]", lambda state: state.count('Deepnest_09[left1]', player) or (state.count('Can_Stag', player) and state.count('Distant_Village_Stag', player))) hk_set_rule(hk_world, "Deepnest_10[right1]", lambda state: state.count('Deepnest_10[right1]', player) or (state.count('Deepnest_10', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state.count('Deepnest_10[door1]', player) and (state.count('RIGHTCLAW', player) or state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player)))))) hk_set_rule(hk_world, "Deepnest_10[right2]", lambda state: state.count('Deepnest_10[right2]', player) or state.count('Deepnest_10', player)) @@ -579,12 +579,12 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Fungus2_25[top1]", lambda state: state.count('Fungus2_25[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) or ((state.count('Fungus2_25[top2]', player) or state.count('Fungus2_25[right1]', player)) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Fungus2_25[top2]", lambda state: False) hk_set_rule(hk_world, "Fungus2_25[right1]", lambda state: state.count('Fungus2_25[right1]', player) or ((state.count('Fungus2_25[top1]', player) or state.count('Fungus2_25[top2]', player)) and state.count('Defeated_Mantis_Lords', player))) - hk_set_rule(hk_world, "Deepnest_26[left1]", lambda state: state.count('Deepnest_26[left1]', player) or (state.count('Deepnest_26', player) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state._kh_option(player, 'EnemyPogos'))) and state.count('Opened_Tramway_Exit_Gate', player))) - hk_set_rule(hk_world, "Deepnest_26[left2]", lambda state: state.count('Deepnest_26[left2]', player) or (state.count('Deepnest_26', player) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state._kh_option(player, 'EnemyPogos'))))) + hk_set_rule(hk_world, "Deepnest_26[left1]", lambda state: state.count('Deepnest_26[left1]', player) or (state.count('Deepnest_26', player) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state._hk_option(player, 'EnemyPogos'))) and state.count('Opened_Tramway_Exit_Gate', player))) + hk_set_rule(hk_world, "Deepnest_26[left2]", lambda state: state.count('Deepnest_26[left2]', player) or (state.count('Deepnest_26', player) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state._hk_option(player, 'EnemyPogos'))))) hk_set_rule(hk_world, "Deepnest_26[right1]", lambda state: state.count('Deepnest_26[right1]', player) or state.count('Deepnest_26', player)) hk_set_rule(hk_world, "Deepnest_26[bot1]", lambda state: state.count('Deepnest_26[bot1]', player) or state.count('Deepnest_26', player)) hk_set_rule(hk_world, "Deepnest_26b[right2]", lambda state: state.count('Deepnest_26b[right2]', player)) - hk_set_rule(hk_world, "Deepnest_26b[right1]", lambda state: state.count('Deepnest_26b[right1]', player) or (state.count('Deepnest_26b[right2]', player) and (state.count('WINGS', player) or (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state._kh_option(player, 'EnemyPogos')))))) + hk_set_rule(hk_world, "Deepnest_26b[right1]", lambda state: state.count('Deepnest_26b[right1]', player) or (state.count('Deepnest_26b[right2]', player) and (state.count('WINGS', player) or (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state._hk_option(player, 'EnemyPogos')))))) hk_set_rule(hk_world, "Deepnest_30[left1]", lambda state: state.count('Deepnest_30[left1]', player) or state.count('Deepnest_30[right1]', player) or (state.count('Deepnest_30[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Deepnest_30[top1]", lambda state: state.count('Deepnest_30[top1]', player)) hk_set_rule(hk_world, "Deepnest_30[right1]", lambda state: state.count('Deepnest_30[right1]', player) or state.count('Deepnest_30[left1]', player) or (state.count('Deepnest_30[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) @@ -606,17 +606,17 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Deepnest_37[top1]", lambda state: state.count('Deepnest_37[top1]', player) or state.count('Deepnest_37', player)) hk_set_rule(hk_world, "Deepnest_37[bot1]", lambda state: state.count('Deepnest_37[bot1]', player) or state.count('Deepnest_37', player)) hk_set_rule(hk_world, "Deepnest_38[bot1]", lambda state: state.count('Deepnest_38[bot1]', player)) - hk_set_rule(hk_world, "Deepnest_39[left1]", lambda state: state.count('Deepnest_39[left1]', player) or ((state.count('LANTERN', player) or state._kh_option(player, 'DarkRooms')) and (state.count('Deepnest_39', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state._kh_option(player, 'EnemyPogos')))) or (state.count('Deepnest_39[top1]', player) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player)))))) - hk_set_rule(hk_world, "Deepnest_39[top1]", lambda state: state.count('Deepnest_39[top1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player)) or ((state.count('LANTERN', player) or state._kh_option(player, 'DarkRooms')) and (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state.count('RIGHTCLAW', player) or ((state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True)) or state.count('WINGS', player)) and (state.count('Deepnest_39', player) and (state.count('Deepnest_39[left1]', player) or state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state._kh_option(player, 'EnemyPogos'))))))) - hk_set_rule(hk_world, "Deepnest_39[door1]", lambda state: state.count('Deepnest_39[door1]', player) or ((state.count('LANTERN', player) or state._kh_option(player, 'DarkRooms')) and (state.count('RIGHTDASH', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and (state.count('RIGHTSUPERDASH', player) or ((state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True)))) and (state.count('Deepnest_39[right1]', player) and (state.count('RIGHTCLAW', player) or ((state.count('LEFTCLAW', player) or state._kh_option(player, 'EnemyPogos')) and state.count('WINGS', player))) or state.count('Deepnest_39[left1]', player) or state.count('Deepnest_39[top1]', player)))) - hk_set_rule(hk_world, "Deepnest_39[right1]", lambda state: state.count('Deepnest_39[right1]', player) or ((state.count('LANTERN', player) or state._kh_option(player, 'DarkRooms')) and state.count('Deepnest_39', player))) + hk_set_rule(hk_world, "Deepnest_39[left1]", lambda state: state.count('Deepnest_39[left1]', player) or ((state.count('LANTERN', player) or state._hk_option(player, 'DarkRooms')) and (state.count('Deepnest_39', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state._hk_option(player, 'EnemyPogos')))) or (state.count('Deepnest_39[top1]', player) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player)))))) + hk_set_rule(hk_world, "Deepnest_39[top1]", lambda state: state.count('Deepnest_39[top1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player)) or ((state.count('LANTERN', player) or state._hk_option(player, 'DarkRooms')) and (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state.count('RIGHTCLAW', player) or ((state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True)) or state.count('WINGS', player)) and (state.count('Deepnest_39', player) and (state.count('Deepnest_39[left1]', player) or state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state._hk_option(player, 'EnemyPogos'))))))) + hk_set_rule(hk_world, "Deepnest_39[door1]", lambda state: state.count('Deepnest_39[door1]', player) or ((state.count('LANTERN', player) or state._hk_option(player, 'DarkRooms')) and (state.count('RIGHTDASH', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and (state.count('RIGHTSUPERDASH', player) or ((state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True)))) and (state.count('Deepnest_39[right1]', player) and (state.count('RIGHTCLAW', player) or ((state.count('LEFTCLAW', player) or state._hk_option(player, 'EnemyPogos')) and state.count('WINGS', player))) or state.count('Deepnest_39[left1]', player) or state.count('Deepnest_39[top1]', player)))) + hk_set_rule(hk_world, "Deepnest_39[right1]", lambda state: state.count('Deepnest_39[right1]', player) or ((state.count('LANTERN', player) or state._hk_option(player, 'DarkRooms')) and state.count('Deepnest_39', player))) hk_set_rule(hk_world, "Deepnest_40[right1]", lambda state: state.count('Deepnest_40[right1]', player)) - hk_set_rule(hk_world, "Deepnest_41[right1]", lambda state: state.count('Deepnest_41[right1]', player) or (state.count('Deepnest_41[left1]', player) and (state.count('LANTERN', player) or state._kh_option(player, 'DarkRooms')) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state._kh_option(player, 'EnemyPogos'))) or (state.count('LEFTCLAW', player) and state._kh_option(player, 'EnemyPogos')))) or (state.count('Deepnest_41[left2]', player) and (state.count('LANTERN', player) or state._kh_option(player, 'DarkRooms')) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)))))) - hk_set_rule(hk_world, "Deepnest_41[left1]", lambda state: state.count('Deepnest_41[left1]', player) or (state.count('Deepnest_41[right1]', player) and (state.count('LANTERN', player) or state._kh_option(player, 'DarkRooms')) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and (state.count('RIGHTCLAW', player) or state._kh_option(player, 'EnemyPogos'))) or (state.count('RIGHTCLAW', player) and state._kh_option(player, 'EnemyPogos')))) or (state.count('Deepnest_41[left2]', player) and (state.count('LANTERN', player) or state._kh_option(player, 'DarkRooms')) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)))))) + hk_set_rule(hk_world, "Deepnest_41[right1]", lambda state: state.count('Deepnest_41[right1]', player) or (state.count('Deepnest_41[left1]', player) and (state.count('LANTERN', player) or state._hk_option(player, 'DarkRooms')) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state._hk_option(player, 'EnemyPogos'))) or (state.count('LEFTCLAW', player) and state._hk_option(player, 'EnemyPogos')))) or (state.count('Deepnest_41[left2]', player) and (state.count('LANTERN', player) or state._hk_option(player, 'DarkRooms')) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)))))) + hk_set_rule(hk_world, "Deepnest_41[left1]", lambda state: state.count('Deepnest_41[left1]', player) or (state.count('Deepnest_41[right1]', player) and (state.count('LANTERN', player) or state._hk_option(player, 'DarkRooms')) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and (state.count('RIGHTCLAW', player) or state._hk_option(player, 'EnemyPogos'))) or (state.count('RIGHTCLAW', player) and state._hk_option(player, 'EnemyPogos')))) or (state.count('Deepnest_41[left2]', player) and (state.count('LANTERN', player) or state._hk_option(player, 'DarkRooms')) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)))))) hk_set_rule(hk_world, "Deepnest_41[left2]", lambda state: state.count('Deepnest_41[left2]', player)) hk_set_rule(hk_world, "Deepnest_42[bot1]", lambda state: state.count('Deepnest_42[bot1]', player) or state.count('Deepnest_42', player)) hk_set_rule(hk_world, "Deepnest_42[left1]", lambda state: state.count('Deepnest_42[left1]', player) or state.count('Deepnest_42', player)) - hk_set_rule(hk_world, "Deepnest_42[top1]", lambda state: state.count('Deepnest_42[top1]', player) or (state.count('Deepnest_42', player) and (state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos')))) + hk_set_rule(hk_world, "Deepnest_42[top1]", lambda state: state.count('Deepnest_42[top1]', player) or (state.count('Deepnest_42', player) and (state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos')))) hk_set_rule(hk_world, "Deepnest_43[bot1]", lambda state: state.count('Deepnest_43[bot1]', player) or ((state.count('Deepnest_43[left1]', player) or state.count('Deepnest_43[right1]', player)) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Deepnest_43[left1]", lambda state: state.count('Deepnest_43[left1]', player) or state.count('Deepnest_43[right1]', player) or (state.count('Deepnest_43[bot1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)))))) hk_set_rule(hk_world, "Deepnest_43[right1]", lambda state: state.count('Deepnest_43[right1]', player) or state.count('Deepnest_43[left1]', player) or (state.count('Deepnest_43[bot1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)))))) @@ -627,24 +627,24 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Deepnest_East_01[right1]", lambda state: state.count('Deepnest_East_01[right1]', player)) hk_set_rule(hk_world, "Deepnest_East_01[top1]", lambda state: state.count('Deepnest_East_01[top1]', player) or ((state.count('Deepnest_East_01[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) or state.count('Deepnest_East_01[right1]', player)) and (state.count('RIGHTDASH', player) or state.count('LEFTCLAW', player) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Deepnest_East_02[bot1]", lambda state: state.count('Deepnest_East_02[bot1]', player) or state.count('Deepnest_East_02', player)) - hk_set_rule(hk_world, "Deepnest_East_02[bot2]", lambda state: state.count('Deepnest_East_02[bot2]', player) or (state.count('Deepnest_East_02', player) and state.count('QUAKE', player) and (state.count('ACID', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('LEFTSUPERDASH', player) and state._kh_option(player, 'AcidSkips')) or (state.count('LEFTDASH', player) and state.count('WINGS', player) and state._kh_option(player, 'AcidSkips'))))) + hk_set_rule(hk_world, "Deepnest_East_02[bot2]", lambda state: state.count('Deepnest_East_02[bot2]', player) or (state.count('Deepnest_East_02', player) and state.count('QUAKE', player) and (state.count('ACID', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('LEFTSUPERDASH', player) and state._hk_option(player, 'AcidSkips')) or (state.count('LEFTDASH', player) and state.count('WINGS', player) and state._hk_option(player, 'AcidSkips'))))) hk_set_rule(hk_world, "Deepnest_East_02[top1]", lambda state: state.count('Deepnest_East_02[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) or (state.count('Deepnest_East_02', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Deepnest_East_02[right1]", lambda state: state.count('Deepnest_East_02[right1]', player) or state.count('Deepnest_East_02', player)) hk_set_rule(hk_world, "Deepnest_East_03[left1]", lambda state: state.count('Deepnest_East_03[left1]', player) or state.count('Deepnest_East_03', player)) hk_set_rule(hk_world, "Deepnest_East_03[left2]", lambda state: state.count('Deepnest_East_03[left2]', player) or (state.count('Deepnest_East_03', player) and state.count("Opened_Lower_Kingdom's_Edge_Wall", player))) - hk_set_rule(hk_world, "Deepnest_East_03[top1]", lambda state: state.count('Deepnest_East_03[top1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player)) or (state.count('Deepnest_East_03', player) and (((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))) or (state.count('RIGHTSUPERDASH', player) and state._kh_option(player, 'ObscureSkips'))) and (state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and state.count('WINGS', player) and ((True and state._kh_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._kh_option(player, 'ShadeSkips'))) and state.count('MASKSHARDS', player) > 15))))) + hk_set_rule(hk_world, "Deepnest_East_03[top1]", lambda state: state.count('Deepnest_East_03[top1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player)) or (state.count('Deepnest_East_03', player) and (((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))) or (state.count('RIGHTSUPERDASH', player) and state._hk_option(player, 'ObscureSkips'))) and (state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and state.count('WINGS', player) and ((True and state._hk_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._hk_option(player, 'ShadeSkips'))) and state.count('MASKSHARDS', player) > 15))))) hk_set_rule(hk_world, "Deepnest_East_03[top2]", lambda state: False) hk_set_rule(hk_world, "Deepnest_East_03[right1]", lambda state: state.count('Deepnest_East_03[right1]', player) or (state.count('Deepnest_East_03', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player) or state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('RIGHTDASH', player) or state.count('Deepnest_East_03[top2]', player)))) hk_set_rule(hk_world, "Deepnest_East_03[right2]", lambda state: state.count('Deepnest_East_03[right2]', player) or state.count('Deepnest_East_03', player)) hk_set_rule(hk_world, "Deepnest_East_04[left1]", lambda state: state.count('Deepnest_East_04[left1]', player) or (state.count('Deepnest_East_04', player) and state.count('ACID', player))) - hk_set_rule(hk_world, "Deepnest_East_04[left2]", lambda state: state.count('Deepnest_East_04[left2]', player) or (state.count('Deepnest_East_04', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos') or state.count('Deepnest_East_04[right2]', player)))) - hk_set_rule(hk_world, "Deepnest_East_04[right2]", lambda state: state.count('Deepnest_East_04[right2]', player) or (state.count('Deepnest_East_04', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos') or state.count('Deepnest_East_04[left2]', player)) and (state.count('WINGS', player) or ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state._kh_option(player, 'EnemyPogos'))))) + hk_set_rule(hk_world, "Deepnest_East_04[left2]", lambda state: state.count('Deepnest_East_04[left2]', player) or (state.count('Deepnest_East_04', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos') or state.count('Deepnest_East_04[right2]', player)))) + hk_set_rule(hk_world, "Deepnest_East_04[right2]", lambda state: state.count('Deepnest_East_04[right2]', player) or (state.count('Deepnest_East_04', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos') or state.count('Deepnest_East_04[left2]', player)) and (state.count('WINGS', player) or ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state._hk_option(player, 'EnemyPogos'))))) hk_set_rule(hk_world, "Deepnest_East_04[right1]", lambda state: state.count('Deepnest_East_04[right1]', player) or state.count('Deepnest_East_04', player)) - hk_set_rule(hk_world, "Deepnest_East_06[top1]", lambda state: state.count('Deepnest_East_06[top1]', player) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state._kh_option(player, 'PreciseMovement'))) or (state.count('Deepnest_East_06[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and state._kh_option(player, 'EnemyPogos')))) or ((state.count('Deepnest_East_06[bot1]', player) or state.count('Deepnest_East_06[door1]', player) or state.count('Deepnest_East_06[right1]', player)) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state._kh_option(player, 'EnemyPogos'))))) - hk_set_rule(hk_world, "Deepnest_East_06[left1]", lambda state: state.count('Deepnest_East_06[left1]', player) or state.count('Deepnest_East_06[top1]', player) or ((state.count('Deepnest_East_06[bot1]', player) or state.count('Deepnest_East_06[door1]', player) or state.count('Deepnest_East_06[right1]', player)) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state._kh_option(player, 'EnemyPogos'))))) + hk_set_rule(hk_world, "Deepnest_East_06[top1]", lambda state: state.count('Deepnest_East_06[top1]', player) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state._hk_option(player, 'PreciseMovement'))) or (state.count('Deepnest_East_06[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and state._hk_option(player, 'EnemyPogos')))) or ((state.count('Deepnest_East_06[bot1]', player) or state.count('Deepnest_East_06[door1]', player) or state.count('Deepnest_East_06[right1]', player)) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state._hk_option(player, 'EnemyPogos'))))) + hk_set_rule(hk_world, "Deepnest_East_06[left1]", lambda state: state.count('Deepnest_East_06[left1]', player) or state.count('Deepnest_East_06[top1]', player) or ((state.count('Deepnest_East_06[bot1]', player) or state.count('Deepnest_East_06[door1]', player) or state.count('Deepnest_East_06[right1]', player)) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state._hk_option(player, 'EnemyPogos'))))) hk_set_rule(hk_world, "Deepnest_East_06[bot1]", lambda state: state.count('Deepnest_East_06[bot1]', player)) - hk_set_rule(hk_world, "Deepnest_East_06[door1]", lambda state: state.count('Deepnest_East_06[door1]', player) or state.count('Deepnest_East_06[right1]', player) or (state.count('Deepnest_East_06[left1]', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and state._kh_option(player, 'BackgroundObjectPogos')))) or ((state.count('Deepnest_East_06[top1]', player) or state.count('Deepnest_East_06[bot1]', player)) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'DangerousSkips'))))) - hk_set_rule(hk_world, "Deepnest_East_06[right1]", lambda state: state.count('Deepnest_East_06[right1]', player) or state.count('Deepnest_East_06[door1]', player) or (state.count('Deepnest_East_06[left1]', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and state._kh_option(player, 'BackgroundObjectPogos')))) or ((state.count('Deepnest_East_06[top1]', player) or state.count('Deepnest_East_06[bot1]', player)) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'DangerousSkips'))))) + hk_set_rule(hk_world, "Deepnest_East_06[door1]", lambda state: state.count('Deepnest_East_06[door1]', player) or state.count('Deepnest_East_06[right1]', player) or (state.count('Deepnest_East_06[left1]', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and state._hk_option(player, 'BackgroundObjectPogos')))) or ((state.count('Deepnest_East_06[top1]', player) or state.count('Deepnest_East_06[bot1]', player)) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'DangerousSkips'))))) + hk_set_rule(hk_world, "Deepnest_East_06[right1]", lambda state: state.count('Deepnest_East_06[right1]', player) or state.count('Deepnest_East_06[door1]', player) or (state.count('Deepnest_East_06[left1]', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and state._hk_option(player, 'BackgroundObjectPogos')))) or ((state.count('Deepnest_East_06[top1]', player) or state.count('Deepnest_East_06[bot1]', player)) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'DangerousSkips'))))) hk_set_rule(hk_world, "Deepnest_East_07[bot1]", lambda state: state.count('Deepnest_East_07[bot1]', player)) hk_set_rule(hk_world, "Deepnest_East_07[bot2]", lambda state: state.count('Deepnest_East_07[bot2]', player) or state.count('Deepnest_East_07', player)) hk_set_rule(hk_world, "Deepnest_East_07[left1]", lambda state: state.count('Deepnest_East_07[left1]', player) or (state.count('Deepnest_East_07', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) @@ -656,18 +656,18 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Deepnest_East_09[left1]", lambda state: state.count('Deepnest_East_09[left1]', player) or state.count('Deepnest_East_09[right1]', player) or (state.count('Deepnest_East_09[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Deepnest_East_09[bot1]", lambda state: state.count('Deepnest_East_09[bot1]', player) or state.count('Deepnest_East_09[right1]', player)) hk_set_rule(hk_world, "Deepnest_East_10[left1]", lambda state: state.count('Deepnest_East_10[left1]', player)) - hk_set_rule(hk_world, "Deepnest_East_11[right1]", lambda state: state.count('Deepnest_East_11[right1]', player) or (state.count('Deepnest_East_11[top1]', player) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('Cyclone_Slash', player) or state.count('Great_Slash', player) or state.count('FIREBALL', player) or state.count('QUAKE', player))) or ((state.count('Deepnest_East_11[left1]', player) or state.count('Deepnest_East_11[bot1]', player)) and (state.count('WINGS', player) or ((state._kh_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._kh_option(player, 'ShadeSkips'))) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player))) or (state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'DangerousSkips'))))) - hk_set_rule(hk_world, "Deepnest_East_11[left1]", lambda state: state.count('Deepnest_East_11[left1]', player) or state.count('Deepnest_East_11[top1]', player) or state.count('Deepnest_East_11[right1]', player) or (state.count('Deepnest_East_11[bot1]', player) and (state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state._kh_option(player, 'EnemyPogos')) or state.count('WINGS', player) or ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._kh_option(player, 'EnemyPogos')) or (state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'DangerousSkips'))))) - hk_set_rule(hk_world, "Deepnest_East_11[top1]", lambda state: state.count('Deepnest_East_11[top1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player)) or (state.count('Deepnest_East_11[right1]', player) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state._kh_option(player, 'BackgroundObjectPogos'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player))))) or ((state.count('Deepnest_East_11[left1]', player) or state.count('Deepnest_East_11[bot1]', player)) and (state.count('WINGS', player) or ((True and state._kh_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._kh_option(player, 'ShadeSkips'))) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player))) or (state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'DangerousSkips'))) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state._kh_option(player, 'BackgroundObjectPogos'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))))) + hk_set_rule(hk_world, "Deepnest_East_11[right1]", lambda state: state.count('Deepnest_East_11[right1]', player) or (state.count('Deepnest_East_11[top1]', player) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('Cyclone_Slash', player) or state.count('Great_Slash', player) or state.count('FIREBALL', player) or state.count('QUAKE', player))) or ((state.count('Deepnest_East_11[left1]', player) or state.count('Deepnest_East_11[bot1]', player)) and (state.count('WINGS', player) or ((state._hk_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._hk_option(player, 'ShadeSkips'))) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player))) or (state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'DangerousSkips'))))) + hk_set_rule(hk_world, "Deepnest_East_11[left1]", lambda state: state.count('Deepnest_East_11[left1]', player) or state.count('Deepnest_East_11[top1]', player) or state.count('Deepnest_East_11[right1]', player) or (state.count('Deepnest_East_11[bot1]', player) and (state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state._hk_option(player, 'EnemyPogos')) or state.count('WINGS', player) or ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._hk_option(player, 'EnemyPogos')) or (state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'DangerousSkips'))))) + hk_set_rule(hk_world, "Deepnest_East_11[top1]", lambda state: state.count('Deepnest_East_11[top1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player)) or (state.count('Deepnest_East_11[right1]', player) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state._hk_option(player, 'BackgroundObjectPogos'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player))))) or ((state.count('Deepnest_East_11[left1]', player) or state.count('Deepnest_East_11[bot1]', player)) and (state.count('WINGS', player) or ((True and state._hk_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._hk_option(player, 'ShadeSkips'))) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player))) or (state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'DangerousSkips'))) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state._hk_option(player, 'BackgroundObjectPogos'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))))) hk_set_rule(hk_world, "Deepnest_East_11[bot1]", lambda state: state.count('Deepnest_East_11[bot1]', player) or state.count('Deepnest_East_11[left1]', player) or state.count('Deepnest_East_11[top1]', player) or state.count('Deepnest_East_11[right1]', player)) hk_set_rule(hk_world, "Deepnest_East_12[right1]", lambda state: state.count('Deepnest_East_12[right1]', player) or state.count('Deepnest_East_12[left1]', player)) hk_set_rule(hk_world, "Deepnest_East_12[left1]", lambda state: state.count('Deepnest_East_12[left1]', player) or state.count('Deepnest_East_12[right1]', player)) hk_set_rule(hk_world, "Deepnest_East_13[bot1]", lambda state: state.count('Deepnest_East_13[bot1]', player)) - hk_set_rule(hk_world, "Deepnest_East_14[top2]", lambda state: state.count('Deepnest_East_14[top2]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._kh_option(player, 'PreciseMovement')))) - hk_set_rule(hk_world, "Deepnest_East_14[left1]", lambda state: state.count('Deepnest_East_14[left1]', player) or ((state.count('Deepnest_East_14[top2]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player)) and state.count('QUAKE', player) or state.count('Deepnest_East_14[door1]', player)) and (state.count('LEFTDASH', player) or state._kh_option(player, 'SpikeTunnels')))) - hk_set_rule(hk_world, "Deepnest_East_14[door1]", lambda state: state.count('Deepnest_East_14[door1]', player) or (state.count('Deepnest_East_14[top2]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player)) and state.count('QUAKE', player) and (state.count('RIGHTDASH', player) or state._kh_option(player, 'PreciseMovement'))) or (state.count('Deepnest_East_14[left1]', player) and (state.count('RIGHTDASH', player) or state._kh_option(player, 'SpikeTunnels')))) + hk_set_rule(hk_world, "Deepnest_East_14[top2]", lambda state: state.count('Deepnest_East_14[top2]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._hk_option(player, 'PreciseMovement')))) + hk_set_rule(hk_world, "Deepnest_East_14[left1]", lambda state: state.count('Deepnest_East_14[left1]', player) or ((state.count('Deepnest_East_14[top2]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player)) and state.count('QUAKE', player) or state.count('Deepnest_East_14[door1]', player)) and (state.count('LEFTDASH', player) or state._hk_option(player, 'SpikeTunnels')))) + hk_set_rule(hk_world, "Deepnest_East_14[door1]", lambda state: state.count('Deepnest_East_14[door1]', player) or (state.count('Deepnest_East_14[top2]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player)) and state.count('QUAKE', player) and (state.count('RIGHTDASH', player) or state._hk_option(player, 'PreciseMovement'))) or (state.count('Deepnest_East_14[left1]', player) and (state.count('RIGHTDASH', player) or state._hk_option(player, 'SpikeTunnels')))) hk_set_rule(hk_world, "Deepnest_East_14b[right1]", lambda state: state.count('Deepnest_East_14b[right1]', player) or state.count('Deepnest_East_14b[top1]', player)) - hk_set_rule(hk_world, "Deepnest_East_14b[top1]", lambda state: state.count('Deepnest_East_14b[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos')) or (state.count('Deepnest_East_14b[right1]', player) and (state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'DangerousSkips') or (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) + hk_set_rule(hk_world, "Deepnest_East_14b[top1]", lambda state: state.count('Deepnest_East_14b[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos')) or (state.count('Deepnest_East_14b[right1]', player) and (state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'DangerousSkips') or (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Deepnest_East_15[left1]", lambda state: state.count('Deepnest_East_15[left1]', player)) hk_set_rule(hk_world, "Deepnest_East_16[left1]", lambda state: state.count('Deepnest_East_16[left1]', player) or state.count('Deepnest_East_16[bot1]', player)) hk_set_rule(hk_world, "Deepnest_East_16[bot1]", lambda state: state.count('Deepnest_East_16[bot1]', player) or (state.count('Deepnest_East_16[left1]', player) and state.count('QUAKE', player))) @@ -681,49 +681,49 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Room_Wyrm[right1]", lambda state: state.count('Room_Wyrm[right1]', player)) hk_set_rule(hk_world, "GG_Lurker[left1]", lambda state: state.count('GG_Lurker[left1]', player)) hk_set_rule(hk_world, "Hive_01[left1]", lambda state: state.count('Hive_01[left1]', player) or state.count('Hive_01[right1]', player)) - hk_set_rule(hk_world, "Hive_01[right1]", lambda state: state.count('Hive_01[right1]', player) or (state.count('Hive_01[left1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state.count('WINGS', player) or (state._kh_option(player, 'EnemyPogos') and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player)))))))) + hk_set_rule(hk_world, "Hive_01[right1]", lambda state: state.count('Hive_01[right1]', player) or (state.count('Hive_01[left1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state.count('WINGS', player) or (state._hk_option(player, 'EnemyPogos') and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player)))))))) hk_set_rule(hk_world, "Hive_01[right2]", lambda state: state.count('Hive_01[right2]', player)) hk_set_rule(hk_world, "Hive_02[left1]", lambda state: state.count('Hive_02[left1]', player) or ((state.count('Hive_02[left2]', player) or state.count('Hive_02[left3]', player)) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('LEFTCLAW', player))))) - hk_set_rule(hk_world, "Hive_02[left2]", lambda state: state.count('Hive_02[left2]', player) or ((state.count('Hive_02[left1]', player) or state.count('Hive_02[left3]', player)) and (state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or state._kh_option(player, 'EnemyPogos'))) or state.count('WINGS', player)))) + hk_set_rule(hk_world, "Hive_02[left2]", lambda state: state.count('Hive_02[left2]', player) or ((state.count('Hive_02[left1]', player) or state.count('Hive_02[left3]', player)) and (state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or state._hk_option(player, 'EnemyPogos'))) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Hive_02[left3]", lambda state: state.count('Hive_02[left3]', player) or state.count('Hive_02[left2]', player) or state.count('Hive_02[left1]', player)) hk_set_rule(hk_world, "Hive_03_c[left1]", lambda state: state.count('Hive_03_c[left1]', player) or (state.count('Hive_03_c', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Hive_03_c[right2]", lambda state: state.count('Hive_03_c[right2]', player)) hk_set_rule(hk_world, "Hive_03_c[right3]", lambda state: state.count('Hive_03_c[right3]', player) or state.count('Hive_03_c', player)) hk_set_rule(hk_world, "Hive_03_c[top1]", lambda state: state.count('Hive_03_c[top1]', player) or (state.count('Hive_03_c', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or state.count('WINGS', player) or ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))))) or (state.count('Hive_03_c[right2]', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))) hk_set_rule(hk_world, "Hive_03[bot1]", lambda state: state.count('Hive_03[bot1]', player) or state.count('Hive_03[right1]', player)) - hk_set_rule(hk_world, "Hive_03[right1]", lambda state: state.count('Hive_03[right1]', player) or (state.count('Hive_03[bot1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player))) or (state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._kh_option(player, 'EnemyPogos'))))) + hk_set_rule(hk_world, "Hive_03[right1]", lambda state: state.count('Hive_03[right1]', player) or (state.count('Hive_03[bot1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player))) or (state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._hk_option(player, 'EnemyPogos'))))) hk_set_rule(hk_world, "Hive_03[top1]", lambda state: state.count('Hive_03[top1]', player)) hk_set_rule(hk_world, "Hive_04[left1]", lambda state: state.count('Hive_04[left1]', player) or (state.count('Hive_04[right1]', player) and ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and state.count('LEFTDASH', player) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Hive_04[left2]", lambda state: state.count('Hive_04[left2]', player) or state.count('Hive_04[left1]', player) or state.count('Hive_04[right1]', player)) - hk_set_rule(hk_world, "Hive_04[right1]", lambda state: state.count('Hive_04[right1]', player) or (state.count('Hive_04[left1]', player) and ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('RIGHTDASH', player) or state._kh_option(player, 'EnemyPogos')) or state.count('WINGS', player)))) + hk_set_rule(hk_world, "Hive_04[right1]", lambda state: state.count('Hive_04[right1]', player) or (state.count('Hive_04[left1]', player) and ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('RIGHTDASH', player) or state._hk_option(player, 'EnemyPogos')) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Hive_05[left1]", lambda state: state.count('Hive_05[left1]', player)) hk_set_rule(hk_world, "Room_Colosseum_01[left1]", lambda state: state.count('Room_Colosseum_01[left1]', player) or state.count('Room_Colosseum_01[bot1]', player)) hk_set_rule(hk_world, "Room_Colosseum_01[bot1]", lambda state: state.count('Room_Colosseum_01[bot1]', player) or state.count('Room_Colosseum_01[left1]', player)) - hk_set_rule(hk_world, "Room_Colosseum_02[top1]", lambda state: state.count('Room_Colosseum_02[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._kh_option(player, 'PreciseMovement'))) or (state.count('Room_Colosseum_02[top2]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)))) - hk_set_rule(hk_world, "Room_Colosseum_02[top2]", lambda state: state.count('Room_Colosseum_02[top2]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._kh_option(player, 'PreciseMovement'))) or (state.count('Room_Colosseum_02[top1]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)))) + hk_set_rule(hk_world, "Room_Colosseum_02[top1]", lambda state: state.count('Room_Colosseum_02[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._hk_option(player, 'PreciseMovement'))) or (state.count('Room_Colosseum_02[top2]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)))) + hk_set_rule(hk_world, "Room_Colosseum_02[top2]", lambda state: state.count('Room_Colosseum_02[top2]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._hk_option(player, 'PreciseMovement'))) or (state.count('Room_Colosseum_02[top1]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)))) hk_set_rule(hk_world, "Room_Colosseum_Spectate[bot1]", lambda state: state.count('Room_Colosseum_Spectate[bot1]', player) or state.count('Room_Colosseum_Spectate[right1]', player)) hk_set_rule(hk_world, "Room_Colosseum_Spectate[right1]", lambda state: state.count('Room_Colosseum_Spectate[right1]', player) or state.count('Room_Colosseum_Spectate[bot1]', player)) - hk_set_rule(hk_world, "Abyss_01[left1]", lambda state: state.count('Abyss_01[left1]', player) or (state.count('Abyss_01', player) and state.count('Opened_Dung_Defender_Wall', player) and ((state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) or state.count('LEFTSUPERDASH', player) or state._kh_option(player, 'EnemyPogos')) or (state.count('LEFTCLAW', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player))) or state.count('WINGS', player) or state.count('Abyss_01[right1]', player)))) - hk_set_rule(hk_world, "Abyss_01[left2]", lambda state: state.count('Abyss_01[left2]', player) or (state.count('Abyss_01', player) and (state._kh_option(player, 'SpikeTunnels') and state.count('LEFTDASH', player) and (state.count('Dashmaster', player) and state.count('Can_Bench', player) or (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))) or (state._kh_option(player, 'SpikeTunnels') and state.count('RIGHTCLAW', player) and state.count('LEFTDASH', player)))) or (state.count('Abyss_01[right2]', player) and state.count('LEFTSUPERDASH', player))) + hk_set_rule(hk_world, "Abyss_01[left1]", lambda state: state.count('Abyss_01[left1]', player) or (state.count('Abyss_01', player) and state.count('Opened_Dung_Defender_Wall', player) and ((state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) or state.count('LEFTSUPERDASH', player) or state._hk_option(player, 'EnemyPogos')) or (state.count('LEFTCLAW', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player))) or state.count('WINGS', player) or state.count('Abyss_01[right1]', player)))) + hk_set_rule(hk_world, "Abyss_01[left2]", lambda state: state.count('Abyss_01[left2]', player) or (state.count('Abyss_01', player) and (state._hk_option(player, 'SpikeTunnels') and state.count('LEFTDASH', player) and (state.count('Dashmaster', player) and state.count('Can_Bench', player) or (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))) or (state._hk_option(player, 'SpikeTunnels') and state.count('RIGHTCLAW', player) and state.count('LEFTDASH', player)))) or (state.count('Abyss_01[right2]', player) and state.count('LEFTSUPERDASH', player))) hk_set_rule(hk_world, "Abyss_01[left3]", lambda state: state.count('Abyss_01[left3]', player) or state.count('Abyss_01', player)) - hk_set_rule(hk_world, "Abyss_01[right1]", lambda state: state.count('Abyss_01[right1]', player) or (state.count('Abyss_01', player) and ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player) or state._kh_option(player, 'EnemyPogos')) or (state.count('RIGHTCLAW', player) and state.count('WINGS', player)) or (state.count('LEFTCLAW', player) and (state.count('WINGS', player) or (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))) or (state.count('WINGS', player) and state._kh_option(player, 'EnemyPogos')))) or (state.count('Abyss_01[left1]', player) and state.count('LEFTCLAW', player) and (state.count('RIGHTSUPERDASH', player) or state._kh_option(player, 'EnemyPogos')))) - hk_set_rule(hk_world, "Abyss_01[right2]", lambda state: state.count('Abyss_01[right2]', player) or (state.count('Abyss_01', player) and (state._kh_option(player, 'SpikeTunnels') and state.count('RIGHTDASH', player) and (state.count('Dashmaster', player) and state.count('Can_Bench', player) or (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))) or (state._kh_option(player, 'SpikeTunnels') and state.count('RIGHTCLAW', player) and state.count('LEFTDASH', player) and state.count('RIGHTSUPERDASH', player)))) or (state.count('Abyss_01[left2]', player) and state.count('RIGHTSUPERDASH', player))) - hk_set_rule(hk_world, "Abyss_02[right1]", lambda state: state.count('Abyss_02[right1]', player) or (state.count('Abyss_02[bot1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player)) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player) or state._kh_option(player, 'EnemyPogos')))) + hk_set_rule(hk_world, "Abyss_01[right1]", lambda state: state.count('Abyss_01[right1]', player) or (state.count('Abyss_01', player) and ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player) or state._hk_option(player, 'EnemyPogos')) or (state.count('RIGHTCLAW', player) and state.count('WINGS', player)) or (state.count('LEFTCLAW', player) and (state.count('WINGS', player) or (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))) or (state.count('WINGS', player) and state._hk_option(player, 'EnemyPogos')))) or (state.count('Abyss_01[left1]', player) and state.count('LEFTCLAW', player) and (state.count('RIGHTSUPERDASH', player) or state._hk_option(player, 'EnemyPogos')))) + hk_set_rule(hk_world, "Abyss_01[right2]", lambda state: state.count('Abyss_01[right2]', player) or (state.count('Abyss_01', player) and (state._hk_option(player, 'SpikeTunnels') and state.count('RIGHTDASH', player) and (state.count('Dashmaster', player) and state.count('Can_Bench', player) or (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))) or (state._hk_option(player, 'SpikeTunnels') and state.count('RIGHTCLAW', player) and state.count('LEFTDASH', player) and state.count('RIGHTSUPERDASH', player)))) or (state.count('Abyss_01[left2]', player) and state.count('RIGHTSUPERDASH', player))) + hk_set_rule(hk_world, "Abyss_02[right1]", lambda state: state.count('Abyss_02[right1]', player) or (state.count('Abyss_02[bot1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player)) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player) or state._hk_option(player, 'EnemyPogos')))) hk_set_rule(hk_world, "Abyss_02[bot1]", lambda state: state.count('Abyss_02[bot1]', player) or state.count('Abyss_02[right1]', player)) hk_set_rule(hk_world, "Abyss_03[bot1]", lambda state: state.count('Abyss_03[bot1]', player) or state.count('Abyss_03', player) or state.count('Lower_Tram', player)) hk_set_rule(hk_world, "Abyss_03[bot2]", lambda state: state.count('Abyss_03[bot2]', player) or state.count('Abyss_03', player) or state.count('Lower_Tram', player)) hk_set_rule(hk_world, "Abyss_03[top1]", lambda state: state.count('Abyss_03[top1]', player) or state.count('Abyss_03', player) or state.count('Lower_Tram', player)) hk_set_rule(hk_world, "Abyss_03_b[left1]", lambda state: state.count('Abyss_03_b[left1]', player) or state.count('Abyss_03_b', player) or state.count('Lower_Tram', player)) hk_set_rule(hk_world, "Abyss_03_c[right1]", lambda state: state.count('Abyss_03_c[right1]', player) or state.count('Abyss_03_c', player) or state.count('Lower_Tram', player)) - hk_set_rule(hk_world, "Abyss_03_c[top1]", lambda state: state.count('Abyss_03_c[top1]', player) or ((state.count('Abyss_03_c', player) or state.count('Lower_Tram', player)) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos')))) - hk_set_rule(hk_world, "Abyss_04[top1]", lambda state: state.count('Abyss_04[top1]', player) or (state.count('Abyss_04', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._kh_option(player, 'EnemyPogos'))))) + hk_set_rule(hk_world, "Abyss_03_c[top1]", lambda state: state.count('Abyss_03_c[top1]', player) or ((state.count('Abyss_03_c', player) or state.count('Lower_Tram', player)) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos')))) + hk_set_rule(hk_world, "Abyss_04[top1]", lambda state: state.count('Abyss_04[top1]', player) or (state.count('Abyss_04', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._hk_option(player, 'EnemyPogos'))))) hk_set_rule(hk_world, "Abyss_04[left1]", lambda state: state.count('Abyss_04[left1]', player) or state.count('Abyss_04', player)) hk_set_rule(hk_world, "Abyss_04[bot1]", lambda state: state.count('Abyss_04[bot1]', player) or state.count('Abyss_04', player)) hk_set_rule(hk_world, "Abyss_04[right1]", lambda state: state.count('Abyss_04[right1]', player) or (state.count('Abyss_04', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state.count('WINGS', player))) hk_set_rule(hk_world, "Abyss_05[left1]", lambda state: state.count('Abyss_05[left1]', player) or state.count('Abyss_05', player)) hk_set_rule(hk_world, "Abyss_05[right1]", lambda state: state.count('Abyss_05[right1]', player) or state.count('Abyss_05', player)) - hk_set_rule(hk_world, "Abyss_06_Core[top1]", lambda state: state.count('Abyss_06_Core[top1]', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state._kh_option(player, 'PreciseMovement'))))) - hk_set_rule(hk_world, "Abyss_06_Core[left1]", lambda state: state.count('Abyss_06_Core[left1]', player) or state.count('Warp-Lifeblood_Core_to_Abyss', player) or (state.count('Abyss_06_Core', player) and (state.count('Lifeblood_Heart', player) or state.count('Lifeblood_Core', player) or state.count("Joni's_Blessing", player)) and (state.count('LEFTCLAW', player) and (state._kh_option(player, 'PreciseMovement') or state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) or state.count('WINGS', player) or (state.count('Abyss_06_Core[top1]', player) and state.count('BRAND', player))))) + hk_set_rule(hk_world, "Abyss_06_Core[top1]", lambda state: state.count('Abyss_06_Core[top1]', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state._hk_option(player, 'PreciseMovement'))))) + hk_set_rule(hk_world, "Abyss_06_Core[left1]", lambda state: state.count('Abyss_06_Core[left1]', player) or state.count('Warp-Lifeblood_Core_to_Abyss', player) or (state.count('Abyss_06_Core', player) and (state.count('Lifeblood_Heart', player) or state.count('Lifeblood_Core', player) or state.count("Joni's_Blessing", player)) and (state.count('LEFTCLAW', player) and (state._hk_option(player, 'PreciseMovement') or state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) or state.count('WINGS', player) or (state.count('Abyss_06_Core[top1]', player) and state.count('BRAND', player))))) hk_set_rule(hk_world, "Abyss_06_Core[left3]", lambda state: state.count('Abyss_06_Core[left3]', player) or state.count('Abyss_06_Core', player)) hk_set_rule(hk_world, "Abyss_06_Core[right2]", lambda state: state.count('Abyss_06_Core[right2]', player) or state.count('Abyss_06_Core', player)) hk_set_rule(hk_world, "Abyss_06_Core[bot1]", lambda state: state.count('Abyss_06_Core[bot1]', player) or (state.count('Abyss_06_Core', player) and (state.count('WHITEFRAGMENT', player) > 1 and state.count('Can_Bench', player) or state.count('WHITEFRAGMENT', player) > 2))) @@ -733,9 +733,9 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Abyss_09[right3]", lambda state: state.count('Abyss_09[right3]', player)) hk_set_rule(hk_world, "Abyss_09[left1]", lambda state: state.count('Abyss_09[left1]', player) or state.count('Abyss_09', player)) hk_set_rule(hk_world, "Abyss_10[left1]", lambda state: state.count('Abyss_10[left1]', player) or (state.count('Abyss_10[left2]', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('RIGHTDASH', player)))) - hk_set_rule(hk_world, "Abyss_10[left2]", lambda state: state.count('Abyss_10[left2]', player) or (state.count('Abyss_10[left1]', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('LEFTDASH', player)) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (True and state._kh_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._kh_option(player, 'ShadeSkips')))) or ((state.count('WINGS', player) or state.count('LEFTCLAW', player)) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('RIGHTDASH', player) or state.count('WHITEFRAGMENT', player) > 2))))) + hk_set_rule(hk_world, "Abyss_10[left2]", lambda state: state.count('Abyss_10[left2]', player) or (state.count('Abyss_10[left1]', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('LEFTDASH', player)) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (True and state._hk_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._hk_option(player, 'ShadeSkips')))) or ((state.count('WINGS', player) or state.count('LEFTCLAW', player)) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('RIGHTDASH', player) or state.count('WHITEFRAGMENT', player) > 2))))) hk_set_rule(hk_world, "Abyss_12[right1]", lambda state: state.count('Abyss_12[right1]', player)) - hk_set_rule(hk_world, "Abyss_15[top1]", lambda state: state.count('Abyss_15[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._kh_option(player, 'PreciseMovement')))) + hk_set_rule(hk_world, "Abyss_15[top1]", lambda state: state.count('Abyss_15[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._hk_option(player, 'PreciseMovement')))) hk_set_rule(hk_world, "Abyss_16[left1]", lambda state: state.count('Abyss_16[left1]', player) or (state.count('Abyss_16[right1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player)))) hk_set_rule(hk_world, "Abyss_16[right1]", lambda state: state.count('Abyss_16[right1]', player) or (state.count('Abyss_16[left1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('RIGHTDASH', player)))) hk_set_rule(hk_world, "Abyss_17[top1]", lambda state: state.count('Abyss_17[top1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player))) @@ -745,55 +745,55 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Abyss_19[right1]", lambda state: state.count('Abyss_19[right1]', player) or (state.count('Abyss_19[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player))) or (state.count('Abyss_19[bot2]', player) and state.count('WINGS', player))) hk_set_rule(hk_world, "Abyss_19[bot1]", lambda state: state.count('Abyss_19[bot1]', player)) hk_set_rule(hk_world, "Abyss_19[bot2]", lambda state: state.count('Abyss_19[bot2]', player) or (state.count('Abyss_19[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player))) or state.count('Abyss_19[right1]', player)) - hk_set_rule(hk_world, "Abyss_20[top1]", lambda state: state.count('Abyss_20[top1]', player) or (state.count('Abyss_20[top2]', player) and (state.count('LEFTCLAW', player) or (state._kh_option(player, 'EnemyPogos') and state.count('WINGS', player))))) + hk_set_rule(hk_world, "Abyss_20[top1]", lambda state: state.count('Abyss_20[top1]', player) or (state.count('Abyss_20[top2]', player) and (state.count('LEFTCLAW', player) or (state._hk_option(player, 'EnemyPogos') and state.count('WINGS', player))))) hk_set_rule(hk_world, "Abyss_20[top2]", lambda state: state.count('Abyss_20[top2]', player) or (state.count('Abyss_20[top1]', player) and state.count('RIGHTCLAW', player))) hk_set_rule(hk_world, "Abyss_21[right1]", lambda state: state.count('Abyss_21[right1]', player)) hk_set_rule(hk_world, "Abyss_22[left1]", lambda state: state.count('Abyss_22[left1]', player) or (state.count('Can_Stag', player) and state.count('Hidden_Station_Stag', player))) hk_set_rule(hk_world, "Abyss_Lighthouse_room[left1]", lambda state: state.count('Abyss_Lighthouse_room[left1]', player)) - hk_set_rule(hk_world, "Waterways_01[top1]", lambda state: state.count('Waterways_01[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._kh_option(player, 'PreciseMovement'))) or (state.count('Waterways_01', player) and state.count('Opened_Waterways_Manhole', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)))) + hk_set_rule(hk_world, "Waterways_01[top1]", lambda state: state.count('Waterways_01[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._hk_option(player, 'PreciseMovement'))) or (state.count('Waterways_01', player) and state.count('Opened_Waterways_Manhole', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)))) hk_set_rule(hk_world, "Waterways_01[left1]", lambda state: state.count('Waterways_01[left1]', player) or state.count('Waterways_01', player)) - hk_set_rule(hk_world, "Waterways_01[right1]", lambda state: state.count('Waterways_01[right1]', player) or (state.count('Waterways_01', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos')))) + hk_set_rule(hk_world, "Waterways_01[right1]", lambda state: state.count('Waterways_01[right1]', player) or (state.count('Waterways_01', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos')))) hk_set_rule(hk_world, "Waterways_01[bot1]", lambda state: state.count('Waterways_01[bot1]', player) or state.count('Waterways_01', player)) - hk_set_rule(hk_world, "Waterways_02[top1]", lambda state: state.count('Waterways_02[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._kh_option(player, 'PreciseMovement'))) or (state.count('Waterways_02', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state._kh_option(player, 'EnemyPogos') and state.count('WINGS', player))))) - hk_set_rule(hk_world, "Waterways_02[top2]", lambda state: state.count('Waterways_02[top2]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) or (state.count('Waterways_02', player) and (state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state.count('WINGS', player)) or ((state.count('WINGS', player) or state.count('LEFTCLAW', player)) and state._kh_option(player, 'EnemyPogos'))))) - hk_set_rule(hk_world, "Waterways_02[top3]", lambda state: state.count('Waterways_02[top3]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._kh_option(player, 'PreciseMovement')))) + hk_set_rule(hk_world, "Waterways_02[top1]", lambda state: state.count('Waterways_02[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._hk_option(player, 'PreciseMovement'))) or (state.count('Waterways_02', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state._hk_option(player, 'EnemyPogos') and state.count('WINGS', player))))) + hk_set_rule(hk_world, "Waterways_02[top2]", lambda state: state.count('Waterways_02[top2]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) or (state.count('Waterways_02', player) and (state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state.count('WINGS', player)) or ((state.count('WINGS', player) or state.count('LEFTCLAW', player)) and state._hk_option(player, 'EnemyPogos'))))) + hk_set_rule(hk_world, "Waterways_02[top3]", lambda state: state.count('Waterways_02[top3]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._hk_option(player, 'PreciseMovement')))) hk_set_rule(hk_world, "Waterways_02[bot1]", lambda state: state.count('Waterways_02[bot1]', player) or (state.count('Waterways_02[top1]', player) and state.count('QUAKE', player)) or (state.count('Waterways_02[top2]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('SWIM', player)) and state.count('QUAKE', player)) or (state.count('Waterways_02[top3]', player) and state.count('QUAKE', player)) or (state.count('Waterways_02[bot1]', player) and state.count('QUAKE', player)) or (state.count('Waterways_02[bot2]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('SWIM', player)) and state.count('QUAKE', player))) - hk_set_rule(hk_world, "Waterways_02[bot2]", lambda state: state.count('Waterways_02[bot2]', player) or state.count('Waterways_02[top1]', player) or state.count('Waterways_02[top2]', player) or (state.count('Waterways_02[top3]', player) and state.count('QUAKE', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player) or (state._kh_option(player, 'EnemyPogos') and state.count('SWIM', player)) or (state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'DangerousSkips') and state.count('RIGHTDASH', player)))) or (state.count('Waterways_02[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or (state._kh_option(player, 'EnemyPogos') and state.count('SWIM', player)) or (state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'DangerousSkips') and state.count('RIGHTDASH', player)))) or state.count('Waterways_02[bot2]', player)) + hk_set_rule(hk_world, "Waterways_02[bot2]", lambda state: state.count('Waterways_02[bot2]', player) or state.count('Waterways_02[top1]', player) or state.count('Waterways_02[top2]', player) or (state.count('Waterways_02[top3]', player) and state.count('QUAKE', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player) or (state._hk_option(player, 'EnemyPogos') and state.count('SWIM', player)) or (state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'DangerousSkips') and state.count('RIGHTDASH', player)))) or (state.count('Waterways_02[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or (state._hk_option(player, 'EnemyPogos') and state.count('SWIM', player)) or (state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'DangerousSkips') and state.count('RIGHTDASH', player)))) or state.count('Waterways_02[bot2]', player)) hk_set_rule(hk_world, "Waterways_03[left1]", lambda state: state.count('Waterways_03[left1]', player)) - hk_set_rule(hk_world, "Waterways_04[bot1]", lambda state: state.count('Waterways_04[bot1]', player) or (state.count('Waterways_04[right1]', player) and state.count('QUAKE', player)) or (state.count('Waterways_04[left1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos')) and state.count('QUAKE', player)) or (state.count('Waterways_04[left2]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player)) and (state.count('SWIM', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('RIGHTSUPERDASH', player) and state._kh_option(player, 'AcidSkips'))) and state.count('QUAKE', player))) - hk_set_rule(hk_world, "Waterways_04[right1]", lambda state: state.count('Waterways_04[right1]', player) or (state.count('Waterways_04[left1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player))) or (state.count('Waterways_04[left2]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player)) and (state.count('SWIM', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('RIGHTSUPERDASH', player) and state._kh_option(player, 'AcidSkips'))))) - hk_set_rule(hk_world, "Waterways_04[left1]", lambda state: state.count('Waterways_04[left1]', player) or (state.count('Waterways_04[right1]', player) and (state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or state.count('WINGS', player))) or (state.count('WINGS', player) and state._kh_option(player, 'EnemyPogos')))) or (state.count('Waterways_04[left2]', player) and (state.count('SWIM', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('RIGHTSUPERDASH', player) and state._kh_option(player, 'AcidSkips'))) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and state._kh_option(player, 'EnemyPogos'))))) - hk_set_rule(hk_world, "Waterways_04[left2]", lambda state: state.count('Waterways_04[left2]', player) or (state.count('Waterways_04[right1]', player) and (state.count('SWIM', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('LEFTSUPERDASH', player) and state._kh_option(player, 'AcidSkips')))) or (state.count('Waterways_04[left1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos')) and (state.count('SWIM', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('LEFTSUPERDASH', player) and state._kh_option(player, 'AcidSkips'))))) - hk_set_rule(hk_world, "Waterways_04b[right1]", lambda state: state.count('Waterways_04b[right1]', player) or (state.count('Waterways_04b[left1]', player) and state.count('WINGS', player)) or (state.count('Waterways_04b[right2]', player) and state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state._kh_option(player, 'EnemyPogos')) and (state.count('SWIM', player) or (state.count('LEFTSUPERDASH', player) and state.count('RIGHTCLAW', player))))) + hk_set_rule(hk_world, "Waterways_04[bot1]", lambda state: state.count('Waterways_04[bot1]', player) or (state.count('Waterways_04[right1]', player) and state.count('QUAKE', player)) or (state.count('Waterways_04[left1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos')) and state.count('QUAKE', player)) or (state.count('Waterways_04[left2]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player)) and (state.count('SWIM', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('RIGHTSUPERDASH', player) and state._hk_option(player, 'AcidSkips'))) and state.count('QUAKE', player))) + hk_set_rule(hk_world, "Waterways_04[right1]", lambda state: state.count('Waterways_04[right1]', player) or (state.count('Waterways_04[left1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player))) or (state.count('Waterways_04[left2]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player)) and (state.count('SWIM', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('RIGHTSUPERDASH', player) and state._hk_option(player, 'AcidSkips'))))) + hk_set_rule(hk_world, "Waterways_04[left1]", lambda state: state.count('Waterways_04[left1]', player) or (state.count('Waterways_04[right1]', player) and (state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or state.count('WINGS', player))) or (state.count('WINGS', player) and state._hk_option(player, 'EnemyPogos')))) or (state.count('Waterways_04[left2]', player) and (state.count('SWIM', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('RIGHTSUPERDASH', player) and state._hk_option(player, 'AcidSkips'))) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and state._hk_option(player, 'EnemyPogos'))))) + hk_set_rule(hk_world, "Waterways_04[left2]", lambda state: state.count('Waterways_04[left2]', player) or (state.count('Waterways_04[right1]', player) and (state.count('SWIM', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('LEFTSUPERDASH', player) and state._hk_option(player, 'AcidSkips')))) or (state.count('Waterways_04[left1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos')) and (state.count('SWIM', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('LEFTSUPERDASH', player) and state._hk_option(player, 'AcidSkips'))))) + hk_set_rule(hk_world, "Waterways_04b[right1]", lambda state: state.count('Waterways_04b[right1]', player) or (state.count('Waterways_04b[left1]', player) and state.count('WINGS', player)) or (state.count('Waterways_04b[right2]', player) and state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state._hk_option(player, 'EnemyPogos')) and (state.count('SWIM', player) or (state.count('LEFTSUPERDASH', player) and state.count('RIGHTCLAW', player))))) hk_set_rule(hk_world, "Waterways_04b[right2]", lambda state: state.count('Waterways_04b[right2]', player) or (state.count('Waterways_04b[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player) or state.count('SWIM', player))) or (state.count('Waterways_04b[right1]', player) and (state.count('WINGS', player) or state.count('LEFTDASH', player) or state.count('SWIM', player) or (state.count('RIGHTCLAW', player) and state.count('RIGHTDASH', player) and state.count('LEFTSUPERDASH', player))) and (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player) or state.count('SWIM', player)))) - hk_set_rule(hk_world, "Waterways_04b[left1]", lambda state: state.count('Waterways_04b[left1]', player) or (state.count('Waterways_04b[right1]', player) and (state.count('WINGS', player) or state.count('LEFTDASH', player) or state.count('SWIM', player) or (state.count('RIGHTCLAW', player) and state.count('RIGHTDASH', player) and state.count('LEFTSUPERDASH', player)))) or (state.count('Waterways_04b[right2]', player) and (state.count('WINGS', player) or (state.count('LEFTCLAW', player) and state._kh_option(player, 'EnemyPogos'))) and (state.count('LEFTCLAW', player) or state._kh_option(player, 'EnemyPogos')) and (state.count('SWIM', player) or (state.count('LEFTSUPERDASH', player) and state.count('RIGHTCLAW', player))))) + hk_set_rule(hk_world, "Waterways_04b[left1]", lambda state: state.count('Waterways_04b[left1]', player) or (state.count('Waterways_04b[right1]', player) and (state.count('WINGS', player) or state.count('LEFTDASH', player) or state.count('SWIM', player) or (state.count('RIGHTCLAW', player) and state.count('RIGHTDASH', player) and state.count('LEFTSUPERDASH', player)))) or (state.count('Waterways_04b[right2]', player) and (state.count('WINGS', player) or (state.count('LEFTCLAW', player) and state._hk_option(player, 'EnemyPogos'))) and (state.count('LEFTCLAW', player) or state._hk_option(player, 'EnemyPogos')) and (state.count('SWIM', player) or (state.count('LEFTSUPERDASH', player) and state.count('RIGHTCLAW', player))))) hk_set_rule(hk_world, "Waterways_05[right1]", lambda state: state.count('Waterways_05[right1]', player) or (state.count('Waterways_05[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) and state.count('Defeated_Dung_Defender', player)) or state.count('Waterways_05[bot2]', player)) hk_set_rule(hk_world, "Waterways_05[bot1]", lambda state: state.count('Waterways_05[bot1]', player)) hk_set_rule(hk_world, "Waterways_05[bot2]", lambda state: state.count('Waterways_05[bot2]', player) or ((state.count('Waterways_05[right1]', player) or (state.count('Waterways_05[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) and state.count('Defeated_Dung_Defender', player))) and state.count('QUAKE', player))) hk_set_rule(hk_world, "Waterways_06[right1]", lambda state: state.count('Waterways_06[right1]', player) or (state.count('Waterways_06[top1]', player) and (state.count('ACID', player) or state.count('RIGHTSUPERDASH', player)))) - hk_set_rule(hk_world, "Waterways_06[top1]", lambda state: state.count('Waterways_06[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) or (state.count('Waterways_06[right1]', player) and (state.count('ACID', player) or state.count('LEFTSUPERDASH', player)) and (state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'DangerousSkips') or (state.count('LEFTCLAW', player) and (state.count('LEFTDASH', player) or state._kh_option(player, 'EnemyPogos') or state.count('RIGHTCLAW', player))) or state.count('WINGS', player)))) + hk_set_rule(hk_world, "Waterways_06[top1]", lambda state: state.count('Waterways_06[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) or (state.count('Waterways_06[right1]', player) and (state.count('ACID', player) or state.count('LEFTSUPERDASH', player)) and (state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'DangerousSkips') or (state.count('LEFTCLAW', player) and (state.count('LEFTDASH', player) or state._hk_option(player, 'EnemyPogos') or state.count('RIGHTCLAW', player))) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Waterways_07[right1]", lambda state: state.count('Waterways_07[right1]', player) or (state.count('Lever-Dung_Defender', player) and (state.count('Waterways_07', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or ((state.count('Waterways_07[door1]', player) or state.count('Waterways_07[top1]', player)) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))))) - hk_set_rule(hk_world, "Waterways_07[right2]", lambda state: state.count('Waterways_07[right2]', player) or (state.count('Waterways_07', player) and (state.count('ACID', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('RIGHTSUPERDASH', player) and state._kh_option(player, 'AcidSkips'))))) + hk_set_rule(hk_world, "Waterways_07[right2]", lambda state: state.count('Waterways_07[right2]', player) or (state.count('Waterways_07', player) and (state.count('ACID', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('RIGHTSUPERDASH', player) and state._hk_option(player, 'AcidSkips'))))) hk_set_rule(hk_world, "Waterways_07[left1]", lambda state: state.count('Waterways_07[left1]', player) or (state.count('Waterways_07', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and (state.count('ACID', player) or (state.count('LEFTDASH', player) and state.count('WINGS', player)))) or (state.count('RIGHTCLAW', player) and state.count('WINGS', player) and (state.count('ACID', player) or state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player)))) and (state.count('LEFTSUPERDASH', player) or (state.count('ACID', player) and state.count('WINGS', player))))) hk_set_rule(hk_world, "Waterways_07[door1]", lambda state: state.count('Waterways_07[door1]', player) or (state.count('Waterways_07', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or (state.count('Waterways_07[top1]', player) and state.count('WINGS', player))) hk_set_rule(hk_world, "Waterways_07[top1]", lambda state: state.count('Waterways_07[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player))) hk_set_rule(hk_world, "Waterways_08[top1]", lambda state: state.count('Waterways_08[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) or (state.count('Waterways_08[left1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player))) or (state.count('Waterways_08[left2]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) - hk_set_rule(hk_world, "Waterways_08[left1]", lambda state: state.count('Waterways_08[left1]', player) or (state.count('Waterways_08[top1]', player) and (state._kh_option(player, 'EnemyPogos') or state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player))) or state.count('Waterways_08[left2]', player)) + hk_set_rule(hk_world, "Waterways_08[left1]", lambda state: state.count('Waterways_08[left1]', player) or (state.count('Waterways_08[top1]', player) and (state._hk_option(player, 'EnemyPogos') or state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player))) or state.count('Waterways_08[left2]', player)) hk_set_rule(hk_world, "Waterways_08[left2]", lambda state: state.count('Waterways_08[left2]', player) or (state.count('Waterways_08[left1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Waterways_09[right1]", lambda state: state.count('Waterways_09[right1]', player) or state.count('Waterways_09[left1]', player)) hk_set_rule(hk_world, "Waterways_09[left1]", lambda state: state.count('Waterways_09[left1]', player) or (state.count('Waterways_09[right1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player)))))) hk_set_rule(hk_world, "Waterways_12[right1]", lambda state: state.count('Waterways_12[right1]', player)) - hk_set_rule(hk_world, "Waterways_13[left1]", lambda state: state.count('Waterways_13[left1]', player) or (state.count('Waterways_13[left2]', player) and (state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state.count('WINGS', player))) and (state.count('ACID', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player)) and state._kh_option(player, 'AcidSkips'))))) - hk_set_rule(hk_world, "Waterways_13[left2]", lambda state: state.count('Waterways_13[left2]', player) or (state.count('Waterways_13[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and (state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos'))) or (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player)))) and (state.count('ACID', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('LEFTSUPERDASH', player) and state._kh_option(player, 'AcidSkips'))))) + hk_set_rule(hk_world, "Waterways_13[left1]", lambda state: state.count('Waterways_13[left1]', player) or (state.count('Waterways_13[left2]', player) and (state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state.count('WINGS', player))) and (state.count('ACID', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player)) and state._hk_option(player, 'AcidSkips'))))) + hk_set_rule(hk_world, "Waterways_13[left2]", lambda state: state.count('Waterways_13[left2]', player) or (state.count('Waterways_13[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and (state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos'))) or (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player)))) and (state.count('ACID', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('LEFTSUPERDASH', player) and state._hk_option(player, 'AcidSkips'))))) hk_set_rule(hk_world, "Waterways_14[bot1]", lambda state: state.count('Waterways_14[bot1]', player) or (state.count('Waterways_14[bot2]', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and state.count('LEFTCLAW', player))) and (state.count('ACID', player) or state.count('LEFTSUPERDASH', player)))) hk_set_rule(hk_world, "Waterways_14[bot2]", lambda state: state.count('Waterways_14[bot2]', player) or (state.count('Waterways_14[bot1]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and (state.count('ACID', player) or state.count('RIGHTSUPERDASH', player)))) - hk_set_rule(hk_world, "Waterways_15[top1]", lambda state: state.count('Waterways_15[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._kh_option(player, 'PreciseMovement')))) + hk_set_rule(hk_world, "Waterways_15[top1]", lambda state: state.count('Waterways_15[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._hk_option(player, 'PreciseMovement')))) hk_set_rule(hk_world, "GG_Pipeway[right1]", lambda state: state.count('GG_Pipeway[right1]', player) or (state.count('GG_Pipeway[left1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) - hk_set_rule(hk_world, "GG_Pipeway[left1]", lambda state: state.count('GG_Pipeway[left1]', player) or (state.count('GG_Pipeway[right1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._kh_option(player, 'EnemyPogos'))))) + hk_set_rule(hk_world, "GG_Pipeway[left1]", lambda state: state.count('GG_Pipeway[left1]', player) or (state.count('GG_Pipeway[right1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._hk_option(player, 'EnemyPogos'))))) hk_set_rule(hk_world, "GG_Waterways[right1]", lambda state: state.count('GG_Waterways[right1]', player) or (state.count('GG_Waterways[door1]', player) and (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player)) or (state.count('WINGS', player) and state.count('RIGHTCLAW', player))))) - hk_set_rule(hk_world, "GG_Waterways[door1]", lambda state: state.count('GG_Waterways[door1]', player) or (state.count('GG_Waterways[right1]', player) and ((state.count('LEFTSUPERDASH', player) or state.count('SWIM', player)) and (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state.count('WINGS', player) or (state.count('RIGHTSUPERDASH', player) and state.count('RIGHTCLAW', player))) or (state.count('WINGS', player) and state.count('RIGHTCLAW', player) and state._kh_option(player, 'PreciseMovement'))) or (state.count('WINGS', player) and state.count('RIGHTDASH', player) and state.count('RIGHTCLAW', player) and state._kh_option(player, 'DifficultSkips'))))) + hk_set_rule(hk_world, "GG_Waterways[door1]", lambda state: state.count('GG_Waterways[door1]', player) or (state.count('GG_Waterways[right1]', player) and ((state.count('LEFTSUPERDASH', player) or state.count('SWIM', player)) and (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state.count('WINGS', player) or (state.count('RIGHTSUPERDASH', player) and state.count('RIGHTCLAW', player))) or (state.count('WINGS', player) and state.count('RIGHTCLAW', player) and state._hk_option(player, 'PreciseMovement'))) or (state.count('WINGS', player) and state.count('RIGHTDASH', player) and state.count('RIGHTCLAW', player) and state._hk_option(player, 'DifficultSkips'))))) hk_set_rule(hk_world, "Room_GG_Shortcut[left1]", lambda state: state.count('Room_GG_Shortcut[left1]', player) or (state.count('Room_GG_Shortcut[top1]', player) and (state.count('WINGS', player) or state.count('SWIM', player) or state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player)))) - hk_set_rule(hk_world, "Room_GG_Shortcut[top1]", lambda state: state.count('Room_GG_Shortcut[top1]', player) and (state.count('WINGS', player) or state.count('LEFTCLAW', player)) or (state.count('Room_GG_Shortcut[left1]', player) and (state.count('WINGS', player) or state.count('LEFTCLAW', player)) and (state.count('RIGHTCLAW', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player) or state.count('WINGS', player) or (state.count('RIGHTDASH', player) and state.count('SWIM', player))) or (state.count('LEFTCLAW', player) and state.count('WINGS', player) and state._kh_option(player, 'EnemyPogos') and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player)))))) + hk_set_rule(hk_world, "Room_GG_Shortcut[top1]", lambda state: state.count('Room_GG_Shortcut[top1]', player) and (state.count('WINGS', player) or state.count('LEFTCLAW', player)) or (state.count('Room_GG_Shortcut[left1]', player) and (state.count('WINGS', player) or state.count('LEFTCLAW', player)) and (state.count('RIGHTCLAW', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player) or state.count('WINGS', player) or (state.count('RIGHTDASH', player) and state.count('SWIM', player))) or (state.count('LEFTCLAW', player) and state.count('WINGS', player) and state._hk_option(player, 'EnemyPogos') and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player)))))) hk_set_rule(hk_world, "Ruins1_01[left1]", lambda state: state.count('Ruins1_01[left1]', player) or state.count('Ruins1_01[top1]', player) or (state.count('Ruins1_01[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Ruins1_01[top1]", lambda state: state.count('Ruins1_01[top1]', player) or state.count('Ruins1_01[left1]', player) or (state.count('Ruins1_01[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Ruins1_01[bot1]", lambda state: state.count('Ruins1_01[bot1]', player) or state.count('Ruins1_01[top1]', player) or state.count('Ruins1_01[left1]', player)) @@ -803,24 +803,24 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Ruins1_03[left1]", lambda state: state.count('Ruins1_03[left1]', player) or state.count('Ruins1_03', player)) hk_set_rule(hk_world, "Ruins1_03[right1]", lambda state: state.count('Ruins1_03[right1]', player) or state.count('Ruins1_03', player)) hk_set_rule(hk_world, "Ruins1_03[right2]", lambda state: state.count('Ruins1_03[right2]', player) or state.count('Ruins1_03', player)) - hk_set_rule(hk_world, "Ruins1_04[right1]", lambda state: state.count('Ruins1_04[right1]', player) or state.count('Ruins1_04[door1]', player) or (state.count('Ruins1_04[bot1]', player) and (state._kh_option(player, 'EnemyPogos') or state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player) or state.count('WINGS', player) or state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state._kh_option(player, 'PreciseMovement'))))) - hk_set_rule(hk_world, "Ruins1_04[door1]", lambda state: state.count('Ruins1_04[door1]', player) or ((state.count('Ruins1_04[bot1]', player) or (state.count('Ruins1_04[right1]', player) and (state._kh_option(player, 'EnemyPogos') or state.count('LEFTDASH', player) or state.count('WINGS', player) or state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and state._kh_option(player, 'PreciseMovement'))))) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state._kh_option(player, 'EnemyPogos') and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('RIGHTDASH', player)))))) + hk_set_rule(hk_world, "Ruins1_04[right1]", lambda state: state.count('Ruins1_04[right1]', player) or state.count('Ruins1_04[door1]', player) or (state.count('Ruins1_04[bot1]', player) and (state._hk_option(player, 'EnemyPogos') or state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player) or state.count('WINGS', player) or state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state._hk_option(player, 'PreciseMovement'))))) + hk_set_rule(hk_world, "Ruins1_04[door1]", lambda state: state.count('Ruins1_04[door1]', player) or ((state.count('Ruins1_04[bot1]', player) or (state.count('Ruins1_04[right1]', player) and (state._hk_option(player, 'EnemyPogos') or state.count('LEFTDASH', player) or state.count('WINGS', player) or state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and state._hk_option(player, 'PreciseMovement'))))) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state._hk_option(player, 'EnemyPogos') and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('RIGHTDASH', player)))))) hk_set_rule(hk_world, "Ruins1_04[bot1]", lambda state: state.count('Ruins1_04[bot1]', player)) hk_set_rule(hk_world, "Ruins1_05b[left1]", lambda state: state.count('Ruins1_05b[left1]', player) or state.count('Ruins1_05b', player)) - hk_set_rule(hk_world, "Ruins1_05b[top1]", lambda state: state.count('Ruins1_05b[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._kh_option(player, 'PreciseMovement')))) + hk_set_rule(hk_world, "Ruins1_05b[top1]", lambda state: state.count('Ruins1_05b[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._hk_option(player, 'PreciseMovement')))) hk_set_rule(hk_world, "Ruins1_05b[bot1]", lambda state: state.count('Ruins1_05b[bot1]', player) or (state.count('Ruins1_05b', player) and state.count('Opened_Waterways_Manhole', player))) hk_set_rule(hk_world, "Ruins1_05b[right1]", lambda state: state.count('Ruins1_05b[right1]', player) or state.count('Ruins1_05b', player)) hk_set_rule(hk_world, "Ruins1_05c[left2]", lambda state: state.count('Ruins1_05c[left2]', player) or state.count('Ruins1_05c', player)) hk_set_rule(hk_world, "Ruins1_05c[bot1]", lambda state: state.count('Ruins1_05c[bot1]', player) or state.count('Ruins1_05c', player)) - hk_set_rule(hk_world, "Ruins1_05c[top1]", lambda state: state.count('Ruins1_05c[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._kh_option(player, 'PreciseMovement'))) or (state.count('Ruins1_05c', player) and (state.count('WINGS', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'DifficultSkips'))) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player) or state.count('WINGS', player) or (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player)) or state._kh_option(player, 'EnemyPogos') or state.count('Ruins1_05c[top2]', player)))))) + hk_set_rule(hk_world, "Ruins1_05c[top1]", lambda state: state.count('Ruins1_05c[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._hk_option(player, 'PreciseMovement'))) or (state.count('Ruins1_05c', player) and (state.count('WINGS', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'DifficultSkips'))) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player) or state.count('WINGS', player) or (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player)) or state._hk_option(player, 'EnemyPogos') or state.count('Ruins1_05c[top2]', player)))))) hk_set_rule(hk_world, "Ruins1_05c[top2]", lambda state: state.count('Ruins1_05c[top2]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player))) - hk_set_rule(hk_world, "Ruins1_05c[top3]", lambda state: state.count('Ruins1_05c[top3]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player)) or (state.count('Ruins1_05c[top2]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and state._kh_option(player, 'EnemyPogos'))))) + hk_set_rule(hk_world, "Ruins1_05c[top3]", lambda state: state.count('Ruins1_05c[top3]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player)) or (state.count('Ruins1_05c[top2]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and state._hk_option(player, 'EnemyPogos'))))) hk_set_rule(hk_world, "Ruins1_05[bot1]", lambda state: state.count('Ruins1_05[bot1]', player)) - hk_set_rule(hk_world, "Ruins1_05[bot2]", lambda state: state.count('Ruins1_05[bot2]', player) or (state.count('Ruins1_05[bot1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state._kh_option(player, 'EnemyPogos')))))) + hk_set_rule(hk_world, "Ruins1_05[bot2]", lambda state: state.count('Ruins1_05[bot2]', player) or (state.count('Ruins1_05[bot1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state._hk_option(player, 'EnemyPogos')))))) hk_set_rule(hk_world, "Ruins1_05[bot3]", lambda state: state.count('Ruins1_05[bot3]', player) or state.count('Ruins1_05', player)) hk_set_rule(hk_world, "Ruins1_05[right1]", lambda state: state.count('Ruins1_05[right1]', player) or (state.count('Ruins1_05', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or state.count('Ruins1_05[top1]', player)))) hk_set_rule(hk_world, "Ruins1_05[right2]", lambda state: state.count('Ruins1_05[right2]', player) or state.count('Ruins1_05', player)) - hk_set_rule(hk_world, "Ruins1_05[top1]", lambda state: state.count('Ruins1_05[top1]', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state._kh_option(player, 'PreciseMovement')))) or (state.count('Ruins1_05', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and state.count('LEFTCLAW', player))) and (state.count('WINGS', player) or state.count('LEFTCLAW', player) or state.count('Ruins1_05[right1]', player)))) + hk_set_rule(hk_world, "Ruins1_05[top1]", lambda state: state.count('Ruins1_05[top1]', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state._hk_option(player, 'PreciseMovement')))) or (state.count('Ruins1_05', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and state.count('LEFTCLAW', player))) and (state.count('WINGS', player) or state.count('LEFTCLAW', player) or state.count('Ruins1_05[right1]', player)))) hk_set_rule(hk_world, "Ruins1_06[left1]", lambda state: state.count('Ruins1_06[left1]', player) or state.count('Ruins1_06[right1]', player)) hk_set_rule(hk_world, "Ruins1_06[right1]", lambda state: state.count('Ruins1_06[right1]', player) or state.count('Ruins1_06[left1]', player)) hk_set_rule(hk_world, "Ruins1_09[top1]", lambda state: state.count('Ruins1_09[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) or (state.count('Ruins1_09[left1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) @@ -831,8 +831,8 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Ruins1_18[left1]", lambda state: state.count('Ruins1_18[left1]', player) or state.count('Ruins1_18[right1]', player)) hk_set_rule(hk_world, "Ruins1_18[right1]", lambda state: state.count('Ruins1_18[right1]', player)) hk_set_rule(hk_world, "Ruins1_18[right2]", lambda state: state.count('Ruins1_18[right2]', player)) - hk_set_rule(hk_world, "Ruins1_23[top1]", lambda state: state.count('Ruins1_23[top1]', player) and state.count('WINGS', player) and state._kh_option(player, 'PreciseMovement') or (state.count('Ruins1_23', player) and state.count('Defeated_Sanctum_Warrior', player) and state.count('Broke_Sanctum_Glass_Floor', player) and state.count('WINGS', player) and (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player)) or (state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player))) or state._kh_option(player, 'BackgroundObjectPogos')))) - hk_set_rule(hk_world, "Ruins1_23[right1]", lambda state: state.count('Ruins1_23[right1]', player) or ((state.count('Ruins1_23', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and state.count('LEFTSUPERDASH', player) and state._kh_option(player, 'EnemyPogos'))) or state.count('Ruins1_23[top1]', player)) and state.count('Defeated_Sanctum_Warrior', player))) + hk_set_rule(hk_world, "Ruins1_23[top1]", lambda state: state.count('Ruins1_23[top1]', player) and state.count('WINGS', player) and state._hk_option(player, 'PreciseMovement') or (state.count('Ruins1_23', player) and state.count('Defeated_Sanctum_Warrior', player) and state.count('Broke_Sanctum_Glass_Floor', player) and state.count('WINGS', player) and (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player)) or (state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player))) or state._hk_option(player, 'BackgroundObjectPogos')))) + hk_set_rule(hk_world, "Ruins1_23[right1]", lambda state: state.count('Ruins1_23[right1]', player) or ((state.count('Ruins1_23', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and state.count('LEFTSUPERDASH', player) and state._hk_option(player, 'EnemyPogos'))) or state.count('Ruins1_23[top1]', player)) and state.count('Defeated_Sanctum_Warrior', player))) hk_set_rule(hk_world, "Ruins1_23[right2]", lambda state: state.count('Ruins1_23[right2]', player)) hk_set_rule(hk_world, "Ruins1_23[bot1]", lambda state: state.count('Ruins1_23[bot1]', player) or state.count('Ruins1_23', player)) hk_set_rule(hk_world, "Ruins1_23[left1]", lambda state: state.count('Ruins1_23[left1]', player) or state.count('Ruins1_23', player)) @@ -863,13 +863,13 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Ruins1_32[right1]", lambda state: state.count('Ruins1_32[right1]', player)) hk_set_rule(hk_world, "Ruins1_32[right2]", lambda state: state.count('Ruins1_32[right2]', player) or (state.count('Ruins1_32[right1]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state.count('QUAKE', player))) hk_set_rule(hk_world, "Room_nailsmith[left1]", lambda state: state.count('Room_nailsmith[left1]', player)) - hk_set_rule(hk_world, "Ruins2_01[top1]", lambda state: state.count('Ruins2_01[top1]', player) or (state.count('Ruins2_01', player) and (state.count('Ruins2_01[left2]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player))) or ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and (state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos'))) or (state.count('WINGS', player) and state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'DifficultSkips'))))) + hk_set_rule(hk_world, "Ruins2_01[top1]", lambda state: state.count('Ruins2_01[top1]', player) or (state.count('Ruins2_01', player) and (state.count('Ruins2_01[left2]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player))) or ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and (state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos'))) or (state.count('WINGS', player) and state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'DifficultSkips'))))) hk_set_rule(hk_world, "Ruins2_01[bot1]", lambda state: state.count('Ruins2_01[bot1]', player) or state.count('Ruins2_01', player)) - hk_set_rule(hk_world, "Ruins2_01[left2]", lambda state: state.count('Ruins2_01[left2]', player) or (state.count('Ruins2_01', player) and (state.count('Ruins2_01[top1]', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player))) or ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and (state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos'))) or (state.count('WINGS', player) and state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'DifficultSkips'))))) - hk_set_rule(hk_world, "Ruins2_01_b[top1]", lambda state: state.count('Ruins2_01_b[top1]', player) or (state.count('Ruins2_01_b', player) and (state.count('LEFTCLAW', player) and state._kh_option(player, 'BackgroundObjectPogos') or state.count('WINGS', player)))) + hk_set_rule(hk_world, "Ruins2_01[left2]", lambda state: state.count('Ruins2_01[left2]', player) or (state.count('Ruins2_01', player) and (state.count('Ruins2_01[top1]', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player))) or ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and (state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos'))) or (state.count('WINGS', player) and state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'DifficultSkips'))))) + hk_set_rule(hk_world, "Ruins2_01_b[top1]", lambda state: state.count('Ruins2_01_b[top1]', player) or (state.count('Ruins2_01_b', player) and (state.count('LEFTCLAW', player) and state._hk_option(player, 'BackgroundObjectPogos') or state.count('WINGS', player)))) hk_set_rule(hk_world, "Ruins2_01_b[left1]", lambda state: state.count('Ruins2_01_b[left1]', player) or state.count('Ruins2_01_b', player)) hk_set_rule(hk_world, "Ruins2_01_b[right1]", lambda state: state.count('Ruins2_01_b[right1]', player) or state.count('Ruins2_01_b', player)) - hk_set_rule(hk_world, "Ruins2_03b[top1]", lambda state: state.count('Ruins2_03b[top1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player)) or (state.count('Ruins2_03b', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._kh_option(player, 'ShadeSkips'))))) + hk_set_rule(hk_world, "Ruins2_03b[top1]", lambda state: state.count('Ruins2_03b[top1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player)) or (state.count('Ruins2_03b', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._hk_option(player, 'ShadeSkips'))))) hk_set_rule(hk_world, "Ruins2_03b[top2]", lambda state: state.count('Ruins2_03b[top2]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) or (state.count('Ruins2_03b', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Ruins2_03b[left1]", lambda state: state.count('Ruins2_03b[left1]', player) or state.count('Ruins2_03b', player)) hk_set_rule(hk_world, "Ruins2_03b[bot1]", lambda state: state.count('Ruins2_03b[bot1]', player) or state.count('Ruins2_03b', player)) @@ -884,17 +884,17 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Ruins2_04[door_Ruin_House_02]", lambda state: state.count('Ruins2_04[door_Ruin_House_02]', player) or (state.count('Ruins2_04', player) and ((state.count('LEFTDASH', player) or state.count('LEFTCLAW', player)) and (state.count('RIGHTDASH', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('Ruins2_04[right1]', player) or (state.count('Ruins2_04[door_Ruin_Elevator]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)))))) hk_set_rule(hk_world, "Ruins2_04[door_Ruin_House_03]", lambda state: state.count('Ruins2_04[door_Ruin_House_03]', player) or (state.count('Ruins2_04', player) and state.count('Opened_Emilitia_Door', player))) hk_set_rule(hk_world, "Ruins2_04[door_Ruin_Elevator]", lambda state: state.count('Ruins2_04[door_Ruin_Elevator]', player) or (state.count('Ruins2_04', player) and state.count('SIMPLE', player) > 3 and ((state.count('LEFTDASH', player) or state.count('LEFTCLAW', player)) and (state.count('RIGHTDASH', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('Ruins2_04[right1]', player) or state.count('Ruins2_04[door_Ruin_House_02]', player)))) - hk_set_rule(hk_world, "Ruins2_05[left1]", lambda state: state.count('Ruins2_05[left1]', player) or state.count('Ruins2_05[top1]', player) or (state.count('Ruins2_05[bot1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos')))) - hk_set_rule(hk_world, "Ruins2_05[top1]", lambda state: state.count('Ruins2_05[top1]', player) or ((state.count('Ruins2_05[left1]', player) or state.count('Ruins2_05[bot1]', player)) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos')))) + hk_set_rule(hk_world, "Ruins2_05[left1]", lambda state: state.count('Ruins2_05[left1]', player) or state.count('Ruins2_05[top1]', player) or (state.count('Ruins2_05[bot1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos')))) + hk_set_rule(hk_world, "Ruins2_05[top1]", lambda state: state.count('Ruins2_05[top1]', player) or ((state.count('Ruins2_05[left1]', player) or state.count('Ruins2_05[bot1]', player)) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos')))) hk_set_rule(hk_world, "Ruins2_05[bot1]", lambda state: state.count('Ruins2_05[bot1]', player) or state.count('Ruins2_05[left1]', player) or state.count('Ruins2_05[top1]', player)) - hk_set_rule(hk_world, "Ruins2_06[left1]", lambda state: state.count('Ruins2_06[left1]', player) or state.count('Ruins2_06[left1]', player) or state.count('Ruins2_06[top1]', player) or (state.count('Ruins2_06[right1]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos'))) or (state.count('Ruins2_06[right2]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos'))) or (state.count('Ruins2_06[left2]', player) and (state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player) or state.count('SWIM', player) or (state.count('RIGHTCLAW', player) and state.count('RIGHTDASH', player) and state._kh_option(player, 'PreciseMovement'))) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos')))) - hk_set_rule(hk_world, "Ruins2_06[left2]", lambda state: state.count('Ruins2_06[left2]', player) or ((state.count('Ruins2_06[left1]', player) or state.count('Ruins2_06[top1]', player) or state.count('Ruins2_06[right1]', player) or state.count('Ruins2_06[right2]', player)) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or state.count('WINGS', player) or state.count('SWIM', player) or (state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'DifficultSkips')) or ((state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True)))) - hk_set_rule(hk_world, "Ruins2_06[right1]", lambda state: state.count('Ruins2_06[right1]', player) or state.count('Ruins2_06[left1]', player) or state.count('Ruins2_06[top1]', player) or state.count('Ruins2_06[right1]', player) or (state.count('Ruins2_06[right2]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (True and state._kh_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._kh_option(player, 'ShadeSkips'))) or state._kh_option(player, 'EnemyPogos'))) or (state.count('Ruins2_06[left2]', player) and (state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player) or state.count('SWIM', player) or (state.count('RIGHTCLAW', player) and state.count('RIGHTDASH', player) and state._kh_option(player, 'PreciseMovement'))) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (True and state._kh_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._kh_option(player, 'ShadeSkips'))) or state._kh_option(player, 'EnemyPogos')))) - hk_set_rule(hk_world, "Ruins2_06[right2]", lambda state: state.count('Ruins2_06[right2]', player) or state.count('Ruins2_06[left1]', player) or state.count('Ruins2_06[top1]', player) or state.count('Ruins2_06[right1]', player) or state.count('Ruins2_06[right2]', player) or (state.count('Ruins2_06[left2]', player) and (state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player) or state.count('SWIM', player) or (state.count('RIGHTCLAW', player) and state.count('RIGHTDASH', player) and state._kh_option(player, 'PreciseMovement'))))) - hk_set_rule(hk_world, "Ruins2_06[top1]", lambda state: state.count('Ruins2_06[top1]', player) or state.count('Ruins2_06[left1]', player) or state.count('Ruins2_06[top1]', player) or (state.count('Ruins2_06[right1]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos'))) or (state.count('Ruins2_06[right2]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos'))) or (state.count('Ruins2_06[left2]', player) and (state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player) or state.count('SWIM', player) or (state.count('RIGHTCLAW', player) and state.count('RIGHTDASH', player) and state._kh_option(player, 'PreciseMovement'))) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos')))) - hk_set_rule(hk_world, "Ruins2_07[right1]", lambda state: state.count('Ruins2_07[right1]', player) or (state.count('Ruins2_07[left1]', player) and (state.count('SWIM', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('RIGHTSUPERDASH', player) and state._kh_option(player, 'AcidSkips')) or (state._kh_option(player, 'DifficultSkips') and state._kh_option(player, 'AcidSkips') and state.count('RIGHTDASH', player) and state.count('RIGHTCLAW', player) and state.count('WINGS', player) and ((state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True or ((state.count('Sharp_Shadow', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('RIGHTDASH', player)) and state.count('Can_Bench', player)) and True))))) or state.count('Ruins2_07[right1]', player) or state.count('Ruins2_07[top1]', player)) - hk_set_rule(hk_world, "Ruins2_07[left1]", lambda state: state.count('Ruins2_07[left1]', player) or state.count('Ruins2_07[left1]', player) or (state.count('Ruins2_07[right1]', player) and (state.count('SWIM', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('LEFTSUPERDASH', player) and state._kh_option(player, 'AcidSkips')) or (state._kh_option(player, 'ComplexSkips') and state._kh_option(player, 'AcidSkips') and state.count('LEFTDASH', player) and state.count('RIGHTCLAW', player) and state.count('WINGS', player) and ((state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True or ((state.count('Sharp_Shadow', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('LEFTDASH', player)) and state.count('Can_Bench', player)) and True))))) or (state.count('Ruins2_07[top1]', player) and (state.count('SWIM', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('LEFTSUPERDASH', player) and state._kh_option(player, 'AcidSkips')) or (state._kh_option(player, 'ComplexSkips') and state._kh_option(player, 'AcidSkips') and state.count('LEFTDASH', player) and state.count('RIGHTCLAW', player) and state.count('WINGS', player) and ((state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True or ((state.count('Sharp_Shadow', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('LEFTDASH', player)) and state.count('Can_Bench', player)) and True)))))) - hk_set_rule(hk_world, "Ruins2_07[top1]", lambda state: state.count('Ruins2_07[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) or (state.count('Ruins2_07[left1]', player) and (state.count('SWIM', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('RIGHTSUPERDASH', player) and state._kh_option(player, 'AcidSkips')) or (state._kh_option(player, 'ComplexSkips') and state._kh_option(player, 'AcidSkips') and state.count('RIGHTDASH', player) and state.count('RIGHTCLAW', player) and state.count('WINGS', player) and ((state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True or ((state.count('Sharp_Shadow', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('RIGHTDASH', player)) and state.count('Can_Bench', player)) and True)))) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player))) or (state.count('Ruins2_07[right1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and (state.count('SWIM', player) or state.count('LEFTDASH', player))))) or (state.count('Ruins2_07[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) + hk_set_rule(hk_world, "Ruins2_06[left1]", lambda state: state.count('Ruins2_06[left1]', player) or state.count('Ruins2_06[left1]', player) or state.count('Ruins2_06[top1]', player) or (state.count('Ruins2_06[right1]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos'))) or (state.count('Ruins2_06[right2]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos'))) or (state.count('Ruins2_06[left2]', player) and (state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player) or state.count('SWIM', player) or (state.count('RIGHTCLAW', player) and state.count('RIGHTDASH', player) and state._hk_option(player, 'PreciseMovement'))) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos')))) + hk_set_rule(hk_world, "Ruins2_06[left2]", lambda state: state.count('Ruins2_06[left2]', player) or ((state.count('Ruins2_06[left1]', player) or state.count('Ruins2_06[top1]', player) or state.count('Ruins2_06[right1]', player) or state.count('Ruins2_06[right2]', player)) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or state.count('WINGS', player) or state.count('SWIM', player) or (state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'DifficultSkips')) or ((state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True)))) + hk_set_rule(hk_world, "Ruins2_06[right1]", lambda state: state.count('Ruins2_06[right1]', player) or state.count('Ruins2_06[left1]', player) or state.count('Ruins2_06[top1]', player) or state.count('Ruins2_06[right1]', player) or (state.count('Ruins2_06[right2]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (True and state._hk_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._hk_option(player, 'ShadeSkips'))) or state._hk_option(player, 'EnemyPogos'))) or (state.count('Ruins2_06[left2]', player) and (state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player) or state.count('SWIM', player) or (state.count('RIGHTCLAW', player) and state.count('RIGHTDASH', player) and state._hk_option(player, 'PreciseMovement'))) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (True and state._hk_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._hk_option(player, 'ShadeSkips'))) or state._hk_option(player, 'EnemyPogos')))) + hk_set_rule(hk_world, "Ruins2_06[right2]", lambda state: state.count('Ruins2_06[right2]', player) or state.count('Ruins2_06[left1]', player) or state.count('Ruins2_06[top1]', player) or state.count('Ruins2_06[right1]', player) or state.count('Ruins2_06[right2]', player) or (state.count('Ruins2_06[left2]', player) and (state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player) or state.count('SWIM', player) or (state.count('RIGHTCLAW', player) and state.count('RIGHTDASH', player) and state._hk_option(player, 'PreciseMovement'))))) + hk_set_rule(hk_world, "Ruins2_06[top1]", lambda state: state.count('Ruins2_06[top1]', player) or state.count('Ruins2_06[left1]', player) or state.count('Ruins2_06[top1]', player) or (state.count('Ruins2_06[right1]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos'))) or (state.count('Ruins2_06[right2]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos'))) or (state.count('Ruins2_06[left2]', player) and (state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player) or state.count('SWIM', player) or (state.count('RIGHTCLAW', player) and state.count('RIGHTDASH', player) and state._hk_option(player, 'PreciseMovement'))) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos')))) + hk_set_rule(hk_world, "Ruins2_07[right1]", lambda state: state.count('Ruins2_07[right1]', player) or (state.count('Ruins2_07[left1]', player) and (state.count('SWIM', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('RIGHTSUPERDASH', player) and state._hk_option(player, 'AcidSkips')) or (state._hk_option(player, 'DifficultSkips') and state._hk_option(player, 'AcidSkips') and state.count('RIGHTDASH', player) and state.count('RIGHTCLAW', player) and state.count('WINGS', player) and ((state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True or ((state.count('Sharp_Shadow', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('RIGHTDASH', player)) and state.count('Can_Bench', player)) and True))))) or state.count('Ruins2_07[right1]', player) or state.count('Ruins2_07[top1]', player)) + hk_set_rule(hk_world, "Ruins2_07[left1]", lambda state: state.count('Ruins2_07[left1]', player) or state.count('Ruins2_07[left1]', player) or (state.count('Ruins2_07[right1]', player) and (state.count('SWIM', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('LEFTSUPERDASH', player) and state._hk_option(player, 'AcidSkips')) or (state._hk_option(player, 'ComplexSkips') and state._hk_option(player, 'AcidSkips') and state.count('LEFTDASH', player) and state.count('RIGHTCLAW', player) and state.count('WINGS', player) and ((state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True or ((state.count('Sharp_Shadow', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('LEFTDASH', player)) and state.count('Can_Bench', player)) and True))))) or (state.count('Ruins2_07[top1]', player) and (state.count('SWIM', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('LEFTSUPERDASH', player) and state._hk_option(player, 'AcidSkips')) or (state._hk_option(player, 'ComplexSkips') and state._hk_option(player, 'AcidSkips') and state.count('LEFTDASH', player) and state.count('RIGHTCLAW', player) and state.count('WINGS', player) and ((state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True or ((state.count('Sharp_Shadow', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('LEFTDASH', player)) and state.count('Can_Bench', player)) and True)))))) + hk_set_rule(hk_world, "Ruins2_07[top1]", lambda state: state.count('Ruins2_07[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) or (state.count('Ruins2_07[left1]', player) and (state.count('SWIM', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('RIGHTSUPERDASH', player) and state._hk_option(player, 'AcidSkips')) or (state._hk_option(player, 'ComplexSkips') and state._hk_option(player, 'AcidSkips') and state.count('RIGHTDASH', player) and state.count('RIGHTCLAW', player) and state.count('WINGS', player) and ((state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True or ((state.count('Sharp_Shadow', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('RIGHTDASH', player)) and state.count('Can_Bench', player)) and True)))) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player))) or (state.count('Ruins2_07[right1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and (state.count('SWIM', player) or state.count('LEFTDASH', player))))) or (state.count('Ruins2_07[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Ruins2_08[left1]", lambda state: state.count('Ruins2_08[left1]', player) or (state.count('Can_Stag', player) and state.count("King's_Station_Stag", player))) hk_set_rule(hk_world, "Ruins2_09[bot1]", lambda state: state.count('Ruins2_09[bot1]', player)) hk_set_rule(hk_world, "Ruins2_10[right1]", lambda state: state.count('Ruins2_10[right1]', player) or (state.count('Right_Elevator', player) and state.count('Opened_Resting_Grounds_Catacombs_Wall', player))) @@ -929,13 +929,13 @@ def set_rules(hk_world): hk_set_rule(hk_world, "RestingGrounds_05[bot1]", lambda state: state.count('RestingGrounds_05[bot1]', player) or (state.count('RestingGrounds_05', player) and state.count('QUAKE', player))) hk_set_rule(hk_world, "RestingGrounds_06[left1]", lambda state: state.count('RestingGrounds_06[left1]', player) or state.count('RestingGrounds_06[right1]', player) or state.count('RestingGrounds_06[top1]', player)) hk_set_rule(hk_world, "RestingGrounds_06[right1]", lambda state: state.count('RestingGrounds_06[right1]', player) or state.count('RestingGrounds_06[left1]', player) or state.count('RestingGrounds_06[top1]', player)) - hk_set_rule(hk_world, "RestingGrounds_06[top1]", lambda state: state.count('RestingGrounds_06[top1]', player) or ((state.count('RestingGrounds_06[left1]', player) or state.count('RestingGrounds_06[right1]', player)) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or state.count('LEFTDASH', player) or state._kh_option(player, 'EnemyPogos')))) + hk_set_rule(hk_world, "RestingGrounds_06[top1]", lambda state: state.count('RestingGrounds_06[top1]', player) or ((state.count('RestingGrounds_06[left1]', player) or state.count('RestingGrounds_06[right1]', player)) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or state.count('LEFTDASH', player) or state._hk_option(player, 'EnemyPogos')))) hk_set_rule(hk_world, "RestingGrounds_07[right1]", lambda state: state.count('RestingGrounds_07[right1]', player)) hk_set_rule(hk_world, "RestingGrounds_08[left1]", lambda state: state.count('RestingGrounds_08[left1]', player)) hk_set_rule(hk_world, "RestingGrounds_09[left1]", lambda state: state.count('RestingGrounds_09[left1]', player) or (state.count('Can_Stag', player) and state.count('Resting_Grounds_Stag', player))) hk_set_rule(hk_world, "RestingGrounds_10[left1]", lambda state: state.count('RestingGrounds_10[left1]', player) or state.count('RestingGrounds_10', player)) - hk_set_rule(hk_world, "RestingGrounds_10[top1]", lambda state: state.count('RestingGrounds_10[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._kh_option(player, 'PreciseMovement')))) - hk_set_rule(hk_world, "RestingGrounds_10[top2]", lambda state: state.count('RestingGrounds_10[top2]', player) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and (state.count('RIGHTCLAW', player) or state._kh_option(player, 'PreciseMovement')))) or (state.count('RestingGrounds_10', player) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state.count('RIGHTCLAW', player))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))))) + hk_set_rule(hk_world, "RestingGrounds_10[top1]", lambda state: state.count('RestingGrounds_10[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._hk_option(player, 'PreciseMovement')))) + hk_set_rule(hk_world, "RestingGrounds_10[top2]", lambda state: state.count('RestingGrounds_10[top2]', player) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and (state.count('RIGHTCLAW', player) or state._hk_option(player, 'PreciseMovement')))) or (state.count('RestingGrounds_10', player) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state.count('RIGHTCLAW', player))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))))) hk_set_rule(hk_world, "RestingGrounds_12[bot1]", lambda state: state.count('RestingGrounds_12[bot1]', player) or state.count('RestingGrounds_12[door_Mansion]', player)) hk_set_rule(hk_world, "RestingGrounds_12[door_Mansion]", lambda state: state.count('RestingGrounds_12[door_Mansion]', player) or state.count('RestingGrounds_12[bot1]', player)) hk_set_rule(hk_world, "RestingGrounds_17[right1]", lambda state: state.count('RestingGrounds_17[right1]', player)) @@ -948,21 +948,21 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Mines_02[right1]", lambda state: state.count('Mines_02[right1]', player) or state.count('Mines_02', player)) hk_set_rule(hk_world, "Mines_03[right1]", lambda state: state.count('Mines_03[right1]', player) or (state.count('Mines_03', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or state.count('Mines_03[top1]', player)))) hk_set_rule(hk_world, "Mines_03[bot1]", lambda state: state.count('Mines_03[bot1]', player) or state.count('Mines_03', player)) - hk_set_rule(hk_world, "Mines_03[top1]", lambda state: state.count('Mines_03[top1]', player) or (state.count('Mines_03', player) and (state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and state.count('Mines_03[right1]', player)) or (state._kh_option(player, 'SpikeTunnels') and state.count('WINGS', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player) or ((state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True)))))) + hk_set_rule(hk_world, "Mines_03[top1]", lambda state: state.count('Mines_03[top1]', player) or (state.count('Mines_03', player) and (state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and state.count('Mines_03[right1]', player)) or (state._hk_option(player, 'SpikeTunnels') and state.count('WINGS', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player) or ((state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True)))))) hk_set_rule(hk_world, "Mines_04[right1]", lambda state: state.count('Mines_04[right1]', player) or state.count('Mines_04', player)) hk_set_rule(hk_world, "Mines_04[top1]", lambda state: state.count('Mines_04[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player))) - hk_set_rule(hk_world, "Mines_04[left1]", lambda state: state.count('Mines_04[left1]', player) or (state.count('Mines_04', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('LEFTDASH', player) and state._kh_option(player, 'EnemyPogos')) or state.count('Mines_04[top1]', player)))) + hk_set_rule(hk_world, "Mines_04[left1]", lambda state: state.count('Mines_04[left1]', player) or (state.count('Mines_04', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('LEFTDASH', player) and state._hk_option(player, 'EnemyPogos')) or state.count('Mines_04[top1]', player)))) hk_set_rule(hk_world, "Mines_04[left2]", lambda state: state.count('Mines_04[left2]', player) or state.count('Mines_04', player)) hk_set_rule(hk_world, "Mines_04[left3]", lambda state: state.count('Mines_04[left3]', player) or state.count('Mines_04', player)) - hk_set_rule(hk_world, "Mines_05[right1]", lambda state: state.count('Mines_05[right1]', player) or (state.count('Mines_05', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and ((True and state._kh_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._kh_option(player, 'ShadeSkips'))) or state._kh_option(player, 'BackgroundObjectPogos'))) or state.count('Mines_05[left1]', player) or state.count('Mines_05[top1]', player)))) - hk_set_rule(hk_world, "Mines_05[top1]", lambda state: state.count('Mines_05[top1]', player) or (state.count('Mines_05', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and ((True and state._kh_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._kh_option(player, 'ShadeSkips'))) or state._kh_option(player, 'BackgroundObjectPogos'))) or (state.count('RIGHTCLAW', player) and state.count('Mines_05[right1]', player)) or state.count('Mines_05[left1]', player)))) + hk_set_rule(hk_world, "Mines_05[right1]", lambda state: state.count('Mines_05[right1]', player) or (state.count('Mines_05', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and ((True and state._hk_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._hk_option(player, 'ShadeSkips'))) or state._hk_option(player, 'BackgroundObjectPogos'))) or state.count('Mines_05[left1]', player) or state.count('Mines_05[top1]', player)))) + hk_set_rule(hk_world, "Mines_05[top1]", lambda state: state.count('Mines_05[top1]', player) or (state.count('Mines_05', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and ((True and state._hk_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._hk_option(player, 'ShadeSkips'))) or state._hk_option(player, 'BackgroundObjectPogos'))) or (state.count('RIGHTCLAW', player) and state.count('Mines_05[right1]', player)) or state.count('Mines_05[left1]', player)))) hk_set_rule(hk_world, "Mines_05[bot1]", lambda state: state.count('Mines_05[bot1]', player) or state.count('Mines_05', player)) - hk_set_rule(hk_world, "Mines_05[left1]", lambda state: state.count('Mines_05[left1]', player) or (state.count('Mines_05', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and ((True and state._kh_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._kh_option(player, 'ShadeSkips'))) or state._kh_option(player, 'BackgroundObjectPogos'))) or (state.count('RIGHTCLAW', player) and state.count('Mines_05[right1]', player)) or state.count('Mines_05[top1]', player)))) + hk_set_rule(hk_world, "Mines_05[left1]", lambda state: state.count('Mines_05[left1]', player) or (state.count('Mines_05', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and ((True and state._hk_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._hk_option(player, 'ShadeSkips'))) or state._hk_option(player, 'BackgroundObjectPogos'))) or (state.count('RIGHTCLAW', player) and state.count('Mines_05[right1]', player)) or state.count('Mines_05[top1]', player)))) hk_set_rule(hk_world, "Mines_05[left2]", lambda state: state.count('Mines_05[left2]', player) or state.count('Mines_05', player)) hk_set_rule(hk_world, "Mines_06[right1]", lambda state: state.count('Mines_06[right1]', player) or state.count('Mines_06[left1]', player)) - hk_set_rule(hk_world, "Mines_06[left1]", lambda state: state.count('Mines_06[left1]', player) or (state.count('Mines_06[right1]', player) and (state.count('LEFTSUPERDASH', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) or (state.count('WINGS', player) and state.count('LEFTDASH', player) and state._kh_option(player, 'BackgroundObjectPogos') and state._kh_option(player, 'PreciseMovement') and state._kh_option(player, 'ComplexSkips'))))) - hk_set_rule(hk_world, "Mines_07[right1]", lambda state: state.count('Mines_07[right1]', player) or (state.count('Mines_07[left1]', player) and (state.count('LANTERN', player) or state._kh_option(player, 'DarkRooms')))) - hk_set_rule(hk_world, "Mines_07[left1]", lambda state: state.count('Mines_07[left1]', player) or (state.count('Mines_07[right1]', player) and (state.count('LANTERN', player) or state._kh_option(player, 'DarkRooms')))) + hk_set_rule(hk_world, "Mines_06[left1]", lambda state: state.count('Mines_06[left1]', player) or (state.count('Mines_06[right1]', player) and (state.count('LEFTSUPERDASH', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) or (state.count('WINGS', player) and state.count('LEFTDASH', player) and state._hk_option(player, 'BackgroundObjectPogos') and state._hk_option(player, 'PreciseMovement') and state._hk_option(player, 'ComplexSkips'))))) + hk_set_rule(hk_world, "Mines_07[right1]", lambda state: state.count('Mines_07[right1]', player) or (state.count('Mines_07[left1]', player) and (state.count('LANTERN', player) or state._hk_option(player, 'DarkRooms')))) + hk_set_rule(hk_world, "Mines_07[left1]", lambda state: state.count('Mines_07[left1]', player) or (state.count('Mines_07[right1]', player) and (state.count('LANTERN', player) or state._hk_option(player, 'DarkRooms')))) hk_set_rule(hk_world, "Mines_10[right1]", lambda state: state.count('Mines_10[right1]', player) or (state.count('Mines_10', player) and state.count('RIGHTCLAW', player) and state.count('RIGHTSUPERDASH', player) and (state.count('LEFTCLAW', player) or (state.count('RIGHTDASH', player) and state.count('WINGS', player))))) hk_set_rule(hk_world, "Mines_10[left1]", lambda state: state.count('Mines_10[left1]', player) or state.count('Mines_10', player)) hk_set_rule(hk_world, "Mines_10[bot1]", lambda state: state.count('Mines_10[bot1]', player) or state.count('Mines_10', player)) @@ -984,18 +984,18 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Mines_20[left2]", lambda state: state.count('Mines_20[left2]', player) or state.count('Mines_20', player)) hk_set_rule(hk_world, "Mines_20[left3]", lambda state: state.count('Mines_20[left3]', player) or state.count('Mines_20', player) or state.count('Mines_20[bot1]', player) or state.count('Mines_20[left2]', player) or state.count('Mines_20[right2]', player)) hk_set_rule(hk_world, "Mines_20[bot1]", lambda state: state.count('Mines_20[bot1]', player) or state.count('Mines_20', player) or state.count('Mines_20[left3]', player) or state.count('Mines_20[left2]', player) or state.count('Mines_20[right2]', player)) - hk_set_rule(hk_world, "Mines_20[right1]", lambda state: state.count('Mines_20[right1]', player) or (state.count('Mines_20', player) and (state.count('RIGHTCLAW', player) and state._kh_option(player, 'BackgroundObjectPogos') or (state.count('LEFTDASH', player) and state.count('LEFTCLAW', player) and state._kh_option(player, 'BackgroundObjectPogos')) or state.count('WINGS', player)))) + hk_set_rule(hk_world, "Mines_20[right1]", lambda state: state.count('Mines_20[right1]', player) or (state.count('Mines_20', player) and (state.count('RIGHTCLAW', player) and state._hk_option(player, 'BackgroundObjectPogos') or (state.count('LEFTDASH', player) and state.count('LEFTCLAW', player) and state._hk_option(player, 'BackgroundObjectPogos')) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Mines_20[right2]", lambda state: state.count('Mines_20[right2]', player) or state.count('Mines_20', player)) - hk_set_rule(hk_world, "Mines_23[left1]", lambda state: state.count('Mines_23[left1]', player) or (state.count('Mines_23[right1]', player) and (state.count('LEFTDASH', player) or state.count('WINGS', player) or state.count('LEFTSUPERDASH', player) or state.count('LEFTCLAW', player) or state._kh_option(player, 'PreciseMovement') or state._kh_option(player, 'EnemyPogos'))) or state.count('Mines_23[top1]', player) or (state.count('Mines_23[right2]', player) and (state.count('LEFTDASH', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and state.count('LEFTSUPERDASH', player))))) + hk_set_rule(hk_world, "Mines_23[left1]", lambda state: state.count('Mines_23[left1]', player) or (state.count('Mines_23[right1]', player) and (state.count('LEFTDASH', player) or state.count('WINGS', player) or state.count('LEFTSUPERDASH', player) or state.count('LEFTCLAW', player) or state._hk_option(player, 'PreciseMovement') or state._hk_option(player, 'EnemyPogos'))) or state.count('Mines_23[top1]', player) or (state.count('Mines_23[right2]', player) and (state.count('LEFTDASH', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and state.count('LEFTSUPERDASH', player))))) hk_set_rule(hk_world, "Mines_23[right1]", lambda state: state.count('Mines_23[right1]', player) or (state.count('Mines_23[top1]', player) and (state.count('RIGHTDASH', player) or state.count('WINGS', player) or (state.count('RIGHTSUPERDASH', player) and state.count('RIGHTCLAW', player)))) or (state.count('Mines_23[left1]', player) and (state.count('WINGS', player) or (state.count('RIGHTDASH', player) and state.count('RIGHTCLAW', player)) or (state.count('RIGHTSUPERDASH', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player))))) or (state.count('Mines_23[right2]', player) and (state.count('WINGS', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player))) or (state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))))) hk_set_rule(hk_world, "Mines_23[right2]", lambda state: state.count('Mines_23[right2]', player) or state.count('Mines_23[right1]', player) or (state.count('Mines_23[top1]', player) and (state.count('RIGHTDASH', player) or (state.count('RIGHTSUPERDASH', player) and state.count('RIGHTCLAW', player)) or state.count('WINGS', player))) or (state.count('Mines_23[left1]', player) and (state.count('RIGHTDASH', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and state.count('RIGHTSUPERDASH', player))))) hk_set_rule(hk_world, "Mines_23[top1]", lambda state: False) hk_set_rule(hk_world, "Mines_24[left1]", lambda state: state.count('Mines_24[left1]', player)) hk_set_rule(hk_world, "Mines_25[left1]", lambda state: state.count('Mines_25[left1]', player) or state.count('Mines_25[top1]', player)) - hk_set_rule(hk_world, "Mines_25[top1]", lambda state: state.count('Mines_25[top1]', player) and (state.count('WINGS', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state._kh_option(player, 'PreciseMovement')) or ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'ComplexSkips'))) or (state.count('Mines_25[left1]', player) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state.count('RIGHTCLAW', player))) and (state.count('WINGS', player) or (state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'ComplexSkips'))))) - hk_set_rule(hk_world, "Mines_28[left1]", lambda state: state.count('Mines_28[left1]', player) or (state.count('Mines_28[door1]', player) and (state.count('LEFTSUPERDASH', player) or (state.count('WINGS', player) and state.count('LEFTDASH', player)) or ((state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True and (state.count('WINGS', player) or state.count('LEFTDASH', player)))))) + hk_set_rule(hk_world, "Mines_25[top1]", lambda state: state.count('Mines_25[top1]', player) and (state.count('WINGS', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state._hk_option(player, 'PreciseMovement')) or ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'ComplexSkips'))) or (state.count('Mines_25[left1]', player) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state.count('RIGHTCLAW', player))) and (state.count('WINGS', player) or (state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'ComplexSkips'))))) + hk_set_rule(hk_world, "Mines_28[left1]", lambda state: state.count('Mines_28[left1]', player) or (state.count('Mines_28[door1]', player) and (state.count('LEFTSUPERDASH', player) or (state.count('WINGS', player) and state.count('LEFTDASH', player)) or ((state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True and (state.count('WINGS', player) or state.count('LEFTDASH', player)))))) hk_set_rule(hk_world, "Mines_28[bot1]", lambda state: state.count('Mines_28[bot1]', player) or state.count('Mines_28[left1]', player) or state.count('Mines_28[door1]', player)) - hk_set_rule(hk_world, "Mines_28[door1]", lambda state: state.count('Mines_28[door1]', player) or (state.count('Mines_28[left1]', player) and (state.count('RIGHTSUPERDASH', player) or (state.count('WINGS', player) and state.count('RIGHTDASH', player)) or ((state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True and (state.count('WINGS', player) or state.count('RIGHTDASH', player)))))) + hk_set_rule(hk_world, "Mines_28[door1]", lambda state: state.count('Mines_28[door1]', player) or (state.count('Mines_28[left1]', player) and (state.count('RIGHTSUPERDASH', player) or (state.count('WINGS', player) and state.count('RIGHTDASH', player)) or ((state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True and (state.count('WINGS', player) or state.count('RIGHTDASH', player)))))) hk_set_rule(hk_world, "Mines_29[left1]", lambda state: state.count('Mines_29[left1]', player) or state.count('Mines_29[right1]', player) or state.count('Mines_29[right2]', player)) hk_set_rule(hk_world, "Mines_29[right1]", lambda state: state.count('Mines_29[right1]', player) or state.count('Mines_29[left1]', player) or state.count('Mines_29[right2]', player)) hk_set_rule(hk_world, "Mines_29[right2]", lambda state: state.count('Mines_29[right2]', player) or state.count('Mines_29[left1]', player) or state.count('Mines_29[right1]', player)) @@ -1010,7 +1010,7 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Mines_34[left1]", lambda state: state.count('Mines_34[left1]', player) or ((state.count('Mines_34[bot1]', player) and (state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and state.count('WINGS', player))) and (state.count('WINGS', player) or (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player)) or (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))) and (state.count('LEFTSUPERDASH', player) or (state.count('WINGS', player) and state.count('LEFTDASH', player))))) hk_set_rule(hk_world, "Mines_35[left1]", lambda state: state.count('Mines_35[left1]', player)) hk_set_rule(hk_world, "Mines_36[right1]", lambda state: state.count('Mines_36[right1]', player)) - hk_set_rule(hk_world, "Mines_37[bot1]", lambda state: state.count('Mines_37[bot1]', player) or (state.count('Mines_37[top1]', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player) or ((state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player)) and state.count('RIGHTCLAW', player) and state._kh_option(player, 'ObscureSkips') and state._kh_option(player, 'PreciseMovement') and state._kh_option(player, 'ComplexSkips')) or ((state.count('Dashmaster', player) and state.count('Sprintmaster', player) and (state.count('NOTCHES', player) > state._hk_notches(player, 30, 36)) and state.count('Can_Bench', player)) and state._kh_option(player, 'ObscureSkips'))))) + hk_set_rule(hk_world, "Mines_37[bot1]", lambda state: state.count('Mines_37[bot1]', player) or (state.count('Mines_37[top1]', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player) or ((state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player)) and state.count('RIGHTCLAW', player) and state._hk_option(player, 'ObscureSkips') and state._hk_option(player, 'PreciseMovement') and state._hk_option(player, 'ComplexSkips')) or ((state.count('Dashmaster', player) and state.count('Sprintmaster', player) and (state.count('NOTCHES', player) > state._hk_notches(player, 30, 36)) and state.count('Can_Bench', player)) and state._hk_option(player, 'ObscureSkips'))))) hk_set_rule(hk_world, "Mines_37[top1]", lambda state: state.count('Mines_37[top1]', player) or (state.count('Mines_37[bot1]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)))) hk_set_rule(hk_world, "Fungus3_04[left1]", lambda state: state.count('Fungus3_04[left1]', player) or state.count('Fungus3_04[left2]', player)) hk_set_rule(hk_world, "Fungus3_04[left2]", lambda state: state.count('Fungus3_04[left2]', player) or state.count('Fungus3_04[left1]', player)) @@ -1021,17 +1021,17 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Fungus3_05[right2]", lambda state: state.count('Fungus3_05[right2]', player) or ((state.count('Fungus3_05[left1]', player) or state.count('Fungus3_05[right1]', player)) and (state.count('LEFTDASH', player) and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player)) or ((state.count('RIGHTCLAW', player) or state.count('WINGS', player)) and state.count('LEFTSUPERDASH', player) and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player)))))) hk_set_rule(hk_world, "Fungus3_08[left1]", lambda state: state.count('Fungus3_08[left1]', player) or state.count('Fungus3_08[right1]', player) or state.count('Fungus3_08[top1]', player)) hk_set_rule(hk_world, "Fungus3_08[right1]", lambda state: state.count('Fungus3_08[right1]', player) or state.count('Fungus3_08[left1]', player) or state.count('Fungus3_08[top1]', player)) - hk_set_rule(hk_world, "Fungus3_08[top1]", lambda state: state.count('Fungus3_08[top1]', player) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state._kh_option(player, 'PreciseMovement')))) or ((state.count('Fungus3_08[right1]', player) or state.count('Fungus3_08[left1]', player)) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and (state.count('RIGHTCLAW', player) or state._kh_option(player, 'EnemyPogos')))))) + hk_set_rule(hk_world, "Fungus3_08[top1]", lambda state: state.count('Fungus3_08[top1]', player) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state._hk_option(player, 'PreciseMovement')))) or ((state.count('Fungus3_08[right1]', player) or state.count('Fungus3_08[left1]', player)) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and (state.count('RIGHTCLAW', player) or state._hk_option(player, 'EnemyPogos')))))) hk_set_rule(hk_world, "Fungus3_10[top1]", lambda state: state.count('Fungus3_10[top1]', player) or (state.count('Fungus3_10[bot1]', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player) or state.count('WINGS', player)) and state.count("Defeated_West_Queen's_Gardens_Arena", player))) hk_set_rule(hk_world, "Fungus3_10[bot1]", lambda state: state.count('Fungus3_10[bot1]', player) or (state.count('Fungus3_10[top1]', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player) or state.count('WINGS', player)) and state.count("Defeated_West_Queen's_Gardens_Arena", player))) hk_set_rule(hk_world, "Fungus3_11[left1]", lambda state: state.count('Fungus3_11[left1]', player) or state.count('Fungus3_11', player)) hk_set_rule(hk_world, "Fungus3_11[left2]", lambda state: state.count('Fungus3_11[left2]', player) or state.count('Fungus3_11', player)) hk_set_rule(hk_world, "Fungus3_11[right1]", lambda state: state.count('Fungus3_11[right1]', player) or state.count('Fungus3_11', player)) - hk_set_rule(hk_world, "Fungus3_13[left1]", lambda state: state.count('Fungus3_13[left1]', player) or (state.count('Fungus3_13', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('Fungus3_13[left3]', player) and state._kh_option(player, 'EnemyPogos')) or state.count('Fungus3_13[right1]', player) or ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and (True and state._kh_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._kh_option(player, 'ShadeSkips'))) and state._kh_option(player, 'DifficultSkips') and (state.count('MASKSHARDS', player) > 15))))) + hk_set_rule(hk_world, "Fungus3_13[left1]", lambda state: state.count('Fungus3_13[left1]', player) or (state.count('Fungus3_13', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('Fungus3_13[left3]', player) and state._hk_option(player, 'EnemyPogos')) or state.count('Fungus3_13[right1]', player) or ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and (True and state._hk_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._hk_option(player, 'ShadeSkips'))) and state._hk_option(player, 'DifficultSkips') and (state.count('MASKSHARDS', player) > 15))))) hk_set_rule(hk_world, "Fungus3_13[left2]", lambda state: state.count('Fungus3_13[left2]', player) or (state.count('Fungus3_13', player) and state.count('Opened_Gardens_Stag_Exit', player))) - hk_set_rule(hk_world, "Fungus3_13[left3]", lambda state: state.count('Fungus3_13[left3]', player) or (state.count('Fungus3_13', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or state.count('Fungus3_13[right1]', player) or state.count('Fungus3_13[left1]', player) or ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and (True and state._kh_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._kh_option(player, 'ShadeSkips'))) and state._kh_option(player, 'DifficultSkips') and (state.count('MASKSHARDS', player) > 15))))) + hk_set_rule(hk_world, "Fungus3_13[left3]", lambda state: state.count('Fungus3_13[left3]', player) or (state.count('Fungus3_13', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or state.count('Fungus3_13[right1]', player) or state.count('Fungus3_13[left1]', player) or ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and (True and state._hk_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._hk_option(player, 'ShadeSkips'))) and state._hk_option(player, 'DifficultSkips') and (state.count('MASKSHARDS', player) > 15))))) hk_set_rule(hk_world, "Fungus3_13[bot1]", lambda state: state.count('Fungus3_13[bot1]', player) or state.count('Fungus3_13', player)) - hk_set_rule(hk_world, "Fungus3_13[right1]", lambda state: state.count('Fungus3_13[right1]', player) or (state.count('Fungus3_13', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('Fungus3_13[left3]', player) and state._kh_option(player, 'EnemyPogos')) or state.count('Fungus3_13[left1]', player) or ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and (True and state._kh_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._kh_option(player, 'ShadeSkips'))) and state._kh_option(player, 'DifficultSkips') and (state.count('MASKSHARDS', player) > 15))))) + hk_set_rule(hk_world, "Fungus3_13[right1]", lambda state: state.count('Fungus3_13[right1]', player) or (state.count('Fungus3_13', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('Fungus3_13[left3]', player) and state._hk_option(player, 'EnemyPogos')) or state.count('Fungus3_13[left1]', player) or ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and (True and state._hk_option(player, 'ShadeSkips') or ((state.count('DREAMNAIL', player) > 1 and state.count('ESSENCE', player)) and state._hk_option(player, 'ShadeSkips'))) and state._hk_option(player, 'DifficultSkips') and (state.count('MASKSHARDS', player) > 15))))) hk_set_rule(hk_world, "Fungus3_21[right1]", lambda state: state.count('Fungus3_21[right1]', player) or (state.count('Fungus3_21[top1]', player) and state.count('RIGHTDASH', player))) hk_set_rule(hk_world, "Fungus3_21[top1]", lambda state: state.count('Fungus3_21[top1]', player) or (state.count('Fungus3_21[right1]', player) and state.count('LEFTDASH', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Fungus3_22[right1]", lambda state: state.count('Fungus3_22[right1]', player) or (state.count('Fungus3_22', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) @@ -1040,11 +1040,11 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Fungus3_23[right1]", lambda state: state.count('Fungus3_23[right1]', player) or (state.count('Fungus3_23[left1]', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('RIGHTDASH', player)) and state.count('Defeated_Traitor_Lord', player))) hk_set_rule(hk_world, "Fungus3_23[left1]", lambda state: state.count('Fungus3_23[left1]', player) or (state.count('Fungus3_23[right1]', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('LEFTDASH', player)) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) and state.count('Defeated_Traitor_Lord', player))) hk_set_rule(hk_world, "Fungus3_34[right1]", lambda state: state.count('Fungus3_34[right1]', player) or state.count('Fungus3_34', player)) - hk_set_rule(hk_world, "Fungus3_34[left1]", lambda state: state.count('Fungus3_34[left1]', player) or (state.count('Fungus3_34', player) and (state.count('LEFTDASH', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and (state.count('LEFTSUPERDASH', player) or state._kh_option(player, 'BackgroundObjectPogos') or state._kh_option(player, 'EnemyPogos')))))) + hk_set_rule(hk_world, "Fungus3_34[left1]", lambda state: state.count('Fungus3_34[left1]', player) or (state.count('Fungus3_34', player) and (state.count('LEFTDASH', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and (state.count('LEFTSUPERDASH', player) or state._hk_option(player, 'BackgroundObjectPogos') or state._hk_option(player, 'EnemyPogos')))))) hk_set_rule(hk_world, "Fungus3_34[top1]", lambda state: state.count('Fungus3_34[top1]', player) and (state.count('WINGS', player) or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or (state.count('Fungus3_34', player) and (state.count('WINGS', player) or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))))) hk_set_rule(hk_world, "Fungus3_39[right1]", lambda state: state.count('Fungus3_39[right1]', player) or state.count('Fungus3_39[left1]', player)) hk_set_rule(hk_world, "Fungus3_39[left1]", lambda state: state.count('Fungus3_39[left1]', player)) - hk_set_rule(hk_world, "Fungus3_40[right1]", lambda state: state.count('Fungus3_40[right1]', player) or (state.count('Fungus3_40[top1]', player) and (state.count('RIGHTDASH', player) or state.count('WINGS', player) or state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player)) or state._kh_option(player, 'EnemyPogos') or state._kh_option(player, 'ShadeSkips') or ((state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True))) or (state.count('Can_Stag', player) and state.count("Queen's_Gardens_Stag", player))) + hk_set_rule(hk_world, "Fungus3_40[right1]", lambda state: state.count('Fungus3_40[right1]', player) or (state.count('Fungus3_40[top1]', player) and (state.count('RIGHTDASH', player) or state.count('WINGS', player) or state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player)) or state._hk_option(player, 'EnemyPogos') or state._hk_option(player, 'ShadeSkips') or ((state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True))) or (state.count('Can_Stag', player) and state.count("Queen's_Gardens_Stag", player))) hk_set_rule(hk_world, "Fungus3_40[top1]", lambda state: state.count('Fungus3_40[top1]', player) or ((state.count('Fungus3_40[right1]', player) or (state.count('Can_Stag', player) and state.count("Queen's_Gardens_Stag", player))) and (state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and state.count('LEFTSUPERDASH', player)) or state.count('WINGS', player) or state.count('LEFTDASH', player)))) hk_set_rule(hk_world, "Fungus3_48[right1]", lambda state: state.count('Fungus3_48[right1]', player) or state.count('Fungus3_48[door1]', player)) hk_set_rule(hk_world, "Fungus3_48[right2]", lambda state: state.count('Fungus3_48[right2]', player) or (state.count('Fungus3_48[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) @@ -1053,19 +1053,19 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Fungus3_49[right1]", lambda state: state.count('Fungus3_49[right1]', player)) hk_set_rule(hk_world, "Fungus3_50[right1]", lambda state: state.count('Fungus3_50[right1]', player)) hk_set_rule(hk_world, "Room_Queen[left1]", lambda state: state.count('Room_Queen[left1]', player)) - hk_set_rule(hk_world, "Cliffs_01[right1]", lambda state: state.count('Cliffs_01[right1]', player) or (state.count('Cliffs_01', player) and ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._kh_option(player, 'EnemyPogos') or state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player))) or state.count('WINGS', player)))) - hk_set_rule(hk_world, "Cliffs_01[right2]", lambda state: state.count('Cliffs_01[right2]', player) or (state.count('Cliffs_01', player) and ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._kh_option(player, 'EnemyPogos') or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('Cliffs_01[right1]', player)))) + hk_set_rule(hk_world, "Cliffs_01[right1]", lambda state: state.count('Cliffs_01[right1]', player) or (state.count('Cliffs_01', player) and ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._hk_option(player, 'EnemyPogos') or state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player))) or state.count('WINGS', player)))) + hk_set_rule(hk_world, "Cliffs_01[right2]", lambda state: state.count('Cliffs_01[right2]', player) or (state.count('Cliffs_01', player) and ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._hk_option(player, 'EnemyPogos') or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('Cliffs_01[right1]', player)))) hk_set_rule(hk_world, "Cliffs_01[right3]", lambda state: state.count('Cliffs_01[right3]', player) or state.count('Cliffs_01', player)) - hk_set_rule(hk_world, "Cliffs_01[right4]", lambda state: state.count('Cliffs_01[right4]', player) or (state.count('Cliffs_01', player) and ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._kh_option(player, 'EnemyPogos') or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('Cliffs_01[right1]', player) or state.count('Cliffs_01[right2]', player)))) + hk_set_rule(hk_world, "Cliffs_01[right4]", lambda state: state.count('Cliffs_01[right4]', player) or (state.count('Cliffs_01', player) and ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._hk_option(player, 'EnemyPogos') or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('Cliffs_01[right1]', player) or state.count('Cliffs_01[right2]', player)))) hk_set_rule(hk_world, "Cliffs_02[right1]", lambda state: state.count('Cliffs_02[right1]', player) or (state.count('Cliffs_02', player) and (state.count('RIGHTSUPERDASH', player) or (state.count('WINGS', player) and state.count('RIGHTDASH', player))))) hk_set_rule(hk_world, "Cliffs_02[bot1]", lambda state: state.count('Cliffs_02[bot1]', player)) hk_set_rule(hk_world, "Cliffs_02[bot2]", lambda state: state.count('Cliffs_02[bot2]', player) or state.count('Cliffs_02', player) or (state.count('Cliffs_02[bot1]', player) and state.count('RIGHTCLAW', player))) hk_set_rule(hk_world, "Cliffs_02[door1]", lambda state: state.count('Cliffs_02[door1]', player) or state.count('Cliffs_02', player)) hk_set_rule(hk_world, "Cliffs_02[left1]", lambda state: state.count('Cliffs_02[left1]', player) or state.count('Cliffs_02', player)) - hk_set_rule(hk_world, "Cliffs_02[left2]", lambda state: state.count('Cliffs_02[left2]', player) or (state.count('Cliffs_02', player) and state.count('WINGS', player) and state._kh_option(player, 'EnemyPogos'))) + hk_set_rule(hk_world, "Cliffs_02[left2]", lambda state: state.count('Cliffs_02[left2]', player) or (state.count('Cliffs_02', player) and state.count('WINGS', player) and state._hk_option(player, 'EnemyPogos'))) hk_set_rule(hk_world, "Cliffs_03[right1]", lambda state: state.count('Cliffs_03[right1]', player) or ((state.count('STAGS', player) > 8 or state.count('Stag_Nest_Stag', player)) and state.count('Can_Stag', player))) - hk_set_rule(hk_world, "Cliffs_04[right1]", lambda state: state.count('Cliffs_04[right1]', player) or (state.count('Cliffs_04[left1]', player) and (state._kh_option(player, 'DarkRooms') or state.count('LANTERN', player)))) - hk_set_rule(hk_world, "Cliffs_04[left1]", lambda state: state.count('Cliffs_04[left1]', player) or (state.count('Cliffs_04[right1]', player) and (state._kh_option(player, 'DarkRooms') or state.count('LANTERN', player)) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('QUAKE', player)))) + hk_set_rule(hk_world, "Cliffs_04[right1]", lambda state: state.count('Cliffs_04[right1]', player) or (state.count('Cliffs_04[left1]', player) and (state._hk_option(player, 'DarkRooms') or state.count('LANTERN', player)))) + hk_set_rule(hk_world, "Cliffs_04[left1]", lambda state: state.count('Cliffs_04[left1]', player) or (state.count('Cliffs_04[right1]', player) and (state._hk_option(player, 'DarkRooms') or state.count('LANTERN', player)) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('QUAKE', player)))) hk_set_rule(hk_world, "Cliffs_05[left1]", lambda state: state.count('Cliffs_05[left1]', player)) hk_set_rule(hk_world, "Cliffs_06[left1]", lambda state: state.count('Cliffs_06[left1]', player)) hk_set_rule(hk_world, "Room_nailmaster[left1]", lambda state: state.count('Room_nailmaster[left1]', player)) @@ -1092,8 +1092,8 @@ def set_rules(hk_world): hk_set_rule(hk_world, "White_Palace_08[left1]", lambda state: state.count('White_Palace_08[left1]', player) or state.count('White_Palace_08[right1]', player)) hk_set_rule(hk_world, "White_Palace_08[right1]", lambda state: state.count('White_Palace_08[right1]', player) or (state.count('White_Palace_08[left1]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state.count('WINGS', player))) hk_set_rule(hk_world, "White_Palace_09[right1]", lambda state: state.count('White_Palace_09[right1]', player)) - hk_set_rule(hk_world, "White_Palace_11[door2]", lambda state: (state.count('White_Palace_11[door2]', player) or state.count('Warp-Palace_Grounds_to_White_Palace', player)) and ((state.count('SPELLS', player) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))))) - hk_set_rule(hk_world, "White_Palace_12[right1]", lambda state: state.count('White_Palace_12[right1]', player) or (state.count('White_Palace_12[bot1]', player) and (state._kh_option(player, 'SpikeTunnels') or state.count('RIGHTDASH', player) or (state.count('RIGHTSUPERDASH', player) and state.count('LEFTCLAW', player)) or state.count('WINGS', player)) and state.count('RIGHTCLAW', player) and state.count('LEFTSUPERDASH', player))) + hk_set_rule(hk_world, "White_Palace_11[door2]", lambda state: (state.count('White_Palace_11[door2]', player) or state.count('Warp-Palace_Grounds_to_White_Palace', player)) and ((state.count('SPELLS', player) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))))) + hk_set_rule(hk_world, "White_Palace_12[right1]", lambda state: state.count('White_Palace_12[right1]', player) or (state.count('White_Palace_12[bot1]', player) and (state._hk_option(player, 'SpikeTunnels') or state.count('RIGHTDASH', player) or (state.count('RIGHTSUPERDASH', player) and state.count('LEFTCLAW', player)) or state.count('WINGS', player)) and state.count('RIGHTCLAW', player) and state.count('LEFTSUPERDASH', player))) hk_set_rule(hk_world, "White_Palace_12[bot1]", lambda state: state.count('White_Palace_12[bot1]', player)) hk_set_rule(hk_world, "White_Palace_13[right1]", lambda state: state.count('White_Palace_13[right1]', player) or ((state.count('White_Palace_13', player) or state.count('White_Palace_13[left1]', player)) and state.count('RIGHTSUPERDASH', player) and (state.count('WINGS', player) or ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('RIGHTCLAW', player))))) hk_set_rule(hk_world, "White_Palace_13[left1]", lambda state: state.count('White_Palace_13[left1]', player) or (state.count('White_Palace_13', player) and state.count('RIGHTCLAW', player) and (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player)))) @@ -1125,50 +1125,50 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Seer", lambda state: state.count('RestingGrounds_07[right1]', player)) hk_set_rule(hk_world, "Lurien", lambda state: state.count('Ruins2_Watcher_Room[bot1]', player) and state.count('DREAMNAIL', player)) hk_set_rule(hk_world, "Monomon", lambda state: state.count('Fungus3_archive_02[top1]', player) and state.count('DREAMNAIL', player) and state.count('Defeated_Uumuu', player) and (state.count('ACID', player) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state.count('RIGHTCLAW', player))) or (state.count('LEFTSUPERDASH', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player))))) - hk_set_rule(hk_world, "Herrah", lambda state: state.count('Deepnest_Spider_Town[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)))) and state.count('DREAMNAIL', player) and (state.count('RIGHTSLASH', player) or ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('RIGHTDASH', player)) or state.count('LEFTDASH', player) or state.count('Herrah', player) or ((state.count('SPELLS', player) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips')))))) + hk_set_rule(hk_world, "Herrah", lambda state: state.count('Deepnest_Spider_Town[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)))) and state.count('DREAMNAIL', player) and (state.count('RIGHTSLASH', player) or ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('RIGHTDASH', player)) or state.count('LEFTDASH', player) or state.count('Herrah', player) or ((state.count('SPELLS', player) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips')))))) hk_set_rule(hk_world, "World_Sense", lambda state: state.count('Room_temple[left1]', player) and state.count('Opened_Black_Egg_Temple', player)) hk_set_rule(hk_world, "Mothwing_Cloak", lambda state: state.count('Fungus1_04[right1]', player) and state.count('Defeated_Hornet_1', player)) - hk_set_rule(hk_world, "Mantis_Claw", lambda state: state.count('Fungus2_14', player) and (state.count('LEFTDASH', player) or state.count('WINGS', player) or (state.count('LEFTSUPERDASH', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or state._kh_option(player, 'EnemyPogos'))) - hk_set_rule(hk_world, "Crystal_Heart", lambda state: state.count('Mines_31[left1]', player) and (state.count('RIGHTSUPERDASH', player) or (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state.count('WINGS', player) or (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))))) or (state.count('WINGS', player) and state._kh_option(player, 'ShadeSkips') and (state.count('MASKSHARDS', player) > 15)))) + hk_set_rule(hk_world, "Mantis_Claw", lambda state: state.count('Fungus2_14', player) and (state.count('LEFTDASH', player) or state.count('WINGS', player) or (state.count('LEFTSUPERDASH', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or state._hk_option(player, 'EnemyPogos'))) + hk_set_rule(hk_world, "Crystal_Heart", lambda state: state.count('Mines_31[left1]', player) and (state.count('RIGHTSUPERDASH', player) or (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state.count('WINGS', player) or (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))))) or (state.count('WINGS', player) and state._hk_option(player, 'ShadeSkips') and (state.count('MASKSHARDS', player) > 15)))) hk_set_rule(hk_world, "Monarch_Wings", lambda state: state.count('Abyss_21[right1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player))) - hk_set_rule(hk_world, "Shade_Cloak", lambda state: (state.count('Abyss_10[left2]', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('RIGHTDASH', player)) or (state.count('Abyss_10[left1]', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and state._kh_option(player, 'ShadeSkips') and (state.count('MASKSHARDS', player) > 15))))) and (state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player) or (state.count('RIGHTDASH', player) and (state.count('LEFTCLAW', player) or state._kh_option(player, 'PreciseMovement') or state._kh_option(player, 'BackgroundObjectPogos')))) or ((state.count('Abyss_10[left2]', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('RIGHTDASH', player)) or state.count('Abyss_10[left1]', player)) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('RIGHTDASH', player) or (state.count('WHITEFRAGMENT', player) > 2 and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player) or state.count('SWIM', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player))))) and (state.count('WINGS', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player)) or (state.count('LEFTCLAW', player) and state.count('RIGHTDASH', player)) or (state._kh_option(player, 'BackgroundObjectPogos') and state.count('RIGHTDASH', player))))) - hk_set_rule(hk_world, "Isma's_Tear", lambda state: state.count('Waterways_13[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and (state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos'))) or (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player)))) or (state.count('Waterways_13[left2]', player) and (state.count('ACID', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos')) or (state._kh_option(player, 'AcidSkips') and state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player) and (state.count('WINGS', player) or state.count('RIGHTCLAW', player)))))) + hk_set_rule(hk_world, "Shade_Cloak", lambda state: (state.count('Abyss_10[left2]', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('RIGHTDASH', player)) or (state.count('Abyss_10[left1]', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and state._hk_option(player, 'ShadeSkips') and (state.count('MASKSHARDS', player) > 15))))) and (state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player) or (state.count('RIGHTDASH', player) and (state.count('LEFTCLAW', player) or state._hk_option(player, 'PreciseMovement') or state._hk_option(player, 'BackgroundObjectPogos')))) or ((state.count('Abyss_10[left2]', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('RIGHTDASH', player)) or state.count('Abyss_10[left1]', player)) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('RIGHTDASH', player) or (state.count('WHITEFRAGMENT', player) > 2 and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player) or state.count('SWIM', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player))))) and (state.count('WINGS', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player)) or (state.count('LEFTCLAW', player) and state.count('RIGHTDASH', player)) or (state._hk_option(player, 'BackgroundObjectPogos') and state.count('RIGHTDASH', player))))) + hk_set_rule(hk_world, "Isma's_Tear", lambda state: state.count('Waterways_13[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and (state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos'))) or (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player)))) or (state.count('Waterways_13[left2]', player) and (state.count('ACID', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos')) or (state._hk_option(player, 'AcidSkips') and state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player) and (state.count('WINGS', player) or state.count('RIGHTCLAW', player)))))) hk_set_rule(hk_world, "Dream_Nail", lambda state: state.count('RestingGrounds_04[left1]', player) or state.count('RestingGrounds_04[right1]', player)) hk_set_rule(hk_world, "Vengeful_Spirit", lambda state: state.count('Crossroads_ShamanTemple[left1]', player)) hk_set_rule(hk_world, "Shade_Soul", lambda state: state.count('Ruins1_31b[right1]', player) or (state.count('Ruins1_31b[right2]', player) and state.count('Defeated_Elegant_Warrior', player))) hk_set_rule(hk_world, "Desolate_Dive", lambda state: state.count('Ruins1_24[right1]', player) and state.count('Defeated_Soul_Master', player)) - hk_set_rule(hk_world, "Descending_Dark", lambda state: state.count('Mines_35[left1]', player) and state.count('QUAKE', player) and (state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and state._kh_option(player, 'PreciseMovement') and (state.count('RIGHTDASH', player) or (state._kh_option(player, 'DifficultSkips') and (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))))) or state.count('WINGS', player))) + hk_set_rule(hk_world, "Descending_Dark", lambda state: state.count('Mines_35[left1]', player) and state.count('QUAKE', player) and (state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and state._hk_option(player, 'PreciseMovement') and (state.count('RIGHTDASH', player) or (state._hk_option(player, 'DifficultSkips') and (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))))) or state.count('WINGS', player))) hk_set_rule(hk_world, "Howling_Wraiths", lambda state: state.count('Room_Fungus_Shaman[left1]', player)) hk_set_rule(hk_world, "Abyss_Shriek", lambda state: state.count('Abyss_12[right1]', player) and state.count('SCREAM', player)) hk_set_rule(hk_world, "Cyclone_Slash", lambda state: state.count('Room_nailmaster[left1]', player)) hk_set_rule(hk_world, "Dash_Slash", lambda state: state.count('Room_nailmaster_03[left1]', player) and state.count('Ruins1_05b[top1]', player)) hk_set_rule(hk_world, "Great_Slash", lambda state: state.count('Room_nailmaster_02[left1]', player)) hk_set_rule(hk_world, "Focus", lambda state: state.count('Tutorial_01', player)) - hk_set_rule(hk_world, "Baldur_Shell", lambda state: ((state.count('FIREBALL', player) or state.count('QUAKE', player) or (state.count('Glowing_Womb', player) and state.count('Can_Bench', player)) or ((state.count('Weaversong', player) and state.count('Can_Bench', player) or ((state.count('Spore_Shroom', player) and state.count('Can_Bench', player)) and state.count('FOCUS', player))) and state._kh_option(player, 'ObscureSkips')) or (state.count('CYCLONE', player) and state._kh_option(player, 'DifficultSkips'))) or ((state.count("Grubberfly's_Elegy", player) and state.count('Can_Bench', player)) and state.count('RIGHTSLASH', player)) or (state.count('Dash_Slash', player) and state.count('RIGHTDASH', player)) or (((state.count('Mark_of_Pride', player) and state.count('Can_Bench', player)) and state.count('RIGHTSLASH', player) or (state.count('RIGHTDASH', player) and state.count('RIGHTSLASH', player))) and state._kh_option(player, 'DifficultSkips'))) and (state.count('Fungus1_28[left1]', player) or (state.count('Fungus1_28[left2]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player) or state._kh_option(player, 'ShadeSkips'))))) + hk_set_rule(hk_world, "Baldur_Shell", lambda state: ((state.count('FIREBALL', player) or state.count('QUAKE', player) or (state.count('Glowing_Womb', player) and state.count('Can_Bench', player)) or ((state.count('Weaversong', player) and state.count('Can_Bench', player) or ((state.count('Spore_Shroom', player) and state.count('Can_Bench', player)) and state.count('FOCUS', player))) and state._hk_option(player, 'ObscureSkips')) or (state.count('CYCLONE', player) and state._hk_option(player, 'DifficultSkips'))) or ((state.count("Grubberfly's_Elegy", player) and state.count('Can_Bench', player)) and state.count('RIGHTSLASH', player)) or (state.count('Dash_Slash', player) and state.count('RIGHTDASH', player)) or (((state.count('Mark_of_Pride', player) and state.count('Can_Bench', player)) and state.count('RIGHTSLASH', player) or (state.count('RIGHTDASH', player) and state.count('RIGHTSLASH', player))) and state._hk_option(player, 'DifficultSkips'))) and (state.count('Fungus1_28[left1]', player) or (state.count('Fungus1_28[left2]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player) or state._hk_option(player, 'ShadeSkips'))))) hk_set_rule(hk_world, "Fury_of_the_Fallen", lambda state: state.count('Tutorial_01', player)) - hk_set_rule(hk_world, "Lifeblood_Core", lambda state: state.count('Abyss_08[right1]', player) and (state._kh_option(player, 'PreciseMovement') or ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('WINGS', player)))) + hk_set_rule(hk_world, "Lifeblood_Core", lambda state: state.count('Abyss_08[right1]', player) and (state._hk_option(player, 'PreciseMovement') or ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('WINGS', player)))) hk_set_rule(hk_world, "Defender's_Crest", lambda state: state.count('Waterways_05[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) and state.count('Defeated_Dung_Defender', player)) hk_set_rule(hk_world, "Flukenest", lambda state: state.count('Waterways_12[right1]', player) and (state.count('SWIM', player) or state.count('LEFTSUPERDASH', player)) and state.count('Defeated_Flukemarm', player)) hk_set_rule(hk_world, "Thorns_of_Agony", lambda state: state.count('Fungus1_14[left1]', player) and (state.count('RIGHTDASH', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player)))) - hk_set_rule(hk_world, "Mark_of_Pride", lambda state: state.count('Fungus2_31[left1]', player) and state.count('Defeated_Mantis_Lords', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and state._kh_option(player, 'ShadeSkips')))) + hk_set_rule(hk_world, "Mark_of_Pride", lambda state: state.count('Fungus2_31[left1]', player) and state.count('Defeated_Mantis_Lords', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and state._hk_option(player, 'ShadeSkips')))) hk_set_rule(hk_world, "Sharp_Shadow", lambda state: state.count('Deepnest_44[top1]', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('RIGHTDASH', player)) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('LEFTDASH', player) or state.count('MASKSHARDS', player) > 15)) hk_set_rule(hk_world, "Spore_Shroom", lambda state: (state.count('Fungus2_20[left1]', player) or state.count('Fungus2_20[right1]', player)) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player)) and (state.count('ACID', player) or state.count('RIGHTDASH', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player)))) - hk_set_rule(hk_world, "Soul_Catcher", lambda state: state.count('Crossroads_ShamanTemple[left1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or ((state.count('FIREBALL', player) or state.count('QUAKE', player) or (state.count('Glowing_Womb', player) and state.count('Can_Bench', player)) or ((state.count('Weaversong', player) and state.count('Can_Bench', player) or ((state.count('Spore_Shroom', player) and state.count('Can_Bench', player)) and state.count('FOCUS', player))) and state._kh_option(player, 'ObscureSkips')) or (state.count('CYCLONE', player) and state._kh_option(player, 'DifficultSkips'))) or ((state.count("Grubberfly's_Elegy", player) and state.count('Can_Bench', player)) and state.count('LEFTSLASH', player)) or (state.count('Dash_Slash', player) and state.count('LEFTDASH', player)) or (((state.count('Mark_of_Pride', player) and state.count('Can_Bench', player)) and state.count('LEFTSLASH', player) or (state.count('LEFTDASH', player) and state.count('LEFTSLASH', player))) and state._kh_option(player, 'DifficultSkips'))) or (state.count('WINGS', player) and state._kh_option(player, 'ShadeSkips'))) and (((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))) or (((state.count('FIREBALL', player) or state.count('QUAKE', player) or (state.count('Glowing_Womb', player) and state.count('Can_Bench', player)) or ((state.count('Weaversong', player) and state.count('Can_Bench', player) or ((state.count('Spore_Shroom', player) and state.count('Can_Bench', player)) and state.count('FOCUS', player))) and state._kh_option(player, 'ObscureSkips')) or (state.count('CYCLONE', player) and state._kh_option(player, 'DifficultSkips'))) or ((state.count("Grubberfly's_Elegy", player) and state.count('Can_Bench', player)) and state.count('LEFTSLASH', player)) or (state.count('Dash_Slash', player) and state.count('LEFTDASH', player)) or (((state.count('Mark_of_Pride', player) and state.count('Can_Bench', player)) and state.count('LEFTSLASH', player) or (state.count('LEFTDASH', player) and state.count('LEFTSLASH', player))) and state._kh_option(player, 'DifficultSkips'))) and (state.count('LEFTSUPERDASH', player) and state.count('RIGHTCLAW', player) or (state.count('RIGHTSUPERDASH', player) and state.count('LEFTCLAW', player))) and state._kh_option(player, 'ObscureSkips')))) + hk_set_rule(hk_world, "Soul_Catcher", lambda state: state.count('Crossroads_ShamanTemple[left1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or ((state.count('FIREBALL', player) or state.count('QUAKE', player) or (state.count('Glowing_Womb', player) and state.count('Can_Bench', player)) or ((state.count('Weaversong', player) and state.count('Can_Bench', player) or ((state.count('Spore_Shroom', player) and state.count('Can_Bench', player)) and state.count('FOCUS', player))) and state._hk_option(player, 'ObscureSkips')) or (state.count('CYCLONE', player) and state._hk_option(player, 'DifficultSkips'))) or ((state.count("Grubberfly's_Elegy", player) and state.count('Can_Bench', player)) and state.count('LEFTSLASH', player)) or (state.count('Dash_Slash', player) and state.count('LEFTDASH', player)) or (((state.count('Mark_of_Pride', player) and state.count('Can_Bench', player)) and state.count('LEFTSLASH', player) or (state.count('LEFTDASH', player) and state.count('LEFTSLASH', player))) and state._hk_option(player, 'DifficultSkips'))) or (state.count('WINGS', player) and state._hk_option(player, 'ShadeSkips'))) and (((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))) or (((state.count('FIREBALL', player) or state.count('QUAKE', player) or (state.count('Glowing_Womb', player) and state.count('Can_Bench', player)) or ((state.count('Weaversong', player) and state.count('Can_Bench', player) or ((state.count('Spore_Shroom', player) and state.count('Can_Bench', player)) and state.count('FOCUS', player))) and state._hk_option(player, 'ObscureSkips')) or (state.count('CYCLONE', player) and state._hk_option(player, 'DifficultSkips'))) or ((state.count("Grubberfly's_Elegy", player) and state.count('Can_Bench', player)) and state.count('LEFTSLASH', player)) or (state.count('Dash_Slash', player) and state.count('LEFTDASH', player)) or (((state.count('Mark_of_Pride', player) and state.count('Can_Bench', player)) and state.count('LEFTSLASH', player) or (state.count('LEFTDASH', player) and state.count('LEFTSLASH', player))) and state._hk_option(player, 'DifficultSkips'))) and (state.count('LEFTSUPERDASH', player) and state.count('RIGHTCLAW', player) or (state.count('RIGHTSUPERDASH', player) and state.count('LEFTCLAW', player))) and state._hk_option(player, 'ObscureSkips')))) hk_set_rule(hk_world, "Soul_Eater", lambda state: state.count('RestingGrounds_10', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player))))) - hk_set_rule(hk_world, "Glowing_Womb", lambda state: state.count('Crossroads_22[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state._kh_option(player, 'BackgroundObjectPogos') or state._kh_option(player, 'EnemyPogos'))) + hk_set_rule(hk_world, "Glowing_Womb", lambda state: state.count('Crossroads_22[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state._hk_option(player, 'BackgroundObjectPogos') or state._hk_option(player, 'EnemyPogos'))) hk_set_rule(hk_world, "Nailmaster's_Glory", lambda state: state.count('Room_shop[left1]', player) and state.count('Rescued_Sly', player) and state.count('Cyclone_Slash', player) and state.count('Dash_Slash', player) and state.count('Great_Slash', player)) hk_set_rule(hk_world, "Joni's_Blessing", lambda state: state.count('Cliffs_05[left1]', player)) - hk_set_rule(hk_world, "Shape_of_Unn", lambda state: state.count('Fungus1_Slug[right1]', player) and (state.count('ACID', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player)) and state._kh_option(player, 'AcidSkips')))) + hk_set_rule(hk_world, "Shape_of_Unn", lambda state: state.count('Fungus1_Slug[right1]', player) and (state.count('ACID', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player)) and state._hk_option(player, 'AcidSkips')))) hk_set_rule(hk_world, "Hiveblood", lambda state: state.count('Hive_05[left1]', player) and state.count('Defeated_Hive_Knight', player)) hk_set_rule(hk_world, "Dashmaster", lambda state: state.count('Fungus2_23', player)) - hk_set_rule(hk_world, "Quick_Slash", lambda state: state.count('Deepnest_East_14b[top1]', player) or (state.count('Deepnest_East_14b[right1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'DangerousSkips'))))) + hk_set_rule(hk_world, "Quick_Slash", lambda state: state.count('Deepnest_East_14b[top1]', player) or (state.count('Deepnest_East_14b[right1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'DangerousSkips'))))) hk_set_rule(hk_world, "Spell_Twister", lambda state: state.count('Ruins1_30', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player))) hk_set_rule(hk_world, "Deep_Focus", lambda state: state.count('Mines_36[right1]', player)) hk_set_rule(hk_world, "Queen_Fragment", lambda state: state.count('Room_Queen[left1]', player)) hk_set_rule(hk_world, "King_Fragment", lambda state: state.count('White_Palace_09[right1]', player) and state.count('LEFTSUPERDASH', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or state.count('WINGS', player))) - hk_set_rule(hk_world, "Void_Heart", lambda state: state.count('Abyss_15[top1]', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('RIGHTDASH', player)) and state.count('DREAMNAIL', player) and (state._kh_option(player, 'EnemyPogos') or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state._kh_option(player, 'ObscureSkips') and state.count('RIGHTCLAW', player)) or (state._kh_option(player, 'ObscureSkips') and state.count('LEFTCLAW', player) and (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player))))) + hk_set_rule(hk_world, "Void_Heart", lambda state: state.count('Abyss_15[top1]', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('RIGHTDASH', player)) and state.count('DREAMNAIL', player) and (state._hk_option(player, 'EnemyPogos') or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state._hk_option(player, 'ObscureSkips') and state.count('RIGHTCLAW', player)) or (state._hk_option(player, 'ObscureSkips') and state.count('LEFTCLAW', player) and (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player))))) hk_set_rule(hk_world, "Dreamshield", lambda state: state.count('RestingGrounds_17[right1]', player)) - hk_set_rule(hk_world, "Weaversong", lambda state: state.count('Deepnest_45_v02[left1]', player) and (state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state.count('WINGS', player)) or (state.count('WINGS', player) and state._kh_option(player, 'EnemyPogos')))) + hk_set_rule(hk_world, "Weaversong", lambda state: state.count('Deepnest_45_v02[left1]', player) and (state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state.count('WINGS', player)) or (state.count('WINGS', player) and state._hk_option(player, 'EnemyPogos')))) hk_set_rule(hk_world, "Grimmchild", lambda state: state.count('Nightmare_Lantern_Lit', player) and state.count('Grimm_Main_Tent[left1]', player)) hk_set_rule(hk_world, "Unbreakable_Heart", lambda state: state.count('Grimm_Divine[left1]', player) and (state.count('Fragile_Heart', player) and state.count('Can_Bench', player) and (state.count('Can_Repair_Fragile_Charms', player) or state.count('Fragile_Heart', player) > 1))) hk_set_rule(hk_world, "Unbreakable_Greed", lambda state: state.count('Grimm_Divine[left1]', player) and (state.count('Fragile_Greed', player) and state.count('Can_Bench', player) and (state.count('Can_Repair_Fragile_Charms', player) or state.count('Fragile_Greed', player) > 1))) @@ -1176,45 +1176,45 @@ def set_rules(hk_world): hk_set_rule(hk_world, "City_Crest", lambda state: (state.count('Crossroads_10[left1]', player) or state.count('Crossroads_10[right1]', player)) and state.count('Defeated_False_Knight', player)) hk_set_rule(hk_world, "Tram_Pass", lambda state: state.count('Deepnest_26b[right2]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player))) hk_set_rule(hk_world, "Simple_Key-Basin", lambda state: state.count('Abyss_20[top1]', player) or state.count('Abyss_20[top2]', player)) - hk_set_rule(hk_world, "Simple_Key-City", lambda state: (state.count('Ruins1_17[top1]', player) or state.count('Ruins1_17[right1]', player)) and (state.count('RIGHTDASH', player) or state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player) or state._kh_option(player, 'EnemyPogos'))) + hk_set_rule(hk_world, "Simple_Key-City", lambda state: (state.count('Ruins1_17[top1]', player) or state.count('Ruins1_17[right1]', player)) and (state.count('RIGHTDASH', player) or state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player) or state._hk_option(player, 'EnemyPogos'))) hk_set_rule(hk_world, "Simple_Key-Lurker", lambda state: state.count('GG_Lurker[left1]', player) and (state.count('SWIM', player) or state.count('RIGHTDASH', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player))) and state.count('RIGHTCLAW', player) and state.count('Defeated_Pale_Lurker', player)) - hk_set_rule(hk_world, "Shopkeeper's_Key", lambda state: state.count('Mines_11', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos'))) - hk_set_rule(hk_world, "Love_Key", lambda state: state.count('Fungus3_39[left1]', player) and (state.count('ACID', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('RIGHTSUPERDASH', player) and state._kh_option(player, 'AcidSkips')) or (state._kh_option(player, 'AcidSkips') and state.count('RIGHTCLAW', player) and state.count('RIGHTDASH', player) and state.count('WINGS', player) and (state.count('Dashmaster', player) or (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))))) or (state._kh_option(player, 'ComplexSkips') and state._kh_option(player, 'AcidSkips') and (state.count('Sharp_Shadow', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('RIGHTDASH', player)) and state.count('Can_Bench', player)) and state.count('WINGS', player)))) + hk_set_rule(hk_world, "Shopkeeper's_Key", lambda state: state.count('Mines_11', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos'))) + hk_set_rule(hk_world, "Love_Key", lambda state: state.count('Fungus3_39[left1]', player) and (state.count('ACID', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('RIGHTSUPERDASH', player) and state._hk_option(player, 'AcidSkips')) or (state._hk_option(player, 'AcidSkips') and state.count('RIGHTCLAW', player) and state.count('RIGHTDASH', player) and state.count('WINGS', player) and (state.count('Dashmaster', player) or (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))))) or (state._hk_option(player, 'ComplexSkips') and state._hk_option(player, 'AcidSkips') and (state.count('Sharp_Shadow', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('RIGHTDASH', player)) and state.count('Can_Bench', player)) and state.count('WINGS', player)))) hk_set_rule(hk_world, "King's_Brand", lambda state: state.count('Room_Wyrm[right1]', player)) hk_set_rule(hk_world, "Godtuner", lambda state: (state.count('GG_Waterways[door1]', player) or (state.count('GG_Waterways[right1]', player) and (state.count('LEFTSUPERDASH', player) or state.count('SWIM', player)))) and state.count('SIMPLE', player) > 3) - hk_set_rule(hk_world, "Collector's_Map", lambda state: state.count('Ruins2_11[right1]', player) and (state.count('LEFTCLAW', player) or ((state.count('WINGS', player) or state.count('RIGHTDASH', player)) and state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._kh_option(player, 'ComplexSkips'))) and state.count('Defeated_Collector', player)) + hk_set_rule(hk_world, "Collector's_Map", lambda state: state.count('Ruins2_11[right1]', player) and (state.count('LEFTCLAW', player) or ((state.count('WINGS', player) or state.count('RIGHTDASH', player)) and state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._hk_option(player, 'ComplexSkips'))) and state.count('Defeated_Collector', player)) hk_set_rule(hk_world, "Mask_Shard-Brooding_Mawlek", lambda state: (state.count('Crossroads_09[left1]', player) or state.count('Crossroads_09[right1]', player)) and state.count('Defeated_Brooding_Mawlek', player)) - hk_set_rule(hk_world, "Mask_Shard-Crossroads_Goam", lambda state: (state.count('Crossroads_13[left1]', player) or state.count('Crossroads_13[right1]', player)) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos'))) + hk_set_rule(hk_world, "Mask_Shard-Crossroads_Goam", lambda state: (state.count('Crossroads_13[left1]', player) or state.count('Crossroads_13[right1]', player)) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos'))) hk_set_rule(hk_world, "Mask_Shard-Stone_Sanctuary", lambda state: state.count('Fungus1_36[left1]', player)) - hk_set_rule(hk_world, "Mask_Shard-Queen's_Station", lambda state: state.count('Fungus2_01', player) and ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player)) or state.count('WINGS', player) or (state.count('RIGHTDASH', player) and state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player)) and state._kh_option(player, 'ObscureSkips')))) + hk_set_rule(hk_world, "Mask_Shard-Queen's_Station", lambda state: state.count('Fungus2_01', player) and ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player)) or state.count('WINGS', player) or (state.count('RIGHTDASH', player) and state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player)) and state._hk_option(player, 'ObscureSkips')))) hk_set_rule(hk_world, "Mask_Shard-Deepnest", lambda state: state.count('Fungus2_25[top2]', player)) - hk_set_rule(hk_world, "Mask_Shard-Waterways", lambda state: state.count('Waterways_04b[left1]', player) and (state.count('SWIM', player) or (state.count('LEFTCLAW', player) and state.count('LEFTDASH', player))) or (state.count('Waterways_04b[right1]', player) and (state.count('WINGS', player) or state.count('LEFTDASH', player) or state.count('SWIM', player) or (state.count('RIGHTCLAW', player) and state.count('RIGHTDASH', player) and state.count('LEFTSUPERDASH', player))) and (state.count('SWIM', player) or (state.count('LEFTCLAW', player) and state.count('LEFTDASH', player)))) or (state.count('Waterways_04b[right2]', player) and (state.count('SWIM', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('LEFTSUPERDASH', player) and state._kh_option(player, 'AcidSkips'))))) + hk_set_rule(hk_world, "Mask_Shard-Waterways", lambda state: state.count('Waterways_04b[left1]', player) and (state.count('SWIM', player) or (state.count('LEFTCLAW', player) and state.count('LEFTDASH', player))) or (state.count('Waterways_04b[right1]', player) and (state.count('WINGS', player) or state.count('LEFTDASH', player) or state.count('SWIM', player) or (state.count('RIGHTCLAW', player) and state.count('RIGHTDASH', player) and state.count('LEFTSUPERDASH', player))) and (state.count('SWIM', player) or (state.count('LEFTCLAW', player) and state.count('LEFTDASH', player)))) or (state.count('Waterways_04b[right2]', player) and (state.count('SWIM', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('LEFTSUPERDASH', player) and state._hk_option(player, 'AcidSkips'))))) hk_set_rule(hk_world, "Mask_Shard-Enraged_Guardian", lambda state: state.count('Mines_32[bot1]', player) and state.count('Defeated_Enraged_Guardian', player)) hk_set_rule(hk_world, "Mask_Shard-Hive", lambda state: state.count('Hive_04[left1]', player) or state.count('Hive_04[left2]', player) or state.count('Hive_04[right1]', player)) hk_set_rule(hk_world, "Mask_Shard-Grey_Mourner", lambda state: state.count('Room_Mansion[left1]', player) and state.count('Fungus3_49[right1]', player) and state.count('QUAKE', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and state.count('WINGS', player) and state.count('ACID', player) and (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player)) and (((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('LEFTDASH', player)) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('RIGHTDASH', player))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player))) hk_set_rule(hk_world, "Mask_Shard-Bretta", lambda state: state.count('Room_Bretta[right1]', player)) - hk_set_rule(hk_world, "Vessel_Fragment-Greenpath", lambda state: state.count('Fungus1_13[right1]', player) and (state.count('LEFTCLAW', player) or (state._kh_option(player, 'DamageBoosts') and state.count('MASKSHARDS', player) > 7 and state.count('WINGS', player)) or (state.count('WINGS', player) and state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player)))) or False) + hk_set_rule(hk_world, "Vessel_Fragment-Greenpath", lambda state: state.count('Fungus1_13[right1]', player) and (state.count('LEFTCLAW', player) or (state._hk_option(player, 'DamageBoosts') and state.count('MASKSHARDS', player) > 7 and state.count('WINGS', player)) or (state.count('WINGS', player) and state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player)))) or False) hk_set_rule(hk_world, "Vessel_Fragment-City", lambda state: state.count('Ruins2_09[bot1]', player) and state.count("Defeated_King's_Station_Arena", player)) hk_set_rule(hk_world, "Vessel_Fragment-Crossroads", lambda state: state.count('Crossroads_37[right1]', player)) - hk_set_rule(hk_world, "Vessel_Fragment-Basin", lambda state: state.count('Abyss_04', player) and state.count('Ruins1_05b[top1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('Abyss_04[top1]', player) or state._kh_option(player, 'EnemyPogos'))))) + hk_set_rule(hk_world, "Vessel_Fragment-Basin", lambda state: state.count('Abyss_04', player) and state.count('Ruins1_05b[top1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('Abyss_04[top1]', player) or state._hk_option(player, 'EnemyPogos'))))) hk_set_rule(hk_world, "Vessel_Fragment-Deepnest", lambda state: state.count('Deepnest_38[bot1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player))) hk_set_rule(hk_world, "Vessel_Fragment-Stag_Nest", lambda state: state.count('Cliffs_03[right1]', player) or ((state.count('STAGS', player) > 8 or state.count('Stag_Nest_Stag', player)) and state.count('Can_Stag', player))) hk_set_rule(hk_world, "Charm_Notch-Shrumal_Ogres", lambda state: (state.count('Fungus2_05[bot1]', player) or state.count('Fungus2_05[right1]', player)) and state.count('Defeated_Shrumal_Ogre_Arena', player)) - hk_set_rule(hk_world, "Charm_Notch-Fog_Canyon", lambda state: state.count('Fungus3_28[right1]', player) and (state.count('ACID', player) or (state._kh_option(player, 'AcidSkips') and ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('LEFTSUPERDASH', player) and state._kh_option(player, 'AcidSkips') or (state.count('WINGS', player) and state.count('LEFTDASH', player)) or (state.count('WINGS', player) and state.count('RIGHTCLAW', player) and (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))) or (state._kh_option(player, 'DamageBoosts') and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))))) and (state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state.count('WINGS', player)) or (state.count('LEFTCLAW', player) and state._kh_option(player, 'EnemyPogos')))) + hk_set_rule(hk_world, "Charm_Notch-Fog_Canyon", lambda state: state.count('Fungus3_28[right1]', player) and (state.count('ACID', player) or (state._hk_option(player, 'AcidSkips') and ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('LEFTSUPERDASH', player) and state._hk_option(player, 'AcidSkips') or (state.count('WINGS', player) and state.count('LEFTDASH', player)) or (state.count('WINGS', player) and state.count('RIGHTCLAW', player) and (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))) or (state._hk_option(player, 'DamageBoosts') and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))))) and (state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state.count('WINGS', player)) or (state.count('LEFTCLAW', player) and state._hk_option(player, 'EnemyPogos')))) hk_set_rule(hk_world, "Charm_Notch-Colosseum", lambda state: state.count('Room_Colosseum_01[left1]', player) and state.count('Can_Replenish_Geo', player) and state.count('Defeated_Colosseum_1', player)) hk_set_rule(hk_world, "Charm_Notch-Grimm", lambda state: state.count('Grimm_Main_Tent[left1]', player) and state.count('Defeated_Grimm', player)) - hk_set_rule(hk_world, "Pale_Ore-Basin", lambda state: state.count('Abyss_17[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or (state.count('LEFTDASH', player) and state._kh_option(player, 'ObscureSkips')) or (state._kh_option(player, 'DamageBoosts') and state.count('MASKSHARDS', player) > 7))) + hk_set_rule(hk_world, "Pale_Ore-Basin", lambda state: state.count('Abyss_17[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or (state.count('LEFTDASH', player) and state._hk_option(player, 'ObscureSkips')) or (state._hk_option(player, 'DamageBoosts') and state.count('MASKSHARDS', player) > 7))) hk_set_rule(hk_world, "Pale_Ore-Crystal_Peak", lambda state: state.count('Mines_34[bot1]', player) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state.count('RIGHTCLAW', player))) and (state.count('WINGS', player) or (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) or (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player)))) hk_set_rule(hk_world, "Pale_Ore-Nosk", lambda state: state.count('Deepnest_32[left1]', player) and state.count('Defeated_Nosk', player)) - hk_set_rule(hk_world, "Pale_Ore-Colosseum", lambda state: state.count('Room_Colosseum_01[left1]', player) and state.count('Can_Replenish_Geo', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or ((state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips')) and state.count('WINGS', player))) and state.count('Defeated_Colosseum_2', player)) + hk_set_rule(hk_world, "Pale_Ore-Colosseum", lambda state: state.count('Room_Colosseum_01[left1]', player) and state.count('Can_Replenish_Geo', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or ((state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips')) and state.count('WINGS', player))) and state.count('Defeated_Colosseum_2', player)) hk_set_rule(hk_world, "Geo_Chest-False_Knight", lambda state: (state.count('Crossroads_10[left1]', player) or state.count('Crossroads_10[right1]', player)) and state.count('Defeated_False_Knight', player)) hk_set_rule(hk_world, "Geo_Chest-Soul_Master", lambda state: state.count('Ruins1_32[right1]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) hk_set_rule(hk_world, "Geo_Chest-Watcher_Knights", lambda state: state.count('Ruins2_03[top1]', player) or ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state.count('Defeated_Watcher_Knights', player) and state.count('Ruins2_03[bot1]', player))) hk_set_rule(hk_world, "Geo_Chest-Greenpath", lambda state: state.count('Fungus1_13[right1]', player)) hk_set_rule(hk_world, "Geo_Chest-Mantis_Lords", lambda state: state.count('Fungus2_31[left1]', player) and state.count('Defeated_Mantis_Lords', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player))) hk_set_rule(hk_world, "Geo_Chest-Resting_Grounds", lambda state: state.count('RestingGrounds_10', player)) - hk_set_rule(hk_world, "Geo_Chest-Crystal_Peak", lambda state: ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state.count("Grubberfly's_Elegy", player) and state.count('LEFTSLASH', player) and state._kh_option(player, 'ShadeSkips') and state._kh_option(player, 'ComplexSkips'))) and (state.count('Mines_37[top1]', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player) or ((state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player)) and state.count('RIGHTCLAW', player) and state._kh_option(player, 'ObscureSkips') and state._kh_option(player, 'PreciseMovement')) or ((state.count('Dashmaster', player) and state.count('Sprintmaster', player) and (state.count('NOTCHES', player) > state._hk_notches(player, 30, 36)) and state.count('Can_Bench', player)) and state._kh_option(player, 'ObscureSkips'))) or state.count('Mines_37[bot1]', player))) - hk_set_rule(hk_world, "Geo_Chest-Weavers_Den", lambda state: state.count('Deepnest_45_v02[left1]', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state._kh_option(player, 'EnemyPogos')))) and (state.count('LEFTDASH', player) and state.count('WINGS', player) or state.count('LEFTSUPERDASH', player)) and (state.count('LEFTDASH', player) or state._kh_option(player, 'SpikeTunnels')) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('LEFTSLASH', player) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player))) + hk_set_rule(hk_world, "Geo_Chest-Crystal_Peak", lambda state: ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state.count("Grubberfly's_Elegy", player) and state.count('LEFTSLASH', player) and state._hk_option(player, 'ShadeSkips') and state._hk_option(player, 'ComplexSkips'))) and (state.count('Mines_37[top1]', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player) or ((state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player)) and state.count('RIGHTCLAW', player) and state._hk_option(player, 'ObscureSkips') and state._hk_option(player, 'PreciseMovement')) or ((state.count('Dashmaster', player) and state.count('Sprintmaster', player) and (state.count('NOTCHES', player) > state._hk_notches(player, 30, 36)) and state.count('Can_Bench', player)) and state._hk_option(player, 'ObscureSkips'))) or state.count('Mines_37[bot1]', player))) + hk_set_rule(hk_world, "Geo_Chest-Weavers_Den", lambda state: state.count('Deepnest_45_v02[left1]', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state._hk_option(player, 'EnemyPogos')))) and (state.count('LEFTDASH', player) and state.count('WINGS', player) or state.count('LEFTSUPERDASH', player)) and (state.count('LEFTDASH', player) or state._hk_option(player, 'SpikeTunnels')) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('LEFTSLASH', player) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player))) hk_set_rule(hk_world, "Geo_Chest-Junk_Pit_1", lambda state: state.count('GG_Waterways[door1]', player) or (state.count('GG_Waterways[right1]', player) and (state.count('LEFTSUPERDASH', player) or state.count('SWIM', player)))) hk_set_rule(hk_world, "Geo_Chest-Junk_Pit_2", lambda state: state.count('GG_Waterways[door1]', player) or (state.count('GG_Waterways[right1]', player) and (state.count('LEFTSUPERDASH', player) or state.count('SWIM', player)))) hk_set_rule(hk_world, "Geo_Chest-Junk_Pit_3", lambda state: state.count('GG_Waterways[door1]', player) or (state.count('GG_Waterways[right1]', player) and (state.count('LEFTSUPERDASH', player) or state.count('SWIM', player)))) @@ -1222,76 +1222,76 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Lumafly_Escape-Junk_Pit_Chest_4", lambda state: state.count('GG_Waterways[door1]', player) or (state.count('GG_Waterways[right1]', player) and (state.count('LEFTSUPERDASH', player) or state.count('SWIM', player)))) hk_set_rule(hk_world, "Rancid_Egg-Sheo", lambda state: state.count('Fungus1_15[right1]', player) or state.count('Fungus1_15[door1]', player)) hk_set_rule(hk_world, "Rancid_Egg-Fungal_Core", lambda state: state.count('Fungus2_29[right1]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state.count('WINGS', player) or (state.count('Fungus2_29[bot1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player)))) - hk_set_rule(hk_world, "Rancid_Egg-Queen's_Gardens", lambda state: state.count('Fungus3_34', player) and (state.count('RIGHTCLAW', player) and state._kh_option(player, 'BackgroundObjectPogos') or state.count('WINGS', player) or (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player))) or (state.count('Fungus3_34[left1]', player) and state.count('RIGHTDASH', player))) - hk_set_rule(hk_world, "Rancid_Egg-Blue_Lake", lambda state: state.count('Crossroads_50[left1]', player) and state.count('RIGHTSUPERDASH', player) or ((state.count('Crossroads_50[left1]', player) or state.count('Crossroads_50[right1]', player)) and state.count('SWIM', player) and state.count('WINGS', player) and state._kh_option(player, 'EnemyPogos'))) - hk_set_rule(hk_world, "Rancid_Egg-Crystal_Peak_Dive_Entrance", lambda state: state.count('Mines_01[left1]', player) and state.count('QUAKE', player) and (state.count('RIGHTDASH', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player))) or (state.count('Mines_01[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state.count('WINGS', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player))) or (state.count('LEFTCLAW', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._kh_option(player, 'PreciseMovement')) or (state.count('LEFTCLAW', player) and state.count('WINGS', player) and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player)))))) + hk_set_rule(hk_world, "Rancid_Egg-Queen's_Gardens", lambda state: state.count('Fungus3_34', player) and (state.count('RIGHTCLAW', player) and state._hk_option(player, 'BackgroundObjectPogos') or state.count('WINGS', player) or (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player))) or (state.count('Fungus3_34[left1]', player) and state.count('RIGHTDASH', player))) + hk_set_rule(hk_world, "Rancid_Egg-Blue_Lake", lambda state: state.count('Crossroads_50[left1]', player) and state.count('RIGHTSUPERDASH', player) or ((state.count('Crossroads_50[left1]', player) or state.count('Crossroads_50[right1]', player)) and state.count('SWIM', player) and state.count('WINGS', player) and state._hk_option(player, 'EnemyPogos'))) + hk_set_rule(hk_world, "Rancid_Egg-Crystal_Peak_Dive_Entrance", lambda state: state.count('Mines_01[left1]', player) and state.count('QUAKE', player) and (state.count('RIGHTDASH', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player))) or (state.count('Mines_01[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state.count('WINGS', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player))) or (state.count('LEFTCLAW', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._hk_option(player, 'PreciseMovement')) or (state.count('LEFTCLAW', player) and state.count('WINGS', player) and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player)))))) hk_set_rule(hk_world, "Rancid_Egg-Crystal_Peak_Dark_Room", lambda state: state.count('Mines_29[left1]', player) or state.count('Mines_29[right1]', player) or state.count('Mines_29[right2]', player)) hk_set_rule(hk_world, "Rancid_Egg-Crystal_Peak_Tall_Room", lambda state: state.count('Mines_20', player) and state.count('QUAKE', player)) - hk_set_rule(hk_world, "Rancid_Egg-City_of_Tears_Left", lambda state: state.count('Ruins1_05c', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state._kh_option(player, 'BackgroundObjectPogos'))) + hk_set_rule(hk_world, "Rancid_Egg-City_of_Tears_Left", lambda state: state.count('Ruins1_05c', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state._hk_option(player, 'BackgroundObjectPogos'))) hk_set_rule(hk_world, "Rancid_Egg-City_of_Tears_Pleasure_House", lambda state: state.count('Ruins_Elevator[left1]', player) or state.count('Ruins_Elevator[left2]', player)) - hk_set_rule(hk_world, "Rancid_Egg-Beast's_Den", lambda state: state.count('Deepnest_Spider_Town[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or (state.count('WINGS', player) and state._kh_option(player, 'ComplexSkips') and state._kh_option(player, 'ShadeSkips') and (state.count('MASKSHARDS', player) > 15)))) - hk_set_rule(hk_world, "Rancid_Egg-Dark_Deepnest", lambda state: (state.count('LANTERN', player) or state._kh_option(player, 'DarkRooms')) and (state.count('Deepnest_39[left1]', player) or state.count('Deepnest_39[top1]', player) or state.count('Deepnest_39[door1]', player) or (state.count('Deepnest_39[right1]', player) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state.count('RIGHTCLAW', player)) or ((state.count('WINGS', player) or state.count('RIGHTCLAW', player)) and state._kh_option(player, 'EnemyPogos')))))) - hk_set_rule(hk_world, "Rancid_Egg-Weaver's_Den", lambda state: state.count('Deepnest_45_v02[left1]', player) and (state._kh_option(player, 'SpikeTunnels') or state.count('LEFTDASH', player))) + hk_set_rule(hk_world, "Rancid_Egg-Beast's_Den", lambda state: state.count('Deepnest_Spider_Town[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or (state.count('WINGS', player) and state._hk_option(player, 'ComplexSkips') and state._hk_option(player, 'ShadeSkips') and (state.count('MASKSHARDS', player) > 15)))) + hk_set_rule(hk_world, "Rancid_Egg-Dark_Deepnest", lambda state: (state.count('LANTERN', player) or state._hk_option(player, 'DarkRooms')) and (state.count('Deepnest_39[left1]', player) or state.count('Deepnest_39[top1]', player) or state.count('Deepnest_39[door1]', player) or (state.count('Deepnest_39[right1]', player) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state.count('RIGHTCLAW', player)) or ((state.count('WINGS', player) or state.count('RIGHTCLAW', player)) and state._hk_option(player, 'EnemyPogos')))))) + hk_set_rule(hk_world, "Rancid_Egg-Weaver's_Den", lambda state: state.count('Deepnest_45_v02[left1]', player) and (state._hk_option(player, 'SpikeTunnels') or state.count('LEFTDASH', player))) hk_set_rule(hk_world, "Rancid_Egg-Near_Quick_Slash", lambda state: state.count('Deepnest_East_14[top2]', player) and state.count('QUAKE', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player))) hk_set_rule(hk_world, "Rancid_Egg-Upper_Kingdom's_Edge", lambda state: state.count('Deepnest_East_07', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player))) hk_set_rule(hk_world, "Rancid_Egg-Waterways_East", lambda state: state.count('Waterways_07', player)) hk_set_rule(hk_world, "Rancid_Egg-Waterways_Main", lambda state: state.count('Waterways_02', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('Waterways_02[top1]', player) or (state.count('QUAKE', player) and state.count('Waterways_02[top3]', player)))) - hk_set_rule(hk_world, "Rancid_Egg-Waterways_West_Bluggsac", lambda state: state.count('Waterways_04[right1]', player) and (state.count('SWIM', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('RIGHTDASH', player) or state._kh_option(player, 'EnemyPogos')) or (((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('LEFTSUPERDASH', player) and state._kh_option(player, 'AcidSkips')) and state.count('WINGS', player)) or (state._kh_option(player, 'ComplexSkips') and state._kh_option(player, 'FireballSkips') and state._kh_option(player, 'AcidSkips') and state.count('FIREBALL', player) and state.count('LEFTDASH', player) and state.count('RIGHTCLAW', player) and state.count('WINGS', player))) or (state.count('Waterways_04[left1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos')) and (state.count('SWIM', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('RIGHTDASH', player) or state._kh_option(player, 'EnemyPogos')) or (((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('LEFTSUPERDASH', player) and state._kh_option(player, 'AcidSkips')) and state.count('WINGS', player)) or (state._kh_option(player, 'ComplexSkips') and state._kh_option(player, 'FireballSkips') and state._kh_option(player, 'AcidSkips') and state.count('FIREBALL', player) and state.count('LEFTDASH', player) and state.count('RIGHTCLAW', player) and state.count('WINGS', player)))) or (state.count('Waterways_04[left2]', player) and (state.count('SWIM', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('RIGHTDASH', player) or state._kh_option(player, 'EnemyPogos')) or (((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('RIGHTSUPERDASH', player) and state._kh_option(player, 'AcidSkips')) and state.count('WINGS', player))))) - hk_set_rule(hk_world, "Rancid_Egg-Waterways_West_Pickup", lambda state: state.count('Waterways_04b[left1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'DangerousSkips')))) + hk_set_rule(hk_world, "Rancid_Egg-Waterways_West_Bluggsac", lambda state: state.count('Waterways_04[right1]', player) and (state.count('SWIM', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('RIGHTDASH', player) or state._hk_option(player, 'EnemyPogos')) or (((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('LEFTSUPERDASH', player) and state._hk_option(player, 'AcidSkips')) and state.count('WINGS', player)) or (state._hk_option(player, 'ComplexSkips') and state._hk_option(player, 'FireballSkips') and state._hk_option(player, 'AcidSkips') and state.count('FIREBALL', player) and state.count('LEFTDASH', player) and state.count('RIGHTCLAW', player) and state.count('WINGS', player))) or (state.count('Waterways_04[left1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos')) and (state.count('SWIM', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('RIGHTDASH', player) or state._hk_option(player, 'EnemyPogos')) or (((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('LEFTSUPERDASH', player) and state._hk_option(player, 'AcidSkips')) and state.count('WINGS', player)) or (state._hk_option(player, 'ComplexSkips') and state._hk_option(player, 'FireballSkips') and state._hk_option(player, 'AcidSkips') and state.count('FIREBALL', player) and state.count('LEFTDASH', player) and state.count('RIGHTCLAW', player) and state.count('WINGS', player)))) or (state.count('Waterways_04[left2]', player) and (state.count('SWIM', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('RIGHTDASH', player) or state._hk_option(player, 'EnemyPogos')) or (((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('RIGHTSUPERDASH', player) and state._hk_option(player, 'AcidSkips')) and state.count('WINGS', player))))) + hk_set_rule(hk_world, "Rancid_Egg-Waterways_West_Pickup", lambda state: state.count('Waterways_04b[left1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'DangerousSkips')))) hk_set_rule(hk_world, "Rancid_Egg-Tuk_Defender's_Crest", lambda state: state.count('Waterways_03[left1]', player) and (state.count("Defender's_Crest", player) and state.count('Can_Bench', player))) - hk_set_rule(hk_world, "Wanderer's_Journal-Cliffs", lambda state: state.count('Cliffs_01[right1]', player) or state.count('Cliffs_01[right2]', player) or (state.count('Cliffs_01[right3]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._kh_option(player, 'EnemyPogos')))) or state.count('Cliffs_01[right4]', player)) + hk_set_rule(hk_world, "Wanderer's_Journal-Cliffs", lambda state: state.count('Cliffs_01[right1]', player) or state.count('Cliffs_01[right2]', player) or (state.count('Cliffs_01[right3]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._hk_option(player, 'EnemyPogos')))) or state.count('Cliffs_01[right4]', player)) hk_set_rule(hk_world, "Wanderer's_Journal-Greenpath_Stag", lambda state: state.count('Fungus1_22[left1]', player) or state.count('Fungus1_22[top1]', player)) hk_set_rule(hk_world, "Wanderer's_Journal-Greenpath_Lower", lambda state: state.count('Fungus1_11', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) - hk_set_rule(hk_world, "Wanderer's_Journal-Fungal_Wastes_Thorns_Gauntlet", lambda state: state.count('Fungus2_04', player) and (state.count('LEFTCLAW', player) and state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and (state.count('WINGS', player) or state.count('RIGHTDASH', player) or (state.count('RIGHTSUPERDASH', player) and state.count('LEFTCLAW', player)) or (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))))))) + hk_set_rule(hk_world, "Wanderer's_Journal-Fungal_Wastes_Thorns_Gauntlet", lambda state: state.count('Fungus2_04', player) and (state.count('LEFTCLAW', player) and state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and (state.count('WINGS', player) or state.count('RIGHTDASH', player) or (state.count('RIGHTSUPERDASH', player) and state.count('LEFTCLAW', player)) or (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))))))) hk_set_rule(hk_world, "Wanderer's_Journal-Above_Mantis_Village", lambda state: state.count('Fungus2_17', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) - hk_set_rule(hk_world, "Wanderer's_Journal-Crystal_Peak_Crawlers", lambda state: state.count('Mines_20', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos'))) + hk_set_rule(hk_world, "Wanderer's_Journal-Crystal_Peak_Crawlers", lambda state: state.count('Mines_20', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos'))) hk_set_rule(hk_world, "Wanderer's_Journal-Resting_Grounds_Catacombs", lambda state: state.count('RestingGrounds_10', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player))) - hk_set_rule(hk_world, "Wanderer's_Journal-King's_Station", lambda state: state.count('Ruins2_05[bot1]', player) and state._kh_option(player, 'EnemyPogos') or state.count('Ruins2_05[left1]', player) or state.count('Ruins2_05[top1]', player)) + hk_set_rule(hk_world, "Wanderer's_Journal-King's_Station", lambda state: state.count('Ruins2_05[bot1]', player) and state._hk_option(player, 'EnemyPogos') or state.count('Ruins2_05[left1]', player) or state.count('Ruins2_05[top1]', player)) hk_set_rule(hk_world, "Wanderer's_Journal-Pleasure_House", lambda state: state.count('Ruins_Elevator[left1]', player) or state.count('Ruins_Elevator[left2]', player)) hk_set_rule(hk_world, "Wanderer's_Journal-City_Storerooms", lambda state: state.count('Ruins1_28', player) or state.count('Ruins1_28[left1]', player)) - hk_set_rule(hk_world, "Wanderer's_Journal-Ancient_Basin", lambda state: (state.count('Abyss_02[right1]', player) or (state.count('Abyss_02[bot1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player)))) and (state.count('RIGHTDASH', player) or state._kh_option(player, 'SpikeTunnels'))) + hk_set_rule(hk_world, "Wanderer's_Journal-Ancient_Basin", lambda state: (state.count('Abyss_02[right1]', player) or (state.count('Abyss_02[bot1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player)))) and (state.count('RIGHTDASH', player) or state._hk_option(player, 'SpikeTunnels'))) hk_set_rule(hk_world, "Wanderer's_Journal-Kingdom's_Edge_Entrance", lambda state: state.count('Deepnest_East_07[bot1]', player)) hk_set_rule(hk_world, "Wanderer's_Journal-Kingdom's_Edge_Camp", lambda state: state.count('Deepnest_East_13[bot1]', player)) hk_set_rule(hk_world, "Wanderer's_Journal-Kingdom's_Edge_Requires_Dive", lambda state: state.count('Deepnest_East_18', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('Deepnest_East_18[top1]', player)) and state.count('QUAKE', player)) - hk_set_rule(hk_world, "Hallownest_Seal-Crossroads_Well", lambda state: (state.count('Crossroads_01[left1]', player) or state.count('Crossroads_01[top1]', player) or state.count('Crossroads_01[right1]', player)) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and (state._kh_option(player, 'ShadeSkips') and (state.count('MASKSHARDS', player) > 15 or (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) or (state.count('LEFTDASH', player) or state.count('RIGHTDASH', player))) or (state._kh_option(player, 'InfectionSkips') and state.count('DREAMER', player)))) or ((state._kh_option(player, 'InfectionSkips') and state.count('DREAMER', player)) and (state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) and (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))))) - hk_set_rule(hk_world, "Hallownest_Seal-Greenpath", lambda state: (state.count('Fungus1_10[left1]', player) or state.count('Fungus1_10[top1]', player) or state.count('Fungus1_10[right1]', player)) and (state.count('ACID', player) or (state.count('WINGS', player) and (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))) or (state.count('LEFTDASH', player) and (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)) or (state.count('Dashmaster', player) and state._kh_option(player, 'ObscureSkips')) or state.count('WINGS', player) or state.count('LEFTCLAW', player))) or state.count('LEFTSUPERDASH', player))) + hk_set_rule(hk_world, "Hallownest_Seal-Crossroads_Well", lambda state: (state.count('Crossroads_01[left1]', player) or state.count('Crossroads_01[top1]', player) or state.count('Crossroads_01[right1]', player)) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and (state._hk_option(player, 'ShadeSkips') and (state.count('MASKSHARDS', player) > 15 or (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) or (state.count('LEFTDASH', player) or state.count('RIGHTDASH', player))) or (state._hk_option(player, 'InfectionSkips') and state.count('DREAMER', player)))) or ((state._hk_option(player, 'InfectionSkips') and state.count('DREAMER', player)) and (state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) and (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))))) + hk_set_rule(hk_world, "Hallownest_Seal-Greenpath", lambda state: (state.count('Fungus1_10[left1]', player) or state.count('Fungus1_10[top1]', player) or state.count('Fungus1_10[right1]', player)) and (state.count('ACID', player) or (state.count('WINGS', player) and (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))) or (state.count('LEFTDASH', player) and (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)) or (state.count('Dashmaster', player) and state._hk_option(player, 'ObscureSkips')) or state.count('WINGS', player) or state.count('LEFTCLAW', player))) or state.count('LEFTSUPERDASH', player))) hk_set_rule(hk_world, "Hallownest_Seal-Fog_Canyon_West", lambda state: state.count('Fungus3_30[bot1]', player)) - hk_set_rule(hk_world, "Hallownest_Seal-Fog_Canyon_East", lambda state: (state.count('Fungus3_26', player) and (state.count('Fungus3_26[top1]', player) or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or (state.count('RIGHTDASH', player) and (state.count('LEFTDASH', player) or (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))) and state._kh_option(player, 'EnemyPogos')))) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or state.count('LEFTSUPERDASH', player) or state.count('LEFTDASH', player) or (state._kh_option(player, 'DamageBoosts') and state.count('MASKSHARDS', player) > 7))) + hk_set_rule(hk_world, "Hallownest_Seal-Fog_Canyon_East", lambda state: (state.count('Fungus3_26', player) and (state.count('Fungus3_26[top1]', player) or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or (state.count('RIGHTDASH', player) and (state.count('LEFTDASH', player) or (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))) and state._hk_option(player, 'EnemyPogos')))) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or state.count('LEFTSUPERDASH', player) or state.count('LEFTDASH', player) or (state._hk_option(player, 'DamageBoosts') and state.count('MASKSHARDS', player) > 7))) hk_set_rule(hk_world, "Hallownest_Seal-Queen's_Station", lambda state: state.count('Fungus2_34[right1]', player) and state.count('WINGS', player)) - hk_set_rule(hk_world, "Hallownest_Seal-Fungal_Wastes_Sporgs", lambda state: state.count('Fungus2_03', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or state._kh_option(player, 'EnemyPogos')) and (state.count('RIGHTDASH', player) or state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('LEFTCLAW', player) or state._kh_option(player, 'PreciseMovement') or (state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'DangerousSkips')))) + hk_set_rule(hk_world, "Hallownest_Seal-Fungal_Wastes_Sporgs", lambda state: state.count('Fungus2_03', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or state._hk_option(player, 'EnemyPogos')) and (state.count('RIGHTDASH', player) or state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('LEFTCLAW', player) or state._hk_option(player, 'PreciseMovement') or (state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'DangerousSkips')))) hk_set_rule(hk_world, "Hallownest_Seal-Mantis_Lords", lambda state: state.count('Fungus2_31[left1]', player) and state.count('Defeated_Mantis_Lords', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player))) hk_set_rule(hk_world, "Hallownest_Seal-Resting_Grounds_Catacombs", lambda state: state.count('RestingGrounds_10', player) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player))))) hk_set_rule(hk_world, "Hallownest_Seal-King's_Station", lambda state: state.count('Ruins2_08[left1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and state.count('LEFTDASH', player)))) hk_set_rule(hk_world, "Hallownest_Seal-City_Rafters", lambda state: state.count('Ruins1_03', player)) hk_set_rule(hk_world, "Hallownest_Seal-Soul_Sanctum", lambda state: state.count('Ruins1_32[right1]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state.count('QUAKE', player)) - hk_set_rule(hk_world, "Hallownest_Seal-Watcher_Knight", lambda state: (state.count('Ruins2_03[top1]', player) or (state.count('Ruins2_03[bot1]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state.count('Defeated_Watcher_Knights', player))) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player)) or (state.count('RIGHTDASH', player) and state._kh_option(player, 'BackgroundObjectPogos')))) + hk_set_rule(hk_world, "Hallownest_Seal-Watcher_Knight", lambda state: (state.count('Ruins2_03[top1]', player) or (state.count('Ruins2_03[bot1]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state.count('Defeated_Watcher_Knights', player))) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player)) or (state.count('RIGHTDASH', player) and state._hk_option(player, 'BackgroundObjectPogos')))) hk_set_rule(hk_world, "Hallownest_Seal-Deepnest_By_Mantis_Lords", lambda state: state.count('Deepnest_16[bot1]', player) and (state.count('LEFTCLAW', player) or ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state.count('WINGS', player)))) hk_set_rule(hk_world, "Hallownest_Seal-Beast's_Den", lambda state: state.count('Deepnest_Spider_Town[left1]', player)) - hk_set_rule(hk_world, "Hallownest_Seal-Queen's_Gardens", lambda state: (state.count('Fungus3_48[right2]', player) or state.count('Fungus3_48[bot1]', player)) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'DangerousSkips')))) + hk_set_rule(hk_world, "Hallownest_Seal-Queen's_Gardens", lambda state: (state.count('Fungus3_48[right2]', player) or state.count('Fungus3_48[bot1]', player)) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'DangerousSkips')))) hk_set_rule(hk_world, "King's_Idol-Cliffs", lambda state: state.count('Cliffs_01', player)) - hk_set_rule(hk_world, "King's_Idol-Crystal_Peak", lambda state: (state.count('Mines_30[right1]', player) or (state.count('RIGHTSUPERDASH', player) and state.count('Mines_30[left1]', player))) and (state.count('RIGHTCLAW', player) and state.count('RIGHTDASH', player) and state._kh_option(player, 'BackgroundObjectPogos') or state.count('WINGS', player))) - hk_set_rule(hk_world, "King's_Idol-Glade_of_Hope", lambda state: state.count('RestingGrounds_08[left1]', player) and (state.count('SWIM', player) and state.count('LEFTCLAW', player) or (state.count('SWIM', player) and state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or (state.count('RIGHTSUPERDASH', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player))) or (state.count('RIGHTSUPERDASH', player) and state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or (state.count('WINGS', player) and state.count('RIGHTDASH', player)) or (state.count('RIGHTCLAW', player) and state.count('RIGHTDASH', player) and state._kh_option(player, 'DifficultSkips') and (state.count('SWIM', player) or state.count('RIGHTSUPERDASH', player))))) + hk_set_rule(hk_world, "King's_Idol-Crystal_Peak", lambda state: (state.count('Mines_30[right1]', player) or (state.count('RIGHTSUPERDASH', player) and state.count('Mines_30[left1]', player))) and (state.count('RIGHTCLAW', player) and state.count('RIGHTDASH', player) and state._hk_option(player, 'BackgroundObjectPogos') or state.count('WINGS', player))) + hk_set_rule(hk_world, "King's_Idol-Glade_of_Hope", lambda state: state.count('RestingGrounds_08[left1]', player) and (state.count('SWIM', player) and state.count('LEFTCLAW', player) or (state.count('SWIM', player) and state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or (state.count('RIGHTSUPERDASH', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player))) or (state.count('RIGHTSUPERDASH', player) and state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or (state.count('WINGS', player) and state.count('RIGHTDASH', player)) or (state.count('RIGHTCLAW', player) and state.count('RIGHTDASH', player) and state._hk_option(player, 'DifficultSkips') and (state.count('SWIM', player) or state.count('RIGHTSUPERDASH', player))))) hk_set_rule(hk_world, "King's_Idol-Dung_Defender", lambda state: state.count('Waterways_15[top1]', player)) hk_set_rule(hk_world, "King's_Idol-Great_Hopper", lambda state: state.count('Deepnest_East_08[top1]', player) or state.count('Deepnest_East_08[right1]', player)) - hk_set_rule(hk_world, "King's_Idol-Pale_Lurker", lambda state: state.count('GG_Lurker[left1]', player) and (state.count('SWIM', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('RIGHTSUPERDASH', player) and state._kh_option(player, 'AcidSkips')))) + hk_set_rule(hk_world, "King's_Idol-Pale_Lurker", lambda state: state.count('GG_Lurker[left1]', player) and (state.count('SWIM', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('RIGHTSUPERDASH', player) and state._hk_option(player, 'AcidSkips')))) hk_set_rule(hk_world, "King's_Idol-Deepnest", lambda state: state.count('Deepnest_33[top1]', player)) - hk_set_rule(hk_world, "Arcane_Egg-Lifeblood_Core", lambda state: state.count('Abyss_08[right1]', player) and (state._kh_option(player, 'PreciseMovement') or state.count('LEFTDASH', player)) and (state.count('RIGHTSUPERDASH', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player)))) + hk_set_rule(hk_world, "Arcane_Egg-Lifeblood_Core", lambda state: state.count('Abyss_08[right1]', player) and (state._hk_option(player, 'PreciseMovement') or state.count('LEFTDASH', player)) and (state.count('RIGHTSUPERDASH', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Arcane_Egg-Shade_Cloak", lambda state: state.count('Abyss_10[left2]', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('RIGHTDASH', player)) or (state.count('Abyss_10[left1]', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('RIGHTDASH', player) or (state.count('WHITEFRAGMENT', player) > 2 and (state.count('SWIM', player) or state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))))) hk_set_rule(hk_world, "Arcane_Egg-Birthplace", lambda state: state.count('Abyss_15[top1]', player)) - hk_set_rule(hk_world, "Whispering_Root-Crossroads", lambda state: state.count('Crossroads_07', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and state.count('LEFTCLAW', player))) and (state.count('WINGS', player) or (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player)) or (state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or (state._kh_option(player, 'InfectionSkips') and state.count('DREAMER', player))) and state.count('DREAMNAIL', player) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player))))) - hk_set_rule(hk_world, "Whispering_Root-Greenpath", lambda state: state.count('Fungus1_13[left1]', player) and state.count('Fungus1_13[right1]', player) and (state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and state.count('WINGS', player) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or (state.count('MASKSHARDS', player) > 7 and state._kh_option(player, 'DamageBoosts'))))) and state.count('DREAMNAIL', player) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('Great_Slash', player) or state.count('Cyclone_Slash', player) or ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('Dash_Slash', player)))) + hk_set_rule(hk_world, "Whispering_Root-Crossroads", lambda state: state.count('Crossroads_07', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and state.count('LEFTCLAW', player))) and (state.count('WINGS', player) or (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player)) or (state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or (state._hk_option(player, 'InfectionSkips') and state.count('DREAMER', player))) and state.count('DREAMNAIL', player) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player))))) + hk_set_rule(hk_world, "Whispering_Root-Greenpath", lambda state: state.count('Fungus1_13[left1]', player) and state.count('Fungus1_13[right1]', player) and (state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and state.count('WINGS', player) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or (state.count('MASKSHARDS', player) > 7 and state._hk_option(player, 'DamageBoosts'))))) and state.count('DREAMNAIL', player) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('Great_Slash', player) or state.count('Cyclone_Slash', player) or ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('Dash_Slash', player)))) hk_set_rule(hk_world, "Whispering_Root-Leg_Eater", lambda state: (state.count('Fungus2_33[left1]', player) or state.count('Fungus2_33[right1]', player)) and state.count('DREAMNAIL', player)) hk_set_rule(hk_world, "Whispering_Root-Mantis_Village", lambda state: state.count('Fungus2_17', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state.count('DREAMNAIL', player)) - hk_set_rule(hk_world, "Whispering_Root-Deepnest", lambda state: state.count('Deepnest_39', player) and (state.count('LANTERN', player) or state._kh_option(player, 'DarkRooms')) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or (state.count('WINGS', player) and state._kh_option(player, 'EnemyPogos'))) and state.count('DREAMNAIL', player)) + hk_set_rule(hk_world, "Whispering_Root-Deepnest", lambda state: state.count('Deepnest_39', player) and (state.count('LANTERN', player) or state._hk_option(player, 'DarkRooms')) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or (state.count('WINGS', player) and state._hk_option(player, 'EnemyPogos'))) and state.count('DREAMNAIL', player)) hk_set_rule(hk_world, "Whispering_Root-Queens_Gardens", lambda state: state.count('Fungus3_11', player) and state.count('LEFTCLAW', player) and state.count('DREAMNAIL', player)) hk_set_rule(hk_world, "Whispering_Root-Kingdoms_Edge", lambda state: state.count('Deepnest_East_07', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) and state.count('DREAMNAIL', player)) - hk_set_rule(hk_world, "Whispering_Root-Waterways", lambda state: state.count('Abyss_01[left3]', player) and ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player) or state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player) or state._kh_option(player, 'EnemyPogos')) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)))) and state.count('DREAMNAIL', player)) - hk_set_rule(hk_world, "Whispering_Root-City", lambda state: (state.count('Ruins1_17[top1]', player) or state.count('Ruins1_17[right1]', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player) or state.count('WINGS', player) or (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player)) or state._kh_option(player, 'EnemyPogos')) and state.count('DREAMNAIL', player)) + hk_set_rule(hk_world, "Whispering_Root-Waterways", lambda state: state.count('Abyss_01[left3]', player) and ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player) or state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player) or state._hk_option(player, 'EnemyPogos')) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)))) and state.count('DREAMNAIL', player)) + hk_set_rule(hk_world, "Whispering_Root-City", lambda state: (state.count('Ruins1_17[top1]', player) or state.count('Ruins1_17[right1]', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player) or state.count('WINGS', player) or (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player)) or state._hk_option(player, 'EnemyPogos')) and state.count('DREAMNAIL', player)) hk_set_rule(hk_world, "Whispering_Root-Resting_Grounds", lambda state: state.count('RestingGrounds_05', player) and state.count('DREAMNAIL', player)) - hk_set_rule(hk_world, "Whispering_Root-Spirits_Glade", lambda state: state.count('RestingGrounds_08[left1]', player) and state.count('DREAMNAIL', player) and (state.count('WINGS', player) and (state.count('SWIM', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('RIGHTDASH', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or (state.count('RIGHTSUPERDASH', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player))) or (state.count('LEFTCLAW', player) and state.count('SWIM', player) and state.count('RIGHTDASH', player)) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and state.count('RIGHTSUPERDASH', player) and state.count('RIGHTDASH', player)) or (state.count('RIGHTCLAW', player) and state.count('RIGHTDASH', player) and state._kh_option(player, 'DifficultSkips') and (state.count('SWIM', player) or state.count('RIGHTSUPERDASH', player))))) + hk_set_rule(hk_world, "Whispering_Root-Spirits_Glade", lambda state: state.count('RestingGrounds_08[left1]', player) and state.count('DREAMNAIL', player) and (state.count('WINGS', player) and (state.count('SWIM', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('RIGHTDASH', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or (state.count('RIGHTSUPERDASH', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player))) or (state.count('LEFTCLAW', player) and state.count('SWIM', player) and state.count('RIGHTDASH', player)) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and state.count('RIGHTSUPERDASH', player) and state.count('RIGHTDASH', player)) or (state.count('RIGHTCLAW', player) and state.count('RIGHTDASH', player) and state._hk_option(player, 'DifficultSkips') and (state.count('SWIM', player) or state.count('RIGHTSUPERDASH', player))))) hk_set_rule(hk_world, "Whispering_Root-Crystal_Peak", lambda state: (state.count('Mines_23[left1]', player) or state.count('Mines_23[top1]', player) or state.count('Mines_23[right1]', player) or state.count('Mines_23[right2]', player)) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player) or state.count('WINGS', player)) and state.count('DREAMNAIL', player)) - hk_set_rule(hk_world, "Whispering_Root-Howling_Cliffs", lambda state: state.count('Cliffs_01', player) and (state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player))) or state.count('WINGS', player) or ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._kh_option(player, 'EnemyPogos'))) and state.count('DREAMNAIL', player)) - hk_set_rule(hk_world, "Whispering_Root-Ancestral_Mound", lambda state: state.count('Crossroads_ShamanTemple[left1]', player) and (state.count('WINGS', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and state._kh_option(player, 'EnemyPogos'))) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or ((state.count('FIREBALL', player) or state.count('QUAKE', player) or (state.count('Glowing_Womb', player) and state.count('Can_Bench', player)) or ((state.count('Weaversong', player) and state.count('Can_Bench', player) or ((state.count('Spore_Shroom', player) and state.count('Can_Bench', player)) and state.count('FOCUS', player))) and state._kh_option(player, 'ObscureSkips')) or (state.count('CYCLONE', player) and state._kh_option(player, 'DifficultSkips'))) or ((state.count("Grubberfly's_Elegy", player) and state.count('Can_Bench', player)) and state.count('LEFTSLASH', player)) or (state.count('Dash_Slash', player) and state.count('LEFTDASH', player)) or (((state.count('Mark_of_Pride', player) and state.count('Can_Bench', player)) and state.count('LEFTSLASH', player) or (state.count('LEFTDASH', player) and state.count('LEFTSLASH', player))) and state._kh_option(player, 'DifficultSkips')))) and state.count('DREAMNAIL', player) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player))))) + hk_set_rule(hk_world, "Whispering_Root-Howling_Cliffs", lambda state: state.count('Cliffs_01', player) and (state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player))) or state.count('WINGS', player) or ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._hk_option(player, 'EnemyPogos'))) and state.count('DREAMNAIL', player)) + hk_set_rule(hk_world, "Whispering_Root-Ancestral_Mound", lambda state: state.count('Crossroads_ShamanTemple[left1]', player) and (state.count('WINGS', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and state._hk_option(player, 'EnemyPogos'))) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or ((state.count('FIREBALL', player) or state.count('QUAKE', player) or (state.count('Glowing_Womb', player) and state.count('Can_Bench', player)) or ((state.count('Weaversong', player) and state.count('Can_Bench', player) or ((state.count('Spore_Shroom', player) and state.count('Can_Bench', player)) and state.count('FOCUS', player))) and state._hk_option(player, 'ObscureSkips')) or (state.count('CYCLONE', player) and state._hk_option(player, 'DifficultSkips'))) or ((state.count("Grubberfly's_Elegy", player) and state.count('Can_Bench', player)) and state.count('LEFTSLASH', player)) or (state.count('Dash_Slash', player) and state.count('LEFTDASH', player)) or (((state.count('Mark_of_Pride', player) and state.count('Can_Bench', player)) and state.count('LEFTSLASH', player) or (state.count('LEFTDASH', player) and state.count('LEFTSLASH', player))) and state._hk_option(player, 'DifficultSkips')))) and state.count('DREAMNAIL', player) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player))))) hk_set_rule(hk_world, "Whispering_Root-Hive", lambda state: (state.count('Hive_02[left1]', player) or state.count('Hive_02[left2]', player) or state.count('Hive_02[left3]', player)) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('LEFTCLAW', player))) and state.count('DREAMNAIL', player)) hk_set_rule(hk_world, "Boss_Essence-Elder_Hu", lambda state: state.count('Fungus2_32[left1]', player) and state.count('DREAMNAIL', player) and state.count('Defeated_Elder_Hu', player)) hk_set_rule(hk_world, "Boss_Essence-Xero", lambda state: state.count('RestingGrounds_02', player) and state.count('DREAMNAIL', player) and state.count('Defeated_Xero', player)) @@ -1300,18 +1300,18 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Boss_Essence-No_Eyes", lambda state: (state.count('Fungus1_35[left1]', player) or state.count('Fungus1_35[right1]', player)) and state.count('LANTERN', player) and state.count('DREAMNAIL', player) and state.count('Defeated_No_Eyes', player)) hk_set_rule(hk_world, "Boss_Essence-Galien", lambda state: state.count('Deepnest_40[right1]', player) and state.count('DREAMNAIL', player) and state.count('Defeated_Galien', player)) hk_set_rule(hk_world, "Boss_Essence-Markoth", lambda state: state.count('Deepnest_East_10[left1]', player) and state.count('DREAMNAIL', player) and state.count('Defeated_Markoth', player)) - hk_set_rule(hk_world, "Boss_Essence-Failed_Champion", lambda state: (state.count('Crossroads_10[left1]', player) or state.count('Crossroads_10[right1]', player)) and state.count('Defeated_False_Knight', player) and state.count('Defeated_Failed_Champion', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and (state._kh_option(player, 'InfectionSkips') and state.count('DREAMER', player)))) and state.count('DREAMNAIL', player)) + hk_set_rule(hk_world, "Boss_Essence-Failed_Champion", lambda state: (state.count('Crossroads_10[left1]', player) or state.count('Crossroads_10[right1]', player)) and state.count('Defeated_False_Knight', player) and state.count('Defeated_Failed_Champion', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and (state._hk_option(player, 'InfectionSkips') and state.count('DREAMER', player)))) and state.count('DREAMNAIL', player)) hk_set_rule(hk_world, "Boss_Essence-Soul_Tyrant", lambda state: (state.count('Ruins1_24[right1]', player) or state.count('Ruins1_24[left1]', player)) and state.count('Defeated_Soul_Master', player) and state.count('Defeated_Soul_Tyrant', player) and state.count('DREAMNAIL', player)) hk_set_rule(hk_world, "Boss_Essence-Lost_Kin", lambda state: state.count('Abyss_19[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) and state.count('DREAMNAIL', player) and state.count('Defeated_Broken_Vessel', player) and state.count('Defeated_Lost_Kin', player)) hk_set_rule(hk_world, "Boss_Essence-White_Defender", lambda state: state.count('Waterways_15[top1]', player) and state.count('DREAMNAIL', player) and (state.count('DREAMER', player) > 2) and state.count('Defeated_Dung_Defender', player) and state.count('Defeated_White_Defender', player)) hk_set_rule(hk_world, "Boss_Essence-Grey_Prince_Zote", lambda state: state.count('Room_Bretta[right1]', player) and state.count('DREAMNAIL', player) and state.count('WINGS', player) and state.count('Rescued_Bretta', player) and state.count('Defeated_Colosseum_Zote', player) and state.count('Defeated_Grey_Prince_Zote', player)) - hk_set_rule(hk_world, "Grub-Crossroads_Acid", lambda state: state.count('Crossroads_35[right1]', player) or (state.count('Crossroads_35[bot1]', player) and state.count('RIGHTCLAW', player) and (state.count('ACID', player) or ((state.count('LEFTSUPERDASH', player) and state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state.count('LEFTDASH', player))) and state._kh_option(player, 'AcidSkips'))))) - hk_set_rule(hk_world, "Grub-Crossroads_Center", lambda state: (state.count('Crossroads_05[left1]', player) or state.count('Crossroads_05[right1]', player)) and (state._kh_option(player, 'EnemyPogos') or state.count('RIGHTDASH', player) or state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player))) + hk_set_rule(hk_world, "Grub-Crossroads_Acid", lambda state: state.count('Crossroads_35[right1]', player) or (state.count('Crossroads_35[bot1]', player) and state.count('RIGHTCLAW', player) and (state.count('ACID', player) or ((state.count('LEFTSUPERDASH', player) and state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state.count('LEFTDASH', player))) and state._hk_option(player, 'AcidSkips'))))) + hk_set_rule(hk_world, "Grub-Crossroads_Center", lambda state: (state.count('Crossroads_05[left1]', player) or state.count('Crossroads_05[right1]', player)) and (state._hk_option(player, 'EnemyPogos') or state.count('RIGHTDASH', player) or state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player))) hk_set_rule(hk_world, "Grub-Crossroads_Stag", lambda state: state.count('Crossroads_03', player)) hk_set_rule(hk_world, "Grub-Crossroads_Spike", lambda state: state.count('Crossroads_31[right1]', player)) hk_set_rule(hk_world, "Grub-Crossroads_Guarded", lambda state: state.count('Crossroads_48[left1]', player)) - hk_set_rule(hk_world, "Grub-Greenpath_Cornifer", lambda state: (state.count('Fungus1_06[left1]', player) or state.count('Fungus1_06[bot1]', player)) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('Great_Slash', player) or state.count('Cyclone_Slash', player) or state.count('RIGHTDASH', player) or state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player) or state._kh_option(player, 'EnemyPogos'))) - hk_set_rule(hk_world, "Grub-Greenpath_Journal", lambda state: (state.count('Fungus1_07[left1]', player) or state.count('Fungus1_07[top1]', player) or state.count('Fungus1_07[right1]', player)) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('Great_Slash', player) or state.count('Cyclone_Slash', player) or state.count('RIGHTDASH', player) or state.count('WINGS', player) or (state.count('ACID', player) and (state.count('RIGHTCLAW', player) or state._kh_option(player, 'EnemyPogos'))) or (state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'DifficultSkips')))) + hk_set_rule(hk_world, "Grub-Greenpath_Cornifer", lambda state: (state.count('Fungus1_06[left1]', player) or state.count('Fungus1_06[bot1]', player)) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('Great_Slash', player) or state.count('Cyclone_Slash', player) or state.count('RIGHTDASH', player) or state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player) or state._hk_option(player, 'EnemyPogos'))) + hk_set_rule(hk_world, "Grub-Greenpath_Journal", lambda state: (state.count('Fungus1_07[left1]', player) or state.count('Fungus1_07[top1]', player) or state.count('Fungus1_07[right1]', player)) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('Great_Slash', player) or state.count('Cyclone_Slash', player) or state.count('RIGHTDASH', player) or state.count('WINGS', player) or (state.count('ACID', player) and (state.count('RIGHTCLAW', player) or state._hk_option(player, 'EnemyPogos'))) or (state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'DifficultSkips')))) hk_set_rule(hk_world, "Grub-Greenpath_MMC", lambda state: state.count('Fungus1_13[right1]', player)) hk_set_rule(hk_world, "Grub-Greenpath_Stag", lambda state: state.count('Fungus1_21', player)) hk_set_rule(hk_world, "Grub-Fog_Canyon", lambda state: state.count('LEFTSUPERDASH', player) and state.count('Fungus3_47', player)) @@ -1320,52 +1320,52 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Grub-Deepnest_Mimic", lambda state: state.count('Deepnest_36[left1]', player)) hk_set_rule(hk_world, "Grub-Deepnest_Nosk", lambda state: state.count('Deepnest_31[right1]', player) or (state.count('Deepnest_31[right2]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Grub-Deepnest_Spike", lambda state: state.count('Deepnest_03', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and state.count('Deepnest_03[top1]', player)))) - hk_set_rule(hk_world, "Grub-Dark_Deepnest", lambda state: (state.count('LANTERN', player) or state._kh_option(player, 'DarkRooms')) and (state.count('Deepnest_39', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state._kh_option(player, 'EnemyPogos')))) or state.count('Deepnest_39[top1]', player) or (state.count('Deepnest_39[left1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('RIGHTDASH', player))))) - hk_set_rule(hk_world, "Grub-Beast's_Den", lambda state: state.count('Deepnest_Spider_Town[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or (state.count('WINGS', player) and state._kh_option(player, 'ComplexSkips') and state._kh_option(player, 'ShadeSkips') and (state.count('MASKSHARDS', player) > 15)))) - hk_set_rule(hk_world, "Grub-Kingdom's_Edge_Oro", lambda state: ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) and (state.count('Deepnest_East_14[top2]', player) and state.count('QUAKE', player) and (state._kh_option(player, 'PreciseMovement') or state.count('RIGHTDASH', player)) or (state.count('Deepnest_East_14[left1]', player) and (state._kh_option(player, 'SpikeTunnels') or state.count('RIGHTDASH', player))) or state.count('Deepnest_East_14[door1]', player))) - hk_set_rule(hk_world, "Grub-Kingdom's_Edge_Camp", lambda state: state.count('Deepnest_East_11', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or (state._kh_option(player, 'PreciseMovement') and state.count('LEFTDASH', player)))) + hk_set_rule(hk_world, "Grub-Dark_Deepnest", lambda state: (state.count('LANTERN', player) or state._hk_option(player, 'DarkRooms')) and (state.count('Deepnest_39', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state._hk_option(player, 'EnemyPogos')))) or state.count('Deepnest_39[top1]', player) or (state.count('Deepnest_39[left1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('RIGHTDASH', player))))) + hk_set_rule(hk_world, "Grub-Beast's_Den", lambda state: state.count('Deepnest_Spider_Town[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or (state.count('WINGS', player) and state._hk_option(player, 'ComplexSkips') and state._hk_option(player, 'ShadeSkips') and (state.count('MASKSHARDS', player) > 15)))) + hk_set_rule(hk_world, "Grub-Kingdom's_Edge_Oro", lambda state: ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) and (state.count('Deepnest_East_14[top2]', player) and state.count('QUAKE', player) and (state._hk_option(player, 'PreciseMovement') or state.count('RIGHTDASH', player)) or (state.count('Deepnest_East_14[left1]', player) and (state._hk_option(player, 'SpikeTunnels') or state.count('RIGHTDASH', player))) or state.count('Deepnest_East_14[door1]', player))) + hk_set_rule(hk_world, "Grub-Kingdom's_Edge_Camp", lambda state: state.count('Deepnest_East_11', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or (state._hk_option(player, 'PreciseMovement') and state.count('LEFTDASH', player)))) hk_set_rule(hk_world, "Grub-Hive_External", lambda state: state.count('Hive_03[top1]', player)) - hk_set_rule(hk_world, "Grub-Hive_Internal", lambda state: (state.count('Hive_04[left1]', player) or state.count('Hive_04[right1]', player)) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state.count('WINGS', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player) or (state.count('RIGHTCLAW', player) and state.count('LEFTSUPERDASH', player)) or (state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'DifficultSkips')))) - hk_set_rule(hk_world, "Grub-Basin_Requires_Wings", lambda state: state.count('Abyss_19', player) and state.count('WINGS', player) and (state.count('RIGHTCLAW', player) or ((state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and state._kh_option(player, 'EnemyPogos')))) + hk_set_rule(hk_world, "Grub-Hive_Internal", lambda state: (state.count('Hive_04[left1]', player) or state.count('Hive_04[right1]', player)) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state.count('WINGS', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player) or (state.count('RIGHTCLAW', player) and state.count('LEFTSUPERDASH', player)) or (state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'DifficultSkips')))) + hk_set_rule(hk_world, "Grub-Basin_Requires_Wings", lambda state: state.count('Abyss_19', player) and state.count('WINGS', player) and (state.count('RIGHTCLAW', player) or ((state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and state._hk_option(player, 'EnemyPogos')))) hk_set_rule(hk_world, "Grub-Basin_Requires_Dive", lambda state: state.count('Abyss_17[top1]', player) and state.count('QUAKE', player)) - hk_set_rule(hk_world, "Grub-Waterways_Main", lambda state: state.count('Waterways_04[right1]', player) and (state.count('RIGHTCLAW', player) or state.count('SWIM', player) or state.count('CYCLONE', player) or state.count('FIREBALL', player) or state.count('SCREAM', player)) or (state.count('Waterways_04[left1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos')) and (state.count('RIGHTCLAW', player) or state.count('SWIM', player) or state.count('CYCLONE', player) or state.count('FIREBALL', player) or state.count('SCREAM', player))) or (state.count('Waterways_04[left2]', player) and (state.count('SWIM', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('RIGHTSUPERDASH', player) and state._kh_option(player, 'AcidSkips'))))) - hk_set_rule(hk_world, "Grub-Isma's_Grove", lambda state: (state.count('Waterways_13[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and (state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos'))) or (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player)))) or (state.count('Waterways_13[left2]', player) and (state.count('RIGHTCLAW', player) or ((state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos')) and state.count('LEFTCLAW', player))))) and (state.count('ACID', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('RIGHTSUPERDASH', player) and state._kh_option(player, 'AcidSkips')))) - hk_set_rule(hk_world, "Grub-Waterways_Requires_Tram", lambda state: state.count('Waterways_14[bot1]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and (state.count('RIGHTSUPERDASH', player) and state.count('WINGS', player) and (state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state._kh_option(player, 'EnemyPogos'))) or (state.count('ACID', player) and (state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state.count('WINGS', player))))) or (state.count('Waterways_14[bot2]', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and state.count('LEFTCLAW', player))) and (state.count('LEFTSUPERDASH', player) and state.count('WINGS', player) and (state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state._kh_option(player, 'EnemyPogos'))) or (state.count('ACID', player) and (state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state.count('WINGS', player))))))) - hk_set_rule(hk_world, "Grub-City_of_Tears_Left", lambda state: state.count('Ruins1_05', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state._kh_option(player, 'EnemyPogos') and (state.count('Ruins1_05[top1]', player) or state.count('Ruins1_05[right1]', player))))) + hk_set_rule(hk_world, "Grub-Waterways_Main", lambda state: state.count('Waterways_04[right1]', player) and (state.count('RIGHTCLAW', player) or state.count('SWIM', player) or state.count('CYCLONE', player) or state.count('FIREBALL', player) or state.count('SCREAM', player)) or (state.count('Waterways_04[left1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos')) and (state.count('RIGHTCLAW', player) or state.count('SWIM', player) or state.count('CYCLONE', player) or state.count('FIREBALL', player) or state.count('SCREAM', player))) or (state.count('Waterways_04[left2]', player) and (state.count('SWIM', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('RIGHTSUPERDASH', player) and state._hk_option(player, 'AcidSkips'))))) + hk_set_rule(hk_world, "Grub-Isma's_Grove", lambda state: (state.count('Waterways_13[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and (state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos'))) or (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player)))) or (state.count('Waterways_13[left2]', player) and (state.count('RIGHTCLAW', player) or ((state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos')) and state.count('LEFTCLAW', player))))) and (state.count('ACID', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('RIGHTSUPERDASH', player) and state._hk_option(player, 'AcidSkips')))) + hk_set_rule(hk_world, "Grub-Waterways_Requires_Tram", lambda state: state.count('Waterways_14[bot1]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and (state.count('RIGHTSUPERDASH', player) and state.count('WINGS', player) and (state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state._hk_option(player, 'EnemyPogos'))) or (state.count('ACID', player) and (state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state.count('WINGS', player))))) or (state.count('Waterways_14[bot2]', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and state.count('LEFTCLAW', player))) and (state.count('LEFTSUPERDASH', player) and state.count('WINGS', player) and (state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state._hk_option(player, 'EnemyPogos'))) or (state.count('ACID', player) and (state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state.count('WINGS', player))))))) + hk_set_rule(hk_world, "Grub-City_of_Tears_Left", lambda state: state.count('Ruins1_05', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state._hk_option(player, 'EnemyPogos') and (state.count('Ruins1_05[top1]', player) or state.count('Ruins1_05[right1]', player))))) hk_set_rule(hk_world, "Grub-Soul_Sanctum", lambda state: state.count('Ruins1_32[right1]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state.count('QUAKE', player)) hk_set_rule(hk_world, "Grub-Watcher's_Spire", lambda state: state.count('Ruins2_03[bot2]', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and state.count('LEFTCLAW', player)))) hk_set_rule(hk_world, "Grub-City_of_Tears_Guarded", lambda state: state.count('Ruins_House_01[left1]', player)) - hk_set_rule(hk_world, "Grub-King's_Station", lambda state: state.count('Ruins2_07[left1]', player) and (state.count('SWIM', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('RIGHTSUPERDASH', player) and state._kh_option(player, 'AcidSkips'))) or (state.count('Ruins2_07[top1]', player) and (state.count('LEFTDASH', player) or (state.count('RIGHTCLAW', player) and state.count('LEFTSUPERDASH', player)) or (state.count('RIGHTCLAW', player) and state.count('WINGS', player) and state._kh_option(player, 'PreciseMovement')))) or (state.count('Ruins2_07[right1]', player) and (state.count('LEFTDASH', player) or state.count('SWIM', player) or ((state.count('RIGHTCLAW', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player))) and state.count('LEFTSUPERDASH', player)) or (state.count('RIGHTCLAW', player) and state.count('WINGS', player) and state._kh_option(player, 'PreciseMovement'))))) + hk_set_rule(hk_world, "Grub-King's_Station", lambda state: state.count('Ruins2_07[left1]', player) and (state.count('SWIM', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('RIGHTSUPERDASH', player) and state._hk_option(player, 'AcidSkips'))) or (state.count('Ruins2_07[top1]', player) and (state.count('LEFTDASH', player) or (state.count('RIGHTCLAW', player) and state.count('LEFTSUPERDASH', player)) or (state.count('RIGHTCLAW', player) and state.count('WINGS', player) and state._hk_option(player, 'PreciseMovement')))) or (state.count('Ruins2_07[right1]', player) and (state.count('LEFTDASH', player) or state.count('SWIM', player) or ((state.count('RIGHTCLAW', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player))) and state.count('LEFTSUPERDASH', player)) or (state.count('RIGHTCLAW', player) and state.count('WINGS', player) and state._hk_option(player, 'PreciseMovement'))))) hk_set_rule(hk_world, "Grub-Resting_Grounds", lambda state: state.count('RestingGrounds_10', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player)) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player))))) hk_set_rule(hk_world, "Grub-Crystal_Peak_Below_Chest", lambda state: state.count('Mines_04[top1]', player)) - hk_set_rule(hk_world, "Grub-Crystallized_Mound", lambda state: state.count('Mines_35[left1]', player) and state.count('QUAKE', player) and (state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and state._kh_option(player, 'PreciseMovement') and (state.count('RIGHTDASH', player) or (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))))) or state.count('WINGS', player))) - hk_set_rule(hk_world, "Grub-Crystal_Peak_Spike", lambda state: state.count('Mines_03', player) and ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) or (state.count('WINGS', player) and state._kh_option(player, 'SpikeTunnels') and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player) or (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))))))) + hk_set_rule(hk_world, "Grub-Crystallized_Mound", lambda state: state.count('Mines_35[left1]', player) and state.count('QUAKE', player) and (state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and state._hk_option(player, 'PreciseMovement') and (state.count('RIGHTDASH', player) or (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))))) or state.count('WINGS', player))) + hk_set_rule(hk_world, "Grub-Crystal_Peak_Spike", lambda state: state.count('Mines_03', player) and ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) or (state.count('WINGS', player) and state._hk_option(player, 'SpikeTunnels') and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player) or (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))))))) hk_set_rule(hk_world, "Grub-Crystal_Peak_Mimic", lambda state: state.count('Mines_16[top1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player))) hk_set_rule(hk_world, "Grub-Crystal_Peak_Crushers", lambda state: (state.count('Mines_19[left1]', player) and state.count('Mines_19[right1]', player)) and state.count('LEFTDASH', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player))) - hk_set_rule(hk_world, "Grub-Crystal_Heart", lambda state: state.count('Mines_31[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player) or state.count('WINGS', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and state.count('RIGHTDASH', player) and (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))))) - hk_set_rule(hk_world, "Grub-Hallownest_Crown", lambda state: state.count('Mines_24[left1]', player) and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player) or state._kh_option(player, 'SpikeTunnels'))) - hk_set_rule(hk_world, "Grub-Howling_Cliffs", lambda state: state.count('Fungus1_28[left1]', player) or (state.count('Fungus1_28[left2]', player) and ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)))) and ((state.count('FIREBALL', player) or state.count('QUAKE', player) or (state.count('Glowing_Womb', player) and state.count('Can_Bench', player)) or ((state.count('Weaversong', player) and state.count('Can_Bench', player) or ((state.count('Spore_Shroom', player) and state.count('Can_Bench', player)) and state.count('FOCUS', player))) and state._kh_option(player, 'ObscureSkips')) or (state.count('CYCLONE', player) and state._kh_option(player, 'DifficultSkips'))) or ((state.count("Grubberfly's_Elegy", player) and state.count('Can_Bench', player)) and state.count('RIGHTSLASH', player)) or (state.count('Dash_Slash', player) and state.count('RIGHTDASH', player)) or (((state.count('Mark_of_Pride', player) and state.count('Can_Bench', player)) and state.count('RIGHTSLASH', player) or (state.count('RIGHTDASH', player) and state.count('RIGHTSLASH', player))) and state._kh_option(player, 'DifficultSkips'))) or (state.count('WINGS', player) and state.count('LEFTCLAW', player))))) + hk_set_rule(hk_world, "Grub-Crystal_Heart", lambda state: state.count('Mines_31[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player) or state.count('WINGS', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and state.count('RIGHTDASH', player) and (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))))) + hk_set_rule(hk_world, "Grub-Hallownest_Crown", lambda state: state.count('Mines_24[left1]', player) and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player) or state._hk_option(player, 'SpikeTunnels'))) + hk_set_rule(hk_world, "Grub-Howling_Cliffs", lambda state: state.count('Fungus1_28[left1]', player) or (state.count('Fungus1_28[left2]', player) and ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)))) and ((state.count('FIREBALL', player) or state.count('QUAKE', player) or (state.count('Glowing_Womb', player) and state.count('Can_Bench', player)) or ((state.count('Weaversong', player) and state.count('Can_Bench', player) or ((state.count('Spore_Shroom', player) and state.count('Can_Bench', player)) and state.count('FOCUS', player))) and state._hk_option(player, 'ObscureSkips')) or (state.count('CYCLONE', player) and state._hk_option(player, 'DifficultSkips'))) or ((state.count("Grubberfly's_Elegy", player) and state.count('Can_Bench', player)) and state.count('RIGHTSLASH', player)) or (state.count('Dash_Slash', player) and state.count('RIGHTDASH', player)) or (((state.count('Mark_of_Pride', player) and state.count('Can_Bench', player)) and state.count('RIGHTSLASH', player) or (state.count('RIGHTDASH', player) and state.count('RIGHTSLASH', player))) and state._hk_option(player, 'DifficultSkips'))) or (state.count('WINGS', player) and state.count('LEFTCLAW', player))))) hk_set_rule(hk_world, "Grub-Queen's_Gardens_Stag", lambda state: state.count('Fungus3_10[bot1]', player) and (state.count('WINGS', player) or (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player))) and state.count("Defeated_West_Queen's_Gardens_Arena", player) or state.count('Fungus3_10[top1]', player)) hk_set_rule(hk_world, "Grub-Queen's_Gardens_Marmu", lambda state: (state.count('Fungus3_48[bot1]', player) or state.count('Fungus3_48[right2]', player)) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))))) - hk_set_rule(hk_world, "Grub-Queen's_Gardens_Top", lambda state: state.count('Fungus3_22', player) and ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and state.count('LEFTSUPERDASH', player) and (state.count('RIGHTSUPERDASH', player) or state.count('WINGS', player)) or (state._kh_option(player, 'ComplexSkips') and (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and state.count('WINGS', player) and state.count('LEFTCLAW', player) and (state.count('RIGHTCLAW', player) and (state.count('Sharp_Shadow', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('LEFTDASH', player)) and state.count('Can_Bench', player)) or (state.count('RIGHTCLAW', player) and state.count('LEFTDASH', player) and state._kh_option(player, 'DifficultSkips')) or ((state.count('Sharp_Shadow', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('LEFTDASH', player)) and state.count('Can_Bench', player)) and state._kh_option(player, 'DifficultSkips')))))) - hk_set_rule(hk_world, "Grub-Collector_1", lambda state: state.count('Ruins2_11[right1]', player) and (state.count('LEFTCLAW', player) or ((state.count('WINGS', player) or state.count('RIGHTDASH', player)) and state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._kh_option(player, 'ComplexSkips'))) and state.count('Defeated_Collector', player)) - hk_set_rule(hk_world, "Grub-Collector_2", lambda state: state.count('Ruins2_11[right1]', player) and (state.count('LEFTCLAW', player) or ((state.count('WINGS', player) or state.count('RIGHTDASH', player)) and state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._kh_option(player, 'ComplexSkips'))) and state.count('Defeated_Collector', player)) - hk_set_rule(hk_world, "Grub-Collector_3", lambda state: state.count('Ruins2_11[right1]', player) and (state.count('LEFTCLAW', player) or ((state.count('WINGS', player) or state.count('RIGHTDASH', player)) and state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._kh_option(player, 'ComplexSkips'))) and state.count('Defeated_Collector', player)) + hk_set_rule(hk_world, "Grub-Queen's_Gardens_Top", lambda state: state.count('Fungus3_22', player) and ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and state.count('LEFTSUPERDASH', player) and (state.count('RIGHTSUPERDASH', player) or state.count('WINGS', player)) or (state._hk_option(player, 'ComplexSkips') and (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and state.count('WINGS', player) and state.count('LEFTCLAW', player) and (state.count('RIGHTCLAW', player) and (state.count('Sharp_Shadow', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('LEFTDASH', player)) and state.count('Can_Bench', player)) or (state.count('RIGHTCLAW', player) and state.count('LEFTDASH', player) and state._hk_option(player, 'DifficultSkips')) or ((state.count('Sharp_Shadow', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('LEFTDASH', player)) and state.count('Can_Bench', player)) and state._hk_option(player, 'DifficultSkips')))))) + hk_set_rule(hk_world, "Grub-Collector_1", lambda state: state.count('Ruins2_11[right1]', player) and (state.count('LEFTCLAW', player) or ((state.count('WINGS', player) or state.count('RIGHTDASH', player)) and state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._hk_option(player, 'ComplexSkips'))) and state.count('Defeated_Collector', player)) + hk_set_rule(hk_world, "Grub-Collector_2", lambda state: state.count('Ruins2_11[right1]', player) and (state.count('LEFTCLAW', player) or ((state.count('WINGS', player) or state.count('RIGHTDASH', player)) and state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._hk_option(player, 'ComplexSkips'))) and state.count('Defeated_Collector', player)) + hk_set_rule(hk_world, "Grub-Collector_3", lambda state: state.count('Ruins2_11[right1]', player) and (state.count('LEFTCLAW', player) or ((state.count('WINGS', player) or state.count('RIGHTDASH', player)) and state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._hk_option(player, 'ComplexSkips'))) and state.count('Defeated_Collector', player)) hk_set_rule(hk_world, "Mimic_Grub-Deepnest_1", lambda state: state.count('Deepnest_36[left1]', player)) hk_set_rule(hk_world, "Mimic_Grub-Deepnest_2", lambda state: state.count('Deepnest_36[left1]', player)) hk_set_rule(hk_world, "Mimic_Grub-Deepnest_3", lambda state: state.count('Deepnest_36[left1]', player)) hk_set_rule(hk_world, "Mimic_Grub-Crystal_Peak", lambda state: state.count('Mines_16[top1]', player)) hk_set_rule(hk_world, "Crossroads_Map", lambda state: state.count('Crossroads_33', player)) hk_set_rule(hk_world, "Greenpath_Map", lambda state: state.count('Fungus1_06[left1]', player) or state.count('Fungus1_06[bot1]', player)) - hk_set_rule(hk_world, "Fog_Canyon_Map", lambda state: (state.count('Fungus3_25[left1]', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('RIGHTDASH', player)) or state.count('Fungus3_25[right1]', player)) and (state.count('LEFTCLAW', player) and state.count('LEFTDASH', player) and state._kh_option(player, 'EnemyPogos') or state.count('WINGS', player)) or (False and state.count('LEFTDASH', player) and state.count('LEFTCLAW', player))) + hk_set_rule(hk_world, "Fog_Canyon_Map", lambda state: (state.count('Fungus3_25[left1]', player) and ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('RIGHTDASH', player)) or state.count('Fungus3_25[right1]', player)) and (state.count('LEFTCLAW', player) and state.count('LEFTDASH', player) and state._hk_option(player, 'EnemyPogos') or state.count('WINGS', player)) or (False and state.count('LEFTDASH', player) and state.count('LEFTCLAW', player))) hk_set_rule(hk_world, "Fungal_Wastes_Map", lambda state: state.count('Fungus2_18[top1]', player) or state.count('Fungus2_18[right1]', player) or (state.count('Fungus2_18[bot1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Deepnest_Map-Upper", lambda state: state.count('Deepnest_01b', player)) hk_set_rule(hk_world, "Deepnest_Map-Right", lambda state: (state.count('Fungus2_25[top1]', player) or state.count('Fungus2_25[top2]', player) or state.count('Fungus2_25[right1]', player)) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) - hk_set_rule(hk_world, "Ancient_Basin_Map", lambda state: state.count('Abyss_04[top1]', player) and (state.count('RIGHTDASH', player) or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player) or state._kh_option(player, 'PreciseMovement')) or ((state.count('Abyss_04[left1]', player) or state.count('Abyss_04[right1]', player) or state.count('Abyss_04[bot1]', player)) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._kh_option(player, 'EnemyPogos'))))) + hk_set_rule(hk_world, "Ancient_Basin_Map", lambda state: state.count('Abyss_04[top1]', player) and (state.count('RIGHTDASH', player) or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player) or state._hk_option(player, 'PreciseMovement')) or ((state.count('Abyss_04[left1]', player) or state.count('Abyss_04[right1]', player) or state.count('Abyss_04[bot1]', player)) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._hk_option(player, 'EnemyPogos'))))) hk_set_rule(hk_world, "Kingdom's_Edge_Map", lambda state: state.count('Deepnest_East_03', player)) hk_set_rule(hk_world, "City_of_Tears_Map", lambda state: state.count('Ruins1_31', player) or state.count('Ruins1_31[bot1]', player) or state.count('Ruins1_31[left1]', player)) hk_set_rule(hk_world, "Royal_Waterways_Map", lambda state: (state.count('Waterways_09[left1]', player) or state.count('Waterways_09[right1]', player)) and (state.count('LEFTCLAW', player) or ((state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player)) and state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) or False) - hk_set_rule(hk_world, "Howling_Cliffs_Map", lambda state: state.count('Cliffs_01', player) and ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._kh_option(player, 'EnemyPogos') or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('Cliffs_01[right1]', player) or state.count('Cliffs_01[right2]', player))) + hk_set_rule(hk_world, "Howling_Cliffs_Map", lambda state: state.count('Cliffs_01', player) and ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._hk_option(player, 'EnemyPogos') or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('Cliffs_01[right1]', player) or state.count('Cliffs_01[right2]', player))) hk_set_rule(hk_world, "Crystal_Peak_Map", lambda state: state.count('Mines_30[right1]', player) or (state.count('RIGHTSUPERDASH', player) and state.count('Mines_30[left1]', player))) hk_set_rule(hk_world, "Queen's_Gardens_Map", lambda state: state.count('Fungus1_24[left1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player))) hk_set_rule(hk_world, "Resting_Grounds_Map", lambda state: state.count('RestingGrounds_09[left1]', player) or (state.count('Resting_Grounds_Stag', player) and state.count('Can_Stag', player))) @@ -1373,7 +1373,7 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Crossroads_Stag", lambda state: state.count('Crossroads_47[right1]', player) or (state.count('Crossroads_Stag', player) and state.count('Can_Stag', player))) hk_set_rule(hk_world, "Greenpath_Stag", lambda state: state.count('Fungus1_16_alt[right1]', player) or (state.count('Greenpath_Stag', player) and state.count('Can_Stag', player))) hk_set_rule(hk_world, "Queen's_Station_Stag", lambda state: state.count('Fungus2_02[right1]', player) or (state.count("Queen's_Station_Stag", player) and state.count('Can_Stag', player))) - hk_set_rule(hk_world, "Queen's_Gardens_Stag", lambda state: state.count('Fungus3_40[top1]', player) and (state.count('RIGHTDASH', player) or state.count('WINGS', player) or state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player)) or state._kh_option(player, 'EnemyPogos') or state._kh_option(player, 'ShadeSkips') or ((state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True)) or state.count('Fungus3_40[right1]', player) or (state.count("Queen's_Gardens_Stag", player) and state.count('Can_Stag', player))) + hk_set_rule(hk_world, "Queen's_Gardens_Stag", lambda state: state.count('Fungus3_40[top1]', player) and (state.count('RIGHTDASH', player) or state.count('WINGS', player) or state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player)) or state._hk_option(player, 'EnemyPogos') or state._hk_option(player, 'ShadeSkips') or ((state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and True)) or state.count('Fungus3_40[right1]', player) or (state.count("Queen's_Gardens_Stag", player) and state.count('Can_Stag', player))) hk_set_rule(hk_world, "City_Storerooms_Stag", lambda state: state.count('Ruins1_29[left1]', player) or (state.count('City_Storerooms_Stag', player) and state.count('Can_Stag', player))) hk_set_rule(hk_world, "King's_Station_Stag", lambda state: state.count('Ruins2_08[left1]', player) or (state.count("King's_Station_Stag", player) and state.count('Can_Stag', player))) hk_set_rule(hk_world, "Resting_Grounds_Stag", lambda state: state.count('RestingGrounds_09[left1]', player) or (state.count('Resting_Grounds_Stag', player) and state.count('Can_Stag', player))) @@ -1381,54 +1381,54 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Hidden_Station_Stag", lambda state: state.count('Abyss_22[left1]', player) or (state.count('Hidden_Station_Stag', player) and state.count('Can_Stag', player))) hk_set_rule(hk_world, "Stag_Nest_Stag", lambda state: state.count('Cliffs_03[right1]', player) or (state.count('STAGS', player) > 8 and state.count('Can_Stag', player))) hk_set_rule(hk_world, "Lifeblood_Cocoon-King's_Pass", lambda state: state.count('Tutorial_01', player)) - hk_set_rule(hk_world, "Lifeblood_Cocoon-Ancestral_Mound", lambda state: state.count('Crossroads_ShamanTemple[left1]', player) and (((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))) or ((state.count('LEFTSUPERDASH', player) and state.count('RIGHTCLAW', player) or (state.count('RIGHTSUPERDASH', player) and state.count('LEFTCLAW', player))) and state._kh_option(player, 'ObscureSkips')))) + hk_set_rule(hk_world, "Lifeblood_Cocoon-Ancestral_Mound", lambda state: state.count('Crossroads_ShamanTemple[left1]', player) and (((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))) or ((state.count('LEFTSUPERDASH', player) and state.count('RIGHTCLAW', player) or (state.count('RIGHTSUPERDASH', player) and state.count('LEFTCLAW', player))) and state._hk_option(player, 'ObscureSkips')))) hk_set_rule(hk_world, "Lifeblood_Cocoon-Greenpath", lambda state: state.count('Fungus1_32[bot1]', player) or state.count('Fungus1_32[top1]', player) or state.count('Fungus1_32[left1]', player)) hk_set_rule(hk_world, "Lifeblood_Cocoon-Fog_Canyon_West", lambda state: state.count('Fungus3_30[bot1]', player)) hk_set_rule(hk_world, "Lifeblood_Cocoon-Mantis_Village", lambda state: (state.count('Fungus2_15[top3]', player) or state.count('Fungus2_15[right1]', player) or state.count('Fungus2_15[left1]', player)) and (state.count('LEFTCLAW', player) and state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and state.count('LEFTSUPERDASH', player)))) - hk_set_rule(hk_world, "Lifeblood_Cocoon-Failed_Tramway", lambda state: state.count('Deepnest_26', player) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and (state._kh_option(player, 'EnemyPogos') or state._kh_option(player, 'ShadeSkips'))))) + hk_set_rule(hk_world, "Lifeblood_Cocoon-Failed_Tramway", lambda state: state.count('Deepnest_26', player) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and (state._hk_option(player, 'EnemyPogos') or state._hk_option(player, 'ShadeSkips'))))) hk_set_rule(hk_world, "Lifeblood_Cocoon-Galien", lambda state: state.count('Deepnest_40[right1]', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and state.count('LEFTCLAW', player)))) hk_set_rule(hk_world, "Lifeblood_Cocoon-Kingdom's_Edge", lambda state: state.count('Deepnest_East_15[left1]', player)) hk_set_rule(hk_world, "Grimmkin_Flame-City_Storerooms", lambda state: state.count('Ruins1_28', player) and state.count('GRIMMCHILD', player)) hk_set_rule(hk_world, "Grimmkin_Flame-Greenpath", lambda state: (state.count('Fungus1_10[left1]', player) or state.count('Fungus1_10[top1]', player) or state.count('Fungus1_10[right1]', player)) and state.count('GRIMMCHILD', player)) - hk_set_rule(hk_world, "Grimmkin_Flame-Crystal_Peak", lambda state: ((state.count('Mines_10[left1]', player) or state.count('Mines_10[bot1]', player)) and (state.count('WINGS', player) and state.count('RIGHTDASH', player) and (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('RIGHTSUPERDASH', player) and state._kh_option(player, 'ShadeSkips') and (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and (state.count('MASKSHARDS', player) > 15))) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and state.count('RIGHTSUPERDASH', player))) or (state.count('Mines_10[right1]', player) and (state.count('LEFTSUPERDASH', player) or (state.count('LEFTDASH', player) and state.count('WINGS', player) and ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))))))) and state.count('GRIMMCHILD', player)) + hk_set_rule(hk_world, "Grimmkin_Flame-Crystal_Peak", lambda state: ((state.count('Mines_10[left1]', player) or state.count('Mines_10[bot1]', player)) and (state.count('WINGS', player) and state.count('RIGHTDASH', player) and (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('RIGHTSUPERDASH', player) and state._hk_option(player, 'ShadeSkips') and (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and (state.count('MASKSHARDS', player) > 15))) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and state.count('RIGHTSUPERDASH', player))) or (state.count('Mines_10[right1]', player) and (state.count('LEFTSUPERDASH', player) or (state.count('LEFTDASH', player) and state.count('WINGS', player) and ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))))))) and state.count('GRIMMCHILD', player)) hk_set_rule(hk_world, "Grimmkin_Flame-King's_Pass", lambda state: state.count('Tutorial_01', player) and state.count('First_Grimmchild_Upgrade', player)) hk_set_rule(hk_world, "Grimmkin_Flame-Resting_Grounds", lambda state: (state.count('RestingGrounds_06[left1]', player) or state.count('RestingGrounds_06[right1]', player) or state.count('RestingGrounds_06[top1]', player)) and state.count('First_Grimmchild_Upgrade', player)) hk_set_rule(hk_world, "Grimmkin_Flame-Kingdom's_Edge", lambda state: state.count('Deepnest_East_03', player) and state.count('First_Grimmchild_Upgrade', player)) hk_set_rule(hk_world, "Grimmkin_Flame-Fungal_Core", lambda state: state.count('Fungus2_30[top1]', player) and state.count('Second_Grimmchild_Upgrade', player)) - hk_set_rule(hk_world, "Grimmkin_Flame-Ancient_Basin", lambda state: (state.count('Abyss_02[right1]', player) or (state.count('Abyss_02[bot1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player)) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player) or state._kh_option(player, 'EnemyPogos')))) and state.count('Second_Grimmchild_Upgrade', player)) - hk_set_rule(hk_world, "Grimmkin_Flame-Hive", lambda state: (state.count('Hive_03[right1]', player) or (state.count('Hive_03[bot1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or state.count('WINGS', player) or ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._kh_option(player, 'EnemyPogos'))))) and state.count('Second_Grimmchild_Upgrade', player)) + hk_set_rule(hk_world, "Grimmkin_Flame-Ancient_Basin", lambda state: (state.count('Abyss_02[right1]', player) or (state.count('Abyss_02[bot1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player)) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player) or state._hk_option(player, 'EnemyPogos')))) and state.count('Second_Grimmchild_Upgrade', player)) + hk_set_rule(hk_world, "Grimmkin_Flame-Hive", lambda state: (state.count('Hive_03[right1]', player) or (state.count('Hive_03[bot1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or state.count('WINGS', player) or ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._hk_option(player, 'EnemyPogos'))))) and state.count('Second_Grimmchild_Upgrade', player)) hk_set_rule(hk_world, "Grimmkin_Flame-Brumm", lambda state: state.count('Room_spider_small[left1]', player) and state.count('Second_Grimmchild_Upgrade', player)) hk_set_rule(hk_world, "Hunter's_Journal", lambda state: state.count('Fungus1_08[left1]', player)) hk_set_rule(hk_world, "Journal_Entry-Void_Tendrils", lambda state: state.count('Abyss_09[right3]', player)) - hk_set_rule(hk_world, "Journal_Entry-Charged_Lumafly", lambda state: state.count('Fungus3_archive_02[top1]', player) and state.count('Defeated_Uumuu', player) and ((state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state.count('WINGS', player))) and (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player) or state.count('ACID', player)) or (state._kh_option(player, 'AcidSkips') and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and state.count('WINGS', player)))) + hk_set_rule(hk_world, "Journal_Entry-Charged_Lumafly", lambda state: state.count('Fungus3_archive_02[top1]', player) and state.count('Defeated_Uumuu', player) and ((state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state.count('WINGS', player))) and (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player) or state.count('ACID', player)) or (state._hk_option(player, 'AcidSkips') and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and state.count('WINGS', player)))) hk_set_rule(hk_world, "Journal_Entry-Goam", lambda state: state.count('Crossroads_52[left1]', player) and state.count('QUAKE', player)) hk_set_rule(hk_world, "Journal_Entry-Garpede", lambda state: state.count('Deepnest_44[top1]', player)) hk_set_rule(hk_world, "Journal_Entry-Seal_of_Binding", lambda state: state.count('White_Palace_20[bot1]', player) and state.count('Completed_Path_of_Pain', player)) hk_set_rule(hk_world, "Elevator_Pass", lambda state: state.count('Crossroads_49b[right1]', player)) hk_set_rule(hk_world, "Split_Mothwing_Cloak", lambda state: state.count('Fungus1_04[right1]', player) and state.count('Defeated_Hornet_1', player)) - hk_set_rule(hk_world, "Left_Mantis_Claw", lambda state: state.count('Fungus2_14', player) and (state.count('LEFTDASH', player) or state.count('WINGS', player) or (state.count('LEFTSUPERDASH', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or state._kh_option(player, 'EnemyPogos'))) - hk_set_rule(hk_world, "Right_Mantis_Claw", lambda state: state.count('Fungus2_14', player) and (state.count('LEFTDASH', player) or state.count('WINGS', player) or (state.count('LEFTSUPERDASH', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or state._kh_option(player, 'EnemyPogos'))) - hk_set_rule(hk_world, "Split_Crystal_Heart", lambda state: state.count('Mines_31[left1]', player) and (state.count('RIGHTSUPERDASH', player) or (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state.count('WINGS', player) or (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))))) or (state.count('WINGS', player) and state._kh_option(player, 'ShadeSkips') and (state.count('MASKSHARDS', player) > 15)))) + hk_set_rule(hk_world, "Left_Mantis_Claw", lambda state: state.count('Fungus2_14', player) and (state.count('LEFTDASH', player) or state.count('WINGS', player) or (state.count('LEFTSUPERDASH', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or state._hk_option(player, 'EnemyPogos'))) + hk_set_rule(hk_world, "Right_Mantis_Claw", lambda state: state.count('Fungus2_14', player) and (state.count('LEFTDASH', player) or state.count('WINGS', player) or (state.count('LEFTSUPERDASH', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or state._hk_option(player, 'EnemyPogos'))) + hk_set_rule(hk_world, "Split_Crystal_Heart", lambda state: state.count('Mines_31[left1]', player) and (state.count('RIGHTSUPERDASH', player) or (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state.count('WINGS', player) or (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))))) or (state.count('WINGS', player) and state._hk_option(player, 'ShadeSkips') and (state.count('MASKSHARDS', player) > 15)))) hk_set_rule(hk_world, "Leftslash", lambda state: state.count('Tutorial_01', player)) hk_set_rule(hk_world, "Rightslash", lambda state: state.count('Tutorial_01', player)) hk_set_rule(hk_world, "Upslash", lambda state: state.count('Tutorial_01', player)) hk_set_rule(hk_world, "Egg_Shop", lambda state: state.count('Room_Ouiji[left1]', player)) hk_set_rule(hk_world, "Geo_Rock-Broken_Elevator_1", lambda state: state.count('Abyss_01[right1]', player) or state.count('Abyss_01[left1]', player) or (state.count('Abyss_01', player) and (state.count('WINGS', player) or state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))))) - hk_set_rule(hk_world, "Geo_Rock-Broken_Elevator_2", lambda state: (state.count('Abyss_01[right1]', player) or state.count('Abyss_01[left1]', player) or (state.count('Abyss_01', player) and (state.count('WINGS', player) or state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))))) and (state.count('RIGHTDASH', player) or state._kh_option(player, 'SpikeTunnels'))) + hk_set_rule(hk_world, "Geo_Rock-Broken_Elevator_2", lambda state: (state.count('Abyss_01[right1]', player) or state.count('Abyss_01[left1]', player) or (state.count('Abyss_01', player) and (state.count('WINGS', player) or state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))))) and (state.count('RIGHTDASH', player) or state._hk_option(player, 'SpikeTunnels'))) hk_set_rule(hk_world, "Geo_Rock-Broken_Elevator_3", lambda state: state.count('Abyss_01[right1]', player) or state.count('Abyss_01[left1]', player) or (state.count('Abyss_01', player) and (state.count('WINGS', player) or state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))))) - hk_set_rule(hk_world, "Geo_Rock-Broken_Bridge_Upper", lambda state: (state.count('Abyss_02[right1]', player) or (state.count('Abyss_02[bot1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player)))) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos'))) + hk_set_rule(hk_world, "Geo_Rock-Broken_Bridge_Upper", lambda state: (state.count('Abyss_02[right1]', player) or (state.count('Abyss_02[bot1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player)))) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos'))) hk_set_rule(hk_world, "Geo_Rock-Broken_Bridge_Lower", lambda state: state.count('Abyss_02[right1]', player) or (state.count('Abyss_02[bot1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Geo_Rock-Broken_Bridge_Lower_Dupe", lambda state: state.count('Abyss_02[right1]', player) or (state.count('Abyss_02[bot1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Geo_Rock-Abyss_1", lambda state: state.count('Abyss_06_Core[top1]', player) and state.count('BRAND', player) and (state.count('LEFTDASH', player) or state.count('LEFTCLAW', player) or state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player)) or ((state.count('Abyss_06_Core[left1]', player) or state.count('Abyss_06_Core[left3]', player) or state.count('Abyss_06_Core[right2]', player) or state.count('Abyss_06_Core[bot1]', player)) and ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Geo_Rock-Abyss_2", lambda state: state.count('Abyss_06_Core[top1]', player) and state.count('BRAND', player) and (state.count('LEFTDASH', player) or state.count('LEFTCLAW', player) or state.count('WINGS', player)) or ((state.count('Abyss_06_Core[left1]', player) or state.count('Abyss_06_Core[left3]', player) or state.count('Abyss_06_Core[right2]', player) or state.count('Abyss_06_Core[bot1]', player)) and ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) or state.count('WINGS', player)))) - hk_set_rule(hk_world, "Geo_Rock-Abyss_3", lambda state: state.count('Abyss_06_Core[top1]', player) and state.count('BRAND', player) or ((state.count('Abyss_06_Core[left3]', player) or state.count('Abyss_06_Core[right2]', player) or state.count('Abyss_06_Core[bot1]', player)) and (state.count('LEFTCLAW', player) and (state._kh_option(player, 'PreciseMovement') or state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) or state.count('WINGS', player))) or state.count('Abyss_06_Core[left1]', player)) + hk_set_rule(hk_world, "Geo_Rock-Abyss_3", lambda state: state.count('Abyss_06_Core[top1]', player) and state.count('BRAND', player) or ((state.count('Abyss_06_Core[left3]', player) or state.count('Abyss_06_Core[right2]', player) or state.count('Abyss_06_Core[bot1]', player)) and (state.count('LEFTCLAW', player) and (state._hk_option(player, 'PreciseMovement') or state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) or state.count('WINGS', player))) or state.count('Abyss_06_Core[left1]', player)) hk_set_rule(hk_world, "Geo_Rock-Basin_Tunnel", lambda state: state.count('Abyss_18[right1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or state.count('LEFTSUPERDASH', player)) or (state.count('Abyss_18[left1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player)))) hk_set_rule(hk_world, "Geo_Rock-Basin_Grub", lambda state: state.count('Abyss_19', player) and state.count('WINGS', player)) hk_set_rule(hk_world, "Geo_Rock-Basin_Before_Broken_Vessel", lambda state: state.count('Abyss_19[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) or state.count('Abyss_19[bot2]', player) or state.count('Abyss_19[right1]', player)) - hk_set_rule(hk_world, "Geo_Rock-Cliffs_Main_1", lambda state: state.count('Cliffs_01[right1]', player) or (state.count('Cliffs_01[right2]', player) and (state.count('LEFTDASH', player) or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player))) or ((state.count('Cliffs_01[right3]', player) or state.count('Cliffs_01[right4]', player)) and ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._kh_option(player, 'EnemyPogos') or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) - hk_set_rule(hk_world, "Geo_Rock-Cliffs_Main_2", lambda state: state.count('Cliffs_01[right1]', player) or state.count('Cliffs_01[right2]', player) or ((state.count('Cliffs_01[right3]', player) or state.count('Cliffs_01[right4]', player)) and ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._kh_option(player, 'EnemyPogos') or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) - hk_set_rule(hk_world, "Geo_Rock-Cliffs_Main_3", lambda state: (state.count('Cliffs_01[right1]', player) or state.count('Cliffs_01[right2]', player)) and (state.count('RIGHTDASH', player) or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player) or state._kh_option(player, 'EnemyPogos') or (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))) or ((state.count('Cliffs_01[right3]', player) or state.count('Cliffs_01[right4]', player)) and ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._kh_option(player, 'EnemyPogos') or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) - hk_set_rule(hk_world, "Geo_Rock-Cliffs_Main_4", lambda state: state.count('Cliffs_01[right1]', player) or state.count('Cliffs_01[right2]', player) or ((state.count('Cliffs_01[right3]', player) or state.count('Cliffs_01[right4]', player)) and ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._kh_option(player, 'EnemyPogos') or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) + hk_set_rule(hk_world, "Geo_Rock-Cliffs_Main_1", lambda state: state.count('Cliffs_01[right1]', player) or (state.count('Cliffs_01[right2]', player) and (state.count('LEFTDASH', player) or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player))) or ((state.count('Cliffs_01[right3]', player) or state.count('Cliffs_01[right4]', player)) and ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._hk_option(player, 'EnemyPogos') or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) + hk_set_rule(hk_world, "Geo_Rock-Cliffs_Main_2", lambda state: state.count('Cliffs_01[right1]', player) or state.count('Cliffs_01[right2]', player) or ((state.count('Cliffs_01[right3]', player) or state.count('Cliffs_01[right4]', player)) and ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._hk_option(player, 'EnemyPogos') or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) + hk_set_rule(hk_world, "Geo_Rock-Cliffs_Main_3", lambda state: (state.count('Cliffs_01[right1]', player) or state.count('Cliffs_01[right2]', player)) and (state.count('RIGHTDASH', player) or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player) or state._hk_option(player, 'EnemyPogos') or (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))) or ((state.count('Cliffs_01[right3]', player) or state.count('Cliffs_01[right4]', player)) and ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._hk_option(player, 'EnemyPogos') or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) + hk_set_rule(hk_world, "Geo_Rock-Cliffs_Main_4", lambda state: state.count('Cliffs_01[right1]', player) or state.count('Cliffs_01[right2]', player) or ((state.count('Cliffs_01[right3]', player) or state.count('Cliffs_01[right4]', player)) and ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._hk_option(player, 'EnemyPogos') or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Geo_Rock-Below_Gorb_Dupe", lambda state: state.count('Cliffs_02', player)) hk_set_rule(hk_world, "Geo_Rock-Below_Gorb", lambda state: state.count('Cliffs_02', player)) hk_set_rule(hk_world, "Geo_Rock-Crossroads_Well", lambda state: state.count('Crossroads_01[left1]', player) or state.count('Crossroads_01[top1]', player) or state.count('Crossroads_01[right1]', player)) @@ -1458,10 +1458,10 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Geo_Rock-Crossroads_Tram", lambda state: state.count('Crossroads_46[left1]', player) or (state.count('Crossroads_46b[right1]', player) and state.count('TRAM', player))) hk_set_rule(hk_world, "Geo_Rock-Crossroads_Goam_Journal", lambda state: state.count('Crossroads_52[left1]', player) and state.count('QUAKE', player)) hk_set_rule(hk_world, "Geo_Rock-Crossroads_Goam_Journal_Dupe", lambda state: state.count('Crossroads_52[left1]', player) and state.count('QUAKE', player)) - hk_set_rule(hk_world, "Geo_Rock-Ancestral_Mound", lambda state: state.count('Crossroads_ShamanTemple[left1]', player) and (((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))) or ((state.count('LEFTSUPERDASH', player) and state.count('RIGHTCLAW', player) or (state.count('RIGHTSUPERDASH', player) and state.count('LEFTCLAW', player))) and state._kh_option(player, 'ObscureSkips')))) - hk_set_rule(hk_world, "Geo_Rock-Ancestral_Mound_Dupe", lambda state: state.count('Crossroads_ShamanTemple[left1]', player) and (((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))) or ((state.count('LEFTSUPERDASH', player) and state.count('RIGHTCLAW', player) or (state.count('RIGHTSUPERDASH', player) and state.count('LEFTCLAW', player))) and state._kh_option(player, 'ObscureSkips')))) - hk_set_rule(hk_world, "Geo_Rock-Ancestral_Mound_Tree", lambda state: state.count('Crossroads_ShamanTemple[left1]', player) and state.count('WINGS', player) and (((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))) or ((state.count('LEFTSUPERDASH', player) and state.count('RIGHTCLAW', player) or (state.count('RIGHTSUPERDASH', player) and state.count('LEFTCLAW', player))) and state._kh_option(player, 'ObscureSkips')))) - hk_set_rule(hk_world, "Geo_Rock-Ancestral_Mound_Tree_Dupe", lambda state: state.count('Crossroads_ShamanTemple[left1]', player) and state.count('WINGS', player) and (((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))) or ((state.count('LEFTSUPERDASH', player) and state.count('RIGHTCLAW', player) or (state.count('RIGHTSUPERDASH', player) and state.count('LEFTCLAW', player))) and state._kh_option(player, 'ObscureSkips')))) + hk_set_rule(hk_world, "Geo_Rock-Ancestral_Mound", lambda state: state.count('Crossroads_ShamanTemple[left1]', player) and (((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))) or ((state.count('LEFTSUPERDASH', player) and state.count('RIGHTCLAW', player) or (state.count('RIGHTSUPERDASH', player) and state.count('LEFTCLAW', player))) and state._hk_option(player, 'ObscureSkips')))) + hk_set_rule(hk_world, "Geo_Rock-Ancestral_Mound_Dupe", lambda state: state.count('Crossroads_ShamanTemple[left1]', player) and (((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))) or ((state.count('LEFTSUPERDASH', player) and state.count('RIGHTCLAW', player) or (state.count('RIGHTSUPERDASH', player) and state.count('LEFTCLAW', player))) and state._hk_option(player, 'ObscureSkips')))) + hk_set_rule(hk_world, "Geo_Rock-Ancestral_Mound_Tree", lambda state: state.count('Crossroads_ShamanTemple[left1]', player) and state.count('WINGS', player) and (((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))) or ((state.count('LEFTSUPERDASH', player) and state.count('RIGHTCLAW', player) or (state.count('RIGHTSUPERDASH', player) and state.count('LEFTCLAW', player))) and state._hk_option(player, 'ObscureSkips')))) + hk_set_rule(hk_world, "Geo_Rock-Ancestral_Mound_Tree_Dupe", lambda state: state.count('Crossroads_ShamanTemple[left1]', player) and state.count('WINGS', player) and (((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))) or ((state.count('LEFTSUPERDASH', player) and state.count('RIGHTCLAW', player) or (state.count('RIGHTSUPERDASH', player) and state.count('LEFTCLAW', player))) and state._hk_option(player, 'ObscureSkips')))) hk_set_rule(hk_world, "Geo_Rock-Moss_Prophet", lambda state: state.count('Deepnest_01', player)) hk_set_rule(hk_world, "Geo_Rock-Moss_Prophet_Dupe", lambda state: state.count('Deepnest_01', player)) hk_set_rule(hk_world, "Geo_Rock-Deepnest_Below_Mimics", lambda state: state.count('Deepnest_02', player)) @@ -1477,35 +1477,35 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Geo_Rock-Deepnest_Nosk_1", lambda state: state.count('Deepnest_31[right1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('LEFTDASH', player)) or (state.count('Deepnest_31[right2]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Geo_Rock-Deepnest_Nosk_2", lambda state: state.count('Deepnest_31[right1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('LEFTDASH', player)) or (state.count('Deepnest_31[right2]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Geo_Rock-Deepnest_Nosk_3", lambda state: state.count('Deepnest_31[right2]', player) or (state.count('Deepnest_31[right1]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)))) - hk_set_rule(hk_world, "Geo_Rock-Deepnest_Above_Galien", lambda state: (state.count('LANTERN', player) or state._kh_option(player, 'DarkRooms')) and (state.count('Deepnest_35[top1]', player) or (state.count('Deepnest_35', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))))) + hk_set_rule(hk_world, "Geo_Rock-Deepnest_Above_Galien", lambda state: (state.count('LANTERN', player) or state._hk_option(player, 'DarkRooms')) and (state.count('Deepnest_35[top1]', player) or (state.count('Deepnest_35', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))))) hk_set_rule(hk_world, "Geo_Rock-Deepnest_Galien_Spike", lambda state: state.count('Deepnest_35', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and state.count('LEFTCLAW', player)))) hk_set_rule(hk_world, "Geo_Rock-Deepnest_Garpede_1", lambda state: state.count('Deepnest_37', player)) hk_set_rule(hk_world, "Geo_Rock-Deepnest_Garpede_2", lambda state: state.count('Deepnest_37', player)) - hk_set_rule(hk_world, "Geo_Rock-Dark_Deepnest_Above_Grub_1", lambda state: (state.count('LANTERN', player) or state._kh_option(player, 'DarkRooms')) and (state.count('Deepnest_39', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state._kh_option(player, 'EnemyPogos')))) or state.count('Deepnest_39[top1]', player) or (state.count('Deepnest_39[left1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('RIGHTDASH', player))))) - hk_set_rule(hk_world, "Geo_Rock-Dark_Deepnest_Above_Grub_2", lambda state: (state.count('LANTERN', player) or state._kh_option(player, 'DarkRooms')) and (state.count('Deepnest_39', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state._kh_option(player, 'EnemyPogos')))) or state.count('Deepnest_39[top1]', player) or (state.count('Deepnest_39[left1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('RIGHTDASH', player))))) + hk_set_rule(hk_world, "Geo_Rock-Dark_Deepnest_Above_Grub_1", lambda state: (state.count('LANTERN', player) or state._hk_option(player, 'DarkRooms')) and (state.count('Deepnest_39', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state._hk_option(player, 'EnemyPogos')))) or state.count('Deepnest_39[top1]', player) or (state.count('Deepnest_39[left1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('RIGHTDASH', player))))) + hk_set_rule(hk_world, "Geo_Rock-Dark_Deepnest_Above_Grub_2", lambda state: (state.count('LANTERN', player) or state._hk_option(player, 'DarkRooms')) and (state.count('Deepnest_39', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state._hk_option(player, 'EnemyPogos')))) or state.count('Deepnest_39[top1]', player) or (state.count('Deepnest_39[left1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('RIGHTDASH', player))))) hk_set_rule(hk_world, "Geo_Rock-Dark_Deepnest_Bottom_Left", lambda state: state.count('Deepnest_39', player)) hk_set_rule(hk_world, "Geo_Rock-Above_Mask_Maker_1", lambda state: (state.count('Deepnest_43[bot1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) or state.count('Deepnest_43[left1]', player) or state.count('Deepnest_43[right1]', player)) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player))) hk_set_rule(hk_world, "Geo_Rock-Above_Mask_Maker_2", lambda state: (state.count('Deepnest_43[bot1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) or state.count('Deepnest_43[left1]', player) or state.count('Deepnest_43[right1]', player)) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player))) - hk_set_rule(hk_world, "Geo_Rock-Lower_Kingdom's_Edge_1", lambda state: (state.count('Deepnest_East_01[bot1]', player) or state.count('Deepnest_East_01[top1]', player) or state.count('Deepnest_East_01[right1]', player)) and (state.count('LEFTDASH', player) or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos'))) - hk_set_rule(hk_world, "Geo_Rock-Lower_Kingdom's_Edge_2", lambda state: (state.count('Deepnest_East_01[bot1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player)) or state.count('Deepnest_East_01[top1]', player) or state.count('Deepnest_East_01[right1]', player)) and (state.count('LEFTDASH', player) or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos'))) + hk_set_rule(hk_world, "Geo_Rock-Lower_Kingdom's_Edge_1", lambda state: (state.count('Deepnest_East_01[bot1]', player) or state.count('Deepnest_East_01[top1]', player) or state.count('Deepnest_East_01[right1]', player)) and (state.count('LEFTDASH', player) or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos'))) + hk_set_rule(hk_world, "Geo_Rock-Lower_Kingdom's_Edge_2", lambda state: (state.count('Deepnest_East_01[bot1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player)) or state.count('Deepnest_East_01[top1]', player) or state.count('Deepnest_East_01[right1]', player)) and (state.count('LEFTDASH', player) or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos'))) hk_set_rule(hk_world, "Geo_Rock-Lower_Kingdom's_Edge_3", lambda state: state.count('Deepnest_East_02', player)) - hk_set_rule(hk_world, "Geo_Rock-Lower_Kingdom's_Edge_Dive", lambda state: state.count('Deepnest_East_02', player) and state.count('QUAKE', player) or (state.count('Deepnest_East_02[bot2]', player) and (state.count('ACID', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('RIGHTSUPERDASH', player) and state._kh_option(player, 'AcidSkips'))))) + hk_set_rule(hk_world, "Geo_Rock-Lower_Kingdom's_Edge_Dive", lambda state: state.count('Deepnest_East_02', player) and state.count('QUAKE', player) or (state.count('Deepnest_East_02[bot2]', player) and (state.count('ACID', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('RIGHTSUPERDASH', player) and state._hk_option(player, 'AcidSkips'))))) hk_set_rule(hk_world, "Geo_Rock-Kingdom's_Edge_Below_Bardoon", lambda state: state.count('Deepnest_East_04', player)) - hk_set_rule(hk_world, "Geo_Rock-Kingdom's_Edge_Oro_Far_Left", lambda state: (state.count('Deepnest_East_06[left1]', player) or state.count('Deepnest_East_06[top1]', player) or ((state.count('Deepnest_East_06[bot1]', player) or state.count('Deepnest_East_06[door1]', player) or state.count('Deepnest_East_06[right1]', player)) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state._kh_option(player, 'EnemyPogos'))))) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and state.count('LEFTCLAW', player) and state._kh_option(player, 'EnemyPogos')) or (state.count('WINGS', player) and state._kh_option(player, 'ShadeSkips')))) - hk_set_rule(hk_world, "Geo_Rock-Kingdom's_Edge_Oro_Middle_Left", lambda state: state.count('Deepnest_East_06[top1]', player) or (state.count('Deepnest_East_06[left1]', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and state._kh_option(player, 'BackgroundObjectPogos')))) or ((state.count('Deepnest_East_06[bot1]', player) or state.count('Deepnest_East_06[door1]', player) or state.count('Deepnest_East_06[right1]', player)) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state._kh_option(player, 'EnemyPogos'))))) + hk_set_rule(hk_world, "Geo_Rock-Kingdom's_Edge_Oro_Far_Left", lambda state: (state.count('Deepnest_East_06[left1]', player) or state.count('Deepnest_East_06[top1]', player) or ((state.count('Deepnest_East_06[bot1]', player) or state.count('Deepnest_East_06[door1]', player) or state.count('Deepnest_East_06[right1]', player)) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state._hk_option(player, 'EnemyPogos'))))) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and state.count('LEFTCLAW', player) and state._hk_option(player, 'EnemyPogos')) or (state.count('WINGS', player) and state._hk_option(player, 'ShadeSkips')))) + hk_set_rule(hk_world, "Geo_Rock-Kingdom's_Edge_Oro_Middle_Left", lambda state: state.count('Deepnest_East_06[top1]', player) or (state.count('Deepnest_East_06[left1]', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and state._hk_option(player, 'BackgroundObjectPogos')))) or ((state.count('Deepnest_East_06[bot1]', player) or state.count('Deepnest_East_06[door1]', player) or state.count('Deepnest_East_06[right1]', player)) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state._hk_option(player, 'EnemyPogos'))))) hk_set_rule(hk_world, "Geo_Rock-Kingdom's_Edge_Above_Root", lambda state: state.count('Deepnest_East_07', player)) hk_set_rule(hk_world, "Geo_Rock-Kingdom's_Edge_Above_Tower", lambda state: state.count('Deepnest_East_07', player)) hk_set_rule(hk_world, "Geo_Rock-Kingdom's_Edge_Below_Colosseum", lambda state: (state.count('Deepnest_East_08[top1]', player) or (state.count('Deepnest_East_08[right1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('RIGHTDASH', player))) hk_set_rule(hk_world, "Geo_Rock-Kingdom's_Edge_Above_420_Geo_Rock", lambda state: state.count('Deepnest_East_17[left1]', player) and state.count('QUAKE', player)) hk_set_rule(hk_world, "Geo_Rock-Kingdom's_Edge_420_Geo_Rock", lambda state: state.count('Deepnest_East_17[left1]', player) and state.count('QUAKE', player)) - hk_set_rule(hk_world, "Geo_Rock-Beast's_Den_Above_Trilobite", lambda state: state.count('Deepnest_Spider_Town[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or (state.count('WINGS', player) and state._kh_option(player, 'ComplexSkips') and state._kh_option(player, 'ShadeSkips') and (state.count('MASKSHARDS', player) > 15)))) - hk_set_rule(hk_world, "Geo_Rock-Beast's_Den_Above_Trilobite_Dupe", lambda state: state.count('Deepnest_Spider_Town[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or (state.count('WINGS', player) and state._kh_option(player, 'ComplexSkips') and state._kh_option(player, 'ShadeSkips') and (state.count('MASKSHARDS', player) > 15)))) - hk_set_rule(hk_world, "Geo_Rock-Beast's_Den_Below_Herrah", lambda state: state.count('Deepnest_Spider_Town[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or (state.count('WINGS', player) and state._kh_option(player, 'ComplexSkips') and state._kh_option(player, 'ShadeSkips') and (state.count('MASKSHARDS', player) > 15)))) - hk_set_rule(hk_world, "Geo_Rock-Beast's_Den_Below_Egg", lambda state: state.count('Deepnest_Spider_Town[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or (state.count('WINGS', player) and state._kh_option(player, 'ComplexSkips') and state._kh_option(player, 'ShadeSkips') and (state.count('MASKSHARDS', player) > 15)))) - hk_set_rule(hk_world, "Geo_Rock-Beast's_Den_Below_Egg_Dupe", lambda state: state.count('Deepnest_Spider_Town[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or (state.count('WINGS', player) and state._kh_option(player, 'ComplexSkips') and state._kh_option(player, 'ShadeSkips') and (state.count('MASKSHARDS', player) > 15)))) + hk_set_rule(hk_world, "Geo_Rock-Beast's_Den_Above_Trilobite", lambda state: state.count('Deepnest_Spider_Town[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or (state.count('WINGS', player) and state._hk_option(player, 'ComplexSkips') and state._hk_option(player, 'ShadeSkips') and (state.count('MASKSHARDS', player) > 15)))) + hk_set_rule(hk_world, "Geo_Rock-Beast's_Den_Above_Trilobite_Dupe", lambda state: state.count('Deepnest_Spider_Town[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or (state.count('WINGS', player) and state._hk_option(player, 'ComplexSkips') and state._hk_option(player, 'ShadeSkips') and (state.count('MASKSHARDS', player) > 15)))) + hk_set_rule(hk_world, "Geo_Rock-Beast's_Den_Below_Herrah", lambda state: state.count('Deepnest_Spider_Town[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or (state.count('WINGS', player) and state._hk_option(player, 'ComplexSkips') and state._hk_option(player, 'ShadeSkips') and (state.count('MASKSHARDS', player) > 15)))) + hk_set_rule(hk_world, "Geo_Rock-Beast's_Den_Below_Egg", lambda state: state.count('Deepnest_Spider_Town[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or (state.count('WINGS', player) and state._hk_option(player, 'ComplexSkips') and state._hk_option(player, 'ShadeSkips') and (state.count('MASKSHARDS', player) > 15)))) + hk_set_rule(hk_world, "Geo_Rock-Beast's_Den_Below_Egg_Dupe", lambda state: state.count('Deepnest_Spider_Town[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) or (state.count('WINGS', player) and state._hk_option(player, 'ComplexSkips') and state._hk_option(player, 'ShadeSkips') and (state.count('MASKSHARDS', player) > 15)))) hk_set_rule(hk_world, "Geo_Rock-Beast's_Den_Bottom", lambda state: state.count('Deepnest_Spider_Town[left1]', player)) hk_set_rule(hk_world, "Geo_Rock-Beast's_Den_Bottom_Dupe", lambda state: state.count('Deepnest_Spider_Town[left1]', player)) - hk_set_rule(hk_world, "Geo_Rock-Beast's_Den_After_Herrah", lambda state: state.count('Deepnest_Spider_Town[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)))) and (state.count('RIGHTSLASH', player) or ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('RIGHTDASH', player)) or state.count('LEFTDASH', player) or state.count('Herrah', player) or ((state.count('SPELLS', player) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._kh_option(player, 'ProficientCombat')) or (state._kh_option(player, 'ProficientCombat') and state._kh_option(player, 'DifficultSkips')))))) + hk_set_rule(hk_world, "Geo_Rock-Beast's_Den_After_Herrah", lambda state: state.count('Deepnest_Spider_Town[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)))) and (state.count('RIGHTSLASH', player) or ((state.count('LEFTDASH', player) > 1 or state.count('RIGHTDASH', player) > 1) and state.count('RIGHTDASH', player)) or state.count('LEFTDASH', player) or state.count('Herrah', player) or ((state.count('SPELLS', player) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips'))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or ((state.count('CYCLONE', player) or state.count('Great_Slash', player)) and state._hk_option(player, 'ProficientCombat')) or (state._hk_option(player, 'ProficientCombat') and state._hk_option(player, 'DifficultSkips')))))) hk_set_rule(hk_world, "Geo_Rock-Greenpath_Entrance", lambda state: state.count('Fungus1_01[left1]', player) or state.count('Fungus1_01[right1]', player)) hk_set_rule(hk_world, "Geo_Rock-Greenpath_Waterfall", lambda state: state.count('Fungus1_01b[left1]', player) or state.count('Fungus1_01b[right1]', player)) hk_set_rule(hk_world, "Geo_Rock-Greenpath_Below_Skip_Squit", lambda state: state.count('Fungus1_02[left1]', player) or state.count('Fungus1_02[right1]', player) or state.count('Fungus1_02[right2]', player)) @@ -1516,7 +1516,7 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Geo_Rock-Greenpath_Below_Hornet", lambda state: (state.count('Fungus1_04[left1]', player) or (state.count('Fungus1_04[right1]', player) and state.count('Defeated_Hornet_1', player))) and (state.count('RIGHTDASH', player) or state.count('WINGS', player) or ((state.count('RIGHTSUPERDASH', player) or state.count('ACID', player)) and state.count('RIGHTCLAW', player)))) hk_set_rule(hk_world, "Geo_Rock-Greenpath_Above_Thorns", lambda state: state.count('Fungus1_05[top1]', player) or state.count('Fungus1_05[right1]', player) or state.count('Fungus1_05[bot1]', player)) hk_set_rule(hk_world, "Geo_Rock-Greenpath_Hunter's_Journal", lambda state: state.count('Fungus1_07[top1]', player) or state.count('Fungus1_07[left1]', player) or state.count('Fungus1_07[right1]', player)) - hk_set_rule(hk_world, "Geo_Rock-Greenpath_Acid_Bridge", lambda state: (state.count('Fungus1_10[left1]', player) or state.count('Fungus1_10[right1]', player) or state.count('Fungus1_10[top1]', player)) and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) or state._kh_option(player, 'ShadeSkips'))) + hk_set_rule(hk_world, "Geo_Rock-Greenpath_Acid_Bridge", lambda state: (state.count('Fungus1_10[left1]', player) or state.count('Fungus1_10[right1]', player) or state.count('Fungus1_10[top1]', player)) and ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) or state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) or state._hk_option(player, 'ShadeSkips'))) hk_set_rule(hk_world, "Geo_Rock-Greenpath_After_MMC_Hidden", lambda state: state.count('Fungus1_12[left1]', player) or state.count('Fungus1_12[right1]', player)) hk_set_rule(hk_world, "Geo_Rock-Greenpath_After_MMC", lambda state: state.count('Fungus1_12[left1]', player) or state.count('Fungus1_12[right1]', player)) hk_set_rule(hk_world, "Geo_Rock-Greenpath_After_MMC_Dupe", lambda state: state.count('Fungus1_12[left1]', player) or state.count('Fungus1_12[right1]', player)) @@ -1539,12 +1539,12 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Geo_Rock-Fungal_Below_Pilgrim's_Way_Dupe", lambda state: state.count('Fungus2_11[top1]', player) or state.count('Fungus2_11[left1]', player) or state.count('Fungus2_11[left2]', player) or state.count('Fungus2_11[right1]', player)) hk_set_rule(hk_world, "Geo_Rock-Mantis_Outskirts_Guarded", lambda state: state.count('Fungus2_13', player)) hk_set_rule(hk_world, "Geo_Rock-Mantis_Outskirts_Guarded_Dupe", lambda state: state.count('Fungus2_13', player)) - hk_set_rule(hk_world, "Geo_Rock-Mantis_Outskirts_Alcove", lambda state: state.count('Fungus2_13', player) and (state.count('Fungus2_13[left3]', player) or state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('ACID', player) or state._kh_option(player, 'EnemyPogos') or state._kh_option(player, 'PreciseMovement'))) - hk_set_rule(hk_world, "Geo_Rock-Mantis_Village_After_Lever", lambda state: state.count('Fungus2_14', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player))) or state._kh_option(player, 'EnemyPogos'))) - hk_set_rule(hk_world, "Geo_Rock-Mantis_Village_Above_Claw", lambda state: state.count('Fungus2_14', player) and (state._kh_option(player, 'ComplexSkips') and state._kh_option(player, 'EnemyPogos') or state.count('WINGS', player) or ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or state._kh_option(player, 'EnemyPogos'))))) - hk_set_rule(hk_world, "Geo_Rock-Mantis_Village_Above_Claw_Dupe", lambda state: state.count('Fungus2_14', player) and (state._kh_option(player, 'ComplexSkips') and state._kh_option(player, 'EnemyPogos') or state.count('WINGS', player) or ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or state._kh_option(player, 'EnemyPogos'))))) - hk_set_rule(hk_world, "Geo_Rock-Mantis_Village_Below_Lore", lambda state: state.count('Fungus2_14[top1]', player) or (state.count('Fungus2_14', player) and (state.count('WINGS', player) or state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) or state._kh_option(player, 'EnemyPogos')) and (state.count('RIGHTCLAW', player) and (state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos')) or state.count('LEFTCLAW', player)))) - hk_set_rule(hk_world, "Geo_Rock-Mantis_Village_Above_Lever", lambda state: (state.count('Fungus2_14[top1]', player) or (state.count('Fungus2_14', player) and (state.count('LEFTDASH', player) or state.count('RIGHTSUPERDASH', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) or state._kh_option(player, 'EnemyPogos')) and (state.count('RIGHTCLAW', player) and (state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos')) or state.count('LEFTCLAW', player)))) and (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player) or state._kh_option(player, 'BackgroundObjectPogos')) or state.count('WINGS', player) or state.count('RIGHTCLAW', player))) + hk_set_rule(hk_world, "Geo_Rock-Mantis_Outskirts_Alcove", lambda state: state.count('Fungus2_13', player) and (state.count('Fungus2_13[left3]', player) or state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('ACID', player) or state._hk_option(player, 'EnemyPogos') or state._hk_option(player, 'PreciseMovement'))) + hk_set_rule(hk_world, "Geo_Rock-Mantis_Village_After_Lever", lambda state: state.count('Fungus2_14', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player))) or state._hk_option(player, 'EnemyPogos'))) + hk_set_rule(hk_world, "Geo_Rock-Mantis_Village_Above_Claw", lambda state: state.count('Fungus2_14', player) and (state._hk_option(player, 'ComplexSkips') and state._hk_option(player, 'EnemyPogos') or state.count('WINGS', player) or ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or state._hk_option(player, 'EnemyPogos'))))) + hk_set_rule(hk_world, "Geo_Rock-Mantis_Village_Above_Claw_Dupe", lambda state: state.count('Fungus2_14', player) and (state._hk_option(player, 'ComplexSkips') and state._hk_option(player, 'EnemyPogos') or state.count('WINGS', player) or ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or state._hk_option(player, 'EnemyPogos'))))) + hk_set_rule(hk_world, "Geo_Rock-Mantis_Village_Below_Lore", lambda state: state.count('Fungus2_14[top1]', player) or (state.count('Fungus2_14', player) and (state.count('WINGS', player) or state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) or state._hk_option(player, 'EnemyPogos')) and (state.count('RIGHTCLAW', player) and (state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos')) or state.count('LEFTCLAW', player)))) + hk_set_rule(hk_world, "Geo_Rock-Mantis_Village_Above_Lever", lambda state: (state.count('Fungus2_14[top1]', player) or (state.count('Fungus2_14', player) and (state.count('LEFTDASH', player) or state.count('RIGHTSUPERDASH', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) or state._hk_option(player, 'EnemyPogos')) and (state.count('RIGHTCLAW', player) and (state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos')) or state.count('LEFTCLAW', player)))) and (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player) or state._hk_option(player, 'BackgroundObjectPogos')) or state.count('WINGS', player) or state.count('RIGHTCLAW', player))) hk_set_rule(hk_world, "Geo_Rock-Above_Mantis_Lords_1", lambda state: (state.count('Fungus2_15[top3]', player) or state.count('Fungus2_15[right1]', player) or (state.count('Fungus2_15[left1]', player) and state.count('RIGHTCLAW', player))) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player))) hk_set_rule(hk_world, "Geo_Rock-Above_Mantis_Lords_2", lambda state: state.count('Fungus2_15[top3]', player) or state.count('Fungus2_15[right1]', player) or (state.count('Fungus2_15[left1]', player) and state.count('RIGHTCLAW', player))) hk_set_rule(hk_world, "Geo_Rock-Fungal_After_Bouncy_Grub", lambda state: state.count('Fungus2_18[right1]', player)) @@ -1558,21 +1558,21 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Geo_Rock-Fungal_Core_Entrance", lambda state: state.count('Fungus2_29[right1]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state.count('WINGS', player) or (state.count('Fungus2_29[bot1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Geo_Rock-Fungal_Core_Hidden", lambda state: state.count('Fungus2_30[top1]', player)) hk_set_rule(hk_world, "Geo_Rock-Fungal_Core_Above_Elder", lambda state: state.count('Fungus2_30[top1]', player) and state.count('WINGS', player)) - hk_set_rule(hk_world, "Geo_Rock-Queen's_Gardens_Acid_Entrance", lambda state: state.count('Fungus3_03[right1]', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and state._kh_option(player, 'ShadeSkips')))) + hk_set_rule(hk_world, "Geo_Rock-Queen's_Gardens_Acid_Entrance", lambda state: state.count('Fungus3_03[right1]', player) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and state._hk_option(player, 'ShadeSkips')))) hk_set_rule(hk_world, "Geo_Rock-Queen's_Gardens_Below_Stag", lambda state: state.count('Fungus3_10[top1]', player)) hk_set_rule(hk_world, "Geo_Rock-Fog_Canyon_East", lambda state: state.count('Fungus3_26', player) and (state.count('MASKSHARDS', player) > 15 or state.count('FIREBALL', player))) hk_set_rule(hk_world, "Geo_Rock-Love_Key", lambda state: state.count('Fungus3_39[left1]', player)) hk_set_rule(hk_world, "Geo_Rock-Love_Key_Dupe", lambda state: state.count('Fungus3_39[left1]', player)) - hk_set_rule(hk_world, "Geo_Rock-Queen's_Gardens_Above_Marmu", lambda state: state.count('Fungus3_48[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) or (state.count('Fungus3_48[right2]', player) and (state.count('RIGHTSUPERDASH', player) or state.count('RIGHTDASH', player) or (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) + hk_set_rule(hk_world, "Geo_Rock-Queen's_Gardens_Above_Marmu", lambda state: state.count('Fungus3_48[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) or (state.count('Fungus3_48[right2]', player) and (state.count('RIGHTSUPERDASH', player) or state.count('RIGHTDASH', player) or (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Geo_Rock-Pale_Lurker", lambda state: state.count('GG_Lurker[left1]', player) and state.count('RIGHTCLAW', player) and (state.count('WINGS', player) or (state.count('RIGHTSUPERDASH', player) and state.count('LEFTCLAW', player)))) hk_set_rule(hk_world, "Geo_Rock-Godhome_Pipeway", lambda state: state.count('GG_Pipeway[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player) or ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and (state.count('RIGHTDASH', player) or state.count('SWIM', player))) or state.count('WINGS', player)) or (state.count('GG_Pipeway[right1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player) or ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and (state.count('RIGHTDASH', player) or state.count('SWIM', player))) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Geo_Rock-Hive_Entrance", lambda state: state.count('Hive_01[left1]', player) or state.count('Hive_01[right1]', player)) hk_set_rule(hk_world, "Geo_Rock-Hive_Outside_Bench", lambda state: state.count('Hive_02[left2]', player) or ((state.count('Hive_02[left1]', player) or state.count('Hive_02[left3]', player)) and (state.count('WINGS', player) or (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))))) - hk_set_rule(hk_world, "Geo_Rock-Hive_Below_Root", lambda state: state.count('Hive_02[left1]', player) or ((state.count('Hive_02[left2]', player) or state.count('Hive_02[left3]', player)) and (state.count('RIGHTDASH', player) or state.count('WINGS', player) or state.count('RIGHTCLAW', player) or state._kh_option(player, 'EnemyPogos')))) + hk_set_rule(hk_world, "Geo_Rock-Hive_Below_Root", lambda state: state.count('Hive_02[left1]', player) or ((state.count('Hive_02[left2]', player) or state.count('Hive_02[left3]', player)) and (state.count('RIGHTDASH', player) or state.count('WINGS', player) or state.count('RIGHTCLAW', player) or state._hk_option(player, 'EnemyPogos')))) hk_set_rule(hk_world, "Geo_Rock-Hive_After_Root", lambda state: state.count('Hive_02[left1]', player) or ((state.count('Hive_02[left2]', player) or state.count('Hive_02[left3]', player)) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('LEFTCLAW', player))))) hk_set_rule(hk_world, "Geo_Rock-Hive_Below_Stash", lambda state: state.count('Hive_03[bot1]', player) or state.count('Hive_03[right1]', player)) - hk_set_rule(hk_world, "Geo_Rock-Hive_Stash", lambda state: state.count('Hive_03[right1]', player) or (state.count('Hive_03[bot1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player))) or (state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._kh_option(player, 'EnemyPogos'))))) - hk_set_rule(hk_world, "Geo_Rock-Hive_Stash_Dupe", lambda state: state.count('Hive_03[right1]', player) or (state.count('Hive_03[bot1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player))) or (state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._kh_option(player, 'EnemyPogos'))))) + hk_set_rule(hk_world, "Geo_Rock-Hive_Stash", lambda state: state.count('Hive_03[right1]', player) or (state.count('Hive_03[bot1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player))) or (state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._hk_option(player, 'EnemyPogos'))))) + hk_set_rule(hk_world, "Geo_Rock-Hive_Stash_Dupe", lambda state: state.count('Hive_03[right1]', player) or (state.count('Hive_03[bot1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player))) or (state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._hk_option(player, 'EnemyPogos'))))) hk_set_rule(hk_world, "Geo_Rock-Hive_Below_Grub", lambda state: state.count('Hive_04[left1]', player) or (state.count('Hive_04[right1]', player) and ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and state.count('LEFTDASH', player) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Geo_Rock-Hive_Above_Mask", lambda state: state.count('Hive_04[left1]', player) or (state.count('Hive_04[right1]', player) and ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and state.count('LEFTDASH', player) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Geo_Rock-Crystal_Peak_Lower_Middle", lambda state: state.count('Mines_02', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('Mines_02[top2]', player))) @@ -1581,7 +1581,7 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Geo_Rock-Crystal_Peak_Before_Dark_Room", lambda state: state.count('Mines_04', player)) hk_set_rule(hk_world, "Geo_Rock-Crystal_Peak_Before_Dark_Room_Dupe", lambda state: state.count('Mines_04', player)) hk_set_rule(hk_world, "Geo_Rock-Crystal_Peak_Above_Spike_Grub", lambda state: state.count('Mines_05', player)) - hk_set_rule(hk_world, "Geo_Rock-Crystal_Peak_Mimic_Grub", lambda state: state.count('Mines_16[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or (state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'DangerousSkips')))) + hk_set_rule(hk_world, "Geo_Rock-Crystal_Peak_Mimic_Grub", lambda state: state.count('Mines_16[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or (state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'DangerousSkips')))) hk_set_rule(hk_world, "Geo_Rock-Crystal_Peak_Dive_Egg", lambda state: state.count('Mines_20', player) and state.count('QUAKE', player)) hk_set_rule(hk_world, "Geo_Rock-Crystal_Peak_Dive_Egg_Dupe", lambda state: state.count('Mines_20', player) and state.count('QUAKE', player)) hk_set_rule(hk_world, "Geo_Rock-Crystal_Peak_Conga_Line", lambda state: state.count('Mines_20', player)) @@ -1594,58 +1594,58 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Geo_Rock-Crystal_Peak_Entrance", lambda state: (state.count('Mines_33[left1]', player) or state.count('Mines_33[right1]', player)) and state.count('LANTERN', player)) hk_set_rule(hk_world, "Geo_Rock-Crystal_Peak_Entrance_Dupe_1", lambda state: (state.count('Mines_33[left1]', player) or state.count('Mines_33[right1]', player)) and state.count('LANTERN', player)) hk_set_rule(hk_world, "Geo_Rock-Crystal_Peak_Entrance_Dupe_2", lambda state: (state.count('Mines_33[left1]', player) or state.count('Mines_33[right1]', player)) and state.count('LANTERN', player)) - hk_set_rule(hk_world, "Geo_Rock-Crystal_Peak_Above_Crushers_Lower", lambda state: (state.count('Mines_37[top1]', player) or state.count('Mines_37[bot1]', player)) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._kh_option(player, 'ShadeSkips')))) + hk_set_rule(hk_world, "Geo_Rock-Crystal_Peak_Above_Crushers_Lower", lambda state: (state.count('Mines_37[top1]', player) or state.count('Mines_37[bot1]', player)) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._hk_option(player, 'ShadeSkips')))) hk_set_rule(hk_world, "Geo_Rock-Crystal_Peak_Above_Crushers_Higher", lambda state: (state.count('Mines_37[top1]', player) or state.count('Mines_37[bot1]', player)) and (state.count('LEFTCLAW', player) or (state.count('WINGS', player) and state.count('RIGHTCLAW', player)))) hk_set_rule(hk_world, "Geo_Rock-Resting_Grounds_Catacombs_Grub", lambda state: state.count('RestingGrounds_10[top1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player)) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player))))) hk_set_rule(hk_world, "Geo_Rock-Resting_Grounds_Catacombs_Left_Dupe", lambda state: state.count('RestingGrounds_10[top1]', player) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player))))) hk_set_rule(hk_world, "Geo_Rock-Resting_Grounds_Catacombs_Left", lambda state: state.count('RestingGrounds_10[top1]', player) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player))))) hk_set_rule(hk_world, "Geo_Rock-Overgrown_Mound", lambda state: state.count('Room_Fungus_Shaman[left1]', player)) - hk_set_rule(hk_world, "Geo_Rock-Fluke_Hermit_Dupe", lambda state: state.count('Room_GG_Shortcut[top1]', player) or (state.count('Room_GG_Shortcut[left1]', player) and (state.count('RIGHTCLAW', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player) or state.count('WINGS', player) or (state.count('RIGHTDASH', player) and state.count('SWIM', player))) or (state.count('LEFTCLAW', player) and state.count('WINGS', player) and state._kh_option(player, 'EnemyPogos') and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player)))))) - hk_set_rule(hk_world, "Geo_Rock-Fluke_Hermit", lambda state: state.count('Room_GG_Shortcut[top1]', player) or (state.count('Room_GG_Shortcut[left1]', player) and (state.count('RIGHTCLAW', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player) or state.count('WINGS', player) or (state.count('RIGHTDASH', player) and state.count('SWIM', player))) or (state.count('LEFTCLAW', player) and state.count('WINGS', player) and state._kh_option(player, 'EnemyPogos') and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player)))))) + hk_set_rule(hk_world, "Geo_Rock-Fluke_Hermit_Dupe", lambda state: state.count('Room_GG_Shortcut[top1]', player) or (state.count('Room_GG_Shortcut[left1]', player) and (state.count('RIGHTCLAW', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player) or state.count('WINGS', player) or (state.count('RIGHTDASH', player) and state.count('SWIM', player))) or (state.count('LEFTCLAW', player) and state.count('WINGS', player) and state._hk_option(player, 'EnemyPogos') and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player)))))) + hk_set_rule(hk_world, "Geo_Rock-Fluke_Hermit", lambda state: state.count('Room_GG_Shortcut[top1]', player) or (state.count('Room_GG_Shortcut[left1]', player) and (state.count('RIGHTCLAW', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player) or state.count('WINGS', player) or (state.count('RIGHTDASH', player) and state.count('SWIM', player))) or (state.count('LEFTCLAW', player) and state.count('WINGS', player) and state._hk_option(player, 'EnemyPogos') and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player)))))) hk_set_rule(hk_world, "Geo_Rock-Pleasure_House", lambda state: state.count('Ruins_Elevator[left1]', player) or state.count('Ruins_Elevator[left2]', player)) hk_set_rule(hk_world, "Geo_Rock-City_of_Tears_Quirrel", lambda state: state.count('Ruins1_03', player)) hk_set_rule(hk_world, "Geo_Rock-City_of_Tears_Lemm", lambda state: state.count('Ruins1_05b', player)) hk_set_rule(hk_world, "Geo_Rock-City_of_Tears_Above_Lemm", lambda state: state.count('Ruins1_05c', player)) hk_set_rule(hk_world, "Geo_Rock-Soul_Sanctum", lambda state: state.count('Ruins1_32[right1]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state.count('QUAKE', player)) - hk_set_rule(hk_world, "Geo_Rock-Watcher's_Spire", lambda state: (state.count('Ruins2_01[top1]', player) or state.count('Ruins2_01[left2]', player) or (state.count('Ruins2_01[bot1]', player) and ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player)) or ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state._kh_option(player, 'EnemyPogos')) or (state.count('WINGS', player) and state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'DifficultSkips'))))) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or state.count('WINGS', player))) - hk_set_rule(hk_world, "Geo_Rock-Above_King's_Station", lambda state: state.count('Ruins2_05[bot1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos')) or state.count('Ruins2_05[left1]', player) or state.count('Ruins2_05[top1]', player)) - hk_set_rule(hk_world, "Geo_Rock-King's_Station", lambda state: (state.count('Ruins2_06[left1]', player) or state.count('Ruins2_06[top1]', player) or state.count('Ruins2_06[right1]', player) or state.count('Ruins2_06[right2]', player)) and (state.count('RIGHTCLAW', player) or ((state.count('WINGS', player) or state.count('LEFTCLAW', player)) and state._kh_option(player, 'ShadeSkips')) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state._kh_option(player, 'EnemyPogos')))) or (state.count('Ruins2_06[left2]', player) and (state.count('RIGHTSUPERDASH', player) or state.count('WINGS', player) or state.count('SWIM', player) or (state.count('RIGHTCLAW', player) and state.count('RIGHTDASH', player) and state._kh_option(player, 'PreciseMovement'))) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state._kh_option(player, 'EnemyPogos')))))) + hk_set_rule(hk_world, "Geo_Rock-Watcher's_Spire", lambda state: (state.count('Ruins2_01[top1]', player) or state.count('Ruins2_01[left2]', player) or (state.count('Ruins2_01[bot1]', player) and ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player)) or ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state._hk_option(player, 'EnemyPogos')) or (state.count('WINGS', player) and state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'DifficultSkips'))))) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or state.count('WINGS', player))) + hk_set_rule(hk_world, "Geo_Rock-Above_King's_Station", lambda state: state.count('Ruins2_05[bot1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos')) or state.count('Ruins2_05[left1]', player) or state.count('Ruins2_05[top1]', player)) + hk_set_rule(hk_world, "Geo_Rock-King's_Station", lambda state: (state.count('Ruins2_06[left1]', player) or state.count('Ruins2_06[top1]', player) or state.count('Ruins2_06[right1]', player) or state.count('Ruins2_06[right2]', player)) and (state.count('RIGHTCLAW', player) or ((state.count('WINGS', player) or state.count('LEFTCLAW', player)) and state._hk_option(player, 'ShadeSkips')) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state._hk_option(player, 'EnemyPogos')))) or (state.count('Ruins2_06[left2]', player) and (state.count('RIGHTSUPERDASH', player) or state.count('WINGS', player) or state.count('SWIM', player) or (state.count('RIGHTCLAW', player) and state.count('RIGHTDASH', player) and state._hk_option(player, 'PreciseMovement'))) and (state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state._hk_option(player, 'EnemyPogos')))))) hk_set_rule(hk_world, "Geo_Rock-King's_Pass_Left", lambda state: state.count('Tutorial_01[right1]', player) or state.count('Tutorial_01[top1]', player) or state.count('Tutorial_01[top2]', player)) hk_set_rule(hk_world, "Geo_Rock-King's_Pass_Below_Fury", lambda state: state.count('Tutorial_01[right1]', player) or state.count('Tutorial_01[top1]', player) or state.count('Tutorial_01[top2]', player)) hk_set_rule(hk_world, "Geo_Rock-King's_Pass_Hidden", lambda state: state.count('Tutorial_01[right1]', player) or state.count('Tutorial_01[top1]', player) or state.count('Tutorial_01[top2]', player)) hk_set_rule(hk_world, "Geo_Rock-King's_Pass_Collapse", lambda state: state.count('Tutorial_01[right1]', player) or state.count('Tutorial_01[top1]', player) or state.count('Tutorial_01[top2]', player)) hk_set_rule(hk_world, "Geo_Rock-King's_Pass_Above_Fury", lambda state: state.count('Tutorial_01[right1]', player) or state.count('Tutorial_01[top1]', player) or state.count('Tutorial_01[top2]', player)) - hk_set_rule(hk_world, "Geo_Rock-Waterways_Tuk", lambda state: state.count('Waterways_01', player) and (state.count('Waterways_01[right1]', player) or state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos'))) + hk_set_rule(hk_world, "Geo_Rock-Waterways_Tuk", lambda state: state.count('Waterways_01', player) and (state.count('Waterways_01[right1]', player) or state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos'))) hk_set_rule(hk_world, "Geo_Rock-Waterways_Tuk_Alcove", lambda state: state.count('Waterways_01', player)) - hk_set_rule(hk_world, "Geo_Rock-Waterways_Left", lambda state: state.count('Waterways_04b[left1]', player) or (state.count('Waterways_04b[right1]', player) and (state.count('WINGS', player) or state.count('LEFTDASH', player) or state.count('SWIM', player) or (state.count('RIGHTCLAW', player) and state.count('RIGHTDASH', player) and state.count('LEFTSUPERDASH', player)))) or (state.count('Waterways_04b[right2]', player) and (state.count('WINGS', player) or (state.count('LEFTCLAW', player) and state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'DangerousSkips'))) and (state.count('LEFTCLAW', player) or state._kh_option(player, 'EnemyPogos')) and (state.count('SWIM', player) or (state.count('LEFTSUPERDASH', player) and state.count('RIGHTCLAW', player))))) + hk_set_rule(hk_world, "Geo_Rock-Waterways_Left", lambda state: state.count('Waterways_04b[left1]', player) or (state.count('Waterways_04b[right1]', player) and (state.count('WINGS', player) or state.count('LEFTDASH', player) or state.count('SWIM', player) or (state.count('RIGHTCLAW', player) and state.count('RIGHTDASH', player) and state.count('LEFTSUPERDASH', player)))) or (state.count('Waterways_04b[right2]', player) and (state.count('WINGS', player) or (state.count('LEFTCLAW', player) and state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'DangerousSkips'))) and (state.count('LEFTCLAW', player) or state._hk_option(player, 'EnemyPogos')) and (state.count('SWIM', player) or (state.count('LEFTSUPERDASH', player) and state.count('RIGHTCLAW', player))))) hk_set_rule(hk_world, "Geo_Rock-Waterways_East", lambda state: state.count('Waterways_07[top1]', player) or state.count('Waterways_07[door1]', player) or (state.count('Waterways_07', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)))) - hk_set_rule(hk_world, "Geo_Rock-Waterways_Flukemarm", lambda state: state.count('Waterways_08[left2]', player) or ((state.count('Waterways_08[top1]', player) and (state._kh_option(player, 'EnemyPogos') or state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player)) or state.count('Waterways_08[left1]', player)) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) + hk_set_rule(hk_world, "Geo_Rock-Waterways_Flukemarm", lambda state: state.count('Waterways_08[left2]', player) or ((state.count('Waterways_08[top1]', player) and (state._hk_option(player, 'EnemyPogos') or state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player)) or state.count('Waterways_08[left1]', player)) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Boss_Geo-Massive_Moss_Charger", lambda state: state.count('Fungus1_29[left1]', player) or state.count('Fungus1_29[right1]', player)) hk_set_rule(hk_world, "Boss_Geo-Gorgeous_Husk", lambda state: state.count('Ruins_House_02[left1]', player)) - hk_set_rule(hk_world, "Boss_Geo-Sanctum_Soul_Warrior", lambda state: state.count('Ruins1_23[top1]', player) or (state.count('Ruins1_23', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and state.count('LEFTSUPERDASH', player) and state._kh_option(player, 'BackgroundObjectPogos'))))) + hk_set_rule(hk_world, "Boss_Geo-Sanctum_Soul_Warrior", lambda state: state.count('Ruins1_23[top1]', player) or (state.count('Ruins1_23', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and state.count('LEFTSUPERDASH', player) and state._hk_option(player, 'BackgroundObjectPogos'))))) hk_set_rule(hk_world, "Boss_Geo-Elegant_Soul_Warrior", lambda state: (state.count('Ruins1_31b[right1]', player) or state.count('Ruins1_31b[right2]', player)) and state.count('Defeated_Elegant_Warrior', player)) hk_set_rule(hk_world, "Boss_Geo-Crystal_Guardian", lambda state: (state.count('Mines_18[left1]', player) or state.count('Mines_18[right1]', player) or state.count('Mines_18[top1]', player)) and state.count('Defeated_Crystal_Guardian', player)) hk_set_rule(hk_world, "Boss_Geo-Enraged_Guardian", lambda state: state.count('Mines_32[bot1]', player) and state.count('Defeated_Enraged_Guardian', player)) hk_set_rule(hk_world, "Boss_Geo-Gruz_Mother", lambda state: (state.count('Crossroads_04[left1]', player) or state.count('Crossroads_04[door_Mender_House]', player) or state.count('Crossroads_04[door1]', player) or state.count('Crossroads_04[door_charmshop]', player) or state.count('Crossroads_04[right1]', player) or state.count('Crossroads_04[top1]', player)) and state.count('Defeated_Gruz_Mother', player)) - hk_set_rule(hk_world, "Boss_Geo-Vengefly_King", lambda state: (state.count('Fungus1_20_v02[bot1]', player) or state.count('Fungus1_20_v02[bot2]', player) or state.count('Fungus1_20_v02[right1]', player)) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state._kh_option(player, 'EnemyPogos') or state.count('FIREBALL', player) or state.count('QUAKE', player) or state.count('SCREAM', player) or state.count('WINGS', player) or state.count('Cyclone_Slash', player) or state.count('Great_Slash', player) or ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) and state.count('Dash_Slash', player)))) - hk_set_rule(hk_world, "Soul_Totem-Basin", lambda state: state.count('Abyss_04[top1]', player) or ((state.count('Abyss_04[left1]', player) or state.count('Abyss_04[right1]', player) or state.count('Abyss_04[bot1]', player)) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._kh_option(player, 'EnemyPogos'))))) + hk_set_rule(hk_world, "Boss_Geo-Vengefly_King", lambda state: (state.count('Fungus1_20_v02[bot1]', player) or state.count('Fungus1_20_v02[bot2]', player) or state.count('Fungus1_20_v02[right1]', player)) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state._hk_option(player, 'EnemyPogos') or state.count('FIREBALL', player) or state.count('QUAKE', player) or state.count('SCREAM', player) or state.count('WINGS', player) or state.count('Cyclone_Slash', player) or state.count('Great_Slash', player) or ((state.count('LEFTDASH', player) or state.count('RIGHTDASH', player)) and state.count('Dash_Slash', player)))) + hk_set_rule(hk_world, "Soul_Totem-Basin", lambda state: state.count('Abyss_04[top1]', player) or ((state.count('Abyss_04[left1]', player) or state.count('Abyss_04[right1]', player) or state.count('Abyss_04[bot1]', player)) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._hk_option(player, 'EnemyPogos'))))) hk_set_rule(hk_world, "Soul_Totem-Cliffs_Main", lambda state: state.count('Cliffs_01', player)) hk_set_rule(hk_world, "Soul_Totem-Cliffs_Gorb", lambda state: state.count('Cliffs_02', player)) - hk_set_rule(hk_world, "Soul_Totem-Cliffs_Joni's", lambda state: (state.count('Cliffs_04[left1]', player) or state.count('Cliffs_04[right1]', player)) and (state.count('LANTERN', player) or state._kh_option(player, 'DarkRooms'))) - hk_set_rule(hk_world, "Soul_Totem-Crossroads_Goam_Journal", lambda state: state.count('Crossroads_18[right1]', player) and (state.count('LEFTDASH', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)) or (state._kh_option(player, 'InfectionSkips') and state.count('DREAMER', player))))) or ((state.count('Crossroads_18[bot1]', player) or state.count('Crossroads_18[right2]', player)) and (state.count('LEFTDASH', player) or state.count('WINGS', player) or state.count('LEFTCLAW', player)))) + hk_set_rule(hk_world, "Soul_Totem-Cliffs_Joni's", lambda state: (state.count('Cliffs_04[left1]', player) or state.count('Cliffs_04[right1]', player)) and (state.count('LANTERN', player) or state._hk_option(player, 'DarkRooms'))) + hk_set_rule(hk_world, "Soul_Totem-Crossroads_Goam_Journal", lambda state: state.count('Crossroads_18[right1]', player) and (state.count('LEFTDASH', player) or state.count('WINGS', player) or (state.count('LEFTCLAW', player) and (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)) or (state._hk_option(player, 'InfectionSkips') and state.count('DREAMER', player))))) or ((state.count('Crossroads_18[bot1]', player) or state.count('Crossroads_18[right2]', player)) and (state.count('LEFTDASH', player) or state.count('WINGS', player) or state.count('LEFTCLAW', player)))) hk_set_rule(hk_world, "Soul_Totem-Crossroads_Shops", lambda state: state.count('Crossroads_19', player)) hk_set_rule(hk_world, "Soul_Totem-Crossroads_Mawlek_Upper", lambda state: state.count('Crossroads_25[left1]', player) or state.count('Crossroads_25[right1]', player)) - hk_set_rule(hk_world, "Soul_Totem-Crossroads_Acid", lambda state: state.count('Crossroads_35[right1]', player) and (state._kh_option(player, 'AcidSkips') and (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player) and (state.count('WINGS', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state.count('RIGHTDASH', player))) or state.count('ACID', player)) or state.count('Crossroads_35[bot1]', player)) + hk_set_rule(hk_world, "Soul_Totem-Crossroads_Acid", lambda state: state.count('Crossroads_35[right1]', player) and (state._hk_option(player, 'AcidSkips') and (state.count('LEFTCLAW', player) and state.count('RIGHTSUPERDASH', player) and (state.count('WINGS', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state.count('RIGHTDASH', player))) or state.count('ACID', player)) or state.count('Crossroads_35[bot1]', player)) hk_set_rule(hk_world, "Soul_Totem-Crossroads_Mawlek_Lower", lambda state: state.count('Crossroads_36[right1]', player) or state.count('Crossroads_36[right2]', player)) hk_set_rule(hk_world, "Soul_Totem-Crossroads_Myla", lambda state: state.count('Crossroads_45[left1]', player) or state.count('Crossroads_45[right1]', player)) - hk_set_rule(hk_world, "Soul_Totem-Ancestral_Mound", lambda state: state.count('Crossroads_ShamanTemple[left1]', player) and (((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))) or ((state.count('LEFTSUPERDASH', player) and state.count('RIGHTCLAW', player) or (state.count('RIGHTSUPERDASH', player) and state.count('LEFTCLAW', player))) and state._kh_option(player, 'ObscureSkips')))) - hk_set_rule(hk_world, "Soul_Totem-Distant_Village", lambda state: state.count('Deepnest_10[door1]', player) or state.count('Deepnest_10[door2]', player) or state.count('Deepnest_10[right1]', player) or (state.count('Deepnest_10[right2]', player) and (state.count('LEFTDASH', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and state._kh_option(player, 'PreciseMovement')) or state.count('WINGS', player) or (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))))) + hk_set_rule(hk_world, "Soul_Totem-Ancestral_Mound", lambda state: state.count('Crossroads_ShamanTemple[left1]', player) and (((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('UPSLASH', player) or state.count('FIREBALL', player) or state.count('SCREAM', player) or state.count('QUAKE', player) or state.count('CYCLONE', player) or state.count('Great_Slash', player) or (state.count('Dash_Slash', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)))) or ((state.count('LEFTSUPERDASH', player) and state.count('RIGHTCLAW', player) or (state.count('RIGHTSUPERDASH', player) and state.count('LEFTCLAW', player))) and state._hk_option(player, 'ObscureSkips')))) + hk_set_rule(hk_world, "Soul_Totem-Distant_Village", lambda state: state.count('Deepnest_10[door1]', player) or state.count('Deepnest_10[door2]', player) or state.count('Deepnest_10[right1]', player) or (state.count('Deepnest_10[right2]', player) and (state.count('LEFTDASH', player) or ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and state._hk_option(player, 'PreciseMovement')) or state.count('WINGS', player) or (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))))) hk_set_rule(hk_world, "Soul_Totem-Deepnest_Vessel", lambda state: state.count('Deepnest_38[bot1]', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player))) - hk_set_rule(hk_world, "Soul_Totem-Mask_Maker", lambda state: (state.count('LANTERN', player) or state._kh_option(player, 'DarkRooms')) and (state.count('Deepnest_42[left1]', player) or state.count('Deepnest_42[bot1]', player) or state.count('Deepnest_42[top1]', player))) + hk_set_rule(hk_world, "Soul_Totem-Mask_Maker", lambda state: (state.count('LANTERN', player) or state._hk_option(player, 'DarkRooms')) and (state.count('Deepnest_42[left1]', player) or state.count('Deepnest_42[bot1]', player) or state.count('Deepnest_42[top1]', player))) hk_set_rule(hk_world, "Soul_Totem-Lower_Kingdom's_Edge_1", lambda state: state.count('Deepnest_East_01[top1]', player) or state.count('Deepnest_East_01[bot1]', player) or state.count('Deepnest_East_01[right1]', player)) - hk_set_rule(hk_world, "Soul_Totem-Lower_Kingdom's_Edge_2", lambda state: (state.count('Deepnest_East_02[top1]', player) or state.count('Deepnest_East_02[bot1]', player) or state.count('Deepnest_East_02[right1]', player)) and (state.count('RIGHTDASH', player) or state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player) or state.count('ACID', player) or (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) or state._kh_option(player, 'EnemyPogos'))) + hk_set_rule(hk_world, "Soul_Totem-Lower_Kingdom's_Edge_2", lambda state: (state.count('Deepnest_East_02[top1]', player) or state.count('Deepnest_East_02[bot1]', player) or state.count('Deepnest_East_02[right1]', player)) and (state.count('RIGHTDASH', player) or state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player) or state.count('ACID', player) or (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) or state._hk_option(player, 'EnemyPogos'))) hk_set_rule(hk_world, "Soul_Totem-Upper_Kingdom's_Edge", lambda state: state.count('Deepnest_East_07', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('Deepnest_East_07[left1]', player))) - hk_set_rule(hk_world, "Soul_Totem-Kingdom's_Edge_Camp", lambda state: (state.count('Deepnest_East_11[left1]', player) or state.count('Deepnest_East_11[top1]', player) or state.count('Deepnest_East_11[right1]', player) or (state.count('Deepnest_East_11[bot1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos')))) and (state.count('LEFTDASH', player) or state.count('LEFTCLAW', player) or state.count('WINGS', player) or state._kh_option(player, 'DifficultSkips'))) + hk_set_rule(hk_world, "Soul_Totem-Kingdom's_Edge_Camp", lambda state: (state.count('Deepnest_East_11[left1]', player) or state.count('Deepnest_East_11[top1]', player) or state.count('Deepnest_East_11[right1]', player) or (state.count('Deepnest_East_11[bot1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos')))) and (state.count('LEFTDASH', player) or state.count('LEFTCLAW', player) or state.count('WINGS', player) or state._hk_option(player, 'DifficultSkips'))) hk_set_rule(hk_world, "Soul_Totem-Oro_Dive_2", lambda state: state.count('Deepnest_East_14[top2]', player) and state.count('QUAKE', player) and (state.count('RIGHTCLAW', player) or state.count('WINGS', player))) hk_set_rule(hk_world, "Soul_Totem-Oro_Dive_1", lambda state: state.count('Deepnest_East_14[top2]', player)) hk_set_rule(hk_world, "Soul_Totem-Oro", lambda state: state.count('Deepnest_East_16[left1]', player) or state.count('Deepnest_East_16[bot1]', player)) @@ -1657,23 +1657,23 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Soul_Totem-Before_Pilgrim's_Way", lambda state: state.count('Fungus2_10[right1]', player) or state.count('Fungus2_10[right2]', player) or state.count('Fungus2_10[bot1]', player)) hk_set_rule(hk_world, "Soul_Totem-Pilgrim's_Way", lambda state: state.count('Fungus2_21[left1]', player) and (state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state.count('WINGS', player))) and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player) or state.count('ACID', player)) or (state.count('Fungus2_21[right1]', player) and ((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player)) or ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state.count('WINGS', player))) and state.count('QUAKE', player))) hk_set_rule(hk_world, "Soul_Totem-Fungal_Core", lambda state: state.count('Fungus2_29[right1]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state.count('WINGS', player) or (state.count('Fungus2_29[bot1]', player) and (state.count('LEFTCLAW', player) or state.count('WINGS', player)))) - hk_set_rule(hk_world, "Soul_Totem-Top_Left_Queen's_Gardens", lambda state: state.count('Fungus3_21[right1]', player) and (state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) or (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))))) or (state.count('Fungus3_21[top1]', player) and state.count('RIGHTDASH', player))) + hk_set_rule(hk_world, "Soul_Totem-Top_Left_Queen's_Gardens", lambda state: state.count('Fungus3_21[right1]', player) and (state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) or (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))))) or (state.count('Fungus3_21[top1]', player) and state.count('RIGHTDASH', player))) hk_set_rule(hk_world, "Soul_Totem-Below_Marmu", lambda state: state.count('Fungus3_40[top1]', player) or (state.count('Fungus3_40[right1]', player) and (state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and state.count('LEFTSUPERDASH', player)) or state.count('WINGS', player) or state.count('LEFTDASH', player)))) hk_set_rule(hk_world, "Soul_Totem-Upper_Crystal_Peak", lambda state: state.count('Mines_20', player) or state.count('Mines_20[left2]', player) or ((state.count('Mines_20[left3]', player) or state.count('Mines_20[bot1]', player)) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)))) hk_set_rule(hk_world, "Soul_Totem-Hallownest_Crown", lambda state: (state.count('Mines_25[left1]', player) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or (state.count('WINGS', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)))) or state.count('Mines_25[top1]', player)) and state.count('QUAKE', player)) - hk_set_rule(hk_world, "Soul_Totem-Outside_Crystallized_Mound", lambda state: state.count('Mines_28[door1]', player) or (state.count('Mines_28[left1]', player) and (state.count('WINGS', player) and state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player) or ((state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and (state.count('WINGS', player) or state.count('RIGHTDASH', player)))))) - hk_set_rule(hk_world, "Soul_Totem-Crystal_Heart_1", lambda state: state.count('Mines_31[left1]', player) and (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state.count('WINGS', player) or (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) or (state.count('RIGHTSUPERDASH', player) and state._kh_option(player, 'PreciseMovement'))) or (state.count('RIGHTCLAW', player) and state.count('RIGHTSUPERDASH', player) and state.count('RIGHTDASH', player) and state.count('WINGS', player)) or (state.count('WINGS', player) and state._kh_option(player, 'ShadeSkips') and (state.count('MASKSHARDS', player) > 15)))) - hk_set_rule(hk_world, "Soul_Totem-Crystal_Heart_2", lambda state: state.count('Mines_31[left1]', player) and (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state.count('WINGS', player) or (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))) or (state.count('RIGHTCLAW', player) and state.count('RIGHTSUPERDASH', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('WINGS', player)) or (state.count('WINGS', player) and state._kh_option(player, 'ShadeSkips') and (state.count('MASKSHARDS', player) > 15)))) - hk_set_rule(hk_world, "Soul_Totem-Crystallized_Mound", lambda state: state.count('Mines_35[left1]', player) and state.count('QUAKE', player) and (state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and state._kh_option(player, 'PreciseMovement') and (state.count('RIGHTDASH', player) or (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))))) or state.count('WINGS', player)) and (state.count('WINGS', player) or state.count('LEFTDASH', player) or state._kh_option(player, 'BackgroundObjectPogos'))) + hk_set_rule(hk_world, "Soul_Totem-Outside_Crystallized_Mound", lambda state: state.count('Mines_28[door1]', player) or (state.count('Mines_28[left1]', player) and (state.count('WINGS', player) and state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player) or ((state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and (state.count('WINGS', player) or state.count('RIGHTDASH', player)))))) + hk_set_rule(hk_world, "Soul_Totem-Crystal_Heart_1", lambda state: state.count('Mines_31[left1]', player) and (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state.count('WINGS', player) or (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) or (state.count('RIGHTSUPERDASH', player) and state._hk_option(player, 'PreciseMovement'))) or (state.count('RIGHTCLAW', player) and state.count('RIGHTSUPERDASH', player) and state.count('RIGHTDASH', player) and state.count('WINGS', player)) or (state.count('WINGS', player) and state._hk_option(player, 'ShadeSkips') and (state.count('MASKSHARDS', player) > 15)))) + hk_set_rule(hk_world, "Soul_Totem-Crystal_Heart_2", lambda state: state.count('Mines_31[left1]', player) and (state.count('LEFTCLAW', player) and (state.count('RIGHTDASH', player) or state.count('WINGS', player) or (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player)))) or (state.count('RIGHTCLAW', player) and state.count('RIGHTSUPERDASH', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('WINGS', player)) or (state.count('WINGS', player) and state._hk_option(player, 'ShadeSkips') and (state.count('MASKSHARDS', player) > 15)))) + hk_set_rule(hk_world, "Soul_Totem-Crystallized_Mound", lambda state: state.count('Mines_35[left1]', player) and state.count('QUAKE', player) and (state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and state._hk_option(player, 'PreciseMovement') and (state.count('RIGHTDASH', player) or (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))))) or state.count('WINGS', player)) and (state.count('WINGS', player) or state.count('LEFTDASH', player) or state._hk_option(player, 'BackgroundObjectPogos'))) hk_set_rule(hk_world, "Soul_Totem-Resting_Grounds", lambda state: state.count('RestingGrounds_05', player)) hk_set_rule(hk_world, "Soul_Totem-Below_Xero", lambda state: state.count('RestingGrounds_06[left1]', player) or state.count('RestingGrounds_06[right1]', player) or state.count('RestingGrounds_06[top1]', player)) hk_set_rule(hk_world, "Soul_Totem-Sanctum_Below_Soul_Master", lambda state: state.count('Ruins1_24[left2]', player) or state.count('Ruins1_24[right2]', player)) hk_set_rule(hk_world, "Soul_Totem-Sanctum_Below_Chest", lambda state: state.count('Ruins1_32[right1]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player))) hk_set_rule(hk_world, "Soul_Totem-Sanctum_Above_Grub", lambda state: state.count('Ruins1_32[right1]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state.count('QUAKE', player)) - hk_set_rule(hk_world, "Soul_Totem-Waterways_Entrance", lambda state: state.count('Waterways_01', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) or ((state.count('Waterways_01[top1]', player) or state.count('Waterways_01[right1]', player)) and (state.count('LEFTDASH', player) or state._kh_option(player, 'EnemyPogos') or (state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) or state._kh_option(player, 'ShadeSkips')))) - hk_set_rule(hk_world, "Soul_Totem-Top_Left_Waterways", lambda state: state.count('Waterways_04b[left1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'DangerousSkips'))) or (state.count('Waterways_04b[right1]', player) and (state.count('WINGS', player) or state.count('LEFTDASH', player) or state.count('SWIM', player) or (state.count('RIGHTCLAW', player) and state.count('RIGHTDASH', player) and state.count('LEFTSUPERDASH', player))) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'DangerousSkips')))) or (state.count('Waterways_04b[right2]', player) and (state.count('WINGS', player) or (state.count('LEFTCLAW', player) and state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'DangerousSkips'))) and (state.count('LEFTCLAW', player) or state._kh_option(player, 'EnemyPogos')) and (state.count('SWIM', player) or (state.count('LEFTSUPERDASH', player) and state.count('RIGHTCLAW', player))) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._kh_option(player, 'EnemyPogos') and state._kh_option(player, 'DangerousSkips'))))) - hk_set_rule(hk_world, "Soul_Totem-Waterways_East", lambda state: state.count('Waterways_07', player) and (state.count('LEFTCLAW', player) and (state.count('LEFTDASH', player) or state.count('WINGS', player) or state.count('LEFTSUPERDASH', player) or ((state._kh_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and state.count('RIGHTCLAW', player)) or state._kh_option(player, 'EnemyPogos')) or (state.count('RIGHTCLAW', player) and state.count('WINGS', player)))) - hk_set_rule(hk_world, "Soul_Totem-Waterways_Flukemarm", lambda state: state.count('Waterways_08[top1]', player) and (state._kh_option(player, 'EnemyPogos') or state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player)) or state.count('Waterways_08[left1]', player) or state.count('Waterways_08[left2]', player)) + hk_set_rule(hk_world, "Soul_Totem-Waterways_Entrance", lambda state: state.count('Waterways_01', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)) or ((state.count('Waterways_01[top1]', player) or state.count('Waterways_01[right1]', player)) and (state.count('LEFTDASH', player) or state._hk_option(player, 'EnemyPogos') or (state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) or state._hk_option(player, 'ShadeSkips')))) + hk_set_rule(hk_world, "Soul_Totem-Top_Left_Waterways", lambda state: state.count('Waterways_04b[left1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'DangerousSkips'))) or (state.count('Waterways_04b[right1]', player) and (state.count('WINGS', player) or state.count('LEFTDASH', player) or state.count('SWIM', player) or (state.count('RIGHTCLAW', player) and state.count('RIGHTDASH', player) and state.count('LEFTSUPERDASH', player))) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'DangerousSkips')))) or (state.count('Waterways_04b[right2]', player) and (state.count('WINGS', player) or (state.count('LEFTCLAW', player) and state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'DangerousSkips'))) and (state.count('LEFTCLAW', player) or state._hk_option(player, 'EnemyPogos')) and (state.count('SWIM', player) or (state.count('LEFTSUPERDASH', player) and state.count('RIGHTCLAW', player))) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or (state.count('WINGS', player) and state._hk_option(player, 'EnemyPogos') and state._hk_option(player, 'DangerousSkips'))))) + hk_set_rule(hk_world, "Soul_Totem-Waterways_East", lambda state: state.count('Waterways_07', player) and (state.count('LEFTCLAW', player) and (state.count('LEFTDASH', player) or state.count('WINGS', player) or state.count('LEFTSUPERDASH', player) or ((state._hk_option(player, 'FireballSkips') and (state.count('FIREBALL', player) or state.count('SCREAM', player))) and state.count('RIGHTCLAW', player)) or state._hk_option(player, 'EnemyPogos')) or (state.count('RIGHTCLAW', player) and state.count('WINGS', player)))) + hk_set_rule(hk_world, "Soul_Totem-Waterways_Flukemarm", lambda state: state.count('Waterways_08[top1]', player) and (state._hk_option(player, 'EnemyPogos') or state.count('RIGHTCLAW', player) or state.count('WINGS', player) or state.count('RIGHTSUPERDASH', player)) or state.count('Waterways_08[left1]', player) or state.count('Waterways_08[left2]', player)) hk_set_rule(hk_world, "Soul_Totem-White_Palace_Entrance", lambda state: state.count('White_Palace_02[left1]', player) and (state.count('LEFTCLAW', player) and state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state.count('LEFTSUPERDASH', player)))) hk_set_rule(hk_world, "Soul_Totem-White_Palace_Hub", lambda state: state.count('White_Palace_03_hub', player) and (state.count('LEFTDASH', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state.count('White_Palace_03_hub[left1]', player))) hk_set_rule(hk_world, "Soul_Totem-White_Palace_Left", lambda state: state.count('White_Palace_04[right2]', player) and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state.count('WINGS', player) or state.count('White_Palace_04[top1]', player)) @@ -1689,21 +1689,21 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Soul_Totem-Pale_Lurker", lambda state: state.count('GG_Lurker[left1]', player)) hk_set_rule(hk_world, "Lore_Tablet-City_Entrance", lambda state: state.count('Ruins1_02[top1]', player) or (state.count('Ruins1_02[bot1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Lore_Tablet-Pleasure_House", lambda state: state.count('Ruins_Elevator[left1]', player) or state.count('Ruins_Elevator[left2]', player)) - hk_set_rule(hk_world, "Lore_Tablet-Sanctum_Entrance", lambda state: (state.count('Ruins1_23[left1]', player) or state.count('Ruins1_23[bot1]', player) or state.count('Ruins1_23[right2]', player)) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and state._kh_option(player, 'EnemyPogos')))) + hk_set_rule(hk_world, "Lore_Tablet-Sanctum_Entrance", lambda state: (state.count('Ruins1_23[left1]', player) or state.count('Ruins1_23[bot1]', player) or state.count('Ruins1_23[right2]', player)) and (state.count('LEFTCLAW', player) or state.count('WINGS', player) or (state.count('RIGHTCLAW', player) and state._hk_option(player, 'EnemyPogos')))) hk_set_rule(hk_world, "Lore_Tablet-Sanctum_Past_Soul_Master", lambda state: state.count('Ruins1_32[right1]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state.count('QUAKE', player)) hk_set_rule(hk_world, "Lore_Tablet-Watcher's_Spire", lambda state: state.count('Ruins2_Watcher_Room[bot1]', player)) - hk_set_rule(hk_world, "Lore_Tablet-Archives_Upper", lambda state: state.count('Fungus3_archive_02[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos'))) - hk_set_rule(hk_world, "Lore_Tablet-Archives_Left", lambda state: state.count('Fungus3_archive_02[top1]', player) and state.count('Defeated_Uumuu', player) and ((state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state.count('WINGS', player))) and (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player) or state.count('ACID', player)) or (state._kh_option(player, 'AcidSkips') and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and state.count('WINGS', player)))) - hk_set_rule(hk_world, "Lore_Tablet-Archives_Right", lambda state: state.count('Fungus3_archive_02[top1]', player) and state.count('Defeated_Uumuu', player) and ((state.count('LEFTSUPERDASH', player) or state.count('RIGHTSUPERDASH', player)) or state.count('ACID', player) or (state._kh_option(player, 'AcidSkips') and state.count('LEFTDASH', player) and state.count('LEFTCLAW', player) and state.count('WINGS', player)))) + hk_set_rule(hk_world, "Lore_Tablet-Archives_Upper", lambda state: state.count('Fungus3_archive_02[top1]', player) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos'))) + hk_set_rule(hk_world, "Lore_Tablet-Archives_Left", lambda state: state.count('Fungus3_archive_02[top1]', player) and state.count('Defeated_Uumuu', player) and ((state.count('RIGHTCLAW', player) or (state.count('LEFTCLAW', player) and state.count('WINGS', player))) and (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player) or state.count('ACID', player)) or (state._hk_option(player, 'AcidSkips') and (state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and state.count('WINGS', player)))) + hk_set_rule(hk_world, "Lore_Tablet-Archives_Right", lambda state: state.count('Fungus3_archive_02[top1]', player) and state.count('Defeated_Uumuu', player) and ((state.count('LEFTSUPERDASH', player) or state.count('RIGHTSUPERDASH', player)) or state.count('ACID', player) or (state._hk_option(player, 'AcidSkips') and state.count('LEFTDASH', player) and state.count('LEFTCLAW', player) and state.count('WINGS', player)))) hk_set_rule(hk_world, "Lore_Tablet-Pilgrim's_Way_1", lambda state: state.count('Crossroads_11_alt[right1]', player)) hk_set_rule(hk_world, "Lore_Tablet-Pilgrim's_Way_2", lambda state: state.count('Fungus2_21[left1]', player) or (((state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player)) or ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state.count('WINGS', player))) and state.count('QUAKE', player) and state.count('Fungus2_21[right1]', player))) hk_set_rule(hk_world, "Lore_Tablet-Mantis_Outskirts", lambda state: state.count('Fungus2_12[bot1]', player) or state.count('Fungus2_12[left1]', player)) - hk_set_rule(hk_world, "Lore_Tablet-Mantis_Village", lambda state: state.count('Fungus2_14[top1]', player) or (state.count('Fungus2_14', player) and (state.count('WINGS', player) or state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) or state._kh_option(player, 'EnemyPogos')) and (state.count('RIGHTCLAW', player) and (state.count('WINGS', player) or state._kh_option(player, 'EnemyPogos')) or state.count('LEFTCLAW', player)))) + hk_set_rule(hk_world, "Lore_Tablet-Mantis_Village", lambda state: state.count('Fungus2_14[top1]', player) or (state.count('Fungus2_14', player) and (state.count('WINGS', player) or state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player) or (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player)) or state._hk_option(player, 'EnemyPogos')) and (state.count('RIGHTCLAW', player) and (state.count('WINGS', player) or state._hk_option(player, 'EnemyPogos')) or state.count('LEFTCLAW', player)))) hk_set_rule(hk_world, "Lore_Tablet-Greenpath_Upper_Hidden", lambda state: state.count('Fungus1_17[left1]', player) or state.count('Fungus1_17[right1]', player)) hk_set_rule(hk_world, "Lore_Tablet-Greenpath_Below_Toll", lambda state: state.count('Fungus1_30', player)) hk_set_rule(hk_world, "Lore_Tablet-Greenpath_Lifeblood", lambda state: state.count('Fungus1_32[bot1]', player) or state.count('Fungus1_32[top1]', player) or state.count('Fungus1_32[left1]', player)) hk_set_rule(hk_world, "Lore_Tablet-Greenpath_Stag", lambda state: state.count('Fungus1_21', player)) - hk_set_rule(hk_world, "Lore_Tablet-Greenpath_QG", lambda state: state.count('Fungus1_13[left1]', player) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('Cyclone_Slash', player) or state.count('Great_Slash', player) or (state.count('RIGHTDASH', player) and state.count('Dash_Slash', player))) or (state.count('Fungus1_13[right1]', player) and (state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and state.count('WINGS', player) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player))) or ((state.count('WINGS', player) or state.count('LEFTSUPERDASH', player)) and state._kh_option(player, 'DamageBoosts') and (state.count('MASKSHARDS', player) > 7))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('Cyclone_Slash', player) or state.count('Great_Slash', player) or (state.count('LEFTDASH', player) and state.count('Dash_Slash', player)))) or (False and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('Cyclone_Slash', player) or state.count('Great_Slash', player) or (state.count('LEFTDASH', player) and state.count('Dash_Slash', player))))) + hk_set_rule(hk_world, "Lore_Tablet-Greenpath_QG", lambda state: state.count('Fungus1_13[left1]', player) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('Cyclone_Slash', player) or state.count('Great_Slash', player) or (state.count('RIGHTDASH', player) and state.count('Dash_Slash', player))) or (state.count('Fungus1_13[right1]', player) and (state.count('LEFTCLAW', player) or (state.count('RIGHTCLAW', player) and state.count('WINGS', player) and (state.count('LEFTDASH', player) or state.count('LEFTSUPERDASH', player))) or ((state.count('WINGS', player) or state.count('LEFTSUPERDASH', player)) and state._hk_option(player, 'DamageBoosts') and (state.count('MASKSHARDS', player) > 7))) and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('Cyclone_Slash', player) or state.count('Great_Slash', player) or (state.count('LEFTDASH', player) and state.count('Dash_Slash', player)))) or (False and ((state.count('LEFTSLASH', player) or state.count('RIGHTSLASH', player)) or state.count('Cyclone_Slash', player) or state.count('Great_Slash', player) or (state.count('LEFTDASH', player) and state.count('Dash_Slash', player))))) hk_set_rule(hk_world, "Lore_Tablet-Greenpath_Lower_Hidden", lambda state: state.count('Fungus1_19[bot1]', player) or state.count('Fungus1_19[left1]', player) or state.count('Fungus1_19[right1]', player)) hk_set_rule(hk_world, "Lore_Tablet-Dung_Defender", lambda state: state.count('Waterways_07', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or ((state.count('Waterways_07[door1]', player) or state.count('Waterways_07[top1]', player) or state.count('Waterways_07[right1]', player)) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player)))) hk_set_rule(hk_world, "Lore_Tablet-Spore_Shroom", lambda state: (state.count('Fungus2_20[left1]', player) or state.count('Fungus2_20[right1]', player)) and (state.count('RIGHTDASH', player) or state.count('RIGHTSUPERDASH', player) or state.count('WINGS', player)) and state.count('Spore_Shroom', player)) @@ -1715,7 +1715,7 @@ def set_rules(hk_world): hk_set_rule(hk_world, "Lore_Tablet-King's_Pass_Fury", lambda state: state.count('Tutorial_01', player)) hk_set_rule(hk_world, "Lore_Tablet-King's_Pass_Exit", lambda state: state.count('Tutorial_01', player)) hk_set_rule(hk_world, "Lore_Tablet-World_Sense", lambda state: state.count('Room_temple[left1]', player) and state.count('Opened_Black_Egg_Temple', player)) - hk_set_rule(hk_world, "Lore_Tablet-Howling_Cliffs", lambda state: state.count('Cliffs_01[right1]', player) or state.count('Cliffs_01[right2]', player) or ((state.count('Cliffs_01[right3]', player) or state.count('Cliffs_01[right4]', player)) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._kh_option(player, 'EnemyPogos'))))) + hk_set_rule(hk_world, "Lore_Tablet-Howling_Cliffs", lambda state: state.count('Cliffs_01[right1]', player) or state.count('Cliffs_01[right2]', player) or ((state.count('Cliffs_01[right3]', player) or state.count('Cliffs_01[right4]', player)) and ((state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) or state.count('WINGS', player) or ((state.count('LEFTDASH', player) and state.count('RIGHTDASH', player)) and state._hk_option(player, 'EnemyPogos'))))) hk_set_rule(hk_world, "Lore_Tablet-Kingdom's_Edge", lambda state: state.count('Deepnest_East_17[left1]', player) and state.count('QUAKE', player) and state.count('Spore_Shroom', player)) hk_set_rule(hk_world, "Lore_Tablet-Palace_Workshop", lambda state: state.count('White_Palace_08[right1]', player) or (state.count('White_Palace_08[left1]', player) and (state.count('LEFTCLAW', player) or state.count('RIGHTCLAW', player)) and state.count('WINGS', player))) hk_set_rule(hk_world, "Lore_Tablet-Palace_Throne", lambda state: state.count('White_Palace_09[right1]', player) and (state.count('LEFTSUPERDASH', player) and state.count('RIGHTSUPERDASH', player)) and (state.count('LEFTCLAW', player) and state.count('RIGHTCLAW', player) or state.count('WINGS', player))) diff --git a/worlds/hk/__init__.py b/worlds/hk/__init__.py index 21b1a874..5c007351 100644 --- a/worlds/hk/__init__.py +++ b/worlds/hk/__init__.py @@ -328,10 +328,8 @@ class HKLogicMixin(LogicMixin): def _hk_notches(self, player: int, *notches: int) -> int: return sum(self.world.worlds[player].charm_costs[notch] for notch in notches) - def _kh_option(self, player: int, option_name: str) -> int: - if option_name == "RandomizeCharmNotches": - return self.world.RandomCharmCosts[player] != -1 + def _hk_option(self, player: int, option_name: str) -> int: return getattr(self.world, option_name)[player].value - def _kh_start(self, player, start_location: str) -> bool: + def _hk_start(self, player, start_location: str) -> bool: return self.world.StartLocation[player] == start_location