From 9b5654ff4f8634a1e8a2f6cb683d735299ff9f57 Mon Sep 17 00:00:00 2001 From: compiling <8335770+compiling@users.noreply.github.com> Date: Sun, 15 Mar 2020 14:14:06 +1100 Subject: [PATCH] Update boss requirements to match item randomizer - Can defeat Armos with the bow - Can defeat Lanmolas with the canes - Require sword or bow for Helmasaur - hammer is possible for phase 2 but difficult - Require extended magic for fighting Trinexx with master sword --- Bosses.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Bosses.py b/Bosses.py index 2713c92c..823d1e24 100644 --- a/Bosses.py +++ b/Bosses.py @@ -18,6 +18,7 @@ def ArmosKnightsDefeatRule(state, player): # Magic amounts are probably a bit overkill return ( state.has_blunt_weapon(player) or + state.can_shoot_arrows(player) or (state.has('Cane of Somaria', player) and state.can_extend_magic(player, 10)) or (state.has('Cane of Byrna', player) and state.can_extend_magic(player, 16)) or (state.has('Ice Rod', player) and state.can_extend_magic(player, 32)) or @@ -26,18 +27,20 @@ def ArmosKnightsDefeatRule(state, player): state.has('Red Boomerang', player)) def LanmolasDefeatRule(state, player): - # TODO: Allow the canes here? return ( state.has_blunt_weapon(player) or state.has('Fire Rod', player) or state.has('Ice Rod', player) or + state.has('Cane of Somaria', player) or + state.has('Cane of Byrna', player) or state.can_shoot_arrows(player)) def MoldormDefeatRule(state, player): return state.has_blunt_weapon(player) def HelmasaurKingDefeatRule(state, player): - return state.has_blunt_weapon(player) or state.can_shoot_arrows(player) + # TODO: technically possible with the hammer + return state.has_sword(player) or state.can_shoot_arrows(player) def ArrghusDefeatRule(state, player): if not state.has('Hookshot', player): @@ -95,7 +98,9 @@ def VitreousDefeatRule(state, player): def TrinexxDefeatRule(state, player): if not (state.has('Fire Rod', player) and state.has('Ice Rod', player)): return False - return state.has('Hammer', player) or state.has_beam_sword(player) or (state.has_sword(player) and state.can_extend_magic(player, 32)) + return state.has('Hammer', player) or state.has('Tempered Sword', player) or state.has('Golden Sword', player) or \ + (state.has('Master Sword', player) and state.can_extend_magic(player, 16)) or \ + (state.has_sword(player) and state.can_extend_magic(player, 32)) def AgahnimDefeatRule(state, player): return state.has_sword(player) or state.has('Hammer', player) or state.has('Bug Catching Net', player)