Shipwright/soh/soh/Enhancements/randomizer/randomizer_inf.h
Ralphie Morell 2eaed8d81e
Rando: Master Sword Shuffle (#2981)
* The mother of all commits

* Removed `GI_SWORD_MASTER`;
"Master Sword" Items now actually give MS

* Removed dupe MS entries in item pool;
updated GIMESSAGE (should stop crashing on non-Windows);
re-added MS in item list

* Give Adult Link a freebie with shuffle MS on;
cihld -> adult no longer gives MS;
ToT Master Sword now gives correct item

* add master sword GI draw func based on ToT MS object

* Force `MasterSword` logic var to only update upon getting MS

* Dorf funny line now activates with LA and MS in inv

* Apply suggestions

* Updated RAND_INF;
Check Tracker changes;
Gave RAND_INF and ice trap logic to ToT MS check;
Fixed swordless behavior for HBA/fishing

* ToT MS Check now works in check tracker;
Visual bug where box hovers over non-existent MS gone;
Fixed RAND_INF check with ToT MS pedestal;
Ganon no longer gives free MS

* adult equips no longer reset in MS shuffle

* Apply (most) locacc review suggestions

Co-authored-by: inspectredc <78732756+inspectredc@users.noreply.github.com>

* Reorganized swordless check for interface to fit edge cases;
getting master sword no longer highlights box

* Edge case for BGS but no bow

* Fix implicit declaration error for GI hooks (#9)

* Adjusted `CanAdultAttack/Damage`; applied logic suggestions

* Fixed build errors (hopefully)

* Cleanup merge

* get shit working again

* Tidied up remaining uses of DD flag as rando indicator

* make master sword invisible and fix ms flag (#10)

* Add text to sheik if go mode is obtained but barrier is still up

* overhaul swordless behavior in `func_80083108`

* reworked ToT MS Check to have an actual GI

* suggestions

* Apply suggestions

* Better swordless handling with temp B (#11)

* better swordless handling with temp B

* prevent auto save in fishing pond

* prevent auto save during bombchu bowling

* enum fix

---------

Co-authored-by: Adam Bird <archez39@me.com>
Co-authored-by: inspectredc <78732756+inspectredc@users.noreply.github.com>
Co-authored-by: RaelCappra <rael.cappra@gmail.com>
Co-authored-by: Adam Bird <Archez@users.noreply.github.com>
2023-10-21 20:51:37 -05:00

167 lines
7.3 KiB
C

#pragma once
typedef enum {
RAND_INF_DUNGEONS_DONE_DEKU_TREE,
RAND_INF_DUNGEONS_DONE_DODONGOS_CAVERN,
RAND_INF_DUNGEONS_DONE_JABU_JABUS_BELLY,
RAND_INF_DUNGEONS_DONE_FOREST_TEMPLE,
RAND_INF_DUNGEONS_DONE_FIRE_TEMPLE,
RAND_INF_DUNGEONS_DONE_WATER_TEMPLE,
RAND_INF_DUNGEONS_DONE_SPIRIT_TEMPLE,
RAND_INF_DUNGEONS_DONE_SHADOW_TEMPLE,
RAND_INF_TRIALS_DONE_LIGHT_TRIAL,
RAND_INF_TRIALS_DONE_FOREST_TRIAL,
RAND_INF_TRIALS_DONE_FIRE_TRIAL,
RAND_INF_TRIALS_DONE_WATER_TRIAL,
RAND_INF_TRIALS_DONE_SPIRIT_TRIAL,
RAND_INF_TRIALS_DONE_SHADOW_TRIAL,
RAND_INF_COWS_MILKED_KF_LINKS_HOUSE_COW,
RAND_INF_COWS_MILKED_HF_COW_GROTTO_COW,
RAND_INF_COWS_MILKED_LLR_STABLES_LEFT_COW,
RAND_INF_COWS_MILKED_LLR_STABLES_RIGHT_COW,
RAND_INF_COWS_MILKED_LLR_TOWER_LEFT_COW,
RAND_INF_COWS_MILKED_LLR_TOWER_RIGHT_COW,
RAND_INF_COWS_MILKED_KAK_IMPAS_HOUSE_COW,
RAND_INF_COWS_MILKED_DMT_COW_GROTTO_COW,
RAND_INF_COWS_MILKED_GV_COW,
RAND_INF_COWS_MILKED_JABU_JABUS_BELLY_MQ_COW,
RAND_INF_SCRUBS_PURCHASED_DODONGOS_CAVERN_DEKU_SCRUB_NEAR_BOMB_BAG_LEFT,
RAND_INF_SCRUBS_PURCHASED_DODONGOS_CAVERN_DEKU_SCRUB_SIDE_ROOM_NEAR_DODONGOS,
RAND_INF_SCRUBS_PURCHASED_DODONGOS_CAVERN_DEKU_SCRUB_NEAR_BOMB_BAG_RIGHT,
RAND_INF_SCRUBS_PURCHASED_DODONGOS_CAVERN_DEKU_SCRUB_LOBBY,
RAND_INF_SCRUBS_PURCHASED_JABU_JABUS_BELLY_DEKU_SCRUB,
RAND_INF_SCRUBS_PURCHASED_GANONS_CASTLE_DEKU_SCRUB_CENTER_LEFT,
RAND_INF_SCRUBS_PURCHASED_GANONS_CASTLE_DEKU_SCRUB_CENTER_RIGHT,
RAND_INF_SCRUBS_PURCHASED_GANONS_CASTLE_DEKU_SCRUB_RIGHT,
RAND_INF_SCRUBS_PURCHASED_GANONS_CASTLE_DEKU_SCRUB_LEFT,
RAND_INF_SCRUBS_PURCHASED_HF_DEKU_SCRUB_GROTTO,
RAND_INF_SCRUBS_PURCHASED_ZR_DEKU_SCRUB_GROTTO_REAR,
RAND_INF_SCRUBS_PURCHASED_ZR_DEKU_SCRUB_GROTTO_FRONT,
RAND_INF_SCRUBS_PURCHASED_SFM_DEKU_SCRUB_GROTTO_REAR,
RAND_INF_SCRUBS_PURCHASED_SFM_DEKU_SCRUB_GROTTO_FRONT,
RAND_INF_SCRUBS_PURCHASED_LH_DEKU_SCRUB_GROTTO_LEFT,
RAND_INF_SCRUBS_PURCHASED_LH_DEKU_SCRUB_GROTTO_RIGHT,
RAND_INF_SCRUBS_PURCHASED_LH_DEKU_SCRUB_GROTTO_CENTER,
RAND_INF_SCRUBS_PURCHASED_GV_DEKU_SCRUB_GROTTO_REAR,
RAND_INF_SCRUBS_PURCHASED_GV_DEKU_SCRUB_GROTTO_FRONT,
RAND_INF_SCRUBS_PURCHASED_LW_DEKU_SCRUB_GROTTO_REAR,
RAND_INF_SCRUBS_PURCHASED_LW_DEKU_SCRUB_GROTTO_FRONT,
RAND_INF_SCRUBS_PURCHASED_DMC_DEKU_SCRUB_GROTTO_LEFT,
RAND_INF_SCRUBS_PURCHASED_DMC_DEKU_SCRUB_GROTTO_RIGHT,
RAND_INF_SCRUBS_PURCHASED_DMC_DEKU_SCRUB_GROTTO_CENTER,
RAND_INF_SCRUBS_PURCHASED_GC_DEKU_SCRUB_GROTTO_LEFT,
RAND_INF_SCRUBS_PURCHASED_GC_DEKU_SCRUB_GROTTO_RIGHT,
RAND_INF_SCRUBS_PURCHASED_GC_DEKU_SCRUB_GROTTO_CENTER,
RAND_INF_SCRUBS_PURCHASED_LLR_DEKU_SCRUB_GROTTO_LEFT,
RAND_INF_SCRUBS_PURCHASED_LLR_DEKU_SCRUB_GROTTO_RIGHT,
RAND_INF_SCRUBS_PURCHASED_LLR_DEKU_SCRUB_GROTTO_CENTER,
RAND_INF_SCRUBS_PURCHASED_COLOSSUS_DEKU_SCRUB_GROTTO_REAR,
RAND_INF_SCRUBS_PURCHASED_COLOSSUS_DEKU_SCRUB_GROTTO_FRONT,
RAND_INF_SCRUBS_PURCHASED_LW_DEKU_SCRUB_NEAR_DEKU_THEATER_RIGHT,
RAND_INF_SCRUBS_PURCHASED_LW_DEKU_SCRUB_NEAR_DEKU_THEATER_LEFT,
RAND_INF_SCRUBS_PURCHASED_LW_DEKU_SCRUB_NEAR_BRIDGE,
RAND_INF_SCRUBS_PURCHASED_DMC_DEKU_SCRUB,
RAND_INF_SCRUBS_PURCHASED_DEKU_TREE_MQ_DEKU_SCRUB,
RAND_INF_SCRUBS_PURCHASED_DODONGOS_CAVERN_MQ_DEKU_SCRUB_LOBBY_REAR,
RAND_INF_SCRUBS_PURCHASED_DODONGOS_CAVERN_MQ_DEKU_SCRUB_LOBBY_FRONT,
RAND_INF_SCRUBS_PURCHASED_DODONGOS_CAVERN_MQ_DEKU_SCRUB_STAIRCASE,
RAND_INF_SCRUBS_PURCHASED_DODONGOS_CAVERN_MQ_DEKU_SCRUB_SIDE_ROOM_NEAR_LOWER_LIZALFOS,
RAND_INF_SCRUBS_PURCHASED_GANONS_CASTLE_MQ_DEKU_SCRUB_RIGHT,
RAND_INF_SCRUBS_PURCHASED_GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER_LEFT,
RAND_INF_SCRUBS_PURCHASED_GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER,
RAND_INF_SCRUBS_PURCHASED_GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER_RIGHT,
RAND_INF_SCRUBS_PURCHASED_GANONS_CASTLE_MQ_DEKU_SCRUB_LEFT,
RAND_INF_SHOP_ITEMS_KF_SHOP_ITEM_1,
RAND_INF_SHOP_ITEMS_KF_SHOP_ITEM_2,
RAND_INF_SHOP_ITEMS_KF_SHOP_ITEM_3,
RAND_INF_SHOP_ITEMS_KF_SHOP_ITEM_4,
RAND_INF_SHOP_ITEMS_KF_SHOP_ITEM_5,
RAND_INF_SHOP_ITEMS_KF_SHOP_ITEM_6,
RAND_INF_SHOP_ITEMS_KF_SHOP_ITEM_7,
RAND_INF_SHOP_ITEMS_KF_SHOP_ITEM_8,
RAND_INF_SHOP_ITEMS_GC_SHOP_ITEM_1,
RAND_INF_SHOP_ITEMS_GC_SHOP_ITEM_2,
RAND_INF_SHOP_ITEMS_GC_SHOP_ITEM_3,
RAND_INF_SHOP_ITEMS_GC_SHOP_ITEM_4,
RAND_INF_SHOP_ITEMS_GC_SHOP_ITEM_5,
RAND_INF_SHOP_ITEMS_GC_SHOP_ITEM_6,
RAND_INF_SHOP_ITEMS_GC_SHOP_ITEM_7,
RAND_INF_SHOP_ITEMS_GC_SHOP_ITEM_8,
RAND_INF_SHOP_ITEMS_ZD_SHOP_ITEM_1,
RAND_INF_SHOP_ITEMS_ZD_SHOP_ITEM_2,
RAND_INF_SHOP_ITEMS_ZD_SHOP_ITEM_3,
RAND_INF_SHOP_ITEMS_ZD_SHOP_ITEM_4,
RAND_INF_SHOP_ITEMS_ZD_SHOP_ITEM_5,
RAND_INF_SHOP_ITEMS_ZD_SHOP_ITEM_6,
RAND_INF_SHOP_ITEMS_ZD_SHOP_ITEM_7,
RAND_INF_SHOP_ITEMS_ZD_SHOP_ITEM_8,
RAND_INF_SHOP_ITEMS_KAK_BAZAAR_ITEM_1,
RAND_INF_SHOP_ITEMS_KAK_BAZAAR_ITEM_2,
RAND_INF_SHOP_ITEMS_KAK_BAZAAR_ITEM_3,
RAND_INF_SHOP_ITEMS_KAK_BAZAAR_ITEM_4,
RAND_INF_SHOP_ITEMS_KAK_BAZAAR_ITEM_5,
RAND_INF_SHOP_ITEMS_KAK_BAZAAR_ITEM_6,
RAND_INF_SHOP_ITEMS_KAK_BAZAAR_ITEM_7,
RAND_INF_SHOP_ITEMS_KAK_BAZAAR_ITEM_8,
RAND_INF_SHOP_ITEMS_KAK_POTION_SHOP_ITEM_1,
RAND_INF_SHOP_ITEMS_KAK_POTION_SHOP_ITEM_2,
RAND_INF_SHOP_ITEMS_KAK_POTION_SHOP_ITEM_3,
RAND_INF_SHOP_ITEMS_KAK_POTION_SHOP_ITEM_4,
RAND_INF_SHOP_ITEMS_KAK_POTION_SHOP_ITEM_5,
RAND_INF_SHOP_ITEMS_KAK_POTION_SHOP_ITEM_6,
RAND_INF_SHOP_ITEMS_KAK_POTION_SHOP_ITEM_7,
RAND_INF_SHOP_ITEMS_KAK_POTION_SHOP_ITEM_8,
RAND_INF_SHOP_ITEMS_MARKET_BAZAAR_ITEM_1,
RAND_INF_SHOP_ITEMS_MARKET_BAZAAR_ITEM_2,
RAND_INF_SHOP_ITEMS_MARKET_BAZAAR_ITEM_3,
RAND_INF_SHOP_ITEMS_MARKET_BAZAAR_ITEM_4,
RAND_INF_SHOP_ITEMS_MARKET_BAZAAR_ITEM_5,
RAND_INF_SHOP_ITEMS_MARKET_BAZAAR_ITEM_6,
RAND_INF_SHOP_ITEMS_MARKET_BAZAAR_ITEM_7,
RAND_INF_SHOP_ITEMS_MARKET_BAZAAR_ITEM_8,
RAND_INF_SHOP_ITEMS_MARKET_POTION_SHOP_ITEM_1,
RAND_INF_SHOP_ITEMS_MARKET_POTION_SHOP_ITEM_2,
RAND_INF_SHOP_ITEMS_MARKET_POTION_SHOP_ITEM_3,
RAND_INF_SHOP_ITEMS_MARKET_POTION_SHOP_ITEM_4,
RAND_INF_SHOP_ITEMS_MARKET_POTION_SHOP_ITEM_5,
RAND_INF_SHOP_ITEMS_MARKET_POTION_SHOP_ITEM_6,
RAND_INF_SHOP_ITEMS_MARKET_POTION_SHOP_ITEM_7,
RAND_INF_SHOP_ITEMS_MARKET_POTION_SHOP_ITEM_8,
RAND_INF_SHOP_ITEMS_MARKET_BOMBCHU_SHOP_ITEM_1,
RAND_INF_SHOP_ITEMS_MARKET_BOMBCHU_SHOP_ITEM_2,
RAND_INF_SHOP_ITEMS_MARKET_BOMBCHU_SHOP_ITEM_3,
RAND_INF_SHOP_ITEMS_MARKET_BOMBCHU_SHOP_ITEM_4,
RAND_INF_SHOP_ITEMS_MARKET_BOMBCHU_SHOP_ITEM_5,
RAND_INF_SHOP_ITEMS_MARKET_BOMBCHU_SHOP_ITEM_6,
RAND_INF_SHOP_ITEMS_MARKET_BOMBCHU_SHOP_ITEM_7,
RAND_INF_SHOP_ITEMS_MARKET_BOMBCHU_SHOP_ITEM_8,
RAND_INF_MERCHANTS_CARPET_SALESMAN,
RAND_INF_MERCHANTS_MEDIGORON,
RAND_INF_MERCHANTS_GRANNYS_SHOP,
RAND_INF_ADULT_TRADES_LW_TRADE_COJIRO,
RAND_INF_ADULT_TRADES_GV_TRADE_SAW,
RAND_INF_ADULT_TRADES_DMT_TRADE_BROKEN_SWORD,
RAND_INF_ADULT_TRADES_LH_TRADE_FROG,
RAND_INF_ADULT_TRADES_DMT_TRADE_EYEDROPS,
RAND_INF_KAK_100_GOLD_SKULLTULA_REWARD,
RAND_INF_GREG_FOUND,
RAND_INF_TOT_MASTER_SWORD,
RAND_INF_CHILD_FISHING,
RAND_INF_ADULT_FISHING,
RAND_INF_10_BIG_POES,
// If you add anything to this list, you need to update the size of randomizerInf in z64save.h to be ceil(RAND_INF_MAX / 16)
RAND_INF_MAX,
} RandomizerInf;