Hello!
Apologies as I am not much of a programmer, but based on the context I have, I'm afraid you won't find much for your search, and there's a couple of explanations as to why.
All I can find is an
Item AI plugin that adds onto @Ludicious89's
Deluxe Battle Kit, which in itself is an incredible plugin but is mostly for scripting fights with dialogue, special parameters, or hard coded sequences.
The reason there likely isn't any plugins easily searchable improving Essentials v21's AI is because one of the major updates of v21
was the battle AI. There are dozens of scripts under the [[ AI ]] label in the RPG Maker Script Editor that you can look into if you understand the Ruby language that all build off each other to program how the AI works. Here is a list of changes made in v21 pulled directly from the changelog and hotfixes:
- Overhauled the AI code, breaking it up into more manageable chunks and adding lots of calculations for (practically) all move function codes and other move-related factors.
- Added more code to the decision of whether to switch out a Pokémon instead of attacking with it, letting the AI be able to recognize more bad situations where switching is the best choice.
- Trainers will now be able to predict whether a move will fail, and will avoid using that move.
- A Pokémon's choice of move is now less random, because it will no longer consider at all using a move that scored significantly worse than another move it knows. Previously it just had a lower chance of using the bad move.
- Only trainers with a skill level of 100 or higher will hold on to their last Pokémon until the end. These will be Gym Leaders and other top trainers, who would be expected to have an "ace"/signature Pokémon that acts as the final boss of their battle.
- Added some skill flags, most of which are automatically given to a trainer depending on their skill level. These skill flags determine whether the AI takes certain factors into account.
- Added "Legendary", "Mythical" and "UltraBeast" flags to appropriate species in pokemon.txt. Wild Pokémon with these flags have a smarter AI, if the corresponding Setting is set.
- The AI now knows how to use Max Mushrooms and Revive-type items.
- Fixed incorrect AI code for considering Sticky Web when switching.
- Fixed AI always switching Pokémon due to unusable moves if the Pokémon is asleep or frozen.
- Fixed the AI thinking it will take End of Round damage when it won't, and switching because of that.
- Fixed the AI wanting to trigger a target's ability/item instead of not wanting to.
Devs who aren't proficient programmers likely were satisfied enough with the overhaul and didn't seek out further improvements, and more proficient developers with significant progress on their games and/or previous AI rewrites likely haven't updated their projects from previous versions of essentials. There are some long standing projects that I know of that go as far back as v16 or 17, possibly further.
If you have modified your trainer classes to have all the flags enabled for max difficulty as is allowed in vanilla Essentials and still are not satisfied, you may have to roll up your sleeves and delve into the code yourself with the help of fellow devs in an ask for help thread. Sorry I can't be more of assistance, but I wish you luck!