Add Two New Tricks "Navi dive"#5477
Conversation
| 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));}), |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
Yes I have just remedied and yes it is mainly the Jumpslash that it is important and not the items
There was a problem hiding this comment.
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;}), |
There was a problem hiding this comment.
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.
| 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());}), |
There was a problem hiding this comment.
It's good I changed the two tricks
There was a problem hiding this comment.
you didn't seem to add the brackets
|
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 |
Pepper0ni
left a comment
There was a problem hiding this comment.
Just one tiny thing then this looks good
* 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
Add Bottom of the Well Navi Dive And Lost Wood Navi Dive
Build Artifacts