Hi,
Guest!
Some images might be missing as we move away from using embedded images, sorry for the mess!
From now on, you'll be required to use a third party to host images. You can learn how to add images
here, and if your thread is missing images you can request them
here.
Do not use Discord to host any images you post, these links expire quickly!
The AI is split into two phases; determining scores for each move, and choosing a move based on those scores. For the first phase, there are basically only 4 skill levels, to determine whether the AI will favor more strategic moves (such as ones that raise stats, set weather, etc.) or if it'll just attack recklessly. In this first phase, there's no difference between a 100 and a 255 skilled opponent.
The second phase is where most of my changes apply. In base Essentials, if one move comes back with a score of 1 and another comes back with a score of 2, it'll choose the second move 2 out of 3 times. That's only a 66% chance to choose a move the AI has already determined to be twice as good. My script applies an exponent to these numbers before deciding, with the power being influenced by the opponent's skill level. In layman's terms, this means that lower skill levels may choose the better move 75% of the time, for example, while higher skill levels might choose the better move 98% of the time.
The AI was only designed with skill levels between 1-100, but numbers above 100 should still be more likely to choose better moves in the second phase than 100 skill opponents, even though the raw scores determined in the first phase stay the same. The only concern would be integer overflow, though I've already gone to some lengths to guard against in the script.