question: public static long duelAbility ( final PokemonId pokemonId , final PokemonMove move1 , final PokemonMove move2 , final int attackIV , final int defenseIV , final int staminaIV ) { final double duelAbility = PokemonCalculationUtils . gymOffense ( pokemonId , move1 , move2 , attackIV ) * PokemonCalculationUtils . tankiness ( pokemonId , defenseIV , staminaIV ) ; return Math . round ( duelAbility ) ; }
target:  Duel Ability is Tankiness * Gym Offense. A reasonable measure if you don't often/ever dodge, as then you can only attack for as long as you  can stay positive on HP.