• 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!
How to create a custom ability

How to create a custom ability 1.0

Creating a custom ability using the script section
The first step in creating an ability is of course adding your new ability to the Abilities.txt file in your PBS folder.
To add in your ability you open the abilities.txt file and scroll all the way to the bottom.

After that you add in your ability using the essentials format.
You start with the number, then internal name, display name and then the description.
NNN,INTERNALNAME,DisplayName,"Description"
1,STENCH,Stench,"The stench may cause the target to flinch."

Now depending on what type of ability you want to add you want to go to a different section of the scripts.
I'll be showing a few examples, if the kind of ability is not explained in this tutorial, feel free to ask in the discussion or feel free to dm me.

For most abilities
What you want to do is go to the script section and do CTRL+Shift+F and look up the internal name of a similar ability.
So if you want an ability like Blaze/Swarm but for Ice types you would type in BLAZE and click on the PokeBattler_Battle script that pops up.
If you got the correct corresponding script you would see something like in the image below
unknown.png


After that you would simply add in your own ability in between.
Don't forget to add in the || after each line. It means 'or' and is used for summing up these abilities.
So after adding in my own ability like this one:
(attacker.hasWorkingAbility(:FROST) && isConst?(type,PBTypes,:ICE))
It should look something like this:
unknown.png


if booting up the game gives you a syntax error, make sure you got the correct amount of brackets included and didn't forget the ||. Some abilities also have their own 'if/elsif statement'. Make sure you don't forget to also copy paste their 'end' statements at the end of them.
And if you get an 'Undefined ability' error, make sure you typed in the ability name correctly in both the script and the abilities.txt file.

For a multitype-like ability
Multitype is the signature ability of arceus, but what if we wanted to add in an ability like it? (just like RKS-System or Splice from Pokémon Splice)

Like with the general abilities you will have to look up Multitype in the script section, but you will quickly notice that multitype is instanced quite a few times in there.
So I will cover all of the instances in order.
For the PokeBattle_Battler (895) it changes the form of Arceus to be the corresponding form.
Depending on if you want your own Pokémon to also change form you either have to do nothing or you can copy paste the entire section and change the names to be your ability and your Pokémon.

For the PokeBattle_Battler (1049) it removes the ability of Pokémon with trace to copy the ability, you just have to add in another line to correspond for your own custom ability.

For the PokeBattle_Battler (1339) it removes the ability of Pokémon with mummy to overwrite the ability, you just have to add in another line to correspond for your own custom ability.

For the PokeBattle_MoveEffects (2472) it makes it so conversion fails when the target has the ability. Just add the following to the end of the statement: || isConst?(attacker.ability,PBAbilities,:YOURABILITY)

For the PokeBattle_MoveEffects (2508) it makes it so conversion-2 fails when the target has the ability. You can do the same thing here as for Conversion.

For the PokeBattle_MoveEffects (2554) it makes it so camouflage fails when the target has the ability. You can do the same thing here as for Conversion.

For the PokeBattle_MoveEffects (2609) it makes it so soak fails when the target has the ability. You can do the same thing here as for Conversion.

For the PokeBattle_MoveEffects (2637) it makes it so reflect type fails when the target has the ability. You can do the same thing here as for Conversion.

For the PokeBattle_MoveEffects (2670) it makes it so signal beam fails when the target has the ability. You can do the same thing here as for Conversion.

For the PokeBattle_MoveEffects (2704) it makes it so worry seed fails when the target has the ability. You can do the same thing here as for Conversion.

For the PokeBattle_MoveEffects (2739) (and 2745) it makes it so role play fails when the target/user has the ability. You can do the same thing here as for Conversion.

For the PokeBattle_MoveEffects (2787) (and 2796) it makes it so entrainment fails when the target/user has the ability. You can do the same thing here as for Conversion.

For the PokeBattle_MoveEffects (2829) (and 2830) it makes it so skill swap fails when the target/user has the ability. You can do the same thing here as for Conversion.

For the PokeBattle_MoveEffects (2862) it makes it so gastro acid fails when the target has the ability. You can do the same thing here as for Conversion.

For the PokeBattle_MoveEffects (8844) it makes it so trick-or-treat fails when the target has the ability. You can do the same thing here as for Conversion.

For the PokeBattle_MoveEffects (8873) it makes it so forest's curse fails when the target has the ability. You can do the same thing here as for Conversion.

For the PokeBattle_Battle (451) this is what changes the form of the Pokémon using when holding the correct item. Make sure you copy paste all of the relevant items, if you want to keep it as the plates you can do the same thing here as for Conversion.

If you would like you could also do the AI ones although these are not necessary (but can be good if you do do them.


If you are doing multiple forms for your multitype Pokémon and want them to change their type, make sure you also change the pokemonforms.txt

For a speedboost-like ability
For a speedboost-like ability you will have to copy paste the instance of speedboost its section but change the instance name.
If you want it to boost a different stat you will have to change the SPEED to the other stats

Example for a Special Defense boost ability
unknown.png


All of the stat names:
ATTACK
DEFENSE
SPEED
SPATK
SPDEF
EVASION
ACCURACY

I hope this tutorial helped you out in creating your own super epic abilities.
If you have any questions regarding errors or a specific ability, feel free to post them in the discussion tab / dm me.
You may also dm me on discord: Voltseon#2012
I wish everyone here good luck with their own projects and hope to see some amazing and creative abilities!
Credits
None
Author
Voltseon
Views
2,294
First release
Last update
Rating
4.00 star(s) 1 ratings

More resources from Voltseon

Back
Top