From 3dce58749a0fa1705906f2e17a832e6e96ccb78a Mon Sep 17 00:00:00 2001 From: Eduardo Quezada D'Ottone Date: Tue, 16 Nov 2021 21:12:29 -0300 Subject: [PATCH 1/3] Added Manaphy's and Sinistea's egg species overrides. --- src/daycare.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/daycare.c b/src/daycare.c index ecf4730472..45a0fbd99b 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -793,13 +793,13 @@ static u16 DetermineEggSpeciesAndParentSlots(struct DayCare *daycare, u8 *parent eggSpecies = GetEggSpecies(species[parentSlots[0]]); if (eggSpecies == SPECIES_NIDORAN_F && daycare->offspringPersonality & EGG_GENDER_MALE) - { eggSpecies = SPECIES_NIDORAN_M; - } if (eggSpecies == SPECIES_ILLUMISE && daycare->offspringPersonality & EGG_GENDER_MALE) - { eggSpecies = SPECIES_VOLBEAT; - } + if (eggSpecies == SPECIES_MANAPHY) + eggSpecies = SPECIES_PHIONE; + if (eggSpecies == SPECIES_SINISTEA_ANTIQUE) + eggSpecies = SPECIES_SINISTEA; // Make Ditto the "mother" slot if the other daycare mon is male. if (species[parentSlots[1]] == SPECIES_DITTO && GetBoxMonGender(&daycare->mons[parentSlots[0]].mon) != MON_FEMALE) From 56836420bd201ef3f139dde1eed140efa333953d Mon Sep 17 00:00:00 2001 From: Eduardo Quezada D'Ottone Date: Fri, 26 Nov 2021 22:24:03 -0300 Subject: [PATCH 2/3] Added Vivillon forms to override --- src/daycare.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/daycare.c b/src/daycare.c index 45a0fbd99b..d177b07a8f 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -800,6 +800,8 @@ static u16 DetermineEggSpeciesAndParentSlots(struct DayCare *daycare, u8 *parent eggSpecies = SPECIES_PHIONE; if (eggSpecies == SPECIES_SINISTEA_ANTIQUE) eggSpecies = SPECIES_SINISTEA; + if (GET_BASE_SPECIES_ID(eggSpecies) == SPECIES_VIVILLON) + eggSpecies = SPECIES_SCATTERBUG; // Make Ditto the "mother" slot if the other daycare mon is male. if (species[parentSlots[1]] == SPECIES_DITTO && GetBoxMonGender(&daycare->mons[parentSlots[0]].mon) != MON_FEMALE) From 7c6f76323a298aaa971d38c8e298b123a21c3351 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada D'Ottone Date: Fri, 26 Nov 2021 22:56:48 -0300 Subject: [PATCH 3/3] Added NidoranM/Volbeat Ditto breeding config + Rotom & Furfrou --- include/constants/pokemon_config.h | 1 + src/daycare.c | 18 ++++++++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/include/constants/pokemon_config.h b/include/constants/pokemon_config.h index 6d45eb9be8..78338d0f7d 100644 --- a/include/constants/pokemon_config.h +++ b/include/constants/pokemon_config.h @@ -17,6 +17,7 @@ #define P_UPDATED_ABILITIES GEN_8 // Since Gen 6, certain Pokémon have their abilities changed. Requires BATTLE_ENGINE for Gen4+ abilities. #define P_UPDATED_EGG_GROUPS GEN_8 // Since Gen 8, certain Pokémon have gained new egg groups. #define P_SHEDINJA_BALL GEN_8 // Since Gen 4, Shedinja requires a Poké Ball for its evolution. In Gen 3, Shedinja inherits Nincada's Ball. +#define P_NIDORAN_M_DITTO_BREED GEN_8 // Since Gen 5, when Nidoran♂ breeds with Ditto it can produce Nidoran♀ offspring. Before, it would only yield male offspring. This change also applies to Volbeat. #ifndef ITEM_EXPANSION //Item Definitions for gEvolutionTable diff --git a/src/daycare.c b/src/daycare.c index d177b07a8f..ccd2af7053 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -794,14 +794,24 @@ static u16 DetermineEggSpeciesAndParentSlots(struct DayCare *daycare, u8 *parent eggSpecies = GetEggSpecies(species[parentSlots[0]]); if (eggSpecies == SPECIES_NIDORAN_F && daycare->offspringPersonality & EGG_GENDER_MALE) eggSpecies = SPECIES_NIDORAN_M; - if (eggSpecies == SPECIES_ILLUMISE && daycare->offspringPersonality & EGG_GENDER_MALE) + else if (eggSpecies == SPECIES_ILLUMISE && daycare->offspringPersonality & EGG_GENDER_MALE) eggSpecies = SPECIES_VOLBEAT; - if (eggSpecies == SPECIES_MANAPHY) + #if P_NIDORAN_M_DITTO_BREED >= GEN_5 + else if (eggSpecies == SPECIES_NIDORAN_M && !(daycare->offspringPersonality & EGG_GENDER_MALE)) + eggSpecies = SPECIES_NIDORAN_F; + else if (eggSpecies == SPECIES_VOLBEAT && !(daycare->offspringPersonality & EGG_GENDER_MALE)) + eggSpecies = SPECIES_ILLUMISE; + #endif + else if (eggSpecies == SPECIES_MANAPHY) eggSpecies = SPECIES_PHIONE; - if (eggSpecies == SPECIES_SINISTEA_ANTIQUE) + else if (eggSpecies == SPECIES_SINISTEA_ANTIQUE) eggSpecies = SPECIES_SINISTEA; - if (GET_BASE_SPECIES_ID(eggSpecies) == SPECIES_VIVILLON) + else if (GET_BASE_SPECIES_ID(eggSpecies) == SPECIES_VIVILLON) eggSpecies = SPECIES_SCATTERBUG; + else if (GET_BASE_SPECIES_ID(eggSpecies) == SPECIES_ROTOM) + eggSpecies = SPECIES_ROTOM; + else if (GET_BASE_SPECIES_ID(eggSpecies) == SPECIES_FURFROU) + eggSpecies = SPECIES_FURFROU; // Make Ditto the "mother" slot if the other daycare mon is male. if (species[parentSlots[1]] == SPECIES_DITTO && GetBoxMonGender(&daycare->mons[parentSlots[0]].mon) != MON_FEMALE)