summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/berry.c92
-rwxr-xr-xsrc/data/field_event_obj/berry_tree_graphics_tables.h265
-rw-r--r--src/event_object_movement.c6
3 files changed, 223 insertions, 140 deletions
diff --git a/src/berry.c b/src/berry.c
index cbac06a3d..49acb7d10 100644
--- a/src/berry.c
+++ b/src/berry.c
@@ -1,6 +1,8 @@
#include "global.h"
#include "berry.h"
#include "event_data.h"
+#include "event_object_movement.h"
+#include "event_scripts.h"
#include "field_control_avatar.h"
#include "fieldmap.h"
#include "item.h"
@@ -11,11 +13,6 @@
#include "text.h"
#include "constants/event_object_movement_constants.h"
#include "constants/items.h"
-#include "event_object_movement.h"
-
-
-
-extern const u8 BerryTreeScript[];
static u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry);
static bool32 BerryTreeGrow(struct BerryTree *tree);
@@ -117,6 +114,7 @@ static const u8 sBerryDescriptionPart2_Enigma[] = _("Appears to have the power o
const struct Berry gBerries[] =
{
+ [ITEM_CHERI_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("CHERI"),
.firmness = BERRY_FIRMNESS_SOFT,
@@ -133,6 +131,8 @@ const struct Berry gBerries[] =
.sour = 0,
.smoothness = 25,
},
+
+ [ITEM_CHESTO_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("CHESTO"),
.firmness = BERRY_FIRMNESS_SUPER_HARD,
@@ -149,6 +149,8 @@ const struct Berry gBerries[] =
.sour = 0,
.smoothness = 25,
},
+
+ [ITEM_PECHA_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("PECHA"),
.firmness = BERRY_FIRMNESS_VERY_SOFT,
@@ -165,6 +167,8 @@ const struct Berry gBerries[] =
.sour = 0,
.smoothness = 25,
},
+
+ [ITEM_RAWST_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("RAWST"),
.firmness = BERRY_FIRMNESS_HARD,
@@ -181,6 +185,8 @@ const struct Berry gBerries[] =
.sour = 0,
.smoothness = 25,
},
+
+ [ITEM_ASPEAR_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("ASPEAR"),
.firmness = BERRY_FIRMNESS_SUPER_HARD,
@@ -197,6 +203,8 @@ const struct Berry gBerries[] =
.sour = 10,
.smoothness = 25,
},
+
+ [ITEM_LEPPA_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("LEPPA"),
.firmness = BERRY_FIRMNESS_VERY_HARD,
@@ -213,6 +221,8 @@ const struct Berry gBerries[] =
.sour = 10,
.smoothness = 20,
},
+
+ [ITEM_ORAN_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("ORAN"),
.firmness = BERRY_FIRMNESS_SUPER_HARD,
@@ -229,6 +239,8 @@ const struct Berry gBerries[] =
.sour = 10,
.smoothness = 20,
},
+
+ [ITEM_PERSIM_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("PERSIM"),
.firmness = BERRY_FIRMNESS_HARD,
@@ -245,6 +257,8 @@ const struct Berry gBerries[] =
.sour = 10,
.smoothness = 20,
},
+
+ [ITEM_LUM_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("LUM"),
.firmness = BERRY_FIRMNESS_SUPER_HARD,
@@ -261,6 +275,8 @@ const struct Berry gBerries[] =
.sour = 10,
.smoothness = 20,
},
+
+ [ITEM_SITRUS_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("SITRUS"),
.firmness = BERRY_FIRMNESS_VERY_HARD,
@@ -277,6 +293,8 @@ const struct Berry gBerries[] =
.sour = 10,
.smoothness = 20,
},
+
+ [ITEM_FIGY_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("FIGY"),
.firmness = BERRY_FIRMNESS_SOFT,
@@ -293,6 +311,8 @@ const struct Berry gBerries[] =
.sour = 0,
.smoothness = 25,
},
+
+ [ITEM_WIKI_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("WIKI"),
.firmness = BERRY_FIRMNESS_HARD,
@@ -309,6 +329,8 @@ const struct Berry gBerries[] =
.sour = 0,
.smoothness = 25,
},
+
+ [ITEM_MAGO_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("MAGO"),
.firmness = BERRY_FIRMNESS_HARD,
@@ -325,6 +347,8 @@ const struct Berry gBerries[] =
.sour = 0,
.smoothness = 25,
},
+
+ [ITEM_AGUAV_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("AGUAV"),
.firmness = BERRY_FIRMNESS_SUPER_HARD,
@@ -341,6 +365,8 @@ const struct Berry gBerries[] =
.sour = 0,
.smoothness = 25,
},
+
+ [ITEM_IAPAPA_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("IAPAPA"),
.firmness = BERRY_FIRMNESS_SOFT,
@@ -357,6 +383,8 @@ const struct Berry gBerries[] =
.sour = 10,
.smoothness = 25,
},
+
+ [ITEM_RAZZ_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("RAZZ"),
.firmness = BERRY_FIRMNESS_VERY_HARD,
@@ -373,6 +401,8 @@ const struct Berry gBerries[] =
.sour = 0,
.smoothness = 20,
},
+
+ [ITEM_BLUK_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("BLUK"),
.firmness = BERRY_FIRMNESS_SOFT,
@@ -389,6 +419,8 @@ const struct Berry gBerries[] =
.sour = 0,
.smoothness = 20,
},
+
+ [ITEM_NANAB_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("NANAB"),
.firmness = BERRY_FIRMNESS_VERY_HARD,
@@ -405,6 +437,8 @@ const struct Berry gBerries[] =
.sour = 0,
.smoothness = 20,
},
+
+ [ITEM_WEPEAR_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("WEPEAR"),
.firmness = BERRY_FIRMNESS_SUPER_HARD,
@@ -421,6 +455,8 @@ const struct Berry gBerries[] =
.sour = 10,
.smoothness = 20,
},
+
+ [ITEM_PINAP_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("PINAP"),
.firmness = BERRY_FIRMNESS_HARD,
@@ -437,6 +473,8 @@ const struct Berry gBerries[] =
.sour = 10,
.smoothness = 20,
},
+
+ [ITEM_POMEG_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("POMEG"),
.firmness = BERRY_FIRMNESS_VERY_HARD,
@@ -453,6 +491,8 @@ const struct Berry gBerries[] =
.sour = 0,
.smoothness = 20,
},
+
+ [ITEM_KELPSY_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("KELPSY"),
.firmness = BERRY_FIRMNESS_HARD,
@@ -469,6 +509,8 @@ const struct Berry gBerries[] =
.sour = 10,
.smoothness = 20,
},
+
+ [ITEM_QUALOT_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("QUALOT"),
.firmness = BERRY_FIRMNESS_HARD,
@@ -485,6 +527,8 @@ const struct Berry gBerries[] =
.sour = 10,
.smoothness = 20,
},
+
+ [ITEM_HONDEW_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("HONDEW"),
.firmness = BERRY_FIRMNESS_HARD,
@@ -501,6 +545,8 @@ const struct Berry gBerries[] =
.sour = 0,
.smoothness = 20,
},
+
+ [ITEM_GREPA_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("GREPA"),
.firmness = BERRY_FIRMNESS_SOFT,
@@ -517,6 +563,8 @@ const struct Berry gBerries[] =
.sour = 10,
.smoothness = 20,
},
+
+ [ITEM_TAMATO_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("TAMATO"),
.firmness = BERRY_FIRMNESS_SOFT,
@@ -533,6 +581,8 @@ const struct Berry gBerries[] =
.sour = 0,
.smoothness = 30,
},
+
+ [ITEM_CORNN_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("CORNN"),
.firmness = BERRY_FIRMNESS_HARD,
@@ -549,6 +599,8 @@ const struct Berry gBerries[] =
.sour = 0,
.smoothness = 30,
},
+
+ [ITEM_MAGOST_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("MAGOST"),
.firmness = BERRY_FIRMNESS_HARD,
@@ -565,6 +617,8 @@ const struct Berry gBerries[] =
.sour = 0,
.smoothness = 30,
},
+
+ [ITEM_RABUTA_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("RABUTA"),
.firmness = BERRY_FIRMNESS_SOFT,
@@ -581,6 +635,8 @@ const struct Berry gBerries[] =
.sour = 10,
.smoothness = 30,
},
+
+ [ITEM_NOMEL_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("NOMEL"),
.firmness = BERRY_FIRMNESS_SUPER_HARD,
@@ -597,6 +653,8 @@ const struct Berry gBerries[] =
.sour = 20,
.smoothness = 30,
},
+
+ [ITEM_SPELON_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("SPELON"),
.firmness = BERRY_FIRMNESS_SOFT,
@@ -613,6 +671,8 @@ const struct Berry gBerries[] =
.sour = 0,
.smoothness = 70,
},
+
+ [ITEM_PAMTRE_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("PAMTRE"),
.firmness = BERRY_FIRMNESS_VERY_SOFT,
@@ -629,6 +689,8 @@ const struct Berry gBerries[] =
.sour = 0,
.smoothness = 70,
},
+
+ [ITEM_WATMEL_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("WATMEL"),
.firmness = BERRY_FIRMNESS_SOFT,
@@ -645,6 +707,8 @@ const struct Berry gBerries[] =
.sour = 0,
.smoothness = 70,
},
+
+ [ITEM_DURIN_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("DURIN"),
.firmness = BERRY_FIRMNESS_HARD,
@@ -661,6 +725,8 @@ const struct Berry gBerries[] =
.sour = 10,
.smoothness = 70,
},
+
+ [ITEM_BELUE_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("BELUE"),
.firmness = BERRY_FIRMNESS_VERY_SOFT,
@@ -677,6 +743,8 @@ const struct Berry gBerries[] =
.sour = 40,
.smoothness = 70,
},
+
+ [ITEM_LIECHI_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("LIECHI"),
.firmness = BERRY_FIRMNESS_VERY_HARD,
@@ -693,6 +761,8 @@ const struct Berry gBerries[] =
.sour = 10,
.smoothness = 80,
},
+
+ [ITEM_GANLON_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("GANLON"),
.firmness = BERRY_FIRMNESS_VERY_HARD,
@@ -709,6 +779,8 @@ const struct Berry gBerries[] =
.sour = 0,
.smoothness = 80,
},
+
+ [ITEM_SALAC_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("SALAC"),
.firmness = BERRY_FIRMNESS_VERY_HARD,
@@ -725,6 +797,8 @@ const struct Berry gBerries[] =
.sour = 40,
.smoothness = 80,
},
+
+ [ITEM_PETAYA_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("PETAYA"),
.firmness = BERRY_FIRMNESS_VERY_HARD,
@@ -741,6 +815,8 @@ const struct Berry gBerries[] =
.sour = 0,
.smoothness = 80,
},
+
+ [ITEM_APICOT_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("APICOT"),
.firmness = BERRY_FIRMNESS_HARD,
@@ -757,6 +833,8 @@ const struct Berry gBerries[] =
.sour = 40,
.smoothness = 80,
},
+
+ [ITEM_LANSAT_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("LANSAT"),
.firmness = BERRY_FIRMNESS_SOFT,
@@ -773,6 +851,8 @@ const struct Berry gBerries[] =
.sour = 10,
.smoothness = 30,
},
+
+ [ITEM_STARF_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("STARF"),
.firmness = BERRY_FIRMNESS_SUPER_HARD,
@@ -789,6 +869,8 @@ const struct Berry gBerries[] =
.sour = 10,
.smoothness = 30,
},
+
+ [ITEM_ENIGMA_BERRY - FIRST_BERRY_INDEX] =
{
.name = _("ENIGMA"),
.firmness = BERRY_FIRMNESS_UNKNOWN,
diff --git a/src/data/field_event_obj/berry_tree_graphics_tables.h b/src/data/field_event_obj/berry_tree_graphics_tables.h
index f5ef15af9..27d5b1f9a 100755
--- a/src/data/field_event_obj/berry_tree_graphics_tables.h
+++ b/src/data/field_event_obj/berry_tree_graphics_tables.h
@@ -423,142 +423,143 @@ const u8 gDeadBerryTreeEventObjectGraphicsIdTable[] = {EVENT_OBJ_GFX_BERRY_TREE_
const u8 gBerryTreeEventObjectGraphicsIdTable[] = {EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES, EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES, EVENT_OBJ_GFX_BERRY_TREE_LATE_STAGES, EVENT_OBJ_GFX_BERRY_TREE_LATE_STAGES, EVENT_OBJ_GFX_BERRY_TREE_LATE_STAGES};
const struct SpriteFrameImage *const gBerryTreePicTablePointers[] = {
- gEventObjectPicTable_CheriBerryTree,
- gEventObjectPicTable_ChestoBerryTree,
- gEventObjectPicTable_PechaBerryTree,
- gEventObjectPicTable_RawstBerryTree,
- gEventObjectPicTable_AspearBerryTree,
- gEventObjectPicTable_LeppaBerryTree,
- gEventObjectPicTable_OranBerryTree,
- gEventObjectPicTable_PersimBerryTree,
- gEventObjectPicTable_LumBerryTree,
- gEventObjectPicTable_SitrusBerryTree,
- gEventObjectPicTable_FigyBerryTree,
- gEventObjectPicTable_WikiBerryTree,
- gEventObjectPicTable_MagoBerryTree,
- gEventObjectPicTable_AguavBerryTree,
- gEventObjectPicTable_IapapaBerryTree,
- gEventObjectPicTable_RazzBerryTree,
- gEventObjectPicTable_RazzBerryTree,
- gEventObjectPicTable_MagoBerryTree,
- gEventObjectPicTable_WepearBerryTree,
- gEventObjectPicTable_IapapaBerryTree,
- gEventObjectPicTable_PomegBerryTree,
- gEventObjectPicTable_KelpsyBerryTree,
- gEventObjectPicTable_WepearBerryTree,
- gEventObjectPicTable_HondewBerryTree,
- gEventObjectPicTable_GrepaBerryTree,
- gEventObjectPicTable_TamatoBerryTree,
- gEventObjectPicTable_CornnBerryTree,
- gEventObjectPicTable_PomegBerryTree,
- gEventObjectPicTable_RabutaBerryTree,
- gEventObjectPicTable_NomelBerryTree,
- gEventObjectPicTable_SpelonBerryTree,
- gEventObjectPicTable_PamtreBerryTree,
- gEventObjectPicTable_RabutaBerryTree,
- gEventObjectPicTable_DurinBerryTree,
- gEventObjectPicTable_HondewBerryTree,
- gEventObjectPicTable_LiechiBerryTree,
- gEventObjectPicTable_HondewBerryTree,
- gEventObjectPicTable_AguavBerryTree,
- gEventObjectPicTable_PomegBerryTree,
- gEventObjectPicTable_GrepaBerryTree,
- gEventObjectPicTable_LansatBerryTree,
- gEventObjectPicTable_CornnBerryTree,
- gEventObjectPicTable_DurinBerryTree,
+ [ITEM_CHERI_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_CheriBerryTree,
+ [ITEM_CHESTO_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_ChestoBerryTree,
+ [ITEM_PECHA_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_PechaBerryTree,
+ [ITEM_RAWST_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_RawstBerryTree,
+ [ITEM_ASPEAR_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_AspearBerryTree,
+ [ITEM_LEPPA_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_LeppaBerryTree,
+ [ITEM_ORAN_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_OranBerryTree,
+ [ITEM_PERSIM_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_PersimBerryTree,
+ [ITEM_LUM_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_LumBerryTree,
+ [ITEM_SITRUS_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_SitrusBerryTree,
+ [ITEM_FIGY_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_FigyBerryTree,
+ [ITEM_WIKI_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_WikiBerryTree,
+ [ITEM_MAGO_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_MagoBerryTree,
+ [ITEM_AGUAV_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_AguavBerryTree,
+ [ITEM_IAPAPA_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_IapapaBerryTree,
+ [ITEM_RAZZ_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_RazzBerryTree,
+ [ITEM_BLUK_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_RazzBerryTree,
+ [ITEM_NANAB_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_MagoBerryTree,
+ [ITEM_WEPEAR_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_WepearBerryTree,
+ [ITEM_PINAP_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_IapapaBerryTree,
+ [ITEM_POMEG_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_PomegBerryTree,
+ [ITEM_KELPSY_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_KelpsyBerryTree,
+ [ITEM_QUALOT_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_WepearBerryTree,
+ [ITEM_HONDEW_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_HondewBerryTree,
+ [ITEM_GREPA_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_GrepaBerryTree,
+ [ITEM_TAMATO_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_TamatoBerryTree,
+ [ITEM_CORNN_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_CornnBerryTree,
+ [ITEM_MAGOST_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_PomegBerryTree,
+ [ITEM_RABUTA_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_RabutaBerryTree,
+ [ITEM_NOMEL_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_NomelBerryTree,
+ [ITEM_SPELON_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_SpelonBerryTree,
+ [ITEM_PAMTRE_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_PamtreBerryTree,
+ [ITEM_WATMEL_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_RabutaBerryTree,
+ [ITEM_DURIN_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_DurinBerryTree,
+ [ITEM_BELUE_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_HondewBerryTree,
+ [ITEM_LIECHI_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_LiechiBerryTree,
+ [ITEM_GANLON_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_HondewBerryTree,
+ [ITEM_SALAC_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_AguavBerryTree,
+ [ITEM_PETAYA_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_PomegBerryTree,
+ [ITEM_APICOT_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_GrepaBerryTree,
+ [ITEM_LANSAT_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_LansatBerryTree,
+ [ITEM_STARF_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_CornnBerryTree,
+ [ITEM_ENIGMA_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_DurinBerryTree,
};
const u8 *const gBerryTreePaletteSlotTablePointers[] = {
- gBerryTreePaletteSlotTable_Cheri,
- gBerryTreePaletteSlotTable_Chesto,
- gBerryTreePaletteSlotTable_Pecha,
- gBerryTreePaletteSlotTable_Rawst,
- gBerryTreePaletteSlotTable_Aspear,
- gBerryTreePaletteSlotTable_Leppa,
- gBerryTreePaletteSlotTable_Oran,
- gBerryTreePaletteSlotTable_Persim,
- gBerryTreePaletteSlotTable_Lum,
- gBerryTreePaletteSlotTable_Sitrus,
- gBerryTreePaletteSlotTable_Figy,
- gBerryTreePaletteSlotTable_Wiki,
- gBerryTreePaletteSlotTable_Mago,
- gBerryTreePaletteSlotTable_Aguav,
- gBerryTreePaletteSlotTable_Iapapa,
- gBerryTreePaletteSlotTable_Razz,
- gBerryTreePaletteSlotTable_Razz,
- gBerryTreePaletteSlotTable_Mago,
- gBerryTreePaletteSlotTable_Wepear,
- gBerryTreePaletteSlotTable_Iapapa,
- gBerryTreePaletteSlotTable_Pomeg,
- gBerryTreePaletteSlotTable_Kelpsy,
- gBerryTreePaletteSlotTable_Wepear,
- gBerryTreePaletteSlotTable_Hondew,
- gBerryTreePaletteSlotTable_Grepa,
- gBerryTreePaletteSlotTable_Tamato,
- gBerryTreePaletteSlotTable_Cornn,
- gBerryTreePaletteSlotTable_Pomeg,
- gBerryTreePaletteSlotTable_Rabuta,
- gBerryTreePaletteSlotTable_Nomel,
- gBerryTreePaletteSlotTable_Spelon,
- gBerryTreePaletteSlotTable_Pamtre,
- gBerryTreePaletteSlotTable_Rabuta,
- gBerryTreePaletteSlotTable_Durin,
- gBerryTreePaletteSlotTable_Hondew,
- gBerryTreePaletteSlotTable_Liechi,
- gBerryTreePaletteSlotTable_Hondew,
- gBerryTreePaletteSlotTable_Aguav,
- gBerryTreePaletteSlotTable_Pomeg,
- gBerryTreePaletteSlotTable_Grepa,
- gBerryTreePaletteSlotTable_Lansat,
- gBerryTreePaletteSlotTable_Cornn,
- gBerryTreePaletteSlotTable_Durin,
+ [ITEM_CHERI_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Cheri,
+ [ITEM_CHESTO_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Chesto,
+ [ITEM_PECHA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Pecha,
+ [ITEM_RAWST_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Rawst,
+ [ITEM_ASPEAR_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Aspear,
+ [ITEM_LEPPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Leppa,
+ [ITEM_ORAN_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Oran,
+ [ITEM_PERSIM_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Persim,
+ [ITEM_LUM_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Lum,
+ [ITEM_SITRUS_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Sitrus,
+ [ITEM_FIGY_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Figy,
+ [ITEM_WIKI_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Wiki,
+ [ITEM_MAGO_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Mago,
+ [ITEM_AGUAV_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Aguav,
+ [ITEM_IAPAPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Iapapa,
+ [ITEM_RAZZ_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Razz,
+ [ITEM_BLUK_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Razz,
+ [ITEM_NANAB_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Mago,
+ [ITEM_WEPEAR_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Wepear,
+ [ITEM_PINAP_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Iapapa,
+ [ITEM_POMEG_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Pomeg,
+ [ITEM_KELPSY_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Kelpsy,
+ [ITEM_QUALOT_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Wepear,
+ [ITEM_HONDEW_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Hondew,
+ [ITEM_GREPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Grepa,
+ [ITEM_TAMATO_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Tamato,
+ [ITEM_CORNN_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Cornn,
+ [ITEM_MAGOST_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Pomeg,
+ [ITEM_RABUTA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Rabuta,
+ [ITEM_NOMEL_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Nomel,
+ [ITEM_SPELON_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Spelon,
+ [ITEM_PAMTRE_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Pamtre,
+ [ITEM_WATMEL_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Rabuta,
+ [ITEM_DURIN_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Durin,
+ [ITEM_BELUE_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Hondew,
+ [ITEM_LIECHI_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Liechi,
+ [ITEM_GANLON_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Hondew,
+ [ITEM_SALAC_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Aguav,
+ [ITEM_PETAYA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Pomeg,
+ [ITEM_APICOT_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Grepa,
+ [ITEM_LANSAT_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Lansat,
+ [ITEM_STARF_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Cornn,
+ [ITEM_ENIGMA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Durin,
};
const u8 *const gBerryTreeEventObjectGraphicsIdTablePointers[] = {
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
- gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_CHERI_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_CHESTO_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_PECHA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_RAWST_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_ASPEAR_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_LEPPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_ORAN_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_PERSIM_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_LUM_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_SITRUS_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_FIGY_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_WIKI_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_MAGO_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_AGUAV_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_IAPAPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_RAZZ_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_BLUK_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_NANAB_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_WEPEAR_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_PINAP_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_POMEG_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_KELPSY_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_QUALOT_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_HONDEW_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_GREPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_TAMATO_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_CORNN_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_MAGOST_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_RABUTA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_NOMEL_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_SPELON_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_PAMTRE_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_WATMEL_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_DURIN_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_BELUE_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_LIECHI_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_GANLON_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_SALAC_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_PETAYA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_APICOT_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_LANSAT_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_STARF_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_ENIGMA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ // 3 unused berries.
+ [ITEM_0B0 - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_0B1 - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
+ [ITEM_0B2 - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable,
};
diff --git a/src/event_object_movement.c b/src/event_object_movement.c
index 3e5362de4..75f758a12 100644
--- a/src/event_object_movement.c
+++ b/src/event_object_movement.c
@@ -25,6 +25,7 @@
#include "constants/event_object_movement_constants.h"
#include "constants/event_objects.h"
#include "constants/field_effects.h"
+#include "constants/items.h"
// this file was known as evobjmv.c in Game Freak's original source
@@ -2005,10 +2006,9 @@ static void get_berry_tree_graphics(struct EventObject *eventObject, struct Spri
sprite->invisible = FALSE;
berryId = GetBerryTypeByBerryTreeId(eventObject->trainerRange_berryTreeId) - 1;
berryStage--;
- if (berryId >= NUM_BERRIES)
- {
+ if (berryId > ITEM_TO_BERRY(LAST_BERRY_INDEX))
berryId = 0;
- }
+
EventObjectSetGraphicsId(eventObject, gBerryTreeEventObjectGraphicsIdTablePointers[berryId][berryStage]);
sprite->images = gBerryTreePicTablePointers[berryId];
sprite->oam.paletteNum = gBerryTreePaletteSlotTablePointers[berryId][berryStage];