• 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.4

komeiji514

Elite Trainer
Member
Joined
Oct 28, 2023
Posts
277
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.
I am using the latest Gen9 pack and after testing Guard Dog and Opportunist can work as intended as both Ability and Innates.
 

Penelope

Trainer
Member
Joined
Sep 15, 2023
Posts
91
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.
1.you could remove nil from the array
2.those abilities that dont use hasactiveability? is unsuppressable, they dont need to be active.(neutralizing gas, gastro acid etc.)
You dont need to overwrite those methods, these methods are too long.
You just need to modify the == method.

Good luck
 

Sonicover

Cooltrainer
Member
Joined
Jan 14, 2022
Posts
146
I am using the latest Gen9 pack and after testing Guard Dog and Opportunist can work as intended as both Ability and Innates.
H o w ?

I'll have to try it in a fresh copy of essentials but I can't for the life of me figure how to activate them in my own game
 

Sonicover

Cooltrainer
Member
Joined
Jan 14, 2022
Posts
146
1.you could remove nil from the array
2.those abilities that dont use hasactiveability? is unsuppressable, they dont need to be active.(neutralizing gas, gastro acid etc.)
You dont need to overwrite those methods, these methods are too long.
You just need to modify the == method.

Good luck
Don't they have their own section of unsupressable abilities also? But I guess also a direct check its easier to do, so I'll try to aliase them for if the innate array includes them as well
 

komeiji514

Elite Trainer
Member
Joined
Oct 28, 2023
Posts
277
H o w ?

I'll have to try it in a fresh copy of essentials but I can't for the life of me figure how to activate them in my own game
The Guard Dog can be fixed by changing user.ability == :INTIMIDATE. But Opportunist DOES works without change as far as I have tested. Idk whether they work for other users.
 

Bguy7

Pokémon Sol Version Creator
Member
Joined
Jul 1, 2024
Posts
26
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.

I'd rather not do use the "No Ability" ability, just because then it would show up on the ability page of the Pokémon description, and that feels strange to me, but if that's the solution, then that's the solution. I understand that it's a very niche problem that probably no one else but me is having, so I'll deal with it.

I'll look into making the changes for Stance Change and the like. If I had to guess, the reason for the difference is that abilities like Stance Change, Shields Down, and the others will always work and cannot be negated or suppressed, as they are considered innate aspects of the Pokémon (ironic that they don't work as innate abilities). The purpose of hasActiveAbility? is to check if the ability is currently active or not, while self.ability only cares if the Pokémon has the ability in the first place, and not if the opponent has used Gastro Acid or something similar. This would make sense, as you can compare those abilities you listed to Hunger Switch, a similar form changing ability, but it uses hasActiveAbility instead of self.ability, and it is allowed to be negated.

If that is the only reason for the difference, then it might be a redundant difference, as abilities like Stance Change are listed under unstoppableAbility? which will stop things like Gastro Acid from working in the first place, so it will always be an active ability anyways. My guess is that it's just an extra backup that was done because they could, not because they needed to. With that in mind, I think it should be fine to change self.ability to hasActiveAbility?, so I will be making those changes.

As always, thanks for your attentiveness.
 

Sonicover

Cooltrainer
Member
Joined
Jan 14, 2022
Posts
146
I'd rather not do use the "No Ability" ability, just because then it would show up on the ability page of the Pokémon description, and that feels strange to me, but if that's the solution, then that's the solution. I understand that it's a very niche problem that probably no one else but me is having, so I'll deal with it.

I'll look into making the changes for Stance Change and the like. If I had to guess, the reason for the difference is that abilities like Stance Change, Shields Down, and the others will always work and cannot be negated or suppressed, as they are considered innate aspects of the Pokémon (ironic that they don't work as innate abilities). The purpose of hasActiveAbility? is to check if the ability is currently active or not, while self.ability only cares if the Pokémon has the ability in the first place, and not if the opponent has used Gastro Acid or something similar. This would make sense, as you can compare those abilities you listed to Hunger Switch, a similar form changing ability, but it uses hasActiveAbility instead of self.ability, and it is allowed to be negated.

If that is the only reason for the difference, then it might be a redundant difference, as abilities like Stance Change are listed under unstoppableAbility? which will stop things like Gastro Acid from working in the first place, so it will always be an active ability anyways. My guess is that it's just an extra backup that was done because they could, not because they needed to. With that in mind, I think it should be fine to change self.ability to hasActiveAbility?, so I will be making those changes.

As always, thanks for your attentiveness.
If anything you can always remove the description and change it for empty space for that matter. But like I said that it's not ideal, specially because the base game CAN allow for that, so I don't want the plugin to be the exception. I'm just saying in case you desperatedly need a fix for that problem while I figure an actual solution. Even if it's a niche problem I'll try to cover as much problems as possible.

And yeah that's probably why, just a hard-coded back up way to guarantee the abilities will always work, even if something can bypass the unstopable part. Odd but it's there for a reason and I'll have to respect it. I'll try to make the alias for those abilities since I myself use them as innates as well, so might as well share the code.


I'll probably have to put Decoupled abilities as an incompatibility tho, since that plugin modifies those codes as well.
 

Mr. Memefellow

The Grand The
Member
Joined
Dec 2, 2023
Posts
1
Hi! This isn't completely related to the plugin itself, but is there a way to apply the small text from the Innate Ability display to the regular Ability display?
 

Sonicover

Cooltrainer
Member
Joined
Jan 14, 2022
Posts
146
Hi! This isn't completely related to the plugin itself, but is there a way to apply the small text from the Innate Ability display to the regular Ability display?
Sure, I have that set for my game actually,

You want to go to 006_UI_Summary, in class MoveSelectionSprite < Sprite

Search for def drawPageThree

There you'll see this code:
Ruby:
Expand Collapse Copy
# Draw ability name and description
ability = @pokemon.ability
    if ability
      textpos.push([ability.name, 362, 290, :left, Color.new(64, 64, 64), Color.new(176, 176, 176)])
    end

Simply use the same code for the small font for the description, with the corresponding coordinates. Like this:

Ruby:
Expand Collapse Copy
Draw ability name and description
    ability = @pokemon.ability
    if ability
      textpos.push([ability.name, 362, 290, :left, Color.new(64, 64, 64), Color.new(176, 176, 176)])
      pbSetSmallFont(overlay)
      drawFormattedTextEx(overlay, 224, 322, 282, ability.description, Color.new(64, 64, 64), Color.new(176, 176, 176), 20)
      pbSetSystemFont(overlay)
    end

The first three numbers correspond to the coordinates of where the text is displayed, and the other 2 trio of colors for the colors of the text and the shadow if you want to mess with those. If you are using the default essentials style it should work just like that
 

Sonicover

Cooltrainer
Member
Joined
Jan 14, 2022
Posts
146
I'm glad to annouce, I've finally fixed Opportunist. The handler itself was fine but updating the method pbContinualAbilityChecks
to the gen 9 pack added the part that checked for Opportunist's code. (Thanks Komeiji)

At this point I think I'll just make the gen 9 pack a requirement for it since I'm adding a lot of new checks for those abilities.

Also I'm adding an option for the innate page to adapt the name and description display to be either normal font or small if there's too much text.
 

kyoraS4

Rookie
Member
Joined
Feb 28, 2024
Posts
3
Hey guys, I just started to tinker with this plugin. I have been able to set up pretty much everything I wanted.
I'm doing more than 3 Innates per Pokémon, because I want specific stuff happening. Lv 1 gives out a truly Innate Ability (Koffing having Levitate), Lv 15 gives a Misc Ability (Let's Go Pikachu and Eevee having Pickup), Lv 20 gives an Ability only used in Double Battles, Lv 35 gives out an Ability based on a move (Blastoise having Drizzle so it doesn't have to use Rain Dance anymore), Lv 50 gives out a stronger Ability or a Trainer Skill like what's in Pokémon Masters... So, more than 3.

Here's where I'm at now: https://ibb.co/HHH7sx4

As you can see from the image in the link, info in the summary page will only show the first 3 Innates. I'm not good at editing UI and graphic stuff yet. Has anyone been through this before? A simple text scroll would be enough for me. Thanks in advance!
 

Tsoukinator

Novice
Member
Joined
Mar 12, 2024
Posts
34
Hello all ~ long time no speak, and glad to see the plugin is still being actively discussed and worked on in the community!

I haven't upgraded to the most recent version just yet, though I recall I ran into a few issues I never got to raising.
Just now, I tested having a Kadabra use future sight, and switch out before the attack lands. This causes the following error:

[2024-12-20 23:15:59 +1100]
[Pokémon Essentials version 21.1]
[v21.1 Hotfixes 1.0.9]

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

Backtrace:
[Innate Abilities] AAM Battler.rb:282:in `abilityActive?'
[Innate Abilities] AAM Battler.rb:123:in `hasActiveAbility?'
Battle_Battler:426:in `itemActive?'
Battle_Battler:431:in `hasActiveItem?'
Battler_UseMoveSuccessChecks:90:in `pbCanChooseMove?'
[Generation 9 Pack] [002] Battle_Battler.rb:516:in `pbCanChooseMove?'
Battler_UseMoveSuccessChecks:187:in `pbTryUseMove'
[Generation 9 Pack] [003] Weather and Status.rb:489:in `pbTryUseMove'
Battler_UseMove:202:in `pbUseMove'
Battler_UseMove:169:in `pbUseMoveSimple'
 

Sonicover

Cooltrainer
Member
Joined
Jan 14, 2022
Posts
146
Hey guys, I just started to tinker with this plugin. I have been able to set up pretty much everything I wanted.
I'm doing more than 3 Innates per Pokémon, because I want specific stuff happening. Lv 1 gives out a truly Innate Ability (Koffing having Levitate), Lv 15 gives a Misc Ability (Let's Go Pikachu and Eevee having Pickup), Lv 20 gives an Ability only used in Double Battles, Lv 35 gives out an Ability based on a move (Blastoise having Drizzle so it doesn't have to use Rain Dance anymore), Lv 50 gives out a stronger Ability or a Trainer Skill like what's in Pokémon Masters... So, more than 3.

Here's where I'm at now: https://ibb.co/HHH7sx4

As you can see from the image in the link, info in the summary page will only show the first 3 Innates. I'm not good at editing UI and graphic stuff yet. Has anyone been through this before? A simple text scroll would be enough for me. Thanks in advance!
Text scrolling is a bit more difficult that it seems. I've tried before lol.

You'll need to do some rather heavy modifications to the code. The easiest solution I can think of is just make a 2nd copy of the "innate" page and make it display only your new set of innates. Either that or use the small font and try to squish as much as you can in one page.

I'm sure scrolling innates would be possible but thats outside of my knowledge atm
 

Sonicover

Cooltrainer
Member
Joined
Jan 14, 2022
Posts
146
Hello all ~ long time no speak, and glad to see the plugin is still being actively discussed and worked on in the community!

I haven't upgraded to the most recent version just yet, though I recall I ran into a few issues I never got to raising.
Just now, I tested having a Kadabra use future sight, and switch out before the attack lands. This causes the following error:
Just for more information, what version of the plugin are you currently ussing? I think I had an error similar to that but managed to fixed it. Then again, maybe it's because of an interaction with an ability. I've haven't tested Future Sight so I'll give it a quick look.
 

kyoraS4

Rookie
Member
Joined
Feb 28, 2024
Posts
3
Text scrolling is a bit more difficult that it seems. I've tried before lol.

You'll need to do some rather heavy modifications to the code. The easiest solution I can think of is just make a 2nd copy of the "innate" page and make it display only your new set of innates. Either that or use the small font and try to squish as much as you can in one page.

I'm sure scrolling innates would be possible but thats outside of my knowledge atm
Thanks a lot! I think I was able to figure it out. It's not as simple as doubling down the code, I had to make a few tweaks but I think it should be working now. I'll do a final couple of tests and then I'll share it with you all.
 

Tsoukinator

Novice
Member
Joined
Mar 12, 2024
Posts
34
Just for more information, what version of the plugin are you currently ussing? I think I had an error similar to that but managed to fixed it. Then again, maybe it's because of an interaction with an ability. I've haven't tested Future Sight so I'll give it a quick look.

Just checked now, these are the versions I have installed:
-> Loaded plugin: Innate summary page (ver. 2.0)
-> Loaded plugin: Innate Abilities (ver. 1.5)

I will update my plugins in the future to your latest version, though right now my focus has been just adding more content to my own game, while I have the motivation/time to keep working on it.

PS: Another issue I recall running into, was when I had an innate ability inflict poison - the ability that displayed would be the incorrect one (not sure if this was due to my programming my ability incorrectly, the innate plugin, or something that has been solved more recently).
I'll have to reconfirm after I do the upgrade on my end in the future.
 

Sonicover

Cooltrainer
Member
Joined
Jan 14, 2022
Posts
146
Just checked now, these are the versions I have installed:
-> Loaded plugin: Innate summary page (ver. 2.0)
-> Loaded plugin: Innate Abilities (ver. 1.5)

I will update my plugins in the future to your latest version, though right now my focus has been just adding more content to my own game, while I have the motivation/time to keep working on it.

PS: Another issue I recall running into, was when I had an innate ability inflict poison - the ability that displayed would be the incorrect one (not sure if this was due to my programming my ability incorrectly, the innate plugin, or something that has been solved more recently).
I'll have to reconfirm after I do the upgrade on my end in the future.
The ability splash has some issues, I'm still trying to sort those, to also hopefully make the Enchsnced Battle UI show the corresponding innate, because it always shows the last innate in the array.

But thanks for the report! I'm doing a playtest on my game so hopefully I'll see those issues, so far I've managed to solve a couple of them but those also derive from some custom abilities and interactions with other plugins
 

kyoraS4

Rookie
Member
Joined
Feb 28, 2024
Posts
3
Alright, so about the second summary page. Here's what I had to do:

1 - In "Innate Summary Handlers", where you have...

UIHandlers.add(:summary, :page_innates, {
"name" => "INNATES",
"suffix" => "innates",
"order" => 31,
"options" => [:item, :nickname, :pokedex, :mark],
"layout" => proc { |pkmn, scene| scene.drawPageINNATES }
})

I doubled down the code and made this...

UIHandlers.add(:summary, :page_innates, {
"name" => "INNATES 1",
"suffix" => "innates 1",
"order" => 31,
"options" => [:item, :nickname, :pokedex, :mark],
"layout" => proc { |pkmn, scene| scene.drawPageINNATES }
})

UIHandlers.add(:summary, :page_innates2, {
"name" => "INNATES 2",
"suffix" => "innates 2",
"order" => 32,
"options" => [:item, :nickname, :pokedex, :mark],
"layout" => proc { |pkmn, scene| scene.drawPageINNATES2 }
})

This will create the second summary page. Don't forget to copy and rename your graphics to match new info.

2 - Then, we move on to "Innate Summary Page" and double down the code as well. Now, the second batch of code is the only place where we need to do a couple of changes. The first one is right at the start: def drawPageINNATES needs to become def drawPageINNATES2 to match what was done in the handlers.

3 - The next one should be quite obvious. Where there was:
textpos = [
[_INTL(" Innate 1"), 224, 80, :left, base_color, shadow_color],
[_INTL(" Innate 2"), 224, 180, :left, base_color, shadow_color],
[_INTL(" Innate 3"), 224, 280, :left, base_color, shadow_color]
]

Now it has to have:

textpos = [
[_INTL(" Innate 4"), 224, 80, :left, base_color, shadow_color],
[_INTL(" Innate 5"), 224, 180, :left, base_color, shadow_color],
[_INTL(" Innate 6"), 224, 280, :left, base_color, shadow_color]
]

This makes the headers for each innate to follow from where they were, otherwise they'll just repeat themselves. And speaking of repetition...

4 - This was actually easy to find out, but I only did it for "Level Up"-based innates since it's what I'm using. I'm guessing nothing has to be done for variables, since when locked they simply say they're locked. However for "Level Up", the code needs to find the levels of Innates 4 through 6 to display them. Here's how:

levels_to_unlock = Settings::LEVELS_TO_UNLOCK.find { |entry| entry.first == @pokemon.species }&.drop(1) || Settings::LEVELS_TO_UNLOCK.last #Added check for the specific ID of a pokemon.

Just replace that single line with:

levels_to_unlock = Settings::LEVELS_TO_UNLOCK.find { |entry| entry.first == @pokemon.species }&.drop(4) || Settings::LEVELS_TO_UNLOCK.last #Added check for the specific ID of a pokemon.

This portion of code was my best friend, as I would later find out. Here, you just have to replace "&.drop(1)" with "&.drop(4)". This makes it so the levels in the description start from the 4th Innate. Otherwise, they'll just repeat themselves from what was in the first page.

5 - This was what took me the longest to figure out, but the code above was the actual solution right in front of my eyes! Where's what I had to do:

@pokemon.assign_innate_abilities
active_innates = @pokemon.active_innates

Add that extra portion, but with a 3 instead of a 4:

@pokemon.assign_innate_abilities
active_innates = @pokemon.active_innates { |entry| entry.first == @pokemon.species }&.drop(3)

If you do "&.drop(4)" here, it will actually show the Name and Description of the 5th Ability instead. I guess the 1st Ability's info is stored in 0...
If you do "&.drop(3)" instead, the summary page will start by showing the 4th Ability and then move on to the next ones.

And that's it! I'll share with you what it looks like, with my own custom tweaks: https://ibb.co/TmQstDw

If anyone feels like using this and going crazy with a 3rd page, I think you just need to triple down the code instead and add 3 to each value I highlighted.
Thanks for the tip Sonicover. I was getting crazy about the scroll down idea. I never thought of doing a second summary screen.
I guess this could be added as an optional version of the code in the next update, if you feel like it.
 

UnknownVariable

Rookie
Member
Joined
Jan 2, 2025
Posts
1
First, I'd like to thank you for creating this plugin. It is definitely something I want to add top my game, however while briefly testing around with it I've come across two recurring missing method errors. The first occurs when trying to give myself any Pokemon through debug or as a gift from an npc. I did not receive any issues if I used the debug menu to fill my PC boxes with Pokemon instead so I believe it has something to do with them going into the party.

[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'
Scene_Map:118:in `block in call_debug'
MessageConfig:575:in `pbFadeOutIn'
Scene_Map:118:in `call_debug'
Scene_Map:209:in `update'


This second one occurs whenever I try to enter a battle, wild or trainer. I believe it is a similar issue to the one above with the plugin trying to generate the information of the Pokemon, but the method is not being found to do so.

[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 have not made any modifications to the plugin code and I did also add the summary page and Pokedex page additions. Any ideas as to what is causing this? I feel like the issue should be simple but I'm not coding savvy enough to find it out on my own.
 

Sonicover

Cooltrainer
Member
Joined
Jan 14, 2022
Posts
146
First, I'd like to thank you for creating this plugin. It is definitely something I want to add top my game, however while briefly testing around with it I've come across two recurring missing method errors. The first occurs when trying to give myself any Pokemon through debug or as a gift from an npc. I did not receive any issues if I used the debug menu to fill my PC boxes with Pokemon instead so I believe it has something to do with them going into the party.

[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'
Scene_Map:118:in `block in call_debug'
MessageConfig:575:in `pbFadeOutIn'
Scene_Map:118:in `call_debug'
Scene_Map:209:in `update'


This second one occurs whenever I try to enter a battle, wild or trainer. I believe it is a similar issue to the one above with the plugin trying to generate the information of the Pokemon, but the method is not being found to do so.

[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 have not made any modifications to the plugin code and I did also add the summary page and Pokedex page additions. Any ideas as to what is causing this? I feel like the issue should be simple but I'm not coding savvy enough to find it out on my own.
Both of these errors will be solved next patch. I've solved them a while ago but hadn't updated the file and I'm not in my home due vacations. But for the first method you just need to go to the Utilities section of the plugin and delete all aliases for all of the pbAddPokemon methods, since those are no longer needed.

The second one I can't exactly remember the method, but I remember a similar error trying to call empty in something that was not an array, wich I fixed right away. I think it was about the innate restore system. I'll give it a closer look once I get back, wich should be this Saturday
 
Back
Top