• 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] Modifying the EV system and other things

  • 1
    Posts
    8
    Years
    • Seen Feb 21, 2017
    Hello everyone. I was wondering if it is possible to modify the EV system in Pokemon Essentials, in order to bring it closer to Gen 1-2. In particular, I was wondering if it is possible to:

    1) Reduce the IV variance from 0-31 to 0-15
    2) Reducing the maximum value for each stat by 1 (for example, in Gen 3+, 106 base HP equals 416 HP maximum, but 415 in gen 1-2)
    3) Reintroducing the old EV system, with each stat having a max 65535 EVs, each Pokemon giving EV equal to its base stats, and vitamins giving an amount of EV equal to 2560 (with the cap being 25600 for vitamins).

    Thank you
     
    Last edited by a moderator:
    Okay it can be done, I'll answer in order:

    1) find the line @iv=[] in PokeBattle_Pokemon and replace:

    @iv[0]=rand(32)
    @iv[1]=rand(32)
    @iv[2]=rand(32)
    @iv[3]=rand(32)
    @iv[4]=rand(32)
    @iv[5]=rand(32)

    with

    @iv[0]=rand(16)
    @iv[1]=rand(16)
    @iv[2]=rand(16)
    @iv[3]=rand(16)
    @iv[4]=rand(16)
    @iv[5]=rand(16)

    2) I'm not sure but you could edit the values found in PokeBattle_Pokemon

    # Returns the maximum HP of this Pokémon.
    def calcHP(base,level,iv,ev)
    return 1 if base==1
    return ((base*2+iv+(ev>>2))*level/100).floor+level+10
    end

    # Returns the specified stat of this Pokémon (not used for total HP).
    def calcStat(base,level,iv,ev,pv)
    return ((((base*2+iv+(ev>>2))*level/100).floor+5)*pv/100).floor
    end

    (I can't help you with that since I have no idea how the stats work between generations.)

    3) Again i'm not really confident about the whole ivs and evs thing but you could edit in PokeBattle_Pokemon:

    EVLIMIT = 510 # Max total EVs
    EVSTATLIMIT = 252 # Max EVs that a single stat can have
     
    Back
    Top