mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-08-13 01:57:18 -07:00
Randomizer feature: Triforce Hunt (#3062)
* Initial work to make triforce pieces their own rando item * Disable triforce greyscaling * Better triforce model, finish adding triforce pieces to logic * Triforce model is now a shard * Credits warp + start of item tracker * Initial item tracker stuff * Completed triangle on triforce completion * Completed triforce model on GI done * Multiple triforce piece models * Triforce pieces in save editor & fix build * Finish item tracker * Gameplaystats timestamp * Revert parts of logic * More reverting * Start of making Triforce Hunt the win condition * Bit of cleanup * Triforce pieces can show up as icetraps * Grant GBK to player after hunt is completed * Better text boxes * Disable GBK option in ImGui with Triforce Hunt on * Clean-up * Forced save on completion improvements * Update Item Tracker Settings initial size * Small ImGui adjustments * French translation and update defaults * Finish translations * Fix timer completion & 50+ triforce pieces * Remove GI_ and ITEM_ enum usage, add french ice trap names * Fix build & small fixes * Review comments * Comment clarification
This commit is contained in:
parent
ccd05d8e58
commit
bae6cf4203
75 changed files with 1364 additions and 27 deletions
|
@ -2528,6 +2528,21 @@ u16 Randomizer_Item_Give(PlayState* play, GetItemEntry giEntry) {
|
|||
return Return_Item_Entry(giEntry, RG_NONE);
|
||||
}
|
||||
|
||||
if (item == RG_TRIFORCE_PIECE) {
|
||||
gSaveContext.triforcePiecesCollected++;
|
||||
GameInteractor_SetTriforceHuntPieceGiven(true);
|
||||
|
||||
// Teleport to credits when goal is reached.
|
||||
if (gSaveContext.triforcePiecesCollected == Randomizer_GetSettingValue(RSK_TRIFORCE_HUNT_PIECES_REQUIRED)) {
|
||||
gSaveContext.sohStats.itemTimestamp[TIMESTAMP_TRIFORCE_COMPLETED] = GAMEPLAYSTAT_TOTAL_TIME;
|
||||
gSaveContext.sohStats.gameComplete = 1;
|
||||
Play_PerformSave(play);
|
||||
GameInteractor_SetTriforceHuntCreditsWarpActive(true);
|
||||
}
|
||||
|
||||
return Return_Item_Entry(giEntry, RG_NONE);
|
||||
}
|
||||
|
||||
if (item == RG_PROGRESSIVE_BOMBCHUS) {
|
||||
if (INV_CONTENT(ITEM_BOMBCHU) == ITEM_NONE) {
|
||||
INV_CONTENT(ITEM_BOMBCHU) = ITEM_BOMBCHU;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue