• 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.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Which Pokémon Masters protagonist do you like most? Let us know by casting a vote in our Masters favorite protagonist poll here!
  • Red, Hilda, Paxton, or Kellyn - 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.

Gender based moveset

  • 102
    Posts
    16
    Years
    • Seen Jul 19, 2017
    Hi, I have been trying to work in a gender based moveset for a Pokemon. I found the appropriate section in PokemonMultipleForms and used other pre existing codes to make this (I blanked out the Pokemon name for this post):

    Code:
    MultipleForms.register(:XXXXX,{
    "getBaseStats"=>proc{|pokemon|
       next if pokemon.gender==0                 # Normal Forme
       case pokemon.gender
         when 1; next [55,47,52,41,40,40] # female Forme
           end
    },
    #Below code was just to make sure the conditions worked
    #"type1"=>proc{|pokemon|
    #   next if pokemon.gender==0              # Normal Form
    #   case pokemon.gender
    #     when 1; next getID(PBTypes,:FLYING)  # Female Form
    #   end
    #},       
    "evYield"=>proc{|pokemon|
       next if pokemon.gender==0      # Normal Forme
       case pokemon.gender
         when 1; next [0,1,0,0,0,0] # female Forme
       end
    },      
    "getMoveList"=>proc{|pokemon|
       next if pokemon.gender==0
       movelist=[]
       case pokemon.gender
         when 1; movelist=[[1,:GROWL],[1,:SCRATCH],[7,:TAILWHIP],[9,:DOUBLEKICK],
                           [13,:POISONSTING],[19,:FURYSWIPES],[21,:BITE],[25,:HELPINGHAND],
                           [31,:TOXICSPIKES],[33,:FLATTER],[37,:CRUNCH],[43,:CAPTIVATE],
                           [45,:POISONFANG]]
    
       end
       for i in movelist
         i[1]=getConst(PBMoves,i[1])
       end
       next movelist
    }
    })
    Now, the basestats work, the evYield works, the type works too. All of these change when the gender is female like I want them. The problem is the moveset. I copied the code exactly from Deoxys and only changed pokemon.form to pokemon.gender like the other three options. However, the moveset that comes up in female form is the default moveset and not the female moveset. Can anyone see what I have to change because I'm drawing a blank?
     
    A Pokémon is initially generated with its default moveset. It then checks to see whether the species has a getFormOnCreation procedure, and if it does and it "next"s something, it'll reset the movelist according to the getMoveList procedure. Currently it doesn't.

    Copy-paste a getFormOnCreation procedure for your species and simply have it "next 0", see if that works.
     
    Perfect, that did it. Thank you Maruno. This thread can be closed now.
     
    Back
    Top