• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • 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] Just some quick stuff about forms.

59
Posts
6
Years
    • Seen May 12, 2022
    Hello, I'm kind of working off this idea I had while making my game of having "special" pokemon forms - pretty much like the event Pichu, or Ash's Pikachu - where they have a special appearance (and maybe a move they can't learn or two).

    Originally, they were only going to pop up for "gym leaders" and your rivals but I just had this idea of making certain form pokemon rewards for sidequests - but a problem I've come across is that, I'm unsure how to turn off evolution for things with forms and much like the Popplio question before - I don't want to have a game where people can just ruin it by releasing all these one-time only guys.

    The first plan was to give them there own pokedex, but I feel like the numbers don't really add up since you can see/catch the same pokemon twice.

    My current "plan" is to try see if I can get the script to check its form (which would be some number higher than arceus' forms so he can't reach it) and maybe have the game yell at you for doing that.

    On the evolution side - the wiki says there's a way to change a custom evolution method into something form related (but doesn't really get into how exactly) so I think I just have to find out how to change certain pokemon's evolution method to only evolve when at form 0?
     
    Last edited by a moderator:
    277
    Posts
    15
    Years
  • In Pokemon_Evolution script sections around line 950 you should see something like def pbCheckEvolutionEx and under it you should see
    return -1 if isConst?(pokemon.species,PBSpecies,:PICHU) && pokemon.form==1

    simply make a copy of that line change PICHU to the pokemon you want and form==1 to the form number you wish to not evolve.
     
    Last edited:

    Ego13

    hollow_ego
    311
    Posts
    6
    Years
  • I think the easiest way is to mark every special pokemon as such.
    Then this flag can be used for various things

    First we modify this script
    Code:
    if isConst?(pokemon.species,PBSpecies,:#InternalPopplioNameHere)    
    pbDisplay(_INTL("You can't release this awesome Popplio!"))
    	  return
    	  end
    *Note that not everyone has this line, as it was already added. If you don't have it just copy and paste the modified version. See this thread for where to find this

    Modify it so it looks like this
    Code:
     if (@storage[box,index]).isSpecial?
        pbDisplay(_INTL("You can't release this awesome Pokemon!"))
    	  return
    	  end

    Now add a new script section and call it Others or whatever you want
    then paste these scripts in there
    Code:
    def isSpecial?
      return @specialflag if @specialflag!=nil
    end
    
    def makeSpecial
      @specialflag=true
      end

    Now we only need to mark those special Pokemon. This should be done at the same time the player is given it.
    Your event should have these lines in this order


    With this set up we can also make the evolution check easier.
    Find that line that GT-Baka mentioned and add the following right beneath it
    Code:
    return -1 if pokemon.isSpecial?
    this way every Pokemon that has the special flag can't evolve.
     
    59
    Posts
    6
    Years
    • Seen May 12, 2022
    OK, so the everstone stuff works perfectly.
    The Special marking thing sounds like it would be perfect for what I'm going for but when I tried out the script I kept getting this:
    New canvas.png
     

    Ego13

    hollow_ego
    311
    Posts
    6
    Years
  • instead of this conditionalt branch, before pbAddPokemon(poke) try adding these lines
    poke.form=1

    I'm not sure what you want to do with pbSet
     

    Maruno

    Lead Dev of Pokémon Essentials
    5,286
    Posts
    16
    Years
    • Seen yesterday
    You've got two colons in the first Script command. Delete the one at the end of the first line.

    If you're using v17 of Essentials or newer, there's a shorter way to write that Pok?mon-generating line:

    Code:
    poke=pbGenPkmn(:MAGIKARP,30)
     

    Ego13

    hollow_ego
    311
    Posts
    6
    Years
  • You've got two colons in the first Script command. Delete the one at the end of the first line.

    If you're using v17 of Essentials or newer, there's a shorter way to write that Pok?mon-generating line:

    Code:
    poke=pbGenPkmn(:MAGIKARP,30)

    Oh yeah, I overlooked that :O I knew something was odd
     
    59
    Posts
    6
    Years
    • Seen May 12, 2022
    Well, good news - it's a beautiful baby girl (though without the proper female form - but still):
    New canvas.png
    and it doesn't evolve. (Which I'm still debating if I should do for magikarp because that seems pretty mean to have a karp seller sell you a defective fish).

    And she also can't be released either which is great - and hopefully this will work for the other "specials" I'd like to make without having to copy the popplio code Ego made up a bunch of times.

    Thanks guys!
     

    Ego13

    hollow_ego
    311
    Posts
    6
    Years
  • Well, good news - it's a beautiful baby girl (though without the proper female form - but still):
    View attachment 83494
    and it doesn't evolve. (Which I'm still debating if I should do for magikarp because that seems pretty mean to have a karp seller sell you a defective fish).

    And she also can't be released either which is great - and hopefully this will work for the other "specials" I'd like to make without having to copy the popplio code Ego made up a bunch of times.

    Thanks guys!

    Great to hear! By now I really am curious about what your game will be like

    With the last modifcation for that Popplio code, it should work for every single Pokemon with the special flag, without the need for new coding.
     
    59
    Posts
    6
    Years
    • Seen May 12, 2022
    Thanks. Well, as far as the game goes I don't have a story in place yet, or how I want to lay out the region - but I'd like it to be a bit more on the silly side and try to focus more on helping Pokemon and people rather than some guy trying to destroy the world and stuff.

    I feel like with forms, you could probably do some cool stuff like instead of taking medicine to the sick ampharos in gold/silver, you take him to the medicine - but he's sick so his stats and ability are terrible. And then you heal him - and he's back to normal.
    So I would like to try using forms for story and character building related stuff like that.
    And I'd also like to keep it a bit on silly side.
     
    Last edited:
    Back
    Top