Config to have Shuckle make Berry Juice from Oran Berries (#2331)

* Removed unused ifdefs and made actually check for Z Power Ring

* Config to have Shuckle make Berry Juice from Oran Berries

* Ordered species-specific configs
This commit is contained in:
Eduardo Quezada D'Ottone 2023-02-19 06:45:59 -03:00 committed by GitHub
parent fcf13aab2b
commit ec343cef02
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 23 additions and 12 deletions

View File

@ -13,11 +13,14 @@
#define P_EGG_HATCH_LEVEL GEN_LATEST // Since Gen 4, Pokémon will hatch from eggs at level 1 instead of 5. #define P_EGG_HATCH_LEVEL GEN_LATEST // Since Gen 4, Pokémon will hatch from eggs at level 1 instead of 5.
#define P_BALL_INHERITING GEN_LATEST // Since Gen 6, Eggs from the Daycare will inherit the Poké Ball from their mother. From Gen7 onwards, the father can pass it down as well, as long as it's of the same species as the mother. #define P_BALL_INHERITING GEN_LATEST // Since Gen 6, Eggs from the Daycare will inherit the Poké Ball from their mother. From Gen7 onwards, the father can pass it down as well, as long as it's of the same species as the mother.
// Other settings // Species-specific settings
#define P_SHEDINJA_BALL GEN_LATEST // Since Gen 4, Shedinja requires a Poké Ball for its evolution. In Gen 3, Shedinja inherits Nincada's Ball. #define P_SHEDINJA_BALL GEN_LATEST // Since Gen 4, Shedinja requires a Poké Ball for its evolution. In Gen 3, Shedinja inherits Nincada's Ball.
#define P_LEGENDARY_PERFECT_IVS GEN_LATEST // Since Gen 6, Legendaries, Mythicals and Ultra Beasts found in the wild or given through gifts have at least 3 perfect IVs.
#define P_KADABRA_EVERSTONE GEN_LATEST // Since Gen 4, Kadabra can evolve even when holding an Everstone. #define P_KADABRA_EVERSTONE GEN_LATEST // Since Gen 4, Kadabra can evolve even when holding an Everstone.
#define P_HIPPO_GENDER_DIFF_ICONS TRUE // If TRUE, will give Hippopotas and Hippowdon custom icons for their female forms. #define P_HIPPO_GENDER_DIFF_ICONS TRUE // If TRUE, will give Hippopotas and Hippowdon custom icons for their female forms.
#define P_SHUCKLE_BERRY_JUICE TRUE // In Gen 2, Shuckle had a 1/16 chance of converting Berry that it's holding into Berry Juice. Setting this to TRUE will allow to do this with an Oran Berry, which is the spiritual succesor of the Berry item.
// Other settings
#define P_LEGENDARY_PERFECT_IVS GEN_LATEST // Since Gen 6, Legendaries, Mythicals and Ultra Beasts found in the wild or given through gifts have at least 3 perfect IVs.
// Flag settings // Flag settings
// To use the following features in scripting, replace the 0s with the flag ID you're assigning it to. // To use the following features in scripting, replace the 0s with the flag ID you're assigning it to.

View File

@ -14922,7 +14922,6 @@ static void Cmd_pickup(void)
heldItem = GetBattlePyramidPickupItemId(); heldItem = GetBattlePyramidPickupItemId();
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &heldItem); SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &heldItem);
} }
#if (defined ITEM_HONEY)
else if (ability == ABILITY_HONEY_GATHER else if (ability == ABILITY_HONEY_GATHER
&& species != 0 && species != 0
&& species != SPECIES_EGG && species != SPECIES_EGG
@ -14934,6 +14933,14 @@ static void Cmd_pickup(void)
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &heldItem); SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &heldItem);
} }
} }
#if P_SHUCKLE_BERRY_JUICE == TRUE
else if (species == SPECIES_SHUCKLE
&& heldItem == ITEM_ORAN_BERRY
&& (Random() % 16) == 0)
{
heldItem = ITEM_BERRY_JUICE;
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &heldItem);
}
#endif #endif
} }
} }
@ -14972,7 +14979,6 @@ static void Cmd_pickup(void)
} }
} }
} }
#if (defined ITEM_HONEY)
else if (ability == ABILITY_HONEY_GATHER else if (ability == ABILITY_HONEY_GATHER
&& species != 0 && species != 0
&& species != SPECIES_EGG && species != SPECIES_EGG
@ -14984,6 +14990,14 @@ static void Cmd_pickup(void)
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &heldItem); SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &heldItem);
} }
} }
#if P_SHUCKLE_BERRY_JUICE == TRUE
else if (species == SPECIES_SHUCKLE
&& heldItem == ITEM_ORAN_BERRY
&& (Random() % 16) == 0)
{
heldItem = ITEM_BERRY_JUICE;
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &heldItem);
}
#endif #endif
} }
} }
@ -16073,10 +16087,8 @@ static bool32 CriticalCapture(u32 odds)
else else
odds = (odds * 250) / 100; odds = (odds * 250) / 100;
#ifdef ITEM_CATCHING_CHARM
if (CheckBagHasItem(ITEM_CATCHING_CHARM, 1)) if (CheckBagHasItem(ITEM_CATCHING_CHARM, 1))
odds = (odds * (100 + B_CATCHING_CHARM_BOOST)) / 100; odds = (odds * (100 + B_CATCHING_CHARM_BOOST)) / 100;
#endif
odds /= 6; odds /= 6;
if ((Random() % 255) < odds) if ((Random() % 255) < odds)

View File

@ -204,11 +204,7 @@ bool32 IsViableZMove(u8 battlerId, u16 move)
else else
holdEffect = ItemId_GetHoldEffect(item); holdEffect = ItemId_GetHoldEffect(item);
#ifdef ITEM_ULTRANECROZIUM_Z
if (holdEffect == HOLD_EFFECT_Z_CRYSTAL || item == ITEM_ULTRANECROZIUM_Z)
#else
if (holdEffect == HOLD_EFFECT_Z_CRYSTAL) if (holdEffect == HOLD_EFFECT_Z_CRYSTAL)
#endif
{ {
u16 zMove = GetSignatureZMove(move, gBattleMons[battlerId].species, item); u16 zMove = GetSignatureZMove(move, gBattleMons[battlerId].species, item);
if (zMove != MOVE_NONE) if (zMove != MOVE_NONE)