• 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!
  • Cyndy, May, Hero (Conquest), or Wes - 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] Just some quick stuff about forms.

  • 59
    Posts
    7
    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:
    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:
    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
    [PokeCommunity.com] Just some quick stuff about forms.

    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.
     
    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:
    [PokeCommunity.com] Just some quick stuff about forms.
     
    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
     
    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)
     
    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
     
    Well, good news - it's a beautiful baby girl (though without the proper female form - but still):
    [PokeCommunity.com] Just some quick stuff about forms.
    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!
     
    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.
     
    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