@@ -30,9 +30,9 @@ namespace mod
3030{
3131 customCheck customChecks[37 ] = {
3232 /* Ordon Shield*/
33- {" F_SP103" , 0 , 0 , 0x74 , 0x2A , 0x456C12A0 , 0x43390000 , 0x44405C5E , 0x5FA0 , []() { gameInfo.localAreaNodes .unk_0 [0x8 ] |= 0x1 ;/* remove ordon shield*/ }, []() { return (gameInfo.scratchPad .eventBits [0x5 ] & 0x7A ) != 0 ;/* have sewers been done*/ } },
33+ {" F_SP103" , 0 , 0 , 0x74 , 0x2A , 0x456C12A0 , 0x43390000 , 0x44405C5E , 0x5FA0 , []() { gameInfo.localAreaNodes .unk_0 [0x8 ] |= 0x4 ;/* remove ordon shield*/ }, []() { return (gameInfo.scratchPad .eventBits [0x5 ] & 0x7A ) != 0 ;/* have sewers been done*/ } },
3434 /* Ordon Sword*/
35- {" R_SP01" , 4 , 0 , 0x70 , 0x28 , 0x439D0602 , 0x0 , 0xC26ABE99 , 0xCC7D , []() { gameInfo.localAreaNodes .unk_0 [0x8 ] |= 0x4 ;/* remove ordon sword*/ }, []() { return (gameInfo.scratchPad .eventBits [0x5 ] & 0x7A ) != 0 ;/* have sewers been done*/ } },
35+ {" R_SP01" , 4 , 0 , 0x70 , 0x28 , 0x439D0602 , 0x0 , 0xC26ABE99 , 0xCC7D , []() { gameInfo.localAreaNodes .unk_0 [0x8 ] |= 0x1 ; /* got ordon sword */ gameInfo. localAreaNodes . unk_0 [ 0x1B ] |= 0x8 ;/* remove ordon sword*/ }, []() { return (gameInfo.scratchPad .eventBits [0x5 ] & 0x7A ) != 0 ;/* have sewers been done*/ } },
3636 /* Fishing rod*/
3737 {" F_SP103" , 0 , 1 , 0x68 , 0x4A , 0xC3FEB5F1 , 0x42960000 , 0x4514FB40 , 0x883A , []() { gameInfo.scratchPad .eventBits [0x3 ] |= 0x5 ;/* brought Cradle to Uli and got fishing rod*/ gameInfo.scratchPad .eventBits [0x46 ] |= 0x1 ;/* took cradle from monkey*/ }, []() { return (gameInfo.localAreaNodes .unk_0 [0xC ] & 0x2 ) != 0 ;/* is goats 1 done*/ } },
3838 /* Sera Bottle*/
@@ -56,7 +56,7 @@ namespace mod
5656 /* Wooden Statue*/
5757 {" F_SP122" , 16 , 1 , 0x68 , 0x82 , 0xC7493734 , 0xC5C3E9D7 , 0x46F956C6 , 0x7FE1 , []() { gameInfo.scratchPad .eventBits [0x22 ] |= 0x80 ;/* Got Wooden Statue from wolves*/ }, []() { return tools::checkItemFlag (ItemFlags::Medicine_Scent); } },
5858 /* Ilia's Charm*/
59- {" F_SP128" , 0 , 1 , 0x64 , 0x83 , 0x44F7650C , 0x42D20705 , 0xC4A1A68B , 0x4226 , nullptr /* Flag is set in game_patches to avoid interaction with vanilla check*/ , []() { return (gameInfo. localAreaNodes . unk_0 [ 0x9 ] & 0x2 ) != 0 ; /* All Bublins dead in HV */ } },
59+ {" F_SP128" , 0 , 1 , 0x64 , 0x83 , 0x44F7650C , 0x42D20705 , 0xC4A1A68B , 0x4226 , nullptr /* Flag is set in game_patches to avoid interaction with vanilla check*/ , []() { return true ; } },
6060 /* Horse Call*/
6161 {" R_SP109" , 0 , 1 , 0x74 , 0x84 , 0x43CDBCA1 , 0x0 , 0xC31EEBF3 , 0xBDBE , []() { gameInfo.scratchPad .eventBits [0x23 ] |= 0x20 ;/* Got horse call from Illia*/ }, []() { return tools::checkItemFlag (ItemFlags::Ilias_Charm); } },
6262 /* Fishing Hole Bottle*/
@@ -66,17 +66,17 @@ namespace mod
6666 /* Gate Keys*/
6767 {" F_SP121" , 0xFF , 1 , 0x7C , 0xF3 , 0xC781DFDB , 0xC607B38E , 0x47897B50 , 0xC0C9 , nullptr , []() { return (gameInfo.scratchPad .eventBits [0x8 ] & 0x40 ) != 0 ;/* was escort started*/ } },
6868 /* Camp Key*/
69- {" F_SP118" , 1 , 0 , 0x7C , 0x20 , 0x457F816B , 0x43820000 , 0xC572F680 , 0x0000 , nullptr , []() { return true ; } },
69+ {" F_SP118" , 1 , 0 , 0x7C , 0x20 , 0x457F816B , 0x43820000 , 0xC572F680 , 0x0000 , []() { gameInfo. localAreaNodes . unk_0 [ 0x4 ] |= 0x80 ; /* get camp key */ } , []() { return true ; } },
7070 /* Jovani Poe*/
71- {" R_SP160" , 5 , 0 , 0x7C , 0xE0 , 0x45906531 , 0xC2960000 , 0x45229AEB , 0xC3C9 , []() { gameInfo.localAreaNodes .unk_0 [0x8 ] |= 0x80 ;/* killed poe*/ gameInfo.localAreaNodes .unk_0 [0xF ] |= 0x7 ;/* cs + open path to sewers*/ }, []() { return true ; } },
71+ {" R_SP160" , 5 , 0 , 0x7C , 0xE0 , 0x45906531 , 0xC2960000 , 0x45229AEB , 0xC3C9 , []() { gameInfo.localAreaNodes .unk_0 [0x8 ] |= 0x80 ;/* killed poe*/ gameInfo.localAreaNodes .unk_0 [0xF ] |= 0x7 ;/* cs + open path to sewers*/ gameInfo. localAreaNodes . unk_0 [ 0x17 ] |= 0x8 ; /* Gengle Free */ }, []() { return true ; } },
7272 /* Shadow Crystal*/
7373 {" F_SP117" , 1 , 0 , 0x7C , 0x32 , 0xC36EB7DC , 0x44CB2000 , 0xC5964574 , 0x0000 , []() { gameInfo.scratchPad .eventBits [0x10 ] |= 0x20 ;/* got master sword cs*/ }, []() { return true ; } },
7474 /* Master Sword*/
7575 {" F_SP117" , 1 , 2 , 0x78 , 0x29 , 0x4372ACFB , 0x44CB2000 , 0xC5991A55 , 0x0000 , []() { gameInfo.scratchPad .eventBits [0x10 ] |= 0x20 ;/* got master sword cs*/ }, []() { return true ; } },
7676 /* Powered Dominion Rod*/
7777 {" R_SP209" , 7 , 1 , 0x70 , 0x4C , 0xC3DB30E9 , 0xC4408000 , 0xC523C471 , 0x3CF0 , nullptr , []() { return tools::checkItemFlag (ItemFlags::Ancient_Sky_Book_empty); } },
7878 /* Light Master Sword*/
79- {" F_SP125" , 4 , 1 , 0x7C , 0x49 , 0x44E0DBF7 , 0x45898B09 , 0xC6A4AAFA , 0x7DBC , nullptr , []() { return (((( gameInfo.scratchPad .eventBits [0x43 ] & 0x2 ) != 0 ) && (( gameInfo.scratchPad .eventBits [0x45 ] & 0x80 ) != 0 )) || ((gameInfo. scratchPad . eventBits [ 0x44 ] & 0x28 ) != 0 )) ;/* both sols placed */ } },
79+ {" F_SP125" , 4 , 1 , 0x74 , 0x49 , 0x44E0DBF7 , 0x45898B09 , 0xC6A4AAFA , 0x7DBC , nullptr , []() { return ((gameInfo.scratchPad .eventBits [0x26 ] & 0x40 ) != 0 ) && (gameInfo.scratchPad .eventBits [0x26 ] & 0x20 ) != 0 ;/* both sols outside of Palace */ } },
8080 /* Ending Blow*/
8181 {" F_SP108" , 6 , 2 , 0xF0 , 0xE1 , 0xC71A5B41 , 0x44898000 , 0xC6E08544 , 0x0000 , nullptr , []() { return gameInfo.scratchPad .clearedTwilights .Faron == 0b1 ; } },
8282 /* Shield Bash*/
@@ -94,7 +94,7 @@ namespace mod
9494 /* Youth's Scent*/
9595 {" F_SP121" , 0xFF , 0 , 0x70 , 0xB4 , 0xC681A76B , 0xC5C99000 , 0x4783ED29 , 0xA6A9 , []() { gameInfo.scratchPad .eventBits [0x22 ] |= 0x40 ;/* Got Youth's scent*/ gameInfo.localAreaNodes .unk_0 [0x16 ] |= 0x4 ;/* Midna text after getting Youth's scent*/ gameInfo.localAreaNodes .unk_0 [0x17 ] |= 0x40 ;/* got youth's scent cs*/ }, []() { return true ; } },
9696 /* Ilia's Scent*/
97- {" F_SP121" , 0xFF , 0 , 0x6C , 0xB0 , 0xC5DD1EF2 , 0x4529ED9A , 0xC73F5AD1 , 0x71A6 , nullptr , []() { return true ; } },
97+ {" F_SP121" , 0xFF , 0 , 0x6C , 0xB0 , 0xC5DD1EF2 , 0x4529ED9A , 0xC73F5AD1 , 0x71A6 , []() { gameInfo. scratchPad . eventBits [ 0x22 ] |= 0x20 ; /* Got Ilia's scent */ gameInfo. localAreaNodes . unk_0 [ 0x16 ] |= 0x20 ; /* Midna text after getting Ilia's scent */ gameInfo. localAreaNodes . unk_0 [ 0x17 ] |= 0x80 ; /* got Ilia's scent cs */ } , []() { return true ; } },
9898 /* Poe Scent*/
9999 {" D_MN10" , 0xFF , 0 , 0x3C , 0xB2 , 0xC1571A39 , 0xC1200000 , 0x4355109A , 0x0000 , nullptr , []() { return true ; } },
100100 /* Reekfish Scent*/
0 commit comments