Skip to content

Shufflable Tree Items - #2608

Open
JackTriton wants to merge 4 commits into
OoTRandomizer:Devfrom
JackTriton:Rando-Tree
Open

Shufflable Tree Items#2608
JackTriton wants to merge 4 commits into
OoTRandomizer:Devfrom
JackTriton:Rando-Tree

Conversation

@JackTriton

Copy link
Copy Markdown

This PR adds the option Shuffle Trees which would include the item when you bonk the tree for the first time into shuffle locations
Heart Tree
Key Tree

ShuffleTrees

This would add additional 99 locations (night and day shares same location, child and adult works as different item placements, thus 57 for child and 42 for adult) to get items

Pot, Crate & Beehive Appearance Match Contents now includes Trees as well
TextureMatch

Trees use blue leaves for major items, light-blue leaves for small keys,
yellow leaves for boss keys, purple leaves for Gold Skulltula Tokens,
pink leaves for heart items and green leaves for others.

Preview / Test zpf:
OoT_3FC80_9KZ14X89PE.zpf.zip

@fenhl fenhl added Type: Enhancement New feature or request Component: Logic Non-trivial changes to the JSON logic files Component: ASM/C Changes some internals of the ASM/C libraries Status: Needs Review Someone should be looking at it Component: Setting specific to setting(s) Status: Needs Testing Probably should be tested Status: Under Consideration Developers are considering whether to accept or decline the feature described labels Jul 24, 2026
@fenhl

fenhl commented Jul 24, 2026

Copy link
Copy Markdown
Collaborator

I don't think we should rely on color alone for the content indicators, it's not colorblind-friendly. Instead, maybe some distinct leaf pattern textures could work.

@JackTriton

Copy link
Copy Markdown
Author

@fenhl Leaf pattern standalone would be hard to distinguish as well so changing the texture of the wood itself additionally would be great

@r0bd0g

r0bd0g commented Jul 24, 2026

Copy link
Copy Markdown

Because Nayru's Love can't be used in the Market, you need to write the can_bonk helper out in full in that check, confirming OW entrances are not shuffled if Nayru's Love is to be used. See the nearby crates for an example.

I think it is impossible to bonk one of the trees at Hyrule Castle. I think. If I recall correctly. You get caught by the guards before you can get close enough. I don't remember which tree. (When you go around to check which tree it is, assuming it exists at all, remember that the guards have reduced vision at night.)

I'd guess this setting would probably be enabled in Hell Mode. Hell Mode has bonko on so anytime you can potentially require people to bonk you probably want to take it.

I'm not sure I agree with setting the vanilla item drops for the majority of the trees to be 1 rupee. If it's a randomized drop then probably just set it to 5 rupees for now? Maybe someday there will be some kind of item drop tables implementation for the item pool. (I remember there being like, specific trees in the field that could drop nuts, or something like that. There was an OoT any% route a long time ago where you had time to kill in the field so they went around and bonked specific trees hoping to get some rng deku nuts.)

@JackTriton

JackTriton commented Jul 24, 2026

Copy link
Copy Markdown
Author

@r0bd0g I think bonk doesn't require any of items since what we need to do is just rolling against the tree
Probably add safety for Glitchless or Advanced would be great

Yes the tree placed at Hyrule Castle is unbonkable therefore it's already excluded from the bonkable locations

I saw that the hell mode has the bonko damage as well so I think I'll disable the Shuffle Trees when Bonks Do Damage is set to One Bonk KO

The first time of the drop is set to 1 rupee currently but second time or more returns to the vanilla drops
It also drops vanilla drops and bonk item at the same time so I think this is already fulfilled

@flagrama

Copy link
Copy Markdown

I do not agree with making this setting incompatible with another setting.

@JackTriton

Copy link
Copy Markdown
Author

@flagrama I commented and now realized that I forgot that Nayru's love can protect player from getting damaged

I think I'll add either safety to not place item in Market when One bonk KO is applied or remove the restriction of Nayru's love in Market

@r0bd0g

r0bd0g commented Jul 24, 2026

Copy link
Copy Markdown

I'll try to reiterate.

The tree in market should have the logic as seen below. You don't need to do anything more to account for bonko or the fact that Nayru's doesn't work in the market. There are crates in child market that are already accounting all of this.
is_child and (deadly_bonks != 'ohko' or Fairy or (can_use(Nayrus_Love) and shuffle_overworld_entrances == 'off'))

I was talking about what you set as the vanilla item drop for trees, that's the item that shuffling the tree will cause to be added to the item pool. You want to set that to what the tree normally drops when you bonk it. If the tree's drop -is normally some randomized item-, I'd recommend just setting it to 5 rupees for now, rather than 1 rupee.

@JackTriton

JackTriton commented Jul 25, 2026

Copy link
Copy Markdown
Author

@r0bd0g Ok, I'll change both of them so that none of the problems would be raised
Next update of this branch features:

  • Safe OHKO bonk check
  • 5 Rupees drop instead of 1 Rupee or Nothing
  • Tree texture change with the leaf color change for colorblind friendliness

Comment thread ASM/c/actor.c Outdated
Comment thread ASM/c/actor.h Outdated
@JackTriton

JackTriton commented Jul 25, 2026

Copy link
Copy Markdown
Author

I realized that I forgot implementing GC trees and Hint texts
I'll implement both of these and the review reflection as well

@flagrama

Copy link
Copy Markdown

What is "GC"? I can't think of any trees in Ganon's Castle or Goron City myself.

@JackTriton

Copy link
Copy Markdown
Author

Sorry GS, Golden Skulltula

…ees, OHKO safety, 5 Rupees drops instead of 1, GS Trees support (+4 trees)
@flagrama

Copy link
Copy Markdown

None of your drawing code looks right at all to me. Learn how to use the GBI macros.

@JackTriton

Copy link
Copy Markdown
Author

Regarding the reviews, I edited those sections
Default drops are now Rupees (5) instead of Rupee (1)
Added OHKO safety for Market Trees

Trees are now 103 instead of 99
Added ones are:

  • HC Malon Tree
  • LLR Child Tree
  • ZR Child Tree
  • ZF Child Tree

Added Textures for the Tree trunks for better recognition
preview
Shot1
Shot2
Shot3
Shot4

HintTable now has supported to the Tree locations

New Test zpf:
OoT_3FC80_U0OLVKB9QN.zpf.zip

@JackTriton

Copy link
Copy Markdown
Author

None of your drawing code looks right at all to me. Learn how to use the GBI macros.

I'll check on them

@rrealmuto

Copy link
Copy Markdown

None of your drawing code looks right at all to me. Learn how to use the GBI macros.

AI doesn't understand N64 GBI macros I guess

@flagrama

Copy link
Copy Markdown

Probably the one thing on the web it didn't steal because it said "Nintendo Confidential" on it.

@JackTriton

JackTriton commented Jul 26, 2026

Copy link
Copy Markdown
Author

Ok, it's much faster now
I removed Default tree trunk texture as requested as well
Preview zpf:
OoT_3FC80_U0OLVKB9QN.zpf.zip

@JackTriton
JackTriton requested a review from rrealmuto July 26, 2026 03:36
@shirosoluna

Copy link
Copy Markdown

are these textures made from generative AI? or did you make them?

@r0bd0g

r0bd0g commented Jul 27, 2026

Copy link
Copy Markdown

I guess for the record I don't see any issues with the glitchless logic as it is now.

@JackTriton

JackTriton commented Jul 27, 2026

Copy link
Copy Markdown
Author

are these textures made from generative AI? or did you make them?

I used it as reference of the concept but not directly
Made 5 images per concept (30 in total), take elements from each one of them and create one from the scratch
I can confirm that in the actual sprite, there's no elements of the genAI

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Component: ASM/C Changes some internals of the ASM/C libraries Component: Logic Non-trivial changes to the JSON logic files Component: Setting specific to setting(s) Status: Needs Review Someone should be looking at it Status: Needs Testing Probably should be tested Status: Under Consideration Developers are considering whether to accept or decline the feature described Type: Enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants