Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Randomizer feature: Triforce Hunt #3062

Merged
merged 33 commits into from
Sep 26, 2023

Conversation

aMannus
Copy link
Contributor

@aMannus aMannus commented Jul 3, 2023

A mode where the win condition is changed away from defeating Ganon and instead requires a configurable amount of Triforce Pieces to win the game.

Huge thanks to https://github.com/sitton76 for providing the 4 custom models!

Credits to @PurpleHato for the French translations and Timmy_GamerNepgear for the German translation

To do:

  • Translations
  • Testing

Features:

  • Configurable amount of pieces placed in the item pool and pieces required to beat the game.
  • Collecting the required amount of pieces automatically saves the game and warps the player to the credits.
  • Ganon's Boss Key given to the player automatically after winning the game and reloading the save file.
  • Triforce Piece model cycles between 3 different custom models, based on the current amount collected.
  • Completed Triforce model and "animation" when finding the last Triforce Piece.
  • Item tracker support with a custom texture.
  • Ice traps can be Triforce Pieces (when Triforce Hunt is on), taking into account the same model rotation.

Demo: https://cdn.discordapp.com/attachments/1019824570938699798/1125509334768562186/2023-07-03_21-29-31.mp4

Build Artifacts

soh/include/z64item.h Outdated Show resolved Hide resolved
Copy link
Contributor

@briaguya-ai briaguya-ai left a comment

Choose a reason for hiding this comment

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

Overall this looks like it's good to go! I left some comments with some questions, feel free to address or ignore them.

soh/soh/Enhancements/mods.cpp Outdated Show resolved Hide resolved
IceTrapModels.push_back(0xDF);
AddItemToMainPool(TRIFORCE_PIECE, Settings::TriforceHuntTotal.Value<uint8_t>());
PlaceItemInLocation(TRIFORCE_COMPLETED, TRIFORCE); // Win condition
PlaceItemInLocation(GANON, GetJunkItem(), false, true);
Copy link
Contributor

Choose a reason for hiding this comment

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

not a v1 thing, but it could be cool to have a setting so beating ganon could have a non-junk item

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I had a small bit of discussion with @Archez about multiple "goal" settings as well, which would basically mean you could combine triforce hunt AND defeating ganon as the goal. As in, triforce hunt would grant the boss key which in turn would lead to being able to kill ganon.

There's a bit of extra work required to do this though, but it could be really cool also allowing the reverse yeah, where Ganon is potentially a check and triforce hunt remains the final goal.

soh/soh/Enhancements/randomizer/randomizer.cpp Outdated Show resolved Hide resolved
soh/src/code/z_parameter.c Show resolved Hide resolved
soh/src/code/z_play.c Outdated Show resolved Hide resolved
@briaguya-ai briaguya-ai added the merge conflicts PR has conflicts that need to be resolved before it can be merged label Sep 12, 2023
@aMannus aMannus removed the merge conflicts PR has conflicts that need to be resolved before it can be merged label Sep 12, 2023
@garrettjoecox garrettjoecox merged commit bae6cf4 into HarbourMasters:develop Sep 26, 2023
@aMannus aMannus deleted the triforce-hunt branch January 15, 2025 18:57
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.

6 participants