Skip to content

Commit

Permalink
CuriosityShopBombBag (#114)
Browse files Browse the repository at this point in the history
Adds in Curiosity Shop Big Bomb Bag as a logical location by adding the following:
- Hint Location text
- Item/Hint Key
- Item Location values
- Item Pool (placed vanilla along with WCT Bomb Bag until shopsanity is inluded)
- Location Access for logical placement
  • Loading branch information
Tacoman369 authored Sep 28, 2024
1 parent 0dea73a commit 23258c6
Show file tree
Hide file tree
Showing 5 changed files with 11 additions and 1 deletion.
2 changes: 2 additions & 0 deletions source/hint_list.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1552,6 +1552,8 @@ void HintTable_Init() {
Text{"a shady town merchant sells", "**FRENCH**", "**SPANISH**"}});
hintTable[W_CLOCK_TOWN_BOMB_SHOP_GORON] = HintText::Sometimes({
Text{"a town goron merchant sells", "**FRENCH**", "**SPANISH**"}});
hintTable[W_CLOCK_TOWN_CURIOSITY_BOMB_BAG] = HintText::Sometimes({
Text{"a shady town merchant sells", "**FRENCH**", "**SPANISH**"}});
//hintTable[W_CLOCK_TOWN_LOTTERY] = HintText::Sometimes({Text{"**ENGLISH**", "**FRENCH**", "**SPANISH**"}});
hintTable[TRADING_POST_ITEM_1] = HintText::Sometimes({
Text{"a town merchant sells", "**FRENCH**", "**SPANISH**"}});
Expand Down
1 change: 1 addition & 0 deletions source/include/keys.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -465,6 +465,7 @@ typedef enum {
W_CLOCK_TOWN_ALL_NIGHT_MASK_BUY,
W_CLOCK_TOWN_LOTTERY,
W_CLOCK_TOWN_BOMB_SHOP_GORON,
W_CLOCK_TOWN_CURIOSITY_BOMB_BAG,
TRADING_POST_ITEM_1,
TRADING_POST_ITEM_2,
TRADING_POST_ITEM_3,
Expand Down
6 changes: 5 additions & 1 deletion source/item_location.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@ void LocationTable_Init() {
locationTable[W_CLOCK_TOWN_ALL_NIGHT_MASK_BUY] = ItemLocation::Base (0x0D, 0x7E, false, "WCT All-Night Mask Purchase", W_CLOCK_TOWN_ALL_NIGHT_MASK_BUY, ALL_NIGHT_MASK, {Category::cWestClockTown, Category::cVanillaMask,Category::cDayThree}, SpoilerCollectionCheck::ItemGetInf(0), SpoilerCollectionCheckGroup::GROUP_W_CLOCK_TOWN );
//locationTable[W_CLOCK_TOWN_LOTTERY] = ItemLocation::Base (0x39, 0x00, true, "WCT Lottery", W_CLOCK_TOWN_LOTTERY, PURPLE_RUPEE, {Category::cWestClockTown}, SpoilerCollectionCheck::ItemGetInf(0), SpoilerCollectionCheckGroup::GROUP_W_CLOCK_TOWN );
locationTable[W_CLOCK_TOWN_BOMB_SHOP_GORON] = ItemLocation::Base (0x0D, 0x34, true, "WCT Bomb Shop Goron", W_CLOCK_TOWN_BOMB_SHOP_GORON, POWDER_KEG, {Category::cWestClockTown, Category::cMerchant,Category::cDayOne, Category::cShop, Category::cMainInventory}, SpoilerCollectionCheck::ItemGetInf(0), SpoilerCollectionCheckGroup::GROUP_W_CLOCK_TOWN );

locationTable[W_CLOCK_TOWN_CURIOSITY_BOMB_BAG] = ItemLocation::Base (0x0D, 0x00, true, "WCT Curiosity Shop Bomb Bag", W_CLOCK_TOWN_CURIOSITY_BOMB_BAG, PROGRESSIVE_BOMB_BAG, {Category::cWestClockTown, Category::cDayTwo, Category::cShop, Category::cMainInventory}, SpoilerCollectionCheck::ItemGetInf(0), SpoilerCollectionCheckGroup::GROUP_W_CLOCK_TOWN );
//Woodfall
locationTable[WOODFALL_BRIDGE_CHEST] = ItemLocation::Chest (0x46, 0x01, true, "WF Bridge Chest", WOODFALL_BRIDGE_CHEST, PIECE_OF_HEART, {Category::cWoodfall, Category::cVanillaHeartPiece, Category::cChest, Category::cDayOne}, SpoilerCollectionCheckGroup::GROUP_WOODFALL );
locationTable[WOODFALL_BEHIND_OWL_CHEST] = ItemLocation::Chest (0x46, 0x02, true, "WF Behind Owl Chest", WOODFALL_BEHIND_OWL_CHEST, BLUE_RUPEE, {Category::cWoodfall,Category::cChest ,Category::cDayOne}, SpoilerCollectionCheckGroup::GROUP_WOODFALL );
Expand Down Expand Up @@ -1012,6 +1012,7 @@ std::vector<LocationKey> overworldLocations = {
W_CLOCK_TOWN_SWORDSMANS_SCHOOL,
W_CLOCK_TOWN_ALL_NIGHT_MASK_BUY,
W_CLOCK_TOWN_BOMB_SHOP_GORON,
W_CLOCK_TOWN_CURIOSITY_BOMB_BAG,
//W_CLOCK_TOWN_LOTTERY,
TRADING_POST_ITEM_1,
TRADING_POST_ITEM_2,
Expand Down Expand Up @@ -1227,6 +1228,9 @@ void CreateItemOverrides() {
PlaceItemInLocation(SOUTHERN_SWAMP_SCRUB_PURCHASE_CLEAR, loc19->GetPlacedItemKey());
PlaceItemInLocation(SOUTHERN_SWAMP_SCRUB_TRADE_CLEAR, loc20->GetPlacedItemKey());
PlaceItemInLocation(SWAMP_TOURIST_CENTER_ROOF_CLEAR, loc21->GetPlacedItemKey());
//Curiosity Shop Big Bomb Bag is same as Bomb Shop Big Bomb Bag
auto loc22 = Location(W_CLOCK_TOWN_BIG_BOMB_BAG_BUY);
PlaceItemInLocation(W_CLOCK_TOWN_CURIOSITY_BOMB_BAG, loc22->GetPlacedItemKey());

for (LocationKey locKey : allLocations) {
auto loc = Location(locKey);
Expand Down
2 changes: 2 additions & 0 deletions source/item_pool.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -394,6 +394,7 @@ static void PlaceVanillaProgressive() {
PlaceItemInLocation(ROAD_TO_SS_ARCHERY_1, PROGRESSIVE_BOW);
PlaceItemInLocation(W_CLOCK_TOWN_BOMB_BAG_BUY, PROGRESSIVE_BOMB_BAG);
PlaceItemInLocation(W_CLOCK_TOWN_BIG_BOMB_BAG_BUY, PROGRESSIVE_BOMB_BAG);
PlaceItemInLocation(W_CLOCK_TOWN_CURIOSITY_BOMB_BAG, PROGRESSIVE_BOMB_BAG);
PlaceItemInLocation(GORON_VILLAGE_SCRUB_PURCHASE, PROGRESSIVE_BOMB_BAG);
PlaceItemInLocation(N_CLOCK_TOWN_GREAT_FAIRY_DEKU, PROGRESSIVE_MAGIC_METER);
PlaceItemInLocation(SNOWHEAD_GREAT_FAIRY, PROGRESSIVE_MAGIC_METER);
Expand Down Expand Up @@ -892,6 +893,7 @@ void GenerateItemPool() {
PlaceItemInLocation(WOODFALL_TEMPLE_DEKU_PRINCESS, DEKU_PRINCESS);
PlaceItemInLocation(W_CLOCK_TOWN_BOMB_BAG_BUY, PROGRESSIVE_BOMB_BAG);
PlaceItemInLocation(W_CLOCK_TOWN_BIG_BOMB_BAG_BUY, PROGRESSIVE_BOMB_BAG);
PlaceItemInLocation(W_CLOCK_TOWN_CURIOSITY_BOMB_BAG, PROGRESSIVE_BOMB_BAG);

//temp placement until shopsanity works
PlaceItemInLocation(SOUTHERN_SWAMP_SCRUB_PURCHASE, MAGIC_BEAN);
Expand Down
1 change: 1 addition & 0 deletions source/location_access.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -531,6 +531,7 @@ void AreaTable_Init() {
{
//Locations
LocationAccess(W_CLOCK_TOWN_ALL_NIGHT_MASK_BUY, {[] {return (ProgressiveWallet >= 2);}}),
LocationAccess(W_CLOCK_TOWN_CURIOSITY_BOMB_BAG, {[] {return AnyWallet;}}),
},
{
//Exits
Expand Down

0 comments on commit 23258c6

Please sign in to comment.