public class BreedingLogicProxy
extends java.lang.Object
BreedingLogicProxy
instanceConstructor 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