Take at least 18
Chat with our AI personalities
About 30 I would say
If you are good at catching legendaries, then you would need at least 10 but 15 would be safe. If you are not good at catching legendaries, then I would get 25 ultra balls.
Could be anywhere from a single Ultra Ball to dozens upon dozens of them. It mainly depends on your luck, though it will be easier if you weaken it and give it a status effect.
You try to get Dialga to low Hp and use many pokeballs/ great balls / ultra balls to try to catch it. It help if Dialga has a status problem such as being asleep or paralizes.
You need 21 ultra balls to catch Heatran