• Do not use Discord to host any images you post, these links expire quickly! You can learn how to add images to your posts here.
  • Eevee Expo's webhost has been having technical issues since Nov. 20th and you might be unable to connect to our site. Staff are also facing issues connecting, so please send a DM to Cat on-site or through Discord directly for faster service!
Innate Abilities (Yet Another "All Abilities Mutation" mod)

v21.1 Innate Abilities (Yet Another "All Abilities Mutation" mod) 1.5.3

This resource pertains to version 21.1 of Pokémon Essentials.
YOU HAVE TO RE-COMPILE AND START A NEW GAME AFTER THIS UPDATE, AS IT CHANGES A CHUNK OF STUFF
  • Fixed a problem that made form changes outside of battle not properly update their innates.
  • Added a new setting: MAX randomizer. Instead of randomly choosing innates from the pokemon's innate list, it instead picks a random selection of abilities from the entire ability list in the game.
  • There's of course a blackist for you to add abilities that shouldn't be randomly picked.
  • Added the MAX randomizer to the debug menu.
  • Modified the Innate Shuffler item to consider the MAX randomizer as well.
  • Updated the codes for the ability capsule/patch for this.
YOU HAVE TO RE-COMPILE AND START A NEW GAME AFTER THIS UPDATE, AS IT CHANGES IT'S BEHAVIOR A BIT
  • Fixed an error when you tried to run the game without the PBS folder, so publishing your project or releasing a beta was impossible. Without the PBS files at least.
  • Added the dependency of Moduler UI scenes in the meta file for the Innate Summary page so it always loads after it.
  • Btw, always be sure that the innate summary page is the same version as the main plugin. So, I've added "versions" in it's meta file for ease of check after compiling.
  • The latest update broke the innate filter if it would match the regular ability of the pokemon. Fixed back again.
  • Fixed an error that would occur if your innate_sets.txt had an empty space. Still, I recommend not leaving one just for consistency
  • Fixed an error for an alias to an unexisting method, it was a custom code for my own game. This was fixed in the previous hotfix but I'm oficially adding it to the changelog now
Sorry about that. I forgot that was there. Oops.
BE SURE TO RECOMPILE AND START A NEW SAVE FILE!

Now the whole plugin's utility is defined in Pokemon Class, which opens up more customizacion
Also, Innates are no longer defined in the Pokemon.txt file of the PBS but in a brand new innate_sets.txt file, defined like this:
Innate_sets.txt:
Expand Collapse Copy
#----------------------------------------
[BLAZIKEN]
Innates = BLAZE,FLAMEBODY,STRONGLENGS
#----------------------------------------

Supports alternate forms:

Innate_sets.txt:
Expand Collapse Copy
#----------------------------------------
[AGGRON]
Innates = FILTER,STURDY,TITAN
#----------------------------------------
[AGGRON_1] #<- Mega Aggron. Use POKEMON_X, with X that form's number
Innates = STURDY,HEAVYMETAL,PUREARMOR
#----------------------------------------

Simply use the _X at the end of the Pokemon's ID, with X being the number of that specific form. If you don't give alternate forms it's own set of innates, it will grab those from the base form.

And the main topic of the Innates sets:

Innate_sets.txt:
Expand Collapse Copy
#----------------------------------------
[METAGROSS]
Innates1 = SANDVEIL,STURDY,CLEARBODY
Innates2 = FILTER,CLEARBODY
Innates3 = PLUS,MINUS,ELECTRICSURGE
#----------------------------------------

Pokemon can have more than 1 set of Innates, defined here and choosed at random with equal odds.

Also fixed the debug menu

Also Also, while creating defining a trainer or creating a pokemon object you can give them custom innates. More details in the Overview page.

In summary, here are all the changes:

  • The innates for each pokemon are no longer defined in Pokemon.txt PBS or their derivates, instead, the are defined in a new file called "innate_sets.txt", this is for ease of uninstalling, to allow the new Innate Sets function, and to avoid any overwrittes of other plugins that modify the Pokemon.txt file directly.
  • -As such, the usage of the Innates parameter in Pokemon.txt no loger does anything but to be loaded by the Data Page modification. If you are not using it, or are using it but don't care to show off the Innates in it, you can remove it no problems. It's basically for utility and flavor for that plugin.
  • Fixed the entirity of the DEBUG menu for Innate abilities. Now the option to set any ability as the pokemon's innate works as intended.
  • Added the option to give custom innates to a created pokemon or to a trainer. This customly given innates bypass randomization. They reset on shuffle by the item or DEBUG menu.
  • Fixed the Mega Evolution/Primal reversion code to allow to have different innates than their baase forms and properly load them in battle. And revert back once the Form change ends.
  • This is also true for temporal form changes that might have a different set of innates. For example if you give Darmanitan's Zen mode innates unique to it, they will revert back once the battle ends. Keep that in mind in case a pokemon was supposed to remain it's new innates gained in combat.
  • While using the randomizer, if your total amount of Innates is less than the maximum, the randomizer wont ever shuffle them. So at least you can keep some consitency. This can be turned off with a new setting in AAM Settings.
  • Pokemon can have more than 1 innate set at the time, picked at random if more than 1 are defined.
  • Basically moved the whole process to Pokemon class.
  • Fixed pokemon mantaining it's pre-evolution's innates after evolving. Now they always get re-asssigned after evolving.
BE SURE TO RECOMPILE AND START A NEW SAVE FILE AFTER THIS UPDATE!

Now the randomizer will check if one of the possible random abilities to be set as an innate does not match either the Pokemon's current regular ability nor any of the given Innates. That way, you can be sure that no ability gets duplicated!
With that in mind, you can add the same ID multiple times in the Innates section of the PBS to increace its chances of being chose, without having to worry about it being assigned multiple times
oPOLNkK.gif

Demonstration of how Aggron can only have Sturdy once, either as a Regular ability or an Innate. Once it has it as a regular, it's excluded to be a possible Innate.

  • Added a uniqueness filter for the Randomized setting:
  • #Now the randomly selected Innates will never have the same ID of the regular ability of the pokemon, nor in between them if you set them multiple times in the "Innates =", this ensures that in between the possible innates and the regular ability, no ID appears more than once. This is only true for the randomizer as the user has full control of the pokemon's innates if they don't use it, so it's not needed.
  • As such, the option for that has been update it in the Innate Shuffler, the Ability Capsule and the Ability Patch.
  • Also updated the Debug Menu, specially the randomizer option. Don't use the first option of the debug Innates menu because it provoques a crash. Still WIP.
  • Fixed (Hopefully) an error that caused crashes with Poison Puppeteer's code if the Gen 9 pack not being installed
  • Modified the Innate Sumary Page again to reflect these changes

Please report any bugs and suggestions!
BE SURE TO RECOMPILE AND START A NEW SAVE FILE AFTER THIS UPDATE!

Added a new way to have variety in the innates, the randomized system! Now each pokemon can have it's own set of innates with a maxium fron the "Innates =" section of the pbs. If a pokemon has more innates defined than the maximum amount, it will grab them at random! This is permament per species, unless you used the optional item "Innate Shuffler", which graphic and PBS are also included.

zpnCgwv.gif

Demonstartion
  • Added a pair of new settings in the AAM Settings file to choose if you want to limit the amount of innates a pokemon can have from the entire "Innates =" section of the PBS. And randomly choose abilities from that same pool. So now 2 pokemon from the samespecies can have different innates! I recommend to expand the amount of innates in the section if you want to use it.
  • Sligtly reworked the "Innate Page Summary" add-on to now reflect these changes
Please report any bugs and suggestions!

I'm still working on the bug fixes and the problem with Guard Dog and Opportunist I swear
  • Like
Reactions: CoderFreddy
BE SURE TO RECOMPILE AND START A NEW SAVE FILE AFTER THIS UPDATE!

Finally fixed the "Innate Abilities - Species" file to only tackle stuff related to the "Innate Abilities", and to avoid any major compatibility issues with other plugins that modify the pokemon's Species file (Mainly Lucidious ones).

And also, suggested by user Bguy7, added support for pokemon that have 0 abilities and innates, by giving them a temporal "No ability" ability, which is virtually useless but it's there just to avoid "nil" cases.
  • Reworked the file "Innate Abilities - Species" to modify only stuff added by the Innate abilities and nothing else
  • -Therefore, solved compatibilities with the DBK/Animated Pokemon System plugin and the Dynamax plugin.
  • Added support for pokemon with no abilities/innates. Simply make a new ability with the id "NOABILITY" with a similar name and description, or add the "abilities_innateabilities.txt" to your pbs folder.

As for the case for abilities with no ability handler shown incorrectly in the Ability Splash, while I work in a automatic fix, you can hard code the name before the @battle.pbShowAbilitySplash(target) . Like this for example:

Temporal fix:
Expand Collapse Copy
elsif target.damageState.sturdy
      $aamName = GameData::Ability.get(:STURDY).name #Forces the ability name
      @battle.pbShowAbilitySplash(target)
      if Battle::Scene::USE_ABILITY_SPLASH
        @battle.pbDisplay(_INTL("{1} endured the hit!", target.pbThis))
      else
        @battle.pbDisplay(_INTL("{1} hung on with Sturdy!", target.pbThis))
      end
      @battle.pbHideAbilitySplash(target)

I'm still trying to figure out a solution. My biggest appologies for all of the problems!
  • Like
Reactions: Bguy7
I've realized the .rar file didn't contained the new AAM Settings updated, so it caused some errors. Whoops.
* Re uploaded the .rar to include the proper way LEVELS_TO_UNLOCK it's handled in AAM Settings and avoid errors. If you donwloaded the v.1.3.1 that I've posted a couple of days back:
- Either re-download this version and change the AAM Settings file to this new one:
- Or simply, if your LEVELS_TO_UNLOCK setting looks like this : "LEVELS_TO_UNLOCK = [1, 15, 20]", add a new pair of []: "LEVELS_TO_UNLOCK = [[1, 15, 20]]"

My biggest apologies for any problems caused.
If you are using INNATE_PROGRESS_WITH_LEVEL, now you can give specific pokemon their own level's to unlock their innates! You can use this to make them get their full potential sooner or later than the rest.
Instructions given in the "Overview" page and in the "instructions.txt" file that comes with the .rar

  • Updated the way the "INNATE_PROGRESS_WITH_LEVEL" works, so now you can give specific pokemon' species custom levels to which they can unlock their innates
  • Updated the "Innates in summary" page to reflect this change
Back
Top