• 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)

Resource Innate Abilities (Yet Another "All Abilities Mutation" mod) 1.5.3

Mirroon

Novice
Member
Joined
Jun 29, 2020
Posts
14
Odd. What settings are you using? And also, the missing innate happens to match the pokemon's current ability?

If anything, could I look at both your innate_sets file and pokemon.txt file foe that specific mon? Or is an issue with all of then?
Yeah so the missing initiate is something i figured out now. Because the ability that i use in the innate is in the ability tab, but i got a problem now in a test battle.
[Pokémon Essentials version 21.1]
[v21.1 Hotfixes 1.0.1]
[v21.1 Hotfixes 1.0.9]

Exception: SystemStackError
Message: stack level too deep

Backtrace:
Validation:18:in `block (2 levels) in validate'
Validation:18:in `any?'
Validation:18:in `block in validate'
Validation:16:in `each'
Validation:16:in `map'
Validation:16:in `validate'
GameData:91:in `exists?'
Pokemon:143:in `isSpecies?'
Battle_Battler:304:in `isSpecies?'
[v21.1 Hotfixes] Battle bug fixes.rb:126:in `pbEffectsOnMakingHit'

 

Sonicover

Cooltrainer
Member
Joined
Jan 14, 2022
Posts
140
Yeah so the missing initiate is something i figured out now. Because the ability that i use in the innate is in the ability tab, but i got a problem now in a test battle.
[Pokémon Essentials version 21.1]
[v21.1 Hotfixes 1.0.1]
[v21.1 Hotfixes 1.0.9]

Exception: SystemStackError
Message: stack level too deep

Backtrace:
Validation:18:in `block (2 levels) in validate'
Validation:18:in `any?'
Validation:18:in `block in validate'
Validation:16:in `each'
Validation:16:in `map'
Validation:16:in `validate'
GameData:91:in `exists?'
Pokemon:143:in `isSpecies?'
Battle_Battler:304:in `isSpecies?'
[v21.1 Hotfixes] Battle bug fixes.rb:126:in `pbEffectsOnMakingHit'
This one doesn't seem to be much related to the innate abilities. Did it only trigger when you got in battle? Does it trigger in a battle with any pokemon or combination of abilities?

...wait, you are using 2 hotfix plugins?
 

Mirroon

Novice
Member
Joined
Jun 29, 2020
Posts
14
This one doesn't seem to be much related to the innate abilities. Did it only trigger when you got in battle? Does it trigger in a battle with any pokemon or combination of abilities?

...wait, you are using 2 hotfix plugins?
I fixed the mistake after looking carefully. It's Embarassing the mistake I made. But it gives an error message, when I tried giving myself a Pokemon in debug mode so there is that. Other than that it works now. Thank you for the patience you had with me
 

Sonicover

Cooltrainer
Member
Joined
Jan 14, 2022
Posts
140
I fixed the mistake after looking carefully. It's Embarassing the mistake I made. But it gives an error message, when I tried giving myself a Pokemon in debug mode so there is that. Other than that it works now. Thank you for the patience you had with me
Don't worry, I'm glad I can be of assistance. As for the error, send it so I can see if I can help you with it. The scripts changes some of those codes after all
 

Mirroon

Novice
Member
Joined
Jun 29, 2020
Posts
14
Don't worry, I'm glad I can be of assistance. As for the error, send it so I can see if I can help you with it. The scripts changes some of those codes after all
Error when adding a Pokemon through debug
[Pokémon Essentials version 21.1]
[v21.1 Hotfixes 1.0.9]

Exception: NoMethodError
Message: undefined method `assign_innate_abilities' for :BULBASAUR:Symbol

Backtrace:
[Innate Abilities] Innate Abilities - Utilities.rb:173:in `pbAddPokemonSilent'
Debug_MenuCommands:579:in `block in <main>'
Event_HandlerCollections:121:in `call'
Debug_Menus:138:in `block in pbDebugMenu'
Debug_Menus:100:in `loop'
Debug_Menus:100:in `pbDebugMenu'
UI_PauseMenu:297:in `block (2 levels) in <main>'
MessageConfig:575:in `pbFadeOutIn'
UI_PauseMenu:296:in `block in <main>'
UI_PauseMenu:124:in `block in pbStartPokemonMenu'

Edit: Filling Pokemon to a pc box works perfect fine. It's just adding the Pokemon
 

Sonicover

Cooltrainer
Member
Joined
Jan 14, 2022
Posts
140
Error when adding a Pokemon through debug
[Pokémon Essentials version 21.1]
[v21.1 Hotfixes 1.0.9]

Exception: NoMethodError
Message: undefined method `assign_innate_abilities' for :BULBASAUR:Symbol

Backtrace:
[Innate Abilities] Innate Abilities - Utilities.rb:173:in `pbAddPokemonSilent'
Debug_MenuCommands:579:in `block in <main>'
Event_HandlerCollections:121:in `call'
Debug_Menus:138:in `block in pbDebugMenu'
Debug_Menus:100:in `loop'
Debug_Menus:100:in `pbDebugMenu'
UI_PauseMenu:297:in `block (2 levels) in <main>'
MessageConfig:575:in `pbFadeOutIn'
UI_PauseMenu:296:in `block in <main>'
UI_PauseMenu:124:in `block in pbStartPokemonMenu'

Edit: Filling Pokemon to a pc box works perfect fine. It's just adding the Pokemon
That's odd, it's the same method as always. By any chance did you forced a recompile and started a new save file? .

If the pc and seeing the summary boxes work that one should work as well since they are calling the same method.

I'll get a deeper look once I'm home
 

Mirroon

Novice
Member
Joined
Jun 29, 2020
Posts
14
That's odd, it's the same method as always. By any chance did you forced a recompile and started a new save file? .

If the pc and seeing the summary boxes work that one should work as well since they are calling the same method.

I'll get a deeper look once I'm home
The fill box with all pokemon option works perfectly fine. its just the add pokemon specifically
 

Sonicover

Cooltrainer
Member
Joined
Jan 14, 2022
Posts
140
So I was messing more with it and pbaddpokemon is crashing.
While I investigate you can remove those 2 methods from the Utilities section of the plugin:


Ruby:
Expand Collapse Copy
# Alias the original pbAddPokemon method
alias original_pbAddPokemon pbAddPokemon
def pbAddPokemon(pkmn, level = 1, see_form = true)
  # Call the original method
  result = original_pbAddPokemon(pkmn, level, see_form)
 
  # Assign innate abilities
  pkmn.assign_innate_abilities# if pkmn.is_a?(Pokemon)

  return result
end

# Alias the original pbAddPokemonSilent method
alias original_pbAddPokemonSilent pbAddPokemonSilent
def pbAddPokemonSilent(pkmn, level = 1, see_form = true)
  # Call the original method
  result = original_pbAddPokemonSilent(pkmn, level, see_form)
 
  # Assign innate abilities
  pkmn.assign_innate_abilities# if pkmn.is_a?(Pokemon)

  return result
end

On paper they aren't even needed anymore, but still I have them for testing purposes.
 

Sonicover

Cooltrainer
Member
Joined
Jan 14, 2022
Posts
140
Ok that is VERY odd. I don't recall this script messing with that code. And if it works for 1 pokemon it should work for all. If not even the sash is working it means is something happening in the damage state but only for the player's pokemon.
I'll give it a look once I get home.

Edit: seems Komeji deleted the comment I was replying so I was left talking to myself lol. I hope you could find a solution. It was a report with the focus sash and Sturdy not working for the player. I'll still give it a look at home just to be safe
 
Last edited:

Sonicover

Cooltrainer
Member
Joined
Jan 14, 2022
Posts
140
Error when adding a Pokemon through debug
[Pokémon Essentials version 21.1]
[v21.1 Hotfixes 1.0.9]

Exception: NoMethodError
Message: undefined method `assign_innate_abilities' for :BULBASAUR:Symbol

Backtrace:
[Innate Abilities] Innate Abilities - Utilities.rb:173:in `pbAddPokemonSilent'
Debug_MenuCommands:579:in `block in <main>'
Event_HandlerCollections:121:in `call'
Debug_Menus:138:in `block in pbDebugMenu'
Debug_Menus:100:in `loop'
Debug_Menus:100:in `pbDebugMenu'
UI_PauseMenu:297:in `block (2 levels) in <main>'
MessageConfig:575:in `pbFadeOutIn'
UI_PauseMenu:296:in `block in <main>'
UI_PauseMenu:124:in `block in pbStartPokemonMenu'

Edit: Filling Pokemon to a pc box works perfect fine. It's just adding the Pokemon
After some testings they didn't crash in my game because I had another plugin that modified the pbAddPokemon methods. Now that I've removed it the error appears. I've already fixed it and will release an update when I get home.

Also I've fixed an issue with evolution and species changing in debug not updating properly as well, so I encourage to update when it's up
 

WehAxolotl

Rookie
Member
Joined
Nov 17, 2024
Posts
3
Hello, sorry for bothering you, im having an issue where i get this error:


[Pokémon Essentials version 21.1]
[v21.1 Hotfixes 1.0.9]

Exception: NoMethodError
Message: undefined method `empty?' for nil:NilClass

Backtrace:
[Innate Abilities] AAM Battler.rb:87:in `pbInitPokemon'
Battler_Initialize:61:in `pbInitialize'
Battle_StartAndEnd:117:in `pbCreateBattler'
Battle_StartAndEnd:153:in `block (3 levels) in pbSetUpSides'
Battle:411:in `block in eachInTeam'
Battle:411:in `each'
Battle:411:in `each_with_index'
Battle:411:in `eachInTeam'
Battle_StartAndEnd:150:in `block (2 levels) in pbSetUpSides'
Battle_StartAndEnd:148:in `each'


I haven't changed the innate sets yet, but I have set locking them behind levels to true. Sorry again.
Almost forgot to say, it happens when I enter a battle, wild or trainer.
 

Sonicover

Cooltrainer
Member
Joined
Jan 14, 2022
Posts
140
Hello, sorry for bothering you, im having an issue where i get this error:


[Pokémon Essentials version 21.1]
[v21.1 Hotfixes 1.0.9]

Exception: NoMethodError
Message: undefined method `empty?' for nil:NilClass

Backtrace:
[Innate Abilities] AAM Battler.rb:87:in `pbInitPokemon'
Battler_Initialize:61:in `pbInitialize'
Battle_StartAndEnd:117:in `pbCreateBattler'
Battle_StartAndEnd:153:in `block (3 levels) in pbSetUpSides'
Battle:411:in `block in eachInTeam'
Battle:411:in `each'
Battle:411:in `each_with_index'
Battle:411:in `eachInTeam'
Battle_StartAndEnd:150:in `block (2 levels) in pbSetUpSides'
Battle_StartAndEnd:148:in `each'


I haven't changed the innate sets yet, but I have set locking them behind levels to true. Sorry again.
Almost forgot to say, it happens when I enter a battle, wild or trainer.
Odd, but I think I now what line is causing it. I'll give it a closer look when I'm home
 

Bguy7

Pokémon Sol Version Creator
Member
Joined
Jul 1, 2024
Posts
25
Wanted to mention two problems I encountered while testing my gameplay.

The first is that it seems that when a Ditto with an innate ability uses Transform, it keeps its innate, rather than copying the target's. If there's not an easy fix for this one, I'll probably just remove Ditto's innate and only give it a regular ability.

The second is a little more specific. I brought it up a while ago about how the innate system didn't allow Pokémon to not have an ability. While you fixed that problem, I had a related issue come up today. When in a double battle where one of the opponent's Pokémon had an innate ability but no regular ability, I got the following error message (or something very similar) whenever something tried to attack:

[2024-11-22 14:36:11 -0800]
[Pokémon Essentials version 21.1]
[v21.1 Hotfixes 1.0.9]

Exception: NoMethodError
Message: undefined method `id' for nil:NilClass

Backtrace:
[Innate Abilities] AAM Ability Effects.rb:332:in `block in triggerAccuracyCalcFromAlly'
[Innate Abilities] AAM Ability Effects.rb:331:in `each'
[Innate Abilities] AAM Ability Effects.rb:331:in `triggerAccuracyCalcFromAlly'
Move_UsageCalculations:216:in `block in pbCalcAccuracyModifiers'
Move_UsageCalculations:214:in `each'
Move_UsageCalculations:214:in `pbCalcAccuracyModifiers'
[Innate Abilities] AAM Move.rb:14:in `pbCalcAccuracyModifiers'
Move_UsageCalculations:181:in `pbAccuracyCheck'
[Generation 9 Pack] [001] Battle.rb:318:in `pbAccuracyCheck'
Battler_UseMoveSuccessChecks:637:in `pbSuccessCheckPerHit'

It seems to be a result of getting a nil from one of the Pokémon having no regular ability, and the code not being able to handle that eventuality.

EDIT: Sorry, just found another. It seems that an Aegislash with Stance Change as an innate ability will not change form.
 
Last edited:

komeiji514

Elite Trainer
Member
Joined
Oct 28, 2023
Posts
275
Ok that is VERY odd. I don't recall this script messing with that code. And if it works for 1 pokemon it should work for all. If not even the sash is working it means is something happening in the damage state but only for the player's pokemon.
I'll give it a look once I get home.

Edit: seems Komeji deleted the comment I was replying so I was left talking to myself lol. I hope you could find a solution. It was a report with the focus sash and Sturdy not working for the player. I'll still give it a look at home just to be safe
Probably there's no problem actually. Maybe I mistook some codes of pbReduceDamage.
 

komeiji514

Elite Trainer
Member
Joined
Oct 28, 2023
Posts
275
There are still some problems other than the reported ones.(mostly in AAM's original code)
1.The method pbContinualAbilityChecks has been rewritten by Gen 9 Pack and the one is this plugin should also be modified for compatibility.
2.In Wandering Spirit's codes ZUD Mechanics should be changed to [DBK} Dynamax.
 

Sonicover

Cooltrainer
Member
Joined
Jan 14, 2022
Posts
140
Wanted to mention two problems I encountered while testing my gameplay.

The first is that it seems that when a Ditto with an innate ability uses Transform, it keeps its innate, rather than copying the target's. If there's not an easy fix for this one, I'll probably just remove Ditto's innate and only give it a regular ability.

The second is a little more specific. I brought it up a while ago about how the innate system didn't allow Pokémon to not have an ability. While you fixed that problem, I had a related issue come up today. When in a double battle where one of the opponent's Pokémon had an innate ability but no regular ability, I got the following error message (or something very similar) whenever something tried to attack:

[2024-11-22 14:36:11 -0800]
[Pokémon Essentials version 21.1]
[v21.1 Hotfixes 1.0.9]

Exception: NoMethodError
Message: undefined method `id' for nil:NilClass

Backtrace:
[Innate Abilities] AAM Ability Effects.rb:332:in `block in triggerAccuracyCalcFromAlly'
[Innate Abilities] AAM Ability Effects.rb:331:in `each'
[Innate Abilities] AAM Ability Effects.rb:331:in `triggerAccuracyCalcFromAlly'
Move_UsageCalculations:216:in `block in pbCalcAccuracyModifiers'
Move_UsageCalculations:214:in `each'
Move_UsageCalculations:214:in `pbCalcAccuracyModifiers'
[Innate Abilities] AAM Move.rb:14:in `pbCalcAccuracyModifiers'
Move_UsageCalculations:181:in `pbAccuracyCheck'
[Generation 9 Pack] [001] Battle.rb:318:in `pbAccuracyCheck'
Battler_UseMoveSuccessChecks:637:in `pbSuccessCheckPerHit'

It seems to be a result of getting a nil from one of the Pokémon having no regular ability, and the code not being able to handle that eventuality.

EDIT: Sorry, just found another. It seems that an Aegislash with Stance Change as an innate ability will not change form.
Ok lets go by steps:

I didn't realized that Transform/Imposter use a different method to change the user rather than utilizing pbUpdate, so the innates arent re modified for them. I have already fixed the issue by modifying pbTransform to include a call for the target's current innate list and it will be included in the next update, so thanks a lot for that report!

As for the id problem yeah, it seems to be an issue with AAM's original code not handling those cases properly. I could suggest for an inmediat solution to your problem to simply give those pokemon with no abilities the "No ability" ability that is already included in the plugin. It thecnically is an ability with an ID and code so it stops all forms of crashes, it just does absolutely nothing more.
Ngl I didn't really consider cases with no specific abilities in a plugin that centers on giving MORE abilities lol. But I'll look for a solution.

As for Stance Change, not only that one, but Zen Mode, Shields Down, Ice Face and Disguise (And I think Illusion) don't work as innates either. This is because the way they are coded in base essentials. The plugin modifies the "hasActiveAbility?" method to include the list of the pokemon's current ability and innates.
The codes for those abilities ONLY look for if the pokemon's current ability it's equal to them.
To fix it I would have to alias a lot of the base code which is something I don't really want to do because I want to keep the plugin as not invasive to the base script as possible, but at this point I think I'll have to.

You could just exchange those codes for hasActiveAbility?(:STANCECHANGE) for example and it works. I don't really understand why the originals dont use that method but it has to be a reason, so I'll try to call them directly from the innate list instead of using the hasActiveAbility one for any possible problems.
 

Sonicover

Cooltrainer
Member
Joined
Jan 14, 2022
Posts
140
Hello, sorry for bothering you, im having an issue where i get this error:


[Pokémon Essentials version 21.1]
[v21.1 Hotfixes 1.0.9]

Exception: NoMethodError
Message: undefined method `empty?' for nil:NilClass

Backtrace:
[Innate Abilities] AAM Battler.rb:87:in `pbInitPokemon'
Battler_Initialize:61:in `pbInitialize'
Battle_StartAndEnd:117:in `pbCreateBattler'
Battle_StartAndEnd:153:in `block (3 levels) in pbSetUpSides'
Battle:411:in `block in eachInTeam'
Battle:411:in `each'
Battle:411:in `each_with_index'
Battle:411:in `eachInTeam'
Battle_StartAndEnd:150:in `block (2 levels) in pbSetUpSides'
Battle_StartAndEnd:148:in `each'


I haven't changed the innate sets yet, but I have set locking them behind levels to true. Sorry again.
Almost forgot to say, it happens when I enter a battle, wild or trainer.
Ok I know what line is causing it, but I haven't been able to recreate the error. It referring to the line that calls the assign_innate_abilities if the pokemon doesn't currently have any innates set or rolled for them, therefore, it's empty. But its strange since the active_innates method does exist. Even with the level lock set to true. I'll investigate foward.

Tbh, I think I can even remove that check for the active innates since the updated script handles it very well. But I'll investigate foward
 

Sonicover

Cooltrainer
Member
Joined
Jan 14, 2022
Posts
140
There are still some problems other than the reported ones.(mostly in AAM's original code)
1.The method pbContinualAbilityChecks has been rewritten by Gen 9 Pack and the one is this plugin should also be modified for compatibility.
2.In Wandering Spirit's codes ZUD Mechanics should be changed to [DBK} Dynamax.
Yeah I should probably re-check a lot of the original code since it is from v20, specially the one that calls for other plugins. I'll give them a look, hopefully I could fix Guard Dog and Opportunist in them lol.

Thanks for the report.
 
Back
Top