Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
213 changes: 134 additions & 79 deletions RandomizerCore/Resources/Patches/extDefinitions.event
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#define requirementPrizeItem 0x52
#define requirementPrizeSub 0x1D
#define fusionScrap00 0xF3
#define fusionScrap01 0xF3
#define fusionScrap02 0xF3
Expand All @@ -16,164 +18,210 @@
#define fusionScrap0F 0xF3
#define fusionScrap10 0xF3
#define fusionScrap11 0xF3
#define walletShopItem 0x6F
#define walletShopItem 0x6D
#define walletShopSub 0x00
#define boomerangShopItem 0x63
#define boomerangShopItem 0x55
#define boomerangShopSub 0x00
#define quiverShopItem 0x63
#define quiverShopSub 0x00
#define dogShopItem 0x05
#define bombBagShopItem 0x54
#define bombBagShopSub 0x00
#define dogShopItem 0x5D
#define dogShopSub 0x00
#define goron1LeftItem 0x56
#define goron1LeftItem 0x57
#define goron1LeftSub 0x00
#define goron1MiddleItem 0x58
#define goron1MiddleItem 0x6E
#define goron1MiddleSub 0x00
#define goron1RightItem 0x6D
#define goron1RightItem 0x58
#define goron1RightSub 0x00
#define goron2LeftItem 0x6E
#define goron2LeftItem 0x6F
#define goron2LeftSub 0x00
#define goron2MiddleItem 0x54
#define goron2MiddleItem 0x57
#define goron2MiddleSub 0x00
#define goron2RightItem 0x5E
#define goron2RightItem 0x6D
#define goron2RightSub 0x00
#define goron3LeftItem 0x6C
#define goron3LeftItem 0x57
#define goron3LeftSub 0x00
#define goron3MiddleItem 0x58
#define goron3MiddleItem 0x55
#define goron3MiddleSub 0x00
#define goron3RightItem 0x5F
#define goron3RightItem 0x54
#define goron3RightSub 0x00
#define goron4LeftItem 0x57
#define goron4LeftItem 0x5F
#define goron4LeftSub 0x00
#define goron4MiddleItem 0x56
#define goron4MiddleItem 0x59
#define goron4MiddleSub 0x00
#define goron4RightItem 0x59
#define goron4RightItem 0x6E
#define goron4RightSub 0x00
#define goron5LeftItem 0x6E
#define goron5LeftItem 0x6F
#define goron5LeftSub 0x00
#define goron5MiddleItem 0x57
#define goron5MiddleItem 0x55
#define goron5MiddleSub 0x00
#define goron5RightItem 0x6C
#define goron5RightItem 0x5D
#define goron5RightSub 0x00
#define swiftblade1DojoItem 0x05
#define swiftblade1DojoItem 0x46
#define swiftblade1DojoSub 0x00
#define swiftblade2DojoItem 0x15
#define swiftblade2DojoItem 0x63
#define swiftblade2DojoSub 0x00
#define swiftblade3DojoItem 0x59
#define swiftblade3DojoItem 0x55
#define swiftblade3DojoSub 0x00
#define swiftblade4DojoItem 0x6E
#define swiftblade4DojoItem 0x5E
#define swiftblade4DojoSub 0x00
#define carlovSpotItem 0x4E
#define carlovSpotItem 0x66
#define carlovSpotSub 0x00
#define redBookItem 0x6C
#define redBookItem 0x37
#define redBookSub 0x00
#define greenBookItem 0x6F
#define greenBookItem 0x63
#define greenBookSub 0x00
#define greatbladeDojoItem 0x6D
#define greatbladeDojoItem 0x5E
#define greatbladeDojoSub 0x00
#define golden5Item 0x56
#define golden5Item 0x6D
#define golden5Sub 0x00
#define grimbladeDojoItem 0x57
#define grimbladeDojoItem 0x56
#define grimbladeDojoSub 0x00
#define DumDHCENT11 0xF0
#define DumDHCENT12 0x07
#define DumDHCENT21 0xF0
#define DumDHCENT22 0x08
#define golden4Item 0x55
#define golden4Sub 0x00
#define splitbladeDojoItem 0x56
#define splitbladeDojoItem 0x5F
#define splitbladeDojoSub 0x00
#define DumToDENT 0xF0
#define DumToDENT2 0x04
#define wavebladeDojoItem 0x55
#define wavebladeDojoItem 0x5E
#define wavebladeDojoSub 0x00
#define blueBookItem 0x05
#define blueBookSub 0x04
#define golden8Item 0x6F
#define blueBookItem 0x63
#define blueBookSub 0x00
#define golden8Item 0x57
#define golden8Sub 0x00
#define DumDWSENT 0xF0
#define DumDWSENT2 0x01
#define bottleScrubItem 0x58
#define bottleScrubItem 0x5D
#define bottleScrubSub 0x00
#define golden9Item 0x58
#define golden9Item 0x54
#define golden9Sub 0x00
#define golden2Item 0x58
#define golden2Item 0x6F
#define golden2Sub 0x00
#define golden7Item 0x55
#define golden7Item 0x59
#define golden7Sub 0x00
#define gripScrubItem 0x56
#define gripScrubItem 0x65
#define gripScrubSub 0x00
#define graybladeDojoItem 0x6E
#define graybladeDojoItem 0x64
#define graybladeDojoSub 0x00
#define DumCoFENT 0xF0
#define DumCoFENT2 0x02
#define golden3Item 0x58
#define golden3Item 0x59
#define golden3Sub 0x00
#define scarbladeDojoItem 0x58
#define scarbladeDojoItem 0x56
#define scarbladeDojoSub 0x00
#define swiftbladeIDojoItem 0x57
#define swiftbladeIDojoItem 0x55
#define swiftbladeIDojoSub 0x00
#define golden1Item 0x58
#define golden1Item 0x5D
#define golden1Sub 0x00
#define DumFoWENT 0xF0
#define DumFoWENT2 0x03
#define DumRCENT 0xF0
#define DumRCENT2 0x05
#define golden6Item 0x58
#define golden6Item 0x6F
#define golden6Sub 0x00
#define biggoronItem 0x56
#define biggoronSub 0x00
#define DumPoWENT 0xF0
#define DumPoWENT2 0x06
#define chuContainerItem 0x6D
#define chuContainerItem 0x3D
#define chuContainerSub 0x00
#define gleerokContainerItem 0x5F
#define gleerokContainerSub 0x00
#define fowLeftItem 0x58
#define gleerokContainerItem 0x50
#define gleerokContainerSub 0x19
#define fowLeftItem 0x57
#define fowLeftSub 0x00
#define fowRightItem 0x63
#define fowRightItem 0x13
#define fowRightSub 0x00
#define mazaalContainerItem 0x53
#define mazaalContainerSub 0x1A
#define mazaalContainerItem 0x5D
#define mazaalContainerSub 0x00
#define DumToD1 0xF2
#define DumToD12 0x0A
#define DumToD12 0x0B
#define DumToD2 0xF2
#define DumToD22 0x0B
#define octoContainerItem 0x6C
#define octoContainerSub 0x00
#define gyorgContainerItem 0x59
#define DumToD22 0x0A
#define octoContainerItem 0x53
#define octoContainerSub 0x1B
#define gyorgContainerItem 0x5B
#define gyorgContainerSub 0x00
#define pedestalSpot1Item 0x55
#define pedestalSpot1Sub 0x00
#define pedestalSpot1Item 0x05
#define pedestalSpot1Sub 0x04
#define pedestalSpot2Item 0x59
#define pedestalSpot2Sub 0x00
#define pedestalSpot3Item 0x6F
#define pedestalSpot3Item 0x62
#define pedestalSpot3Sub 0x00
#define customRNG 0x712F50F5
#define versionNumber 0x00070017
#define versionNumbers 0x00070017
#define customRNG 0x3E4AF96D
#define versionNumber 0x010000FF
#define versionNumbers 0x010000FF
#define TUNIC_COLORED
#define TUNIC_COLOR_DARKEST 0x15E2
#define TUNIC_COLOR_DARK 0x1688
#define TUNIC_COLOR_MAIN 0x07E2
#define TUNIC_COLOR_LIGHT 0x53F7
#define heartscolor
#define heartFillR (0x095F & 0x1F)
#define heartFillG (0x095F >> 5) & 0x1F
#define heartFillB (0x095F >> 10) & 0x1F
#define heartFillR (0x195F & 0x1F)
#define heartFillG ((0x195F >> 5) & 0x1F)
#define heartFillB ((0x195F >> 10) & 0x1F)
#define heartEdgeR (0x7FFF & 0x1F)
#define heartEdgeG ((0x7FFF >> 5) & 0x1F)
#define heartEdgeB ((0x7FFF >> 10) & 0x1F)
#define lowHealthBeep 90
#define barcolor
#define splitFirst 0x0FE9
#define splitThird 0x0E66
#define splitFourth 0x0D46
#define guaranteedBarlov
#define instantText
#define historyOption 0x180
#define allowHomewarp
#define itemsCanCollectItems
#define windCrestLake
#define mCA0 0x00
#define mCA7 0xD0
#define crenelCrest 0x00
#define fallsCrest 0x00
#define cloudCrest 0x00
#define townCrest 0x08
#define lakeCrest 0x10
#define swampCrest 0x00
#define southCrest 0x00
#define minishCrest 0x00
#define dwsBluePortal 0x00
#define dwsRedPortal 0x00
#define cofBluePortal 0x00
#define cofRedPortal 0x00
#define fowBluePortal 0x00
#define fowRedPortal 0x00
#define todBluePortal 0x00
#define todRedPortal 0x00
#define powBluePortal 0x00
#define powRedPortal 0x00
#define dhcBluePortal 0x00
#define dhcRedPortal 0x00
#define specialPots
#define kinstonePots
#define kinstoneDig
#define kinstoneWater
#define lakeHPWater
#define todKeyWater
#define mC81 0x00
#define kinstoneMultiplierGoldCloud 1
#define kinstoneMultiplierGoldSwamp 1
#define kinstoneMultiplierGoldFalls 1
#define mCBF 0x00
#define noRedFusions
#define kinstoneMultiplierRedW 0
#define kinstoneMultiplierRedV 0
#define kinstoneMultiplierRedE 0
#define mC83 0x00
#define mC84 0x00
#define noBlueFusions
#define kinstoneMultiplierBlueL 0
#define kinstoneMultiplierBlueS 0
#define mC86 0x00
#define mCD2 0x00
#define noGreenFusions
#define kinstoneMultiplierGreenC 0
#define kinstoneMultiplierGreenG 0
#define kinstoneMultiplierGreenP 0
#define mC88 0x00
#define mC89 0x00
#define mC8A 0x00
Expand All @@ -182,24 +230,31 @@
#define mC8D 0x00
#define mC82 0x00
#define mC85 0x00
#define mCD1 0x00
#define mC87 0x00
#define nokeasy
#define bootsOnL
#define goalHintNutOrElement
#define ocarinaOnSelect
#define removeFickleness
#define alwaysSkipFusionCutscene 0
#define skipFusionCutsceneShowMap 0
#define disableKinstoneDrops
#define disableShellDrops
#define enable_firerod 1
#define enable_firerod_start 1
#define bookTraps
#define heartTraps
#define requirementSwordTier 0
#define requirementElementsAmmount 0
#define noDHC
#define requirementSwordTier 5
#define requirementSwordName5
#define requirementElementsAmount 4
#define requirementPrize
#define openDHC
#define pedestalItems
#define seededSharedFusions
#define cuccoSkippedLevels 9
#define keyMultiplierDWS 1
#define keyMultiplierCOF 1
#define keyMultiplierFOW 1
#define keyMultiplierTOD 1
#define keyMultiplierRC 1
#define keyMultiplierPOW 1
#define keyMultiplierDHC 1
#define goronMerchantCustomSets 0
#define seedHashed 0x6BEA61A9
#define settingHash 0xA6A9BB69
#define seedHashed 0x6F346F64
#define settingHash 0x03D6784A
18 changes: 13 additions & 5 deletions RandomizerCore/Resources/Patches/goalHint.event
Original file line number Diff line number Diff line change
Expand Up @@ -84,13 +84,21 @@ String("You need to"); BYTE 0x0A
#ifdef requirementFigurinesAmount
String("collect enough figurines and"); BYTE 0x0A
#endif
#ifdef noDHC
String("pull the pedestal.")
#ifdef vaatiWarp
String("pull the pedestal and"); BYTE 0x0A; String("defeat Vaati in sanctuary."); BYTE 0x0A;
Copy link
Author

Choose a reason for hiding this comment

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

Added a clear location for vaati to differentiate between the vaati in sanctuary (vaatiWarp) or regular dhc vaati.

Copy link
Contributor

Choose a reason for hiding this comment

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

We need to be careful with the line breaks at the end of lines 88 and 99 here, they would cause an empty line to be drawn. The texts are good!

#else
#ifdef openDHC
String("defeat Vaati.")
#ifdef openPed
String("pull the pedestal in DHC.")
#else
String("pull the pedestal and defeat Vaati.")
#ifdef noDHC
String("pull the pedestal in sanctuary.")
#else
#ifdef openDHC
String("defeat Vaati in DHC.")
#else
String("pull the pedestal and"); BYTE 0x0A; String("defeat Vaati in DHC."); BYTE 0x0A;
#endif
#endif
#endif
#endif
#ifdef requirementPrize
Expand Down
5 changes: 5 additions & 0 deletions RandomizerCore/Resources/Patches/newGame.event
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ POIN fastBombArrow; WORD 0x2002B4D 1
POIN kinstoneBag; WORD 0x2002B4B 1
POIN fusionFlags; WORD 0x2002C81 13
POIN startingFlags; WORD 0x2002C9C 116
POIN dhcGuards; WORD 0x2002DB4 1
POIN dungeonPortal; WORD 0x2002EBD 6
#ifndef requirementFigurinesAmount
POIN figurines; WORD 0x2002B0E 18
Expand Down Expand Up @@ -570,6 +571,9 @@ BYTE 0x40 //remove the messages when picking shells for the first time
fusionFlags:
BYTE mC81 mC82 mC83 mC84 mC85 mC86 mC87 mC88 mC89 mC8A mC8B mC8C mC8D

dhcGuards:
BYTE 0x02 // move the dhc guards out of the way of the south entrance
Copy link
Author

Choose a reason for hiding this comment

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

Always moved the guards since they don't particularly impact anything except the vaatiWarp and openPed goals

Copy link
Contributor

Choose a reason for hiding this comment

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

Tiny nitpick: With Normal DHC, you can normally see the guards afer pulling the pedestal, and they only disappear after reaching the entrance room (which is the vanilla behavior). It's only visual in Rando, but I think it would be nice to retain that, which could be achieved my putting line 27 inside an #ifdef noDHC.


kinstoneBag:
BYTE 0x40

Expand Down Expand Up @@ -1191,6 +1195,7 @@ BYTE 0x10
cuccoGame:
BYTE ( (cuccoSkippedLevels << 3) | (cuccoHeartPieceFlag << 7) )


startingFlags:
// 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F
/*0x2002C9C*/ BYTE 0x00 0x00 0x38 0xC0
Expand Down
Loading