• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Our friends from the Johto Times are hosting a favorite Pokémon poll - and we'd love for you to participate! Click here for information on how to vote for your favorites!
  • Scottie, Todd, Serena, Kris - which Pokémon protagonist is your favorite? Let us know by voting in our poll!
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

[Scripting Question] Defining abilities and forms in the Battle Tower

  • 12
    Posts
    4
    Years
    • Seen Sep 9, 2023
    Hi everyone,

    I was wondering if there is a way to define abilities and forms for the pokemon used in the battle tower. The wiki doesn't have any information about this and looking into the scripts it doesn't seem as there is a way to do so. I am very inexperienced with ruby scripting and is unsure how to implement this myself.

    If anyone has any advice or methods to implement this would be a great help.
     
    Last edited:
    Hi,

    The wiki doesn't elaborate much on how to use the Battle Tower PBS files.
    I've looked into it a few times, and I can answer your questions:
    1. You cannot define abilities
    2. I am pretty sure you can define forms in the file btpokemon.txt, by writing the PBSpecies constant of the form. For example:
    Code:
    ZAPDOS_1;<ITEM>;<NATURE>;<STATS>;<MOVE1>,<MOVE2>,<MOVE3>,<MOVE4>
    (Beware of the use of ";" and ",", they are not random)
    ZAPDOS_1 is the PBSpecies constant representing Zapdos in form 1 (which, in Gen 8, is the Galarian form (and I disagree with unique Pokémon having forms, but I digress)).
    You can try, and if the file doesn't compile, then you cannot define forms ^^"

    Then, in the file bttrainers.txt, when entering a new trainer, you can assign Pokémon to trainers. For example, the last one in the database is:
    Code:
    #-------------------------------
    [299]
    EndSpeechLose = IT'S HARD TO BELIEVE BUT CONGRATS
    Name = GRETEL
    PokemonNos = 185,290,313,334,348,359,360,377,380,382,385,394,395,398,400,401,404,409,410,416,437,438,439,441,445,446,453,475,478,480,484,490,491,494,496,497,500,505,506,512,533,534,535,537,541,542,549,569,572,574,577,586,587,590,592,593,596,601,602,608,629,630,631,633,637,638,645,665,668,670,673,682,683,686,688,689,692,697,698,704,725,726,727,729,733,734,741,812,813,814,815,816,817,818,819
    BeginSpeech = I CAUSE OUTRAGE AS A TRAINER
    Type = AROMALADY
    EndSpeechWin = IT'S ONLY NATURAL SEE YA BYE-BYE !
    Now, I am pretty sure that, in the list of numbers, each number corresponds to a Pokémon given in the btpokemon.txt file. Even more, Pokémon number 819, is the Pokémon at line: 819 + 3 in the file. Why +3? Because the very first Pokémon in the btpokemon.txt file, is:
    Code:
    SUNKERN;LAXINCENSE;RELAXED;HP,SA;MEGADRAIN,HELPINGHAND,SUNNYDAY,LIGHTSCREEN
    which is number 0 (the first trainers (in bttrainers.txt) have it), but also at line 3 in the btpokemon.txt file. So there is an offset of 3.
     
    Thanks for the response,

    I've tested about the forms and it managed to compile successfully. Too bad about the abilities though, would of been useful to define them.

    Thanks for the help.
     
    Back
    Top