diff --git a/include/constants/items.h b/include/constants/items.h index 4f2696527..0f7c16323 100644 --- a/include/constants/items.h +++ b/include/constants/items.h @@ -875,7 +875,7 @@ #define ITEM_DYNAMAX_BAND 707 // Misc. Key Items -#define ITEM_POKEMON_BOX_LINK 708 +#define ITEM_BICYCLE 708 #define ITEM_MACH_BIKE 709 #define ITEM_ACRO_BIKE 710 #define ITEM_OLD_ROD 711 @@ -883,33 +883,37 @@ #define ITEM_SUPER_ROD 713 #define ITEM_DOWSING_MACHINE 714 #define ITEM_TOWN_MAP 715 -#define ITEM_COIN_CASE 716 -#define ITEM_POWDER_JAR 717 -#define ITEM_WAILMER_PAIL 718 -#define ITEM_POKEBLOCK_CASE 719 -#define ITEM_SOOT_SACK 720 +#define ITEM_VS_SEEKER 716 +#define ITEM_TM_CASE 717 +#define ITEM_POKEMON_BOX_LINK 718 +#define ITEM_COIN_CASE 719 +#define ITEM_POWDER_JAR 720 +#define ITEM_WAILMER_PAIL 721 +#define ITEM_POKE_RADAR 722 +#define ITEM_POKEBLOCK_CASE 723 +#define ITEM_SOOT_SACK 724 // Story Key Items -#define ITEM_SS_TICKET 721 -#define ITEM_EON_TICKET 722 -#define ITEM_MYSTIC_TICKET 723 -#define ITEM_AURORA_TICKET 724 -#define ITEM_OLD_SEA_MAP 725 -#define ITEM_LETTER 726 -#define ITEM_DEVON_PARTS 727 -#define ITEM_GO_GOGGLES 728 -#define ITEM_DEVON_SCOPE 729 -#define ITEM_BASEMENT_KEY 730 -#define ITEM_SCANNER 731 -#define ITEM_STORAGE_KEY 732 -#define ITEM_KEY_TO_ROOM_1 733 -#define ITEM_KEY_TO_ROOM_2 734 -#define ITEM_KEY_TO_ROOM_4 735 -#define ITEM_KEY_TO_ROOM_6 736 -#define ITEM_METEORITE 737 -#define ITEM_MAGMA_EMBLEM 738 +#define ITEM_SS_TICKET 725 +#define ITEM_EON_TICKET 726 +#define ITEM_MYSTIC_TICKET 727 +#define ITEM_AURORA_TICKET 728 +#define ITEM_OLD_SEA_MAP 729 +#define ITEM_LETTER 730 +#define ITEM_DEVON_PARTS 731 +#define ITEM_GO_GOGGLES 732 +#define ITEM_DEVON_SCOPE 733 +#define ITEM_BASEMENT_KEY 734 +#define ITEM_SCANNER 735 +#define ITEM_STORAGE_KEY 736 +#define ITEM_KEY_TO_ROOM_1 737 +#define ITEM_KEY_TO_ROOM_2 738 +#define ITEM_KEY_TO_ROOM_4 739 +#define ITEM_KEY_TO_ROOM_6 740 +#define ITEM_METEORITE 741 +#define ITEM_MAGMA_EMBLEM 742 -#define ITEMS_COUNT 739 +#define ITEMS_COUNT 743 #define ITEM_FIELD_ARROW ITEMS_COUNT // Range of berries given out by various NPCS diff --git a/include/graphics.h b/include/graphics.h index 7e1276dbd..c239b117f 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4610,8 +4610,8 @@ extern const u32 gItemIconPalette_Gracidea[]; //extern const u32 gItemIcon_DynamaxBand[]; //extern const u32 gItemIconPalette_DynamaxBand[]; // Misc. Key Items -//extern const u32 gItemIcon_PokemonBoxLink[]; -//extern const u32 gItemIconPalette_PokemonBoxLink[]; +extern const u32 gItemIcon_Bicycle[]; +extern const u32 gItemIconPalette_Bicycle[]; extern const u32 gItemIcon_MachBike[]; extern const u32 gItemIconPalette_MachBike[]; extern const u32 gItemIcon_AcroBike[]; @@ -4626,12 +4626,20 @@ extern const u32 gItemIcon_DowsingMachine[]; extern const u32 gItemIconPalette_DowsingMachine[]; extern const u32 gItemIcon_TownMap[]; extern const u32 gItemIconPalette_TownMap[]; +extern const u32 gItemIcon_VsSeeker[]; +extern const u32 gItemIconPalette_VsSeeker[]; +extern const u32 gItemIcon_TMCase[]; +extern const u32 gItemIconPalette_TMCase[]; +//extern const u32 gItemIcon_PokemonBoxLink[]; +//extern const u32 gItemIconPalette_PokemonBoxLink[]; extern const u32 gItemIcon_CoinCase[]; extern const u32 gItemIconPalette_CoinCase[]; extern const u32 gItemIcon_PowderJar[]; extern const u32 gItemIconPalette_PowderJar[]; extern const u32 gItemIcon_WailmerPail[]; extern const u32 gItemIconPalette_WailmerPail[]; +//extern const u32 gItemIcon_PokeRadar[]; +//extern const u32 gItemIconPalette_PokeRadar[]; extern const u32 gItemIcon_PokeblockCase[]; extern const u32 gItemIconPalette_PokeblockCase[]; extern const u32 gItemIcon_SootSack[]; diff --git a/src/data/graphics/items.h b/src/data/graphics/items.h index 7ce4b2188..365c3db10 100644 --- a/src/data/graphics/items.h +++ b/src/data/graphics/items.h @@ -1892,8 +1892,8 @@ const u32 gItemIconPalette_Gracidea[] = INCBIN_U32("graphics/items/icon_palettes // Misc. Key Items -//const u32 gItemIcon_PokemonBoxLink[] = INCBIN_U32("graphics/items/icons/question_mark.4bpp.lz"); -//const u32 gItemIconPalette_PokemonBoxLink[] = INCBIN_U32("graphics/items/icon_palettes/question_mark.gbapal.lz"); +const u32 gItemIcon_Bicycle[] = INCBIN_U32("graphics/items/icons/bicycle.4bpp.lz"); +const u32 gItemIconPalette_Bicycle[] = INCBIN_U32("graphics/items/icon_palettes/bicycle.gbapal.lz"); const u32 gItemIcon_MachBike[] = INCBIN_U32("graphics/items/icons/mach_bike.4bpp.lz"); const u32 gItemIconPalette_MachBike[] = INCBIN_U32("graphics/items/icon_palettes/mach_bike.gbapal.lz"); @@ -1916,6 +1916,15 @@ const u32 gItemIconPalette_DowsingMachine[] = INCBIN_U32("graphics/items/icon_pa const u32 gItemIcon_TownMap[] = INCBIN_U32("graphics/items/icons/town_map.4bpp.lz"); const u32 gItemIconPalette_TownMap[] = INCBIN_U32("graphics/items/icon_palettes/town_map.gbapal.lz"); +const u32 gItemIcon_VsSeeker[] = INCBIN_U32("graphics/items/icons/vs_seeker.4bpp.lz"); +const u32 gItemIconPalette_VsSeeker[] = INCBIN_U32("graphics/items/icon_palettes/vs_seeker.gbapal.lz"); + +const u32 gItemIcon_TMCase[] = INCBIN_U32("graphics/items/icons/tm_case.4bpp.lz"); +const u32 gItemIconPalette_TMCase[] = INCBIN_U32("graphics/items/icon_palettes/tm_case.gbapal.lz"); + +//const u32 gItemIcon_PokemonBoxLink[] = INCBIN_U32("graphics/items/icons/question_mark.4bpp.lz"); +//const u32 gItemIconPalette_PokemonBoxLink[] = INCBIN_U32("graphics/items/icon_palettes/question_mark.gbapal.lz"); + const u32 gItemIcon_CoinCase[] = INCBIN_U32("graphics/items/icons/coin_case.4bpp.lz"); const u32 gItemIconPalette_CoinCase[] = INCBIN_U32("graphics/items/icon_palettes/coin_case.gbapal.lz"); @@ -1925,6 +1934,9 @@ const u32 gItemIconPalette_PowderJar[] = INCBIN_U32("graphics/items/icon_palette const u32 gItemIcon_WailmerPail[] = INCBIN_U32("graphics/items/icons/wailmer_pail.4bpp.lz"); const u32 gItemIconPalette_WailmerPail[] = INCBIN_U32("graphics/items/icon_palettes/wailmer_pail.gbapal.lz"); +//const u32 gItemIcon_PokeRadar[] = INCBIN_U32("graphics/items/icons/question_mark.4bpp.lz"); +//const u32 gItemIconPalette_PokeRadar[] = INCBIN_U32("graphics/items/icon_palettes/question_mark.gbapal.lz"); + const u32 gItemIcon_PokeblockCase[] = INCBIN_U32("graphics/items/icons/pokeblock_case.4bpp.lz"); const u32 gItemIconPalette_PokeblockCase[] = INCBIN_U32("graphics/items/icon_palettes/pokeblock_case.gbapal.lz"); diff --git a/src/data/item_icon_table.h b/src/data/item_icon_table.h index 826747a67..42b78d22a 100644 --- a/src/data/item_icon_table.h +++ b/src/data/item_icon_table.h @@ -754,7 +754,7 @@ const u32 *const gItemIconTable[][2] = //[ITEM_Z_RING] = {gItemIcon_ZRing, gItemIconPalette_ZRing}, // Remove [ITEM_DYNAMAX_BAND] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // Todo // Misc. Key Items - [ITEM_POKEMON_BOX_LINK] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // Todo + [ITEM_BICYCLE] = {gItemIcon_Bicycle, gItemIconPalette_Bicycle}, [ITEM_MACH_BIKE] = {gItemIcon_MachBike, gItemIconPalette_MachBike}, [ITEM_ACRO_BIKE] = {gItemIcon_AcroBike, gItemIconPalette_AcroBike}, [ITEM_OLD_ROD] = {gItemIcon_OldRod, gItemIconPalette_OldRod}, @@ -762,9 +762,13 @@ const u32 *const gItemIconTable[][2] = [ITEM_SUPER_ROD] = {gItemIcon_SuperRod, gItemIconPalette_SuperRod}, [ITEM_DOWSING_MACHINE] = {gItemIcon_DowsingMachine, gItemIconPalette_DowsingMachine}, [ITEM_TOWN_MAP] = {gItemIcon_TownMap, gItemIconPalette_TownMap}, + [ITEM_VS_SEEKER] = {gItemIcon_VsSeeker, gItemIconPalette_VsSeeker}, + [ITEM_TM_CASE] = {gItemIcon_TMCase, gItemIconPalette_TMCase}, + [ITEM_POKEMON_BOX_LINK] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // Todo [ITEM_COIN_CASE] = {gItemIcon_CoinCase, gItemIconPalette_CoinCase}, [ITEM_POWDER_JAR] = {gItemIcon_PowderJar, gItemIconPalette_PowderJar}, [ITEM_WAILMER_PAIL] = {gItemIcon_WailmerPail, gItemIconPalette_WailmerPail}, + [ITEM_POKE_RADAR] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // Todo [ITEM_POKEBLOCK_CASE] = {gItemIcon_PokeblockCase, gItemIconPalette_PokeblockCase}, [ITEM_SOOT_SACK] = {gItemIcon_SootSack, gItemIconPalette_SootSack}, // Story Key Items diff --git a/src/data/items.h b/src/data/items.h index abc8a93ea..969a6d417 100644 --- a/src/data/items.h +++ b/src/data/items.h @@ -8707,14 +8707,16 @@ const struct Item gItems[] = // Misc. Key Items - [ITEM_POKEMON_BOX_LINK] = // Todo + [ITEM_BICYCLE] = { - .name = _("????????"), - .itemId = ITEM_NONE, + .name = _("Bicycle"), + .itemId = ITEM_BICYCLE, .price = 0, - .description = sDummyDesc, - .pocket = POCKET_ITEMS, - .type = ITEM_USE_BAG_MENU, + .description = sBicycleDesc, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = ITEM_USE_FIELD, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, }, @@ -8814,6 +8816,43 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, }, + [ITEM_VS_SEEKER] = + { + .name = _("Vs. Seeker"), + .itemId = ITEM_VS_SEEKER, + .price = 0, + .description = sVsSeekerDesc, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = ITEM_USE_FIELD, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + }, + + [ITEM_TM_CASE] = + { + .name = _("TM Case"), + .itemId = ITEM_TM_CASE, + .price = 0, + .description = sTMCaseDesc, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = ITEM_USE_BAG_MENU, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + }, + + [ITEM_POKEMON_BOX_LINK] = // Todo + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .description = sDummyDesc, + .pocket = POCKET_ITEMS, + .type = ITEM_USE_BAG_MENU, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + }, + [ITEM_COIN_CASE] = { .name = _("Coin Case"), @@ -8851,6 +8890,17 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_WailmerPail, }, + [ITEM_POKE_RADAR] = // Todo + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .description = sDummyDesc, + .pocket = POCKET_ITEMS, + .type = ITEM_USE_BAG_MENU, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + }, + [ITEM_POKEBLOCK_CASE] = { .name = _("{POKEBLOCK} Case"), diff --git a/src/data/text/item_descriptions.h b/src/data/text/item_descriptions.h index 697d07534..10096e978 100644 --- a/src/data/text/item_descriptions.h +++ b/src/data/text/item_descriptions.h @@ -3254,8 +3254,10 @@ static const u8 sDynamaxBandDesc[] = _( // Todo "?????"); // Misc. Key Items -static const u8 sPokemonBoxLinkDesc[] = _( // Todo - "?????"); +static const u8 sBicycleDesc[] = _( + "A folding bicycle\n" + "that is faster than\n" + "the Running Shoes."); static const u8 sMachBikeDesc[] = _( "A folding bicycle\n" @@ -3292,6 +3294,19 @@ static const u8 sTownMapDesc[] = _( "anytime. Shows your\n" "present location."); +static const u8 sVsSeekerDesc[] = _( + "A rechargeable unit\n" + "that flags battle-\n" + "ready Trainers."); + +static const u8 sTMCaseDesc[] = _( + "A convenient case \n" + "that holds TMs and\n" + "HMs."); + +static const u8 sPokemonBoxLinkDesc[] = _( // Todo + "?????"); + static const u8 sCoinCaseDesc[] = _( "A case that holds\n" "up to 9,999 Coins."); @@ -3306,6 +3321,9 @@ static const u8 sWailmerPailDesc[] = _( "watering Berries\n" "and plants."); +static const u8 sPokeRadarDesc[] = _( // Todo + "?????"); + static const u8 sPokeblockCaseDesc[] = _( "A case for holding\n" "Pokéblocks made with\n"