Skip to content

Add Two New Tricks "Navi dive"#5477

Merged
Malkierian merged 11 commits intoHarbourMasters:developfrom
TheLynk:Navi-Dive-Trick
May 23, 2025
Merged

Add Two New Tricks "Navi dive"#5477
Malkierian merged 11 commits intoHarbourMasters:developfrom
TheLynk:Navi-Dive-Trick

Conversation

@TheLynk
Copy link
Contributor

@TheLynk TheLynk commented May 9, 2025

Add Bottom of the Well Navi Dive And Lost Wood Navi Dive

Build Artifacts

Entrance(RR_KAK_BAZAAR, []{return logic->IsAdult && logic->AtDay && logic->CanOpenOverworldDoor(RG_KAK_BAZAAR_KEY);}),
Entrance(RR_KAK_SHOOTING_GALLERY, []{return logic->IsAdult && logic->AtDay && logic->CanOpenOverworldDoor(RG_KAK_SHOOTING_GALLERY_KEY);}),
Entrance(RR_KAK_WELL, []{return logic->IsAdult || logic->DrainWell || logic->CanUse(RG_IRON_BOOTS);}),
Entrance(RR_KAK_WELL, []{return logic->IsAdult || logic->DrainWell || logic->CanUse(RG_IRON_BOOTS) || ctx->GetTrickOption(RT_BOTTOM_OF_THE_WELL_NAVI_DIVE) && logic->HasItem(RG_BRONZE_SCALE) && (logic->CanUse(RG_STICKS) || logic->CanUse(RG_KOKIRI_SWORD));}),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If child equip swaps a different melee weapon (hammer) or has a different sword equipped with timeless items, does the trick still work? I assume so as it's an ISG based trick and just needs a crouch stab. If so, you should use CanJumpslash()

We may want to consider making all Navi Dives the same trick and declaring a CanNaviDive() helper, assuming they are all pretty similar in execution, will talk about it in the discord.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes I have just remedied and yes it is mainly the Jumpslash that it is important and not the items

Copy link
Contributor Author

@TheLynk TheLynk May 9, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But Child Only trick work

Entrance(RR_KAK_BAZAAR, []{return logic->IsAdult && logic->AtDay && logic->CanOpenOverworldDoor(RG_KAK_BAZAAR_KEY);}),
Entrance(RR_KAK_SHOOTING_GALLERY, []{return logic->IsAdult && logic->AtDay && logic->CanOpenOverworldDoor(RG_KAK_SHOOTING_GALLERY_KEY);}),
Entrance(RR_KAK_WELL, []{return logic->IsAdult || logic->DrainWell || logic->CanUse(RG_IRON_BOOTS);}),
Entrance(RR_KAK_WELL, []{return logic->IsAdult || logic->DrainWell || logic->CanUse(RG_IRON_BOOTS) || ctx->GetTrickOption(RT_BOTTOM_OF_THE_WELL_NAVI_DIVE) && logic->HasItem(RG_BRONZE_SCALE) && logic->CanJumpslash() && logic->IsChild;}),
Copy link
Contributor

@Pepper0ni Pepper0ni May 9, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using brackets to isolate && checks from || checks avoids any confusion or bugs from how the code processes them. Also, while a small thing, it's preferred to move the faster checks like IsChild to the start as a minor optimisation.

Suggested change
Entrance(RR_KAK_WELL, []{return logic->IsAdult || logic->DrainWell || logic->CanUse(RG_IRON_BOOTS) || ctx->GetTrickOption(RT_BOTTOM_OF_THE_WELL_NAVI_DIVE) && logic->HasItem(RG_BRONZE_SCALE) && logic->CanJumpslash() && logic->IsChild;}),
Entrance(RR_KAK_WELL, []{return logic->IsAdult || logic->DrainWell || logic->CanUse(RG_IRON_BOOTS) || (ctx->GetTrickOption(RT_BOTTOM_OF_THE_WELL_NAVI_DIVE) && logic->IsChild && logic->HasItem(RG_BRONZE_SCALE) && logic->CanJumpslash());}),

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's good I changed the two tricks

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you didn't seem to add the brackets

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

refix

@Pepper0ni
Copy link
Contributor

in case you haven't realised, you have to use clang-format on the repo before pushing. instructions are here https://discord.com/channels/808039310850130000/1019824570938699798/1356820522037416067

@TheLynk TheLynk requested a review from Pepper0ni May 19, 2025 18:43
Copy link
Contributor

@Pepper0ni Pepper0ni left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just one tiny thing then this looks good

@Malkierian Malkierian merged commit f2298c6 into HarbourMasters:develop May 23, 2025
6 checks passed
krazyjakee pushed a commit to krazyjakee/OOT that referenced this pull request Sep 6, 2025
* add navi dive bottom of the well

* add kokiri sword logic for botw

* Optimisation Logic

* Add Navi Dive Lost Wood

* Update Logic

* Move IsChild in logic trick

* Add brackets

* Clang-Format

* Tweak Text

Tweak Text

* Final Push ?

* It's really the last push
@TheLynk TheLynk deleted the Navi-Dive-Trick branch October 18, 2025 09:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants