OoT-Randomizer
OoT-Randomizer copied to clipboard
Randomizer Arrow Toggle
New Arrow Toggle function for using the Fairy Bow with Adult Link. Ported over from the Majora's Mask Randomizer: https://github.com/ZoeyZolotova/mm-rando
Uses rewritten code files from MM Rando: https://github.com/ZoeyZolotova/mm-rando/blob/dev/assembly/c/ArrowCycle.c https://github.com/ZoeyZolotova/mm-rando/blob/dev/assembly/c/ArrowCycle.h https://github.com/ZoeyZolotova/mm-rando/blob/dev/assembly/c/ActorHelper.c https://github.com/ZoeyZolotova/mm-rando/blob/dev/assembly/c/ArrowCycle.h https://github.com/ZoeyZolotova/mm-rando/blob/dev/assembly/c/Reloc.c https://github.com/ZoeyZolotova/mm-rando/blob/dev/assembly/c/Reloc.h
Pull out the Fairy Bow in First Person View, draw the toggle by using the item button the Fairy Bow is mapped to and press R to toggle between arrow types, given you have those and the magic for it. Like it does in the Majora's Mask Randomizer.
Currently this feature is broken. It can cycle to the subsequent magic types fine on the first cycle (using each magic arrow type for the first time). After you switched back to the start of the cycle, only normal arrows and the last magic arrow type still works, which in this case prevents the Fire and Ice Arrows from working. Video is included below to showcase the concept and what's broken about it.
https://github.com/OoTRandomizer/OoT-Randomizer/assets/8747034/f9a210f9-508d-4b82-95f2-b05874c1c7d9
I would appreciate if someone could look at it and see what's wrong with it as I don't seem to be able to figure out how to quite solve this issue. I don't need to claim commit credits for this as I am more interested in seeing this fully work, so feel free to just copy the commit and claim it for yourself. It is certainly an awesome feature to have, even if the different magic arrow types are less useful than they are in the sequel Majora's Mask.
Not GUI elements have been added as of now (ex. checkbox to enable/disable this feature).
After you switched back to the start of the cycle, only normal arrows and the last magic arrow type still works,
That's not quite correct. They are still fire/ice arrows, or at least shooting a Deku Baba with a Fire Arrow without the effect drawing still lights it on fire and hitting a Tektite with an Ice Arrow without the effect still freezes it. (and if you start with a different arrow type the one that doesn't draw properly is different too)
The OOTMM folks just added this on their side, and it works for multiple cycles. Main code is in packages/core/src/common/arrow_cycle.c). Commit that added OOT support is https://github.com/OoTMM/OoTMM/commit/7293aeb33fa5868fbaea1199d99920e80b0c4459.
Thanks! I didn't realize. I take a look at that.
Something that just came up within OOTMM, which may matter here: arrow cycling when in archeries ends up in sword deletion, so you may want to make sure the cycling isn't possible in these scenarios
I see. Thanks for the info.
But I think I already made an exception for those cases where the bow is set temporary on the B button. But I make sure to double-check it.
I got it working too. Turns out the OoT+MM Combo made me realize the error.