• The Eevee Expo Game Jam #10 has concluded, congratulations to all participants! Now it's time for the judges to play through the games, and you can play along to vote who deserves the community choice spotlight.
    You can check out the submitted games here!
    Play through the games and provide some feedback to the devs while you're at it!
  • Hi, Guest!
    Some images might be missing as we move away from using embedded images, sorry for the mess!
    From now on, you'll be required to use a third party to host images. You can learn how to add images here, and if your thread is missing images you can request them here.
    Do not use Discord to host any images you post, these links expire quickly!
Innate Abilities (Yet Another "All Abilities Mutation" mod)

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

SigMo

Rookie
Member
Joined
May 15, 2024
Posts
5
Hey, quick question - this plugin is doing wonders for me, I was just wondering though if there's a way to attach the level-up innate restriction system to an in-game switch? This way I could set it that players on only Hard Mode have a level-up restriction, rather than players on Normal or Easy mode. I know there's already a way to attach restrictions via a variable, but that way lacks the flavor text of "this innate is locked until level so-and-so."
 

Sonicover

Cooltrainer
Member
Joined
Jan 14, 2022
Posts
112
Hey, quick question - this plugin is doing wonders for me, I was just wondering though if there's a way to attach the level-up innate restriction system to an in-game switch? This way I could set it that players on only Hard Mode have a level-up restriction, rather than players on Normal or Easy mode. I know there's already a way to attach restrictions via a variable, but that way lacks the flavor text of "this innate is locked until level so-and-so."
I guess if you want to use the progress_level system but turn it on/off depending on a switch, you could go to AAM Settings and simply make "INNATE_PROGRESS_WITH_LEVEL = $game_switches[X]", with X being the game switch for your hard-mode. On theory that should do the trick beacuse that way it would return either true or false depending on the state of your switch.
 

Tsoukinator

Novice
Member
Joined
Mar 12, 2024
Posts
30
Sorry for the radio silence everyone. At long last, after suffering like a maniac with this, I've finally been able to both implement the innate sets

and the sepparated pbs file innate_sets.txt to handle all of the Innate ability stuff per pokemon

Here's a snippet in how it's structured:

Innate_sets.txt:
Expand Collapse Copy
[ARIADOS]
Innates = SPEEDBOOST,GRASSYSURGE,TORRENT
#----------------------------------------
[AGGRON]
Innates = FILTER,CLEARBODY
#----------------------------------------
[AGGRON_1] #<- Mega Aggron
Innates = STURDY,WHITESMOKE
#----------------------------------------
[METAGROSS]
Innates1 = SANDVEIL,STURDY,CLEARBODY
Innates2 = FILTER,CLEARBODY
Innates3 = PLUS,MINUS,ELECTRICSURGE

First example is basically the main function, you can define a Pokemon's ID and then a line for its innates. The structure is basically the same as it was in the Pokemon.txt

Second and third examples are the same, but to show how do you handle different forms. In this example, base Aggron has Filter and Clear body as Innates, and Mega Aggron Sturdy and White smoke. In order to modify different forms, just use the ID of the pokemon + it's form number. Basically in the same way ass you would with adding a pokemon

And finally, you can give a Pokemon multiple innate sets with the use of a number right at the end and then the corresponding lines. Each set has an equal chance of being picked, so for pokemon with 2 sets its a 50/50, for 4 its 25/25/25/25, and so on and so forth.

Needless to say, this is all entirely optional per pokemon, so even if there's nothing in here your game shouldn't crash... although at that point why install anything lol.

The update should be up tomorrow at night, since I have to change all of the main documentation or at least check it to take all of this into consideration.

And yes, since the sets load before the randomizer and the progress settings, you can randomize innates in each set and give them limits either by the variable or level.
I've just set up my code to output to a innate_sets.txt file ~ excited for when the update drops! 😍
 

Sonicover

Cooltrainer
Member
Joined
Jan 14, 2022
Posts
112
Sonicover updated Innate Abilities (Yet Another "All Abilities Mutation" mod) with a new update entry:

Reworked some functionalities and added Innate sets. Fixed some bugs as well

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
#----------------------------------------
...

Read the rest of this update entry...
 

Sonicover

Cooltrainer
Member
Joined
Jan 14, 2022
Posts
112
With this update, other than bug fixes I'm not adding more features for a while. I really REALLY want to focus on my game for some time, at least for the first beta. I just wanted to drop this one because the idea of moving the Innates parameter to it's own separated file was too good.


As always please enjoy this resource and be sure to report any bugs or problems with it.
 

Tsoukinator

Novice
Member
Joined
Mar 12, 2024
Posts
30
Very excited to get this working!

When I first ran it, I got this error - wondering if the pbAddTemporalPkmn script is a newly released function from the Gen9 pack (as it errors on defining an alias for pbAddTemporalPkmn).

[2024-08-17 09:59:53 +1000]
[Pokémon Essentials version 21.1]
[v21.1 Hotfixes 1.0.9]

Error in Plugin: [Innate Abilities]
Exception: NameError
Message: undefined method `pbAddTemporalPkmn' for class `Object'

Backtrace:
[Innate Abilities] Innate Abilities - Utilities.rb:103:in `<main>'
Section008:635:in `eval'
Section008:635:in `block (2 levels) in runPlugins'
Section008:625:in `each'
Section008:625:in `block in runPlugins'
Section008:616:in `each'
Section008:616:in `runPlugins'
Section406:34:in `mainFunctionDebug'
Section406:18:in `block in mainFunction'
Section014:79:in `pbCriticalCode'
 

Sonicover

Cooltrainer
Member
Joined
Jan 14, 2022
Posts
112
Very excited to get this working!

When I first ran it, I got this error - wondering if the pbAddTemporalPkmn script is a newly released function from the Gen9 pack (as it errors on defining an alias for pbAddTemporalPkmn).
Oh my bad! Thats a custom script from my game lol. I forgot to remove it. Feel free to delete it. I'll post a quick update it to remove it
 

Tsoukinator

Novice
Member
Joined
Mar 12, 2024
Posts
30
Oh my bad! Thats a custom script from my game lol. I forgot to remove it. Feel free to delete it. I'll post a quick update it to remove it
All good - I'm just glad to know that it wasn't something I'd broken on my end!

Thanks again for your hard work, it's great to see so much progress in so little time!
All the best for your own project!
 

Coumbiagou

Novice
Member
Joined
Dec 5, 2023
Posts
25
Hi, always when my game recompiles always tell me that in InnateSets are parts or code that are not defined, somebody could Help me with this?
 

SigMo

Rookie
Member
Joined
May 15, 2024
Posts
5
I guess if you want to use the progress_level system but turn it on/off depending on a switch, you could go to AAM Settings and simply make "INNATE_PROGRESS_WITH_LEVEL = $game_switches[X]", with X being the game switch for your hard-mode. On theory that should do the trick beacuse that way it would return either true or false depending on the state of your switch.
I tried replacing
Ruby:
Expand Collapse Copy
INNATE_PROGRESS_WITH_LEVEL = true
with
Ruby:
Expand Collapse Copy
INNATE_PROGRESS_WITH_LEVEL = $game_switches[100]
, and I got this error message:
[Pokémon Essentials version 21.1]
[v21.1 Hotfixes 1.0.9]

Error in Plugin: [Innate Abilities]
Exception: NoMethodError
Message: undefined method `[]' for nil:NilClass

Backtrace:
[Innate Abilities] AAM Settings.rb:51:in `<module:Settings>'
[Innate Abilities] AAM Settings.rb:4:in `<main>'
Section008:635:in `eval'
Section008:635:in `block (2 levels) in runPlugins'
Section008:625:in `each'
Section008:625:in `block in runPlugins'
Section008:616:in `each'
Section008:616:in `runPlugins'
Section401:28:in `mainFunctionDebug'
Section401:18:in `block in mainFunction'

I changed the bracket "[]" characters to parenthesis and that didn't help. What is going wrong?
 

wrigty12

Tester-Coder Hybrid
Member
Joined
Jul 24, 2022
Posts
525
I tried replacing
Ruby:
Expand Collapse Copy
INNATE_PROGRESS_WITH_LEVEL = true
with
Ruby:
Expand Collapse Copy
INNATE_PROGRESS_WITH_LEVEL = $game_switches[100]
, and I got this error message:
[Pokémon Essentials version 21.1]
[v21.1 Hotfixes 1.0.9]

Error in Plugin: [Innate Abilities]
Exception: NoMethodError
Message: undefined method `[]' for nil:NilClass

Backtrace:
[Innate Abilities] AAM Settings.rb:51:in `<module:Settings>'
[Innate Abilities] AAM Settings.rb:4:in `<main>'
Section008:635:in `eval'
Section008:635:in `block (2 levels) in runPlugins'
Section008:625:in `each'
Section008:625:in `block in runPlugins'
Section008:616:in `each'
Section008:616:in `runPlugins'
Section401:28:in `mainFunctionDebug'
Section401:18:in `block in mainFunction'

I changed the bracket "[]" characters to parenthesis and that didn't help. What is going wrong?
Setting it to
Ruby:
Expand Collapse Copy
$game_switches[100]
here won't work.
Ruby:
Expand Collapse Copy
$game_switches
only exists within a save file/new game, and when the game compiles plugins and their settings, it doesn't exist. Hence your crash.

Instead, you'd need to dive into the code and everywhere there is a check for INNATE_PROGRESS_WITH_LEVEL you'd need to replace it with
Ruby:
Expand Collapse Copy
$game_switches[100]
 

Sonicover

Cooltrainer
Member
Joined
Jan 14, 2022
Posts
112
I tried replacing
Ruby:
Expand Collapse Copy
INNATE_PROGRESS_WITH_LEVEL = true
with
Ruby:
Expand Collapse Copy
INNATE_PROGRESS_WITH_LEVEL = $game_switches[100]
, and I got this error message:
[Pokémon Essentials version 21.1]
[v21.1 Hotfixes 1.0.9]

Error in Plugin: [Innate Abilities]
Exception: NoMethodError
Message: undefined method `[]' for nil:NilClass

Backtrace:
[Innate Abilities] AAM Settings.rb:51:in `<module:Settings>'
[Innate Abilities] AAM Settings.rb:4:in `<main>'
Section008:635:in `eval'
Section008:635:in `block (2 levels) in runPlugins'
Section008:625:in `each'
Section008:625:in `block in runPlugins'
Section008:616:in `each'
Section008:616:in `runPlugins'
Section401:28:in `mainFunctionDebug'
Section401:18:in `block in mainFunction'

I changed the bracket "[]" characters to parenthesis and that didn't help. What is going wrong?
And yes, this was my fault. It was mostly a quick thing that came to mind while I was updating the script, sorry.

Go to Innate Abilities - Pokemon

And on line 249 you'll see this:

Ruby:
Expand Collapse Copy
elsif Settings::INNATE_PROGRESS_WITH_LEVEL && !Settings::INNATE_PROGRESS_WITH_VARIABLE

Make it this:
Ruby:
Expand Collapse Copy
elsif Settings::INNATE_PROGRESS_WITH_LEVEL && !Settings::INNATE_PROGRESS_WITH_VARIABLE && $game_switches[100]

That way, the code checks for if the setting with level it's on, the variable it's off, and the game switch 100 it's on
 

Sonicover

Cooltrainer
Member
Joined
Jan 14, 2022
Posts
112
Back
Top