Clean up berry_init table

This commit is contained in:
Rachel
2024-11-02 00:50:52 -07:00
parent e333256bac
commit 26fb0c6182
2 changed files with 125 additions and 247 deletions

View File

@@ -1,249 +1,127 @@
#include "constants/items.h"
/**
* @brief Table of initial berry states for the various mulch-beds across the
* overworld.
*
* This table is used to initialize the state of the mulch-beds at the time a
* new game is started. Entries in the table should be read in pairs; the first
* element is the berry planted in that particular mulch-bed, and the second is
* the number of that berry that can be harvested from the resulting tree.
*/
static const u16 sBerryInitTable[] = {
ITEM_ORAN_BERRY,
1,
ITEM_CHERI_BERRY,
1,
ITEM_CHESTO_BERRY,
1,
ITEM_PECHA_BERRY,
1,
ITEM_ORAN_BERRY,
1,
ITEM_PECHA_BERRY,
1,
ITEM_RAZZ_BERRY,
2,
ITEM_BLUK_BERRY,
2,
ITEM_CHERI_BERRY,
1,
ITEM_ORAN_BERRY,
2,
ITEM_SITRUS_BERRY,
1,
ITEM_WEPEAR_BERRY,
2,
ITEM_WEPEAR_BERRY,
2,
ITEM_KELPSY_BERRY,
1,
ITEM_CHERI_BERRY,
1,
ITEM_PECHA_BERRY,
1,
ITEM_ORAN_BERRY,
1,
ITEM_ORAN_BERRY,
1,
ITEM_RAWST_BERRY,
1,
ITEM_RAWST_BERRY,
1,
ITEM_RAZZ_BERRY,
1,
ITEM_RAZZ_BERRY,
1,
ITEM_CHERI_BERRY,
1,
ITEM_ORAN_BERRY,
1,
ITEM_ORAN_BERRY,
1,
ITEM_BLUK_BERRY,
1,
ITEM_NANAB_BERRY,
2,
ITEM_RAZZ_BERRY,
2,
ITEM_BLUK_BERRY,
2,
ITEM_PINAP_BERRY,
2,
ITEM_LEPPA_BERRY,
1,
ITEM_CHESTO_BERRY,
1,
ITEM_RAZZ_BERRY,
1,
ITEM_RAZZ_BERRY,
1,
ITEM_PERSIM_BERRY,
1,
ITEM_NANAB_BERRY,
1,
ITEM_NANAB_BERRY,
1,
ITEM_FIGY_BERRY,
1,
ITEM_ASPEAR_BERRY,
1,
ITEM_ASPEAR_BERRY,
1,
ITEM_RAZZ_BERRY,
1,
ITEM_PINAP_BERRY,
1,
ITEM_SITRUS_BERRY,
1,
ITEM_CHESTO_BERRY,
1,
ITEM_WIKI_BERRY,
1,
ITEM_AGUAV_BERRY,
1,
ITEM_PECHA_BERRY,
1,
ITEM_ASPEAR_BERRY,
1,
ITEM_IAPAPA_BERRY,
1,
ITEM_GREPA_BERRY,
1,
ITEM_SITRUS_BERRY,
1,
ITEM_ASPEAR_BERRY,
1,
ITEM_TAMATO_BERRY,
1,
ITEM_LUM_BERRY,
1,
ITEM_PECHA_BERRY,
1,
ITEM_PINAP_BERRY,
1,
ITEM_PINAP_BERRY,
1,
ITEM_PINAP_BERRY,
1,
ITEM_PERSIM_BERRY,
1,
ITEM_PERSIM_BERRY,
1,
ITEM_NANAB_BERRY,
1,
ITEM_NANAB_BERRY,
1,
ITEM_AGUAV_BERRY,
1,
ITEM_IAPAPA_BERRY,
1,
ITEM_RAWST_BERRY,
1,
ITEM_RAWST_BERRY,
1,
ITEM_CHERI_BERRY,
1,
ITEM_SITRUS_BERRY,
1,
ITEM_CHESTO_BERRY,
1,
ITEM_POMEG_BERRY,
1,
ITEM_PECHA_BERRY,
2,
ITEM_BLUK_BERRY,
2,
ITEM_WIKI_BERRY,
1,
ITEM_MAGO_BERRY,
1,
ITEM_RAWST_BERRY,
1,
ITEM_PERSIM_BERRY,
1,
ITEM_FIGY_BERRY,
1,
ITEM_PINAP_BERRY,
2,
ITEM_LEPPA_BERRY,
1,
ITEM_PECHA_BERRY,
1,
ITEM_MAGO_BERRY,
1,
ITEM_HONDEW_BERRY,
1,
ITEM_WIKI_BERRY,
2,
ITEM_MAGO_BERRY,
2,
ITEM_AGUAV_BERRY,
2,
ITEM_QUALOT_BERRY,
1,
ITEM_SITRUS_BERRY,
2,
ITEM_BLUK_BERRY,
3,
ITEM_NANAB_BERRY,
3,
ITEM_WEPEAR_BERRY,
3,
ITEM_POMEG_BERRY,
1,
ITEM_POMEG_BERRY,
1,
ITEM_HONDEW_BERRY,
2,
ITEM_HONDEW_BERRY,
2,
ITEM_KELPSY_BERRY,
1,
ITEM_KELPSY_BERRY,
1,
ITEM_TAMATO_BERRY,
1,
ITEM_TAMATO_BERRY,
1,
ITEM_QUALOT_BERRY,
1,
ITEM_QUALOT_BERRY,
1,
ITEM_POMEG_BERRY,
1,
ITEM_POMEG_BERRY,
1,
ITEM_HONDEW_BERRY,
1,
ITEM_HONDEW_BERRY,
1,
ITEM_TAMATO_BERRY,
1,
ITEM_TAMATO_BERRY,
1,
ITEM_GREPA_BERRY,
1,
ITEM_GREPA_BERRY,
1,
ITEM_QUALOT_BERRY,
1,
ITEM_QUALOT_BERRY,
1,
ITEM_LUM_BERRY,
1,
ITEM_LEPPA_BERRY,
1,
ITEM_QUALOT_BERRY,
2,
ITEM_GREPA_BERRY,
2,
ITEM_KELPSY_BERRY,
2,
ITEM_KELPSY_BERRY,
2,
ITEM_GREPA_BERRY,
1,
ITEM_GREPA_BERRY,
1,
typedef struct BerryPatchInit {
u16 berryItemID;
u16 yield;
} BerryPatchInit;
static const BerryPatchInit sBerryInitTable[] = {
{ .berryItemID = ITEM_ORAN_BERRY, .yield = 1 },
{ .berryItemID = ITEM_CHERI_BERRY, .yield = 1 },
{ .berryItemID = ITEM_CHESTO_BERRY, .yield = 1 },
{ .berryItemID = ITEM_PECHA_BERRY, .yield = 1 },
{ .berryItemID = ITEM_ORAN_BERRY, .yield = 1 },
{ .berryItemID = ITEM_PECHA_BERRY, .yield = 1 },
{ .berryItemID = ITEM_RAZZ_BERRY, .yield = 2 },
{ .berryItemID = ITEM_BLUK_BERRY, .yield = 2 },
{ .berryItemID = ITEM_CHERI_BERRY, .yield = 1 },
{ .berryItemID = ITEM_ORAN_BERRY, .yield = 2 },
{ .berryItemID = ITEM_SITRUS_BERRY, .yield = 1 },
{ .berryItemID = ITEM_WEPEAR_BERRY, .yield = 2 },
{ .berryItemID = ITEM_WEPEAR_BERRY, .yield = 2 },
{ .berryItemID = ITEM_KELPSY_BERRY, .yield = 1 },
{ .berryItemID = ITEM_CHERI_BERRY, .yield = 1 },
{ .berryItemID = ITEM_PECHA_BERRY, .yield = 1 },
{ .berryItemID = ITEM_ORAN_BERRY, .yield = 1 },
{ .berryItemID = ITEM_ORAN_BERRY, .yield = 1 },
{ .berryItemID = ITEM_RAWST_BERRY, .yield = 1 },
{ .berryItemID = ITEM_RAWST_BERRY, .yield = 1 },
{ .berryItemID = ITEM_RAZZ_BERRY, .yield = 1 },
{ .berryItemID = ITEM_RAZZ_BERRY, .yield = 1 },
{ .berryItemID = ITEM_CHERI_BERRY, .yield = 1 },
{ .berryItemID = ITEM_ORAN_BERRY, .yield = 1 },
{ .berryItemID = ITEM_ORAN_BERRY, .yield = 1 },
{ .berryItemID = ITEM_BLUK_BERRY, .yield = 1 },
{ .berryItemID = ITEM_NANAB_BERRY, .yield = 2 },
{ .berryItemID = ITEM_RAZZ_BERRY, .yield = 2 },
{ .berryItemID = ITEM_BLUK_BERRY, .yield = 2 },
{ .berryItemID = ITEM_PINAP_BERRY, .yield = 2 },
{ .berryItemID = ITEM_LEPPA_BERRY, .yield = 1 },
{ .berryItemID = ITEM_CHESTO_BERRY, .yield = 1 },
{ .berryItemID = ITEM_RAZZ_BERRY, .yield = 1 },
{ .berryItemID = ITEM_RAZZ_BERRY, .yield = 1 },
{ .berryItemID = ITEM_PERSIM_BERRY, .yield = 1 },
{ .berryItemID = ITEM_NANAB_BERRY, .yield = 1 },
{ .berryItemID = ITEM_NANAB_BERRY, .yield = 1 },
{ .berryItemID = ITEM_FIGY_BERRY, .yield = 1 },
{ .berryItemID = ITEM_ASPEAR_BERRY, .yield = 1 },
{ .berryItemID = ITEM_ASPEAR_BERRY, .yield = 1 },
{ .berryItemID = ITEM_RAZZ_BERRY, .yield = 1 },
{ .berryItemID = ITEM_PINAP_BERRY, .yield = 1 },
{ .berryItemID = ITEM_SITRUS_BERRY, .yield = 1 },
{ .berryItemID = ITEM_CHESTO_BERRY, .yield = 1 },
{ .berryItemID = ITEM_WIKI_BERRY, .yield = 1 },
{ .berryItemID = ITEM_AGUAV_BERRY, .yield = 1 },
{ .berryItemID = ITEM_PECHA_BERRY, .yield = 1 },
{ .berryItemID = ITEM_ASPEAR_BERRY, .yield = 1 },
{ .berryItemID = ITEM_IAPAPA_BERRY, .yield = 1 },
{ .berryItemID = ITEM_GREPA_BERRY, .yield = 1 },
{ .berryItemID = ITEM_SITRUS_BERRY, .yield = 1 },
{ .berryItemID = ITEM_ASPEAR_BERRY, .yield = 1 },
{ .berryItemID = ITEM_TAMATO_BERRY, .yield = 1 },
{ .berryItemID = ITEM_LUM_BERRY, .yield = 1 },
{ .berryItemID = ITEM_PECHA_BERRY, .yield = 1 },
{ .berryItemID = ITEM_PINAP_BERRY, .yield = 1 },
{ .berryItemID = ITEM_PINAP_BERRY, .yield = 1 },
{ .berryItemID = ITEM_PINAP_BERRY, .yield = 1 },
{ .berryItemID = ITEM_PERSIM_BERRY, .yield = 1 },
{ .berryItemID = ITEM_PERSIM_BERRY, .yield = 1 },
{ .berryItemID = ITEM_NANAB_BERRY, .yield = 1 },
{ .berryItemID = ITEM_NANAB_BERRY, .yield = 1 },
{ .berryItemID = ITEM_AGUAV_BERRY, .yield = 1 },
{ .berryItemID = ITEM_IAPAPA_BERRY, .yield = 1 },
{ .berryItemID = ITEM_RAWST_BERRY, .yield = 1 },
{ .berryItemID = ITEM_RAWST_BERRY, .yield = 1 },
{ .berryItemID = ITEM_CHERI_BERRY, .yield = 1 },
{ .berryItemID = ITEM_SITRUS_BERRY, .yield = 1 },
{ .berryItemID = ITEM_CHESTO_BERRY, .yield = 1 },
{ .berryItemID = ITEM_POMEG_BERRY, .yield = 1 },
{ .berryItemID = ITEM_PECHA_BERRY, .yield = 2 },
{ .berryItemID = ITEM_BLUK_BERRY, .yield = 2 },
{ .berryItemID = ITEM_WIKI_BERRY, .yield = 1 },
{ .berryItemID = ITEM_MAGO_BERRY, .yield = 1 },
{ .berryItemID = ITEM_RAWST_BERRY, .yield = 1 },
{ .berryItemID = ITEM_PERSIM_BERRY, .yield = 1 },
{ .berryItemID = ITEM_FIGY_BERRY, .yield = 1 },
{ .berryItemID = ITEM_PINAP_BERRY, .yield = 2 },
{ .berryItemID = ITEM_LEPPA_BERRY, .yield = 1 },
{ .berryItemID = ITEM_PECHA_BERRY, .yield = 1 },
{ .berryItemID = ITEM_MAGO_BERRY, .yield = 1 },
{ .berryItemID = ITEM_HONDEW_BERRY, .yield = 1 },
{ .berryItemID = ITEM_WIKI_BERRY, .yield = 2 },
{ .berryItemID = ITEM_MAGO_BERRY, .yield = 2 },
{ .berryItemID = ITEM_AGUAV_BERRY, .yield = 2 },
{ .berryItemID = ITEM_QUALOT_BERRY, .yield = 1 },
{ .berryItemID = ITEM_SITRUS_BERRY, .yield = 2 },
{ .berryItemID = ITEM_BLUK_BERRY, .yield = 3 },
{ .berryItemID = ITEM_NANAB_BERRY, .yield = 3 },
{ .berryItemID = ITEM_WEPEAR_BERRY, .yield = 3 },
{ .berryItemID = ITEM_POMEG_BERRY, .yield = 1 },
{ .berryItemID = ITEM_POMEG_BERRY, .yield = 1 },
{ .berryItemID = ITEM_HONDEW_BERRY, .yield = 2 },
{ .berryItemID = ITEM_HONDEW_BERRY, .yield = 2 },
{ .berryItemID = ITEM_KELPSY_BERRY, .yield = 1 },
{ .berryItemID = ITEM_KELPSY_BERRY, .yield = 1 },
{ .berryItemID = ITEM_TAMATO_BERRY, .yield = 1 },
{ .berryItemID = ITEM_TAMATO_BERRY, .yield = 1 },
{ .berryItemID = ITEM_QUALOT_BERRY, .yield = 1 },
{ .berryItemID = ITEM_QUALOT_BERRY, .yield = 1 },
{ .berryItemID = ITEM_POMEG_BERRY, .yield = 1 },
{ .berryItemID = ITEM_POMEG_BERRY, .yield = 1 },
{ .berryItemID = ITEM_HONDEW_BERRY, .yield = 1 },
{ .berryItemID = ITEM_HONDEW_BERRY, .yield = 1 },
{ .berryItemID = ITEM_TAMATO_BERRY, .yield = 1 },
{ .berryItemID = ITEM_TAMATO_BERRY, .yield = 1 },
{ .berryItemID = ITEM_GREPA_BERRY, .yield = 1 },
{ .berryItemID = ITEM_GREPA_BERRY, .yield = 1 },
{ .berryItemID = ITEM_QUALOT_BERRY, .yield = 1 },
{ .berryItemID = ITEM_QUALOT_BERRY, .yield = 1 },
{ .berryItemID = ITEM_LUM_BERRY, .yield = 1 },
{ .berryItemID = ITEM_LEPPA_BERRY, .yield = 1 },
{ .berryItemID = ITEM_QUALOT_BERRY, .yield = 2 },
{ .berryItemID = ITEM_GREPA_BERRY, .yield = 2 },
{ .berryItemID = ITEM_KELPSY_BERRY, .yield = 2 },
{ .berryItemID = ITEM_KELPSY_BERRY, .yield = 2 },
{ .berryItemID = ITEM_GREPA_BERRY, .yield = 1 },
{ .berryItemID = ITEM_GREPA_BERRY, .yield = 1 },
};

View File

@@ -167,7 +167,7 @@ static void InitializeNewSave(enum HeapId heapID, SaveData *saveData, BOOL setTr
TrainerInfo_SetAppearance(trainerInfo, sub_0205C9BC(rnd, TrainerInfo_Gender(trainerInfo), 0));
berryPatches = MiscSaveBlock_GetBerryPatches(saveData);
BerryPatches_Init(berryPatches, heapID, sBerryInitTable, NELEMS(sBerryInitTable) / 2);
BerryPatches_Init(berryPatches, heapID, (const u16 *)sBerryInitTable, NELEMS(sBerryInitTable));
}
static void TryLoadingSave(int unused, SaveData *saveData)