mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
198 lines
6.9 KiB
Ruby
198 lines
6.9 KiB
Ruby
################################################################################
|
|
# 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 |