################################################################################ # Randomized Pokemon Script # By Umbreon ################################################################################ # Used for a randomized pokemon challenge mainly. # # By randomized, I mean EVERY pokemon will be random, even interacted pokemon # like legendaries. (You may easily disable the randomizer for certain # situations like legendary battles and starter selecting.) # # To use: simply activate Switch Number X # (X = the number listed After "Switch = ", default is switch number 36.) # # If you want certain pokemon to NEVER appear, add them inside the black list. # (This does not take into effect if the switch stated above is off.) # # If you want ONLY certain pokemon to appear, add them to the whitelist. This # is only recommended when the amount of random pokemon available is around # 32 or less.(This does not take into effect if the switch stated above is off.) # ################################################################################ ########################## You may edit any settings below this freely. # module RandomizedChallenge # Switch = 36 # switch ID to randomize a pokemon, if it's on then ALL # # pokemon will be randomized. No exceptions. # # BlackListedPokemon = [] #[PBSpecies::MEW, PBSpecies::ARCEUS] # # Pokemon to Black List. Any pokemon in here will NEVER appear. # # WhiteListedPokemon = [] # # Leave this empty if all pokemon are allowed, otherwise only pokemon listed # # above will be selected. # end # # ######################### Do not edit anything below here. # class PokeBattle_Pokemon # # alias randomized_init initialize # # def initialize(species, level, player = nil, withMoves = true) # # if $game_switches && $game_switches[RandomizedChallenge::Switch] # if $game_switches[991] # species = rand(PBSpecies.maxValue - 1) + 1 # basestatsum = $pkmn_dex[species][5][0] # HP # basestatsum += $pkmn_dex[species][5][1] # Attack # basestatsum += $pkmn_dex[species][5][2] # Defense # basestatsum += $pkmn_dex[species][5][3] # Speed # basestatsum += $pkmn_dex[species][5][4] # Special Attack # basestatsum += $pkmn_dex[species][5][5] # Special Defense # # while basestatsum > $game_variables[53] || basestatsum < $game_variables[87] # species = rand(PBSpecies.maxValue - 1) + 1 # basestatsum = $pkmn_dex[species][5][0] # HP # basestatsum += $pkmn_dex[species][5][1] # Attack # basestatsum += $pkmn_dex[species][5][2] # Defense # basestatsum += $pkmn_dex[species][5][3] # Speed # basestatsum += $pkmn_dex[species][5][4] # Special Attack # basestatsum += $pkmn_dex[species][5][5] # Special Defense # end # #Kernel.pbMessage(_INTL("total = {1}, {2}",basestatsum, PBSpecies.getName(species))) # else # if $game_switches[841] # species = getRandomCustomSprite() # else # species = rand(PBSpecies.maxValue - 1) + 1 # end # end # end # # randomized_init(species, level, player, withMoves) # end # end # # # def getRandomCustomSprite() # filesList = Dir["./Graphics/CustomBattlers/*"] # i = rand(filesList.length - 1) # path = filesList[i] # file = File.basename(path, ".*") # splitPoke = file.split(".") # head = splitPoke[0].to_i # body = splitPoke[1].to_i # return (body * NB_POKEMON) + head # end =begin ########################## # Trainer house shit ######################### #Battleformat : 0 = single # 1 = double def Kernel.pbTrainerHouse(bstMin,bstMax,level,battleformat) return false if !validateLevel() #activate random Pokemon $game_switches[991] = true #Set game variables $game_variables[87]=bstMin $game_variabes[53]=bstMax #initialize variables trainerHouse=true currentStreak=0 backupTeamLevels() doubleBattle = battleformat == 1 ? true : false while trainerHouse currentStreak += 1 TrainerHouseVictory(currentStreak) if TrainerHouseBattle(level) end end def backupTeamLevels() $game_variables[91] = $Trainer.pokemonParty[0].level $game_variables[92] = $Trainer.pokemonParty[1].level $game_variables[93] = $Trainer.pokemonParty[2].level end #choisir le trainer a combattre en fonction du level def TrainerHouseBattle(level,battleformat) victoryMessage = getVictoryMessage() getTrainerHouseBattle(rand(1),level,battleformat) return end #initialiser background & musique pour le combat def setBattleConstants() $PokemonGlobal.nextBattleBGM="SubwayTrainerBattle" $PokemonGlobal.nextBattleBack="IndoorC" end #Ajouter les TP après un victoire def TrainerHouseVictory(currentStreak) tp_won = currentStreak + 1 $game_variables[49] = tp_won end #Valider si le niveau est un challenge possible def validateLevel(level) validLevels=[25,50,100] return validLevels.include?(level) end def getVictoryMessage() return "You're good!" end def getTrainerHouseBattle(IsMale,level,single=true) victoryMessage = getVictoryMessage() LV25MALE_SINGLE = pbTrainerBattle(PBTrainers::COOLTRAINER_M2,"Matthew",_I(victoryMessage),false,0,true) LV25FEMALE_SINGLE = pbTrainerBattle(PBTrainers::COOLTRAINER_F2,"Jessica",_I(victoryMessage),false,0,true) LV25MALE_DOUBLE = pbTrainerBattle(PBTrainers::COOLTRAINER_M2,"Alex",_I(victoryMessage),false,0,true) LV25FEMALE_DOUBLE = pbTrainerBattle(PBTrainers::COOLTRAINER_F2,"Laurie",_I(victoryMessage),false,0,true) LV50MALE_SINGLE = pbTrainerBattle(PBTrainers::COOLTRAINER_M2,"Alberto",_I(victoryMessage),false,0,true) LV50FEMALE_SINGLE = pbTrainerBattle(PBTrainers::COOLTRAINER_F2,"Skyler",_I(victoryMessage),true,0,true) LV50MALE_DOUBLE = pbTrainerBattle(PBTrainers::COOLTRAINER_M2,"Patrick",_I(victoryMessage),false,0,true) LV50FEMALE_DOUBLE = pbTrainerBattle(PBTrainers::COOLTRAINER_F2,"Heather",_I(victoryMessage),true,0,true) LV100MALE_SINGLE = pbTrainerBattle(PBTrainers::COOLTRAINER_M2,"Joe",_I(victoryMessage),false,0,true) LV100FEMALE_SINGLE = pbTrainerBattle(PBTrainers::COOLTRAINER_F2,"Melissa",_I(victoryMessage),true,0,true) LV100MALE_DOUBLE = pbTrainerBattle(PBTrainers::COOLTRAINER_M2,"Stephen",_I(victoryMessage),false,0,true) LV100FEMALE_DOUBLE = pbTrainerBattle(PBTrainers::COOLTRAINER_F2,"Kim",_I(victoryMessage),true,0,true) if single #SINGLE if level == 25 return LV25MALE_SINGLE if IsMale == 1 return LV25FEMALE_SINGLE elsif level == 50 return LV50MALE_SINGLE if IsMale == 1 return LV50FEMALE_SINGLE else return LV100MALE_SINGLE if IsMale == 1 return LV100FEMALE_SINGLE end else #DOUBLE if level == 25 return LV25MALE_DOUBLE if IsMale == 1 return LV25FEMALE_DOUBLE elsif level == 50 return LV50MALE_DOUBLE if IsMale == 1 return LV50FEMALE_DOUBLE else return LV100MALE_DOUBLE if IsMale == 1 return LV100FEMALE_DOUBLE end end end =end