Updated the way in which ScriptGiveMonParameterized and ScrCmd_givemon chooe a default ability (#4192)

* Updated the way in which ScrCmd_givemon and ScriptGiveMon assign a default ability
When an abilityNum is not assigned in a call to givemon performed inside of an overworld script, ScriptGiveMonParameterized will make sure to generate an abilityNum of 0 or 1 in the same way vanilla does it; by defaulting to 0, and then tweaking it based on the least relevant bit of the Pokémon's personality.
ScriptGiveMon will set the default ability of a Pokémon in the same way now too, because even though it was rewritten in #3924, it should ideally produce a Pokémon in a similar way than vanilla does it.

* Removed pointless abilityNum setup in ScriptGiveMonParameterized
This commit is contained in:
LOuroboros
2024-02-15 04:01:34 -03:00
committed by GitHub
parent 7f6e1e2aea
commit eb7ddeb66c
2 changed files with 10 additions and 3 deletions

View File

@@ -323,6 +323,9 @@
#define NUM_NORMAL_ABILITY_SLOTS 2
#define NUM_HIDDEN_ABILITY_SLOTS 1
// Used as a signal for givemon to generate a default ability in the vanilla Pokémon Emerald way.
#define NUM_ABILITY_VANILLA 0xFF
#define LEGENDARY_PERFECT_IV_COUNT 3
#endif // GUARD_CONSTANTS_POKEMON_H