From 3be7eff02c7c85dab4127aeb0d6379398e3496b1 Mon Sep 17 00:00:00 2001 From: Chris Date: Sun, 19 Apr 2026 11:04:13 -0400 Subject: [PATCH] Arrow cycle should check for sufficient magic (#6532) --- soh/soh/Enhancements/ArrowCycle.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/soh/soh/Enhancements/ArrowCycle.cpp b/soh/soh/Enhancements/ArrowCycle.cpp index 202f24c4e5..f8b9a84fb5 100644 --- a/soh/soh/Enhancements/ArrowCycle.cpp +++ b/soh/soh/Enhancements/ArrowCycle.cpp @@ -43,11 +43,11 @@ static bool HasArrowType(PlayerItemAction itemAction) { case PLAYER_IA_BOW: return true; case PLAYER_IA_BOW_FIRE: - return INV_CONTENT(ITEM_ARROW_FIRE) == ITEM_ARROW_FIRE; + return INV_CONTENT(ITEM_ARROW_FIRE) == ITEM_ARROW_FIRE && gSaveContext.magic >= sMagicArrowCosts[0]; case PLAYER_IA_BOW_ICE: - return INV_CONTENT(ITEM_ARROW_ICE) == ITEM_ARROW_ICE; + return INV_CONTENT(ITEM_ARROW_ICE) == ITEM_ARROW_ICE && gSaveContext.magic >= sMagicArrowCosts[1]; case PLAYER_IA_BOW_LIGHT: - return INV_CONTENT(ITEM_ARROW_LIGHT) == ITEM_ARROW_LIGHT; + return INV_CONTENT(ITEM_ARROW_LIGHT) == ITEM_ARROW_LIGHT && gSaveContext.magic >= sMagicArrowCosts[2]; default: return false; }