From d7959879f18b87f6bddab70e713ed79b0b02bffe Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Thu, 7 Dec 2023 18:06:20 +0100 Subject: [PATCH] Preset yield config --- include/config/overworld.h | 1 + src/berry.c | 279 +++++++++++++++++++------------------ 2 files changed, 144 insertions(+), 136 deletions(-) diff --git a/include/config/overworld.h b/include/config/overworld.h index dab8f6b153..dc4c600e21 100644 --- a/include/config/overworld.h +++ b/include/config/overworld.h @@ -26,6 +26,7 @@ #define OW_BERRY_SIX_STAGES FALSE // In XY, Berries go through six stages instead of four. This toggle does not affect the time it takes for a tree to be ready for harvest. Without OW_BERRY_MOISTURE, the two extra stages count as BERRY_STAGE_TALLER for watering purposes. #define OW_BERRY_GROWTH_RATE GEN_3 // Presets for how long each Berry plant takes to grow. +#define OW_BERRY_YIELD_RATE GEN_3 // Presets for how many Berries each plant can yield. // Out-of-battle Ability effects #define OW_SYNCHRONIZE_NATURE GEN_LATEST // In Gen8, if a Pokémon with Synchronize is leading the party, it's 100% guaranteed that wild Pokémon will have the same Nature, as opposed to 50% previously. Stationary Pokémon are excluded in Gen3. In Gen6, all No Eggs Discovered gift Pokémon will have the same Nature, while in Gen7 all gift Pokémon will, regardless of Egg Group - In Gen 8, no gift Pokémon are affected. In Gen9, this ability has no out-of-battle effect. diff --git a/src/berry.c b/src/berry.c index a9522fb9b0..4e65e5be5b 100644 --- a/src/berry.c +++ b/src/berry.c @@ -170,7 +170,14 @@ static const u8 sBerryDescriptionPart2_Maranga[] = _("inside tastes like a sweet #error "OW_BERRY_GROWTH_RATE must be between GEN_3 and GEN_7!" #endif +#if OW_BERRY_YIELD_RATE < GEN_3 || OW_BERRY_YIELD_RATE > GEN_6 +#error "OW_BERRY_YIELD_RATE must be between GEN_3 and GEN_6!" +#elif OW_BERRY_YIELD_RATE == GEN_5 +#error "OW_BERRY_YIELD_RATE can not be GEN_5!" +#endif + #define GROWTH_DURATION(g3, g4, g5, xy, oras, g7) OW_BERRY_GROWTH_RATE == GEN_3 ? g3 : OW_BERRY_GROWTH_RATE == GEN_4 ? g4 : OW_BERRY_GROWTH_RATE == GEN_5 ? g5 : OW_BERRY_GROWTH_RATE == GEN_6_XY ? xy : OW_BERRY_GROWTH_RATE == GEN_6_ORAS ? oras : g7 +#define YIELD_RATE(g3, g4, xy, oras) GROWTH_DURATION(g3, g4, 0, xy, oras, 0) const struct Berry gBerries[] = { @@ -180,8 +187,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_SOFT, .color = BERRY_COLOR_RED, .size = 20, - .maxYield = 3, - .minYield = 2, + .maxYield = YIELD_RATE(3, 5, 15, 20), + .minYield = YIELD_RATE(2, 2, 4, 4), .description1 = sBerryDescriptionPart1_Cheri, .description2 = sBerryDescriptionPart2_Cheri, .growthDuration = GROWTH_DURATION(12, 12, 18, 24, 16, 24), @@ -200,8 +207,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_SUPER_HARD, .color = BERRY_COLOR_PURPLE, .size = 80, - .maxYield = 3, - .minYield = 2, + .maxYield = YIELD_RATE(3, 5, 15, 20), + .minYield = YIELD_RATE(2, 2, 4, 4), .description1 = sBerryDescriptionPart1_Chesto, .description2 = sBerryDescriptionPart2_Chesto, .growthDuration = GROWTH_DURATION(12, 12, 18, 24, 16, 24), @@ -220,8 +227,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_VERY_SOFT, .color = BERRY_COLOR_PINK, .size = 40, - .maxYield = 3, - .minYield = 2, + .maxYield = YIELD_RATE(3, 5, 15, 20), + .minYield = YIELD_RATE(2, 2, 4, 4), .description1 = sBerryDescriptionPart1_Pecha, .description2 = sBerryDescriptionPart2_Pecha, .growthDuration = GROWTH_DURATION(12, 12, 18, 24, 16, 24), @@ -240,8 +247,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_HARD, .color = BERRY_COLOR_GREEN, .size = 32, - .maxYield = 3, - .minYield = 2, + .maxYield = YIELD_RATE(3, 5, 15, 20), + .minYield = YIELD_RATE(2, 2, 4, 4), .description1 = sBerryDescriptionPart1_Rawst, .description2 = sBerryDescriptionPart2_Rawst, .growthDuration = GROWTH_DURATION(12, 12, 18, 24, 16, 24), @@ -260,8 +267,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_SUPER_HARD, .color = BERRY_COLOR_YELLOW, .size = 50, - .maxYield = 3, - .minYield = 2, + .maxYield = YIELD_RATE(3, 5, 15, 20), + .minYield = YIELD_RATE(2, 2, 4, 4), .description1 = sBerryDescriptionPart1_Aspear, .description2 = sBerryDescriptionPart2_Aspear, .growthDuration = GROWTH_DURATION(12, 12, 18, 24, 16, 24), @@ -280,8 +287,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_VERY_HARD, .color = BERRY_COLOR_RED, .size = 28, - .maxYield = 3, - .minYield = 2, + .maxYield = YIELD_RATE(3, 5, 15, 22), + .minYield = YIELD_RATE(2, 2, 2, 2), .description1 = sBerryDescriptionPart1_Leppa, .description2 = sBerryDescriptionPart2_Leppa, .growthDuration = GROWTH_DURATION(16, 16, 24, 24, 16, 24), @@ -300,8 +307,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_SUPER_HARD, .color = BERRY_COLOR_BLUE, .size = 35, - .maxYield = 3, - .minYield = 2, + .maxYield = YIELD_RATE(3, 5, 15, 20), + .minYield = YIELD_RATE(2, 2, 4, 4), .description1 = sBerryDescriptionPart1_Oran, .description2 = sBerryDescriptionPart2_Oran, .growthDuration = GROWTH_DURATION(12, 16, 24, 24, 16, 24), @@ -320,8 +327,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_HARD, .color = BERRY_COLOR_PINK, .size = 47, - .maxYield = 3, - .minYield = 2, + .maxYield = YIELD_RATE(3, 5, 15, 20), + .minYield = YIELD_RATE(2, 2, 4, 4), .description1 = sBerryDescriptionPart1_Persim, .description2 = sBerryDescriptionPart2_Persim, .growthDuration = GROWTH_DURATION(12, 16, 24, 24, 16, 24), @@ -340,8 +347,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_SUPER_HARD, .color = BERRY_COLOR_GREEN, .size = 34, - .maxYield = 2, - .minYield = 1, + .maxYield = YIELD_RATE(2, 5, 20, 18), + .minYield = YIELD_RATE(1, 2, 3, 2), .description1 = sBerryDescriptionPart1_Lum, .description2 = sBerryDescriptionPart2_Lum, .growthDuration = GROWTH_DURATION(48, 48, 72, 48, 32, 48), @@ -360,8 +367,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_VERY_HARD, .color = BERRY_COLOR_YELLOW, .size = 95, - .maxYield = 3, - .minYield = 2, + .maxYield = YIELD_RATE(3, 5, 20, 27), + .minYield = YIELD_RATE(2, 2, 3, 3), .description1 = sBerryDescriptionPart1_Sitrus, .description2 = sBerryDescriptionPart2_Sitrus, .growthDuration = GROWTH_DURATION(24, 32, 48, 48, 32, 48), @@ -380,8 +387,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_SOFT, .color = BERRY_COLOR_RED, .size = 100, - .maxYield = 3, - .minYield = 2, + .maxYield = YIELD_RATE(3, 5, 15, 15), + .minYield = YIELD_RATE(2, 1, 3, 3), .description1 = sBerryDescriptionPart1_Figy, .description2 = sBerryDescriptionPart2_Figy, .growthDuration = GROWTH_DURATION(24, 20, 30, 24, 16, 24), @@ -400,8 +407,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_HARD, .color = BERRY_COLOR_PURPLE, .size = 115, - .maxYield = 3, - .minYield = 2, + .maxYield = YIELD_RATE(3, 5, 15, 15), + .minYield = YIELD_RATE(2, 1, 3, 3), .description1 = sBerryDescriptionPart1_Wiki, .description2 = sBerryDescriptionPart2_Wiki, .growthDuration = GROWTH_DURATION(24, 20, 30, 24, 16, 24), @@ -420,8 +427,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_HARD, .color = BERRY_COLOR_PINK, .size = 126, - .maxYield = 3, - .minYield = 2, + .maxYield = YIELD_RATE(3, 5, 15, 15), + .minYield = YIELD_RATE(2, 1, 3, 3), .description1 = sBerryDescriptionPart1_Mago, .description2 = sBerryDescriptionPart2_Mago, .growthDuration = GROWTH_DURATION(24, 20, 30, 24, 16, 24), @@ -440,8 +447,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_SUPER_HARD, .color = BERRY_COLOR_GREEN, .size = 64, - .maxYield = 3, - .minYield = 2, + .maxYield = YIELD_RATE(3, 5, 15, 15), + .minYield = YIELD_RATE(2, 1, 3, 3), .description1 = sBerryDescriptionPart1_Aguav, .description2 = sBerryDescriptionPart2_Aguav, .growthDuration = GROWTH_DURATION(24, 20, 30, 24, 16, 24), @@ -460,8 +467,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_SOFT, .color = BERRY_COLOR_YELLOW, .size = 223, - .maxYield = 3, - .minYield = 2, + .maxYield = YIELD_RATE(3, 5, 15, 15), + .minYield = YIELD_RATE(2, 1, 3, 3), .description1 = sBerryDescriptionPart1_Iapapa, .description2 = sBerryDescriptionPart2_Iapapa, .growthDuration = GROWTH_DURATION(24, 20, 30, 24, 16, 24), @@ -480,8 +487,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_VERY_HARD, .color = BERRY_COLOR_RED, .size = 120, - .maxYield = 6, - .minYield = 3, + .maxYield = YIELD_RATE(6, 10, 15, 20), + .minYield = YIELD_RATE(3, 2, 3, 4), .description1 = sBerryDescriptionPart1_Razz, .description2 = sBerryDescriptionPart2_Razz, .growthDuration = GROWTH_DURATION(4, 8, 12, 24, 16, 24), @@ -500,8 +507,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_SOFT, .color = BERRY_COLOR_PURPLE, .size = 108, - .maxYield = 6, - .minYield = 3, + .maxYield = YIELD_RATE(6, 10, 15, 20), + .minYield = YIELD_RATE(3, 2, 3, 4), .description1 = sBerryDescriptionPart1_Bluk, .description2 = sBerryDescriptionPart2_Bluk, .growthDuration = GROWTH_DURATION(4, 8, 12, 24, 16, 24), @@ -520,8 +527,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_VERY_HARD, .color = BERRY_COLOR_PINK, .size = 77, - .maxYield = 6, - .minYield = 3, + .maxYield = YIELD_RATE(6, 10, 15, 20), + .minYield = YIELD_RATE(3, 2, 3, 4), .description1 = sBerryDescriptionPart1_Nanab, .description2 = sBerryDescriptionPart2_Nanab, .growthDuration = GROWTH_DURATION(4, 8, 12, 24, 16, 24), @@ -540,8 +547,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_SUPER_HARD, .color = BERRY_COLOR_GREEN, .size = 74, - .maxYield = 6, - .minYield = 3, + .maxYield = YIELD_RATE(6, 10, 15, 20), + .minYield = YIELD_RATE(3, 2, 3, 4), .description1 = sBerryDescriptionPart1_Wepear, .description2 = sBerryDescriptionPart2_Wepear, .growthDuration = GROWTH_DURATION(4, 8, 12, 24, 16, 24), @@ -560,8 +567,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_HARD, .color = BERRY_COLOR_YELLOW, .size = 80, - .maxYield = 6, - .minYield = 3, + .maxYield = YIELD_RATE(6, 10, 15, 20), + .minYield = YIELD_RATE(3, 2, 3, 4), .description1 = sBerryDescriptionPart1_Pinap, .description2 = sBerryDescriptionPart2_Pinap, .growthDuration = GROWTH_DURATION(4, 8, 12, 24, 16, 24), @@ -580,8 +587,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_VERY_HARD, .color = BERRY_COLOR_RED, .size = 135, - .maxYield = 6, - .minYield = 2, + .maxYield = YIELD_RATE(6, 5, 20, 26), + .minYield = YIELD_RATE(2, 1, 1, 2), .description1 = sBerryDescriptionPart1_Pomeg, .description2 = sBerryDescriptionPart2_Pomeg, .growthDuration = GROWTH_DURATION(12, 32, 48, 48, 32, 48), @@ -600,8 +607,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_HARD, .color = BERRY_COLOR_BLUE, .size = 150, - .maxYield = 6, - .minYield = 2, + .maxYield = YIELD_RATE(6, 5, 20, 26), + .minYield = YIELD_RATE(2, 1, 1, 2), .description1 = sBerryDescriptionPart1_Kelpsy, .description2 = sBerryDescriptionPart2_Kelpsy, .growthDuration = GROWTH_DURATION(12, 32, 48, 48, 32, 48), @@ -620,8 +627,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_HARD, .color = BERRY_COLOR_YELLOW, .size = 110, - .maxYield = 6, - .minYield = 2, + .maxYield = YIELD_RATE(6, 5, 20, 26), + .minYield = YIELD_RATE(2, 1, 1, 2), .description1 = sBerryDescriptionPart1_Qualot, .description2 = sBerryDescriptionPart2_Qualot, .growthDuration = GROWTH_DURATION(12, 32, 48, 48, 32, 48), @@ -640,8 +647,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_HARD, .color = BERRY_COLOR_GREEN, .size = 162, - .maxYield = 6, - .minYield = 2, + .maxYield = YIELD_RATE(6, 5, 20, 26), + .minYield = YIELD_RATE(2, 1, 1, 2), .description1 = sBerryDescriptionPart1_Hondew, .description2 = sBerryDescriptionPart2_Hondew, .growthDuration = GROWTH_DURATION(12, 32, 48, 48, 32, 48), @@ -660,8 +667,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_SOFT, .color = BERRY_COLOR_YELLOW, .size = 149, - .maxYield = 6, - .minYield = 2, + .maxYield = YIELD_RATE(6, 5, 20, 26), + .minYield = YIELD_RATE(2, 1, 1, 2), .description1 = sBerryDescriptionPart1_Grepa, .description2 = sBerryDescriptionPart2_Grepa, .growthDuration = GROWTH_DURATION(12, 32, 48, 48, 32, 48), @@ -680,8 +687,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_SOFT, .color = BERRY_COLOR_RED, .size = 200, - .maxYield = 4, - .minYield = 2, + .maxYield = YIELD_RATE(4, 5, 20, 26), + .minYield = YIELD_RATE(2, 1, 1, 2), .description1 = sBerryDescriptionPart1_Tamato, .description2 = sBerryDescriptionPart2_Tamato, .growthDuration = GROWTH_DURATION(24, 32, 48, 48, 32, 48), @@ -700,8 +707,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_HARD, .color = BERRY_COLOR_PURPLE, .size = 75, - .maxYield = 4, - .minYield = 2, + .maxYield = YIELD_RATE(4, 10, 15, 15), + .minYield = YIELD_RATE(2, 2, 3, 3), .description1 = sBerryDescriptionPart1_Cornn, .description2 = sBerryDescriptionPart2_Cornn, .growthDuration = GROWTH_DURATION(24, 24, 36, 24, 16, 24), @@ -720,8 +727,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_HARD, .color = BERRY_COLOR_PINK, .size = 140, - .maxYield = 4, - .minYield = 2, + .maxYield = YIELD_RATE(4, 10, 15, 15), + .minYield = YIELD_RATE(2, 2, 3, 3), .description1 = sBerryDescriptionPart1_Magost, .description2 = sBerryDescriptionPart2_Magost, .growthDuration = GROWTH_DURATION(24, 24, 36, 24, 16, 24), @@ -740,8 +747,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_SOFT, .color = BERRY_COLOR_GREEN, .size = 226, - .maxYield = 4, - .minYield = 2, + .maxYield = YIELD_RATE(4, 10, 15, 15), + .minYield = YIELD_RATE(2, 2, 3, 3), .description1 = sBerryDescriptionPart1_Rabuta, .description2 = sBerryDescriptionPart2_Rabuta, .growthDuration = GROWTH_DURATION(24, 24, 36, 24, 16, 24), @@ -760,8 +767,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_SUPER_HARD, .color = BERRY_COLOR_YELLOW, .size = 285, - .maxYield = 4, - .minYield = 2, + .maxYield = YIELD_RATE(4, 10, 15, 15), + .minYield = YIELD_RATE(2, 2, 3, 3), .description1 = sBerryDescriptionPart1_Nomel, .description2 = sBerryDescriptionPart2_Nomel, .growthDuration = GROWTH_DURATION(24, 24, 36, 24, 16, 24), @@ -780,8 +787,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_SOFT, .color = BERRY_COLOR_RED, .size = 133, - .maxYield = 2, - .minYield = 1, + .maxYield = YIELD_RATE(2, 15, 15, 15), + .minYield = YIELD_RATE(1, 2, 3, 3), .description1 = sBerryDescriptionPart1_Spelon, .description2 = sBerryDescriptionPart2_Spelon, .growthDuration = GROWTH_DURATION(72, 60, 90, 24, 16, 24), @@ -800,8 +807,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_VERY_SOFT, .color = BERRY_COLOR_PURPLE, .size = 244, - .maxYield = 2, - .minYield = 1, + .maxYield = YIELD_RATE(2, 15, 15, 15), + .minYield = YIELD_RATE(1, 3, 3, 3), .description1 = sBerryDescriptionPart1_Pamtre, .description2 = sBerryDescriptionPart2_Pamtre, .growthDuration = GROWTH_DURATION(72, 60, 90, 24, 16, 24), @@ -820,8 +827,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_SOFT, .color = BERRY_COLOR_PINK, .size = 250, - .maxYield = 2, - .minYield = 1, + .maxYield = YIELD_RATE(2, 15, 15, 15), + .minYield = YIELD_RATE(1, 2, 3, 3), .description1 = sBerryDescriptionPart1_Watmel, .description2 = sBerryDescriptionPart2_Watmel, .growthDuration = GROWTH_DURATION(72, 60, 90, 24, 16, 24), @@ -840,8 +847,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_HARD, .color = BERRY_COLOR_GREEN, .size = 280, - .maxYield = 2, - .minYield = 1, + .maxYield = YIELD_RATE(2, 15, 15, 15), + .minYield = YIELD_RATE(1, 3, 3, 3), .description1 = sBerryDescriptionPart1_Durin, .description2 = sBerryDescriptionPart2_Durin, .growthDuration = GROWTH_DURATION(72, 60, 90, 24, 16, 24), @@ -860,8 +867,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_VERY_SOFT, .color = BERRY_COLOR_PURPLE, .size = 300, - .maxYield = 2, - .minYield = 1, + .maxYield = YIELD_RATE(2, 15, 15, 15), + .minYield = YIELD_RATE(1, 2, 3, 3), .description1 = sBerryDescriptionPart1_Belue, .description2 = sBerryDescriptionPart2_Belue, .growthDuration = GROWTH_DURATION(72, 60, 90, 24, 16, 24), @@ -880,8 +887,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_VERY_SOFT, .color = BERRY_COLOR_YELLOW, .size = 34, - .maxYield = 5, - .minYield = 2, + .maxYield = YIELD_RATE(5, 5, 20, 10), + .minYield = YIELD_RATE(2, 1, 3, 2), .description1 = sBerryDescriptionPart1_Chilan, .description2 = sBerryDescriptionPart2_Chilan, .growthDuration = GROWTH_DURATION(84, 72, 108, 48, 32, 48), @@ -900,8 +907,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_SUPER_HARD, .color = BERRY_COLOR_RED, .size = 90, - .maxYield = 5, - .minYield = 2, + .maxYield = YIELD_RATE(5, 5, 20, 10), + .minYield = YIELD_RATE(2, 1, 3, 2), .description1 = sBerryDescriptionPart1_Occa, .description2 = sBerryDescriptionPart2_Occa, .growthDuration = GROWTH_DURATION(84, 72, 108, 48, 32, 48), @@ -920,8 +927,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_SOFT, .color = BERRY_COLOR_BLUE, .size = 33, - .maxYield = 5, - .minYield = 2, + .maxYield = YIELD_RATE(5, 5, 20, 10), + .minYield = YIELD_RATE(2, 1, 3, 2), .description1 = sBerryDescriptionPart1_Passho, .description2 = sBerryDescriptionPart2_Passho, .growthDuration = GROWTH_DURATION(84, 72, 108, 48, 32, 48), @@ -940,8 +947,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_VERY_SOFT, .color = BERRY_COLOR_YELLOW, .size = 250, - .maxYield = 5, - .minYield = 2, + .maxYield = YIELD_RATE(5, 5, 20, 10), + .minYield = YIELD_RATE(2, 1, 3, 2), .description1 = sBerryDescriptionPart1_Wacan, .description2 = sBerryDescriptionPart2_Wacan, .growthDuration = GROWTH_DURATION(84, 72, 108, 48, 32, 48), @@ -960,8 +967,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_SOFT, .color = BERRY_COLOR_GREEN, .size = 156, - .maxYield = 5, - .minYield = 2, + .maxYield = YIELD_RATE(5, 5, 20, 10), + .minYield = YIELD_RATE(2, 1, 3, 2), .description1 = sBerryDescriptionPart1_Rindo, .description2 = sBerryDescriptionPart2_Rindo, .growthDuration = GROWTH_DURATION(84, 72, 108, 48, 32, 48), @@ -980,8 +987,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_VERY_HARD, .color = BERRY_COLOR_BLUE, .size = 135, - .maxYield = 5, - .minYield = 2, + .maxYield = YIELD_RATE(5, 5, 20, 10), + .minYield = YIELD_RATE(2, 1, 3, 2), .description1 = sBerryDescriptionPart1_Yache, .description2 = sBerryDescriptionPart2_Yache, .growthDuration = GROWTH_DURATION(84, 72, 108, 48, 32, 48), @@ -1000,8 +1007,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_SOFT, .color = BERRY_COLOR_RED, .size = 77, - .maxYield = 5, - .minYield = 2, + .maxYield = YIELD_RATE(5, 5, 20, 10), + .minYield = YIELD_RATE(2, 1, 3, 2), .description1 = sBerryDescriptionPart1_Chople, .description2 = sBerryDescriptionPart2_Chople, .growthDuration = GROWTH_DURATION(84, 72, 108, 48, 32, 48), @@ -1020,8 +1027,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_HARD, .color = BERRY_COLOR_GREEN, .size = 90, - .maxYield = 5, - .minYield = 2, + .maxYield = YIELD_RATE(5, 5, 20, 10), + .minYield = YIELD_RATE(2, 1, 3, 2), .description1 = sBerryDescriptionPart1_Kebia, .description2 = sBerryDescriptionPart2_Kebia, .growthDuration = GROWTH_DURATION(84, 72, 108, 48, 32, 48), @@ -1040,8 +1047,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_SOFT, .color = BERRY_COLOR_YELLOW, .size = 42, - .maxYield = 5, - .minYield = 2, + .maxYield = YIELD_RATE(5, 5, 20, 10), + .minYield = YIELD_RATE(2, 1, 3, 2), .description1 = sBerryDescriptionPart1_Shuca, .description2 = sBerryDescriptionPart2_Shuca, .growthDuration = GROWTH_DURATION(84, 72, 108, 48, 32, 48), @@ -1060,8 +1067,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_VERY_HARD, .color = BERRY_COLOR_BLUE, .size = 278, - .maxYield = 5, - .minYield = 2, + .maxYield = YIELD_RATE(5, 5, 20, 10), + .minYield = YIELD_RATE(2, 1, 3, 2), .description1 = sBerryDescriptionPart1_Coba, .description2 = sBerryDescriptionPart2_Coba, .growthDuration = GROWTH_DURATION(84, 72, 108, 48, 32, 48), @@ -1080,8 +1087,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_SOFT, .color = BERRY_COLOR_PURPLE, .size = 252, - .maxYield = 5, - .minYield = 2, + .maxYield = YIELD_RATE(5, 5, 20, 10), + .minYield = YIELD_RATE(2, 1, 3, 2), .description1 = sBerryDescriptionPart1_Payapa, .description2 = sBerryDescriptionPart2_Payapa, .growthDuration = GROWTH_DURATION(84, 72, 108, 48, 32, 48), @@ -1100,8 +1107,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_VERY_SOFT, .color = BERRY_COLOR_GREEN, .size = 42, - .maxYield = 5, - .minYield = 2, + .maxYield = YIELD_RATE(5, 5, 20, 10), + .minYield = YIELD_RATE(2, 1, 3, 2), .description1 = sBerryDescriptionPart1_Tanga, .description2 = sBerryDescriptionPart2_Tanga, .growthDuration = GROWTH_DURATION(84, 72, 108, 48, 32, 48), @@ -1120,8 +1127,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_VERY_SOFT, .color = BERRY_COLOR_YELLOW, .size = 28, - .maxYield = 5, - .minYield = 2, + .maxYield = YIELD_RATE(5, 5, 20, 10), + .minYield = YIELD_RATE(2, 1, 3, 2), .description1 = sBerryDescriptionPart1_Charti, .description2 = sBerryDescriptionPart2_Charti, .growthDuration = GROWTH_DURATION(84, 72, 108, 48, 32, 48), @@ -1140,8 +1147,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_HARD, .color = BERRY_COLOR_PURPLE, .size = 144, - .maxYield = 5, - .minYield = 2, + .maxYield = YIELD_RATE(5, 5, 20, 10), + .minYield = YIELD_RATE(2, 1, 3, 2), .description1 = sBerryDescriptionPart1_Kasib, .description2 = sBerryDescriptionPart2_Kasib, .growthDuration = GROWTH_DURATION(84, 72, 108, 48, 32, 48), @@ -1160,8 +1167,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_SOFT, .color = BERRY_COLOR_RED, .size = 23, - .maxYield = 5, - .minYield = 2, + .maxYield = YIELD_RATE(5, 5, 20, 10), + .minYield = YIELD_RATE(2, 1, 3, 2), .description1 = sBerryDescriptionPart1_Haban, .description2 = sBerryDescriptionPart2_Haban, .growthDuration = GROWTH_DURATION(84, 72, 108, 48, 32, 48), @@ -1180,8 +1187,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_SUPER_HARD, .color = BERRY_COLOR_PURPLE, .size = 39, - .maxYield = 5, - .minYield = 2, + .maxYield = YIELD_RATE(5, 5, 20, 10), + .minYield = YIELD_RATE(2, 1, 3, 2), .description1 = sBerryDescriptionPart1_Colbur, .description2 = sBerryDescriptionPart2_Colbur, .growthDuration = GROWTH_DURATION(84, 72, 108, 48, 32, 48), @@ -1200,8 +1207,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_SUPER_HARD, .color = BERRY_COLOR_GREEN, .size = 265, - .maxYield = 5, - .minYield = 2, + .maxYield = YIELD_RATE(5, 5, 20, 10), + .minYield = YIELD_RATE(2, 1, 3, 2), .description1 = sBerryDescriptionPart1_Babiri, .description2 = sBerryDescriptionPart2_Babiri, .growthDuration = GROWTH_DURATION(84, 72, 108, 48, 32, 48), @@ -1220,8 +1227,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_HARD, .color = BERRY_COLOR_PINK, .size = 35, - .maxYield = 5, - .minYield = 2, + .maxYield = YIELD_RATE(5, 5, 20, 10), + .minYield = YIELD_RATE(2, 1, 3, 2), .description1 = sBerryDescriptionPart1_Roseli, .description2 = sBerryDescriptionPart2_Roseli, .growthDuration = GROWTH_DURATION(84, 72, 108, 48, 32, 48), @@ -1240,8 +1247,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_VERY_HARD, .color = BERRY_COLOR_RED, .size = 111, - .maxYield = 2, - .minYield = 1, + .maxYield = YIELD_RATE(2, 5, 10, 13), + .minYield = YIELD_RATE(1, 1, 1, 2), .description1 = sBerryDescriptionPart1_Liechi, .description2 = sBerryDescriptionPart2_Liechi, .growthDuration = GROWTH_DURATION(96, 96, 144, 96, 48, 72), @@ -1260,8 +1267,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_VERY_HARD, .color = BERRY_COLOR_PURPLE, .size = 33, - .maxYield = 2, - .minYield = 1, + .maxYield = YIELD_RATE(2, 5, 10, 13), + .minYield = YIELD_RATE(1, 1, 1, 2), .description1 = sBerryDescriptionPart1_Ganlon, .description2 = sBerryDescriptionPart2_Ganlon, .growthDuration = GROWTH_DURATION(96, 96, 144, 96, 48, 72), @@ -1280,8 +1287,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_VERY_HARD, .color = BERRY_COLOR_GREEN, .size = 95, - .maxYield = 2, - .minYield = 1, + .maxYield = YIELD_RATE(2, 5, 10, 13), + .minYield = YIELD_RATE(1, 1, 1, 2), .description1 = sBerryDescriptionPart1_Salac, .description2 = sBerryDescriptionPart2_Salac, .growthDuration = GROWTH_DURATION(96, 96, 144, 96, 48, 72), @@ -1300,8 +1307,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_VERY_HARD, .color = BERRY_COLOR_PINK, .size = 237, - .maxYield = 2, - .minYield = 1, + .maxYield = YIELD_RATE(2, 5, 10, 13), + .minYield = YIELD_RATE(1, 1, 1, 2), .description1 = sBerryDescriptionPart1_Petaya, .description2 = sBerryDescriptionPart2_Petaya, .growthDuration = GROWTH_DURATION(96, 96, 144, 96, 48, 72), @@ -1320,8 +1327,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_HARD, .color = BERRY_COLOR_BLUE, .size = 75, - .maxYield = 2, - .minYield = 1, + .maxYield = YIELD_RATE(2, 5, 10, 13), + .minYield = YIELD_RATE(1, 1, 1, 2), .description1 = sBerryDescriptionPart1_Apicot, .description2 = sBerryDescriptionPart2_Apicot, .growthDuration = GROWTH_DURATION(96, 96, 144, 96, 48, 72), @@ -1340,8 +1347,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_SOFT, .color = BERRY_COLOR_RED, .size = 97, - .maxYield = 2, - .minYield = 1, + .maxYield = YIELD_RATE(2, 5, 5, 7), + .minYield = YIELD_RATE(1, 1, 1, 1), .description1 = sBerryDescriptionPart1_Lansat, .description2 = sBerryDescriptionPart2_Lansat, .growthDuration = GROWTH_DURATION(96, 96, 144, 120, 48, 72), @@ -1360,8 +1367,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_SUPER_HARD, .color = BERRY_COLOR_GREEN, .size = 153, - .maxYield = 2, - .minYield = 1, + .maxYield = YIELD_RATE(2, 5, 5, 7), + .minYield = YIELD_RATE(1, 1, 1, 1), .description1 = sBerryDescriptionPart1_Starf, .description2 = sBerryDescriptionPart2_Starf, .growthDuration = GROWTH_DURATION(96, 96, 144, 120, 48, 72), @@ -1380,8 +1387,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_HARD, .color = BERRY_COLOR_PURPLE, .size = 155, - .maxYield = 5, - .minYield = 2, + .maxYield = YIELD_RATE(2, 5, 5, 13), + .minYield = YIELD_RATE(1, 1, 1, 1), .description1 = sBerryDescriptionPart1_Enigma, .description2 = sBerryDescriptionPart2_Enigma, .growthDuration = GROWTH_DURATION(96, 96, 144, 72, 48, 72), @@ -1400,8 +1407,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_SOFT, .color = BERRY_COLOR_GREEN, .size = 41, - .maxYield = 5, - .minYield = 2, + .maxYield = YIELD_RATE(2, 5, 5, 13), + .minYield = YIELD_RATE(1, 1, 1, 1), .description1 = sBerryDescriptionPart1_Micle, .description2 = sBerryDescriptionPart2_Micle, .growthDuration = GROWTH_DURATION(96, 96, 144, 72, 48, 72), @@ -1420,8 +1427,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_SUPER_HARD, .color = BERRY_COLOR_RED, .size = 267, - .maxYield = 5, - .minYield = 2, + .maxYield = YIELD_RATE(2, 5, 5, 13), + .minYield = YIELD_RATE(1, 1, 1, 1), .description1 = sBerryDescriptionPart1_Custap, .description2 = sBerryDescriptionPart2_Custap, .growthDuration = GROWTH_DURATION(96, 96, 144, 72, 48, 72), @@ -1440,8 +1447,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_SOFT, .color = BERRY_COLOR_YELLOW, .size = 33, - .maxYield = 5, - .minYield = 2, + .maxYield = YIELD_RATE(2, 5, 5, 13), + .minYield = YIELD_RATE(1, 1, 1, 1), .description1 = sBerryDescriptionPart1_Jaboca, .description2 = sBerryDescriptionPart2_Jaboca, .growthDuration = GROWTH_DURATION(96, 96, 144, 72, 48, 72), @@ -1460,8 +1467,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_VERY_SOFT, .color = BERRY_COLOR_BLUE, .size = 52, - .maxYield = 5, - .minYield = 2, + .maxYield = YIELD_RATE(2, 5, 5, 13), + .minYield = YIELD_RATE(1, 1, 1, 1), .description1 = sBerryDescriptionPart1_Rowap, .description2 = sBerryDescriptionPart2_Rowap, .growthDuration = GROWTH_DURATION(96, 96, 144, 72, 48, 72), @@ -1480,8 +1487,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_UNKNOWN, .color = BERRY_COLOR_YELLOW, .size = 0, - .maxYield = 5, - .minYield = 2, + .maxYield = YIELD_RATE(2, 5, 10, 13), + .minYield = YIELD_RATE(1, 1, 1, 2), .description1 = sBerryDescriptionPart1_Kee, .description2 = sBerryDescriptionPart2_Kee, .growthDuration = GROWTH_DURATION(96, 96, 144, 96, 48, 72), @@ -1500,8 +1507,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_UNKNOWN, .color = BERRY_COLOR_BLUE, .size = 0, - .maxYield = 5, - .minYield = 2, + .maxYield = YIELD_RATE(2, 5, 10, 13), + .minYield = YIELD_RATE(1, 1, 1, 2), .description1 = sBerryDescriptionPart1_Maranga, .description2 = sBerryDescriptionPart2_Maranga, .growthDuration = GROWTH_DURATION(96, 96, 144, 96, 48, 72), @@ -1520,8 +1527,8 @@ const struct Berry gBerries[] = .firmness = BERRY_FIRMNESS_UNKNOWN, .color = BERRY_COLOR_PURPLE, .size = 0, - .maxYield = 2, - .minYield = 1, + .maxYield = YIELD_RATE(2, 5, 5, 13), + .minYield = YIELD_RATE(1, 1, 1, 1), .description1 = sBerryDescriptionPart1_Enigma, .description2 = sBerryDescriptionPart2_Enigma, .growthDuration = GROWTH_DURATION(96, 96, 144, 72, 48, 72),