public class BreedingLogicProxy
extends java.lang.Object
BreedingLogicProxy instance| Constructor and Description |
|---|
BreedingLogicProxy() |
| Modifier and Type | Method and Description |
|---|---|
static Species |
calculateSpecies(Pokemon parentOne,
Pokemon parentTwo)
Calculates the species created by the two parent Pokemons
|
static boolean |
canBreed(Pokemon parentOne,
Pokemon parentTwo)
Checks if the two Pokemon can breed
|
static boolean |
canLearnVoltTackle(Species species,
Pokemon parentOne,
Pokemon parentTwo)
If the pokemon can learn volt tackle move
|
static Pokemon |
findFather(Pokemon parentOne,
Pokemon parentTwo)
Obtains the father of the two parents
|
static Pokemon |
findMother(Pokemon parentOne,
Pokemon parentTwo)
Obtains the mother of the two parents
|
static Ability |
getEggAbility(Stats form,
Pokemon parentOne,
Pokemon parentTwo)
Calculates the new Ability for the Pokemon from the two parents
|
static EnumGrowth |
getEggGrowth(Pokemon parentOne,
Pokemon parentTwo)
Calculates the new Growth for the Pokemon from the two parents
|
static java.util.List<ImmutableAttack> |
getEggMoves(Stats egg,
Pokemon parent,
java.util.Set<ImmutableAttack> allEggMoves)
Gets the egg moves
|
static Moveset |
getEggMoveset(Stats egg,
Pokemon parentOne,
Pokemon parentTwo)
Calculates the egg move set
|
static java.util.List<ImmutableAttack> |
getFathersTMHMTutorMoves(Stats egg,
Pokemon father)
Gets the father's TM, HM and Tutor moves
|
static Moveset |
getFirstFourMoves(java.util.List<ImmutableAttack> masterAttackList)
Gets the first four moves from the attack list given
|
static BreedingLogicFactory |
getInstance()
Gets the breeding logic instance
|
static IVStore |
getIVsForEgg(Pokemon parentOne,
Pokemon parentTwo)
Calculates the new IVs for the Pokemon from the two parents
|
static Nature |
getNatureForEgg(Pokemon parentOne,
Pokemon parentTwo)
Calculates the new Nature for the Pokemon from the two parents
|
static PokeBall |
getPokeBall(Pokemon parentOne,
Pokemon parentTwo)
Calculates the new PokeBall for the Pokemon from the two parents
|
static java.util.List<ImmutableAttack> |
getPokemonLevelupMoves(Stats egg,
Pokemon parentOne,
Pokemon parentTwo)
Gets the level up moves for the egg
|
static boolean |
hasImplementation()
Used to check if an implementation of the breeding logic is set
|
static java.util.Optional<Pokemon> |
makeEgg(Pokemon parentOne,
Pokemon parentTwo)
Attempts to make an egg using the two given Pokemon
|
static Pokemon |
makeRandomEgg(Pokemon parentOne,
Pokemon parentTwo)
Makes a random Pokemon egg using the two parents for stats such as IVs and abilities
|
static void |
setInstance(BreedingLogicFactory instance)
Sets the instance of the breeding logic
|
static boolean |
shouldEggBeShiny(Pokemon parentOne,
Pokemon parentTwo)
Check used to determine if the child should be shiny
|
public static boolean hasImplementation()
public static void setInstance(BreedingLogicFactory instance)
instance - The breeding logic instancepublic static BreedingLogicFactory getInstance()
public static java.util.Optional<Pokemon> makeEgg(Pokemon parentOne, Pokemon parentTwo)
parentOne - The first parentparentTwo - The second parentpublic static boolean canBreed(Pokemon parentOne, Pokemon parentTwo)
parentOne - The first parentparentTwo - The second parentpublic static Pokemon makeRandomEgg(Pokemon parentOne, Pokemon parentTwo)
parentOne - The first parentparentTwo - The second parentpublic static Species calculateSpecies(Pokemon parentOne, Pokemon parentTwo)
parentOne - The first parentparentTwo - The second parentpublic static IVStore getIVsForEgg(Pokemon parentOne, Pokemon parentTwo)
parentOne - First parentparentTwo - Second parentpublic static Nature getNatureForEgg(Pokemon parentOne, Pokemon parentTwo)
parentOne - First parentparentTwo - Second parentpublic static PokeBall getPokeBall(Pokemon parentOne, Pokemon parentTwo)
parentOne - First parentparentTwo - Second parentpublic static EnumGrowth getEggGrowth(Pokemon parentOne, Pokemon parentTwo)
parentOne - First parentparentTwo - Second parentpublic static Ability getEggAbility(Stats form, Pokemon parentOne, Pokemon parentTwo)
parentOne - First parentparentTwo - Second parentpublic static boolean shouldEggBeShiny(Pokemon parentOne, Pokemon parentTwo)
parentOne - The first parentparentTwo - The second parentpublic static Moveset getEggMoveset(Stats egg, Pokemon parentOne, Pokemon parentTwo)
egg - The egg's formparentOne - The first parentparentTwo - The second parentpublic static java.util.List<ImmutableAttack> getPokemonLevelupMoves(Stats egg, Pokemon parentOne, Pokemon parentTwo)
egg - The form of the eggparentOne - The first parentparentTwo - The second parentpublic static Moveset getFirstFourMoves(java.util.List<ImmutableAttack> masterAttackList)
masterAttackList - The attack listpublic static java.util.List<ImmutableAttack> getEggMoves(Stats egg, Pokemon parent, java.util.Set<ImmutableAttack> allEggMoves)
egg - The egg's formparent - The parentallEggMoves - The child's egg movespublic static boolean canLearnVoltTackle(Species species, Pokemon parentOne, Pokemon parentTwo)
species - The egg speciesparentOne - The first parentparentTwo - The second parentpublic static java.util.List<ImmutableAttack> getFathersTMHMTutorMoves(Stats egg, Pokemon father)
egg - The eggfather - The fatherpublic static Pokemon findFather(Pokemon parentOne, Pokemon parentTwo)
parentOne - The first parentparentTwo - The second parent