Battle Factory (6v6) is one of the popular tiers, yet it has one major flaw that sometimes makes you want to jump off a cliff or something; too many megas. I've had battles where I literally had 4 of them, which makes the battle a lot less fun tbh. I'm not sure if this is possible actually coding-wise, but it would be really nice to dedicate a teamslot to a Mega, so that it's certain that you get only 1. I don't exactly know how the generating process for BF mons works, but I guess it could be something like this: - Generate tier - Team slot 1: generate Mega from an MEGA ONLY array based on the generated tier (so no Mega Steelix in OU for example) - Team slots 2-6: generate mons from the non-mega array, also based on the generated tier. For all slots, it should be checked whether it doesn't violate species clause (so no Slowbro and Mega Slowbro in 1 team)
It used to force one Mega per team, but there was as change a couple of months back that made it impossible to do again, I wanted to reverse that change, but apparently no other developers agreed with me (well they actually said nothing at all on that matter... but yeah)
well, with the process you suggested, it would guarantee 1 mega exactly for every team. I don't think that's really a great idea either. The problem with the mega check we had before was that it looked like it should work, but idk if anyone could figure out why it didnt. it's been suggested before and obviously it'd be great to have implemented, if someone could implement it.
How about having a check. Like it will test if the team already gets a mega, then not allow to have more. Something like this: Check pokemon 1-> if not mega, continue with all Check pokemon 2-> if you have the mega, exclude all the mega group for the rest of the team. Not quite sure if this will work but it seems like the easiest way to not have 4 mega in a BF team
I am not sure if an if-else loop could be implemented in the coding however I like and agree with @Carlmurray 's idea.
Just to clarify the way I implemented the 1 mega limit. If there are less total megas than the mega limit (1 currently), then it won't restrict adding megas. If the mega limit is reached, then the selected Pokemon's sets will be filtered to only include sets without a mega stone, before randomly selecting a Pokemon. If the Pokemon has no non-mega sets (i.e. Pinsir), then it will add it to a list of "bad" Pokemon and move on to the next Pokemon and repeat the process. If a non-mega still cannot be added, then one from the "bad" Pokemons' sets will be added. So basically, it'll avoid adding more than 1 mega unless that's the only way to complete the team from that point. The limit can be changed from 1 to 2 or whatever you want and I might try adding some code to prevent duplicate hazards setters.