Mechanics Disobedience mechanics and formula since Gen 5

Since Gen 5, the disobedience mechanics have evolved but I have not found the new formulas used by Game Freak on any site (including Bulbapedia that was never updated in its formulas section). At most, I found a few empirical tests from players on Reddit or pokemondb.net. From all these experiments, one observation emerged unanimously: the probability of disobedience has been significantly increased since the transition from Gen 4 to Gen 5.

Two observations were notably made:
• Under the worst conditions (Pokémon exchanged at level 100 with a limit at level 10), the probability of obedience dropped from 9.1% (the Gen 4 formula is known and gives 25/256) to around 4%: most likely 12/256 with the new formula.
• The "catch-up roll", which allowed the Pokémon to act but make another move on a random target (thus potentially an ally if it was targetable), has been completely removed (probably because Game Freak didn't want to have to code an automatic targeting adapted to the novelty of triple battles). This especially impacted the lowest levels of disobedience by increasing the threshold effect from the first excess level. (Actions rate dropped from 74 to around 48% with one excess level.)

So I did my own research while writing this game design document (originally written in French and which I translated for you for the occasion)
https://www.sacredphoenix.fr/res/Te...and Traded Pokémon - vanilla mechanics_EN.pdf

In Gen 4, the first random test of obedience was:
... with
Lvmax = Maximum level allowed by badges
LvPoké = Pokémon level
obedient = Lvmax < (LvPoké + Lvmax) * rand(256) / 256

Which, once the random factor has been isolated, can be transcribed into:

obedient = rand(256) < 256 * (Lvmax / (LvPoké + Lvmax))


which in Gen 5 most likely became (green part added) :
obedient = rand(256) < 256 * (Lvmax / ((LvPoké + Lvmax) + (LvPoké - Lvmax)))

Which can be greatly simplified by:

obedient = rand(256) < 128 * (Lvmax / LvPoké)

(This result is always truncated to the lower integer, because Game Freak never wanted to use floating numbers in its various formulas despite the evolution of hardware since NDS.)

Lvmax / LvPoké being strictly less than 1, we have:
• Just under a 50% chance of acting with a single level of excess (bearing in mind that the second-chance roll has been completely removed since Black & White).
• And 4.6875% chance (12/256) with a level 100 Pokémon for a limit of 10
This corresponds to the tests carried out by the players on pokemondb.net!
… a probability that rises to 25/256 in Scarlet and Violet, as the minimum level starts at 20 with no badges. Again, this corresponds to player tests that reported about 90% disobedience when experimenting with an imported level 100 Miraidon in a new game.

If the Pokémon disobeys, the chance of napping or confusion damage has remained unchanged (same formula used).

I wanted to know if people here had the opportunity to check on the dumped scripts of the latest official games if the new disobedience formula had indeed become this one (since 2010 anyway^^), and thus know if my hypothesis can be validated.
 

Users Who Are Viewing This Thread (Users: 1, Guests: 0)

Top