• 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!
  • Our weekly protagonist poll is now up! Vote for your favorite Trading Card Game 2 protagonist in the poll by clicking here.
  • 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.

Simple Level Modifier

Luka S.J.

Jealous Croatian
  • 1,270
    Posts
    16
    Years
    Are you making your Pokemon game with RMXP and P.Essentials? Do you have loads of rebattles with the same trainer, where the trainer might have the same Pokemon, but they'd just be a different level? Or do you want to be able to rebattle a trainer, and have their Pokemon become stronger or weaker without creating a new PBS entry? There is a very simple solution for you, and it goes like this. Go to PokemonUtilities script and anywhere (outside a def of course) place the following code:
    Code:
    def pbLevelModifier(type,factor=1)
      @levels=[]
      i=0
      ($Trainer.party.length).times do
        @levels.push($Trainer.party[i].level)
        i+=1
      end
      
      @[email protected]
      @sum=$Trainer.party[0].level
      
      i=1
      ($Trainer.party.length-1).times do
        @sum+=$Trainer.party[i].level
        i+=1
      end
      
      @averagelevel=@sum/($Trainer.party.length)
      
        if type=="max"
          level=@maxlevel*factor
        elsif type=="avg"
          level=@averagelevel*factor
        end
      return level
    end
    The way you would use this is as follows: When creating a wild Pokemon Battle
    Code:
    pbWildBattle(species, pbLevelModifier([B]type[/B],[B]factor[/B]))
    Where type should either be "max" (to find the highest party level) or "avg" (to find the average party level). Quotation marks around the types are needed! The factor value is optional if wanting to multiply the returned level by the factor percentage (where 0.01 is 1% and 1.00 is 100%)
    If you'd like to place it within trainer battles, you'll have to go into PokemonTrainers, and replace
    Code:
        level=poke[1]
    by
    Code:
    if $game_switches[[b]X[/b]]==true
        level=pbLevelModifier([B]type[/B],[B]factor[/B])
      else
        level=poke[1]
      end
    Where the switch X would be your trigger for level calculations. You can play around with the scripts to adjust it any way you want, but this is just a very basic method to return either the maximum level, or the average level.
     
    Wow, this will be incredibly handy! I'm going to add it to my game, with well deserved credit of course.
     
    Another thing would be random ranges for NPC wild battles and/or trainers
    Code:
    def pbLevelRange(min,max)
      difference=max-min
      level=rand(difference+1)
      level+=min
      return level
    end
    min would be the lowest possible level, and max would be the highest possible level that the Pokemon could reach. Where it falls between that line, is completely random.
     
    Back
    Top