mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2026-01-29 09:46:00 +00:00
rematch evolution fix
mist stone fix evolution scene resize
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -458,16 +458,20 @@ class PokemonEvolutionScene
|
|||||||
if canceled
|
if canceled
|
||||||
pbRestoreSpriteState(@sprites["rsprite1"],oldstate)
|
pbRestoreSpriteState(@sprites["rsprite1"],oldstate)
|
||||||
pbRestoreSpriteState(@sprites["rsprite2"],oldstate2)
|
pbRestoreSpriteState(@sprites["rsprite2"],oldstate2)
|
||||||
@sprites["rsprite1"].zoom_x = 1.0
|
@sprites["rsprite1"].zoom_x = Settings::FRONTSPRITE_SCALE
|
||||||
@sprites["rsprite1"].zoom_y = 1.0
|
@sprites["rsprite1"].zoom_y = Settings::FRONTSPRITE_SCALE
|
||||||
|
@sprites["rsprite2"].zoom_x = Settings::FRONTSPRITE_SCALE
|
||||||
|
@sprites["rsprite2"].zoom_y = Settings::FRONTSPRITE_SCALE
|
||||||
@sprites["rsprite1"].color.alpha = 0
|
@sprites["rsprite1"].color.alpha = 0
|
||||||
@sprites["rsprite1"].visible = true
|
@sprites["rsprite1"].visible = true
|
||||||
@sprites["rsprite2"].visible = false
|
@sprites["rsprite2"].visible = false
|
||||||
else
|
else
|
||||||
@sprites["rsprite1"].visible = false
|
@sprites["rsprite1"].visible = false
|
||||||
@sprites["rsprite2"].visible = true
|
@sprites["rsprite2"].visible = true
|
||||||
@sprites["rsprite2"].zoom_x = 1.0
|
@sprites["rsprite1"].zoom_x = Settings::FRONTSPRITE_SCALE
|
||||||
@sprites["rsprite2"].zoom_y = 1.0
|
@sprites["rsprite1"].zoom_y = Settings::FRONTSPRITE_SCALE
|
||||||
|
@sprites["rsprite2"].zoom_x = Settings::FRONTSPRITE_SCALE
|
||||||
|
@sprites["rsprite2"].zoom_y = Settings::FRONTSPRITE_SCALE
|
||||||
@sprites["rsprite2"].color.alpha = 0
|
@sprites["rsprite2"].color.alpha = 0
|
||||||
end
|
end
|
||||||
(Graphics.frame_rate/4).times do
|
(Graphics.frame_rate/4).times do
|
||||||
@@ -513,6 +517,10 @@ class PokemonEvolutionScene
|
|||||||
@sprites["rsprite1"] = rsprite1
|
@sprites["rsprite1"] = rsprite1
|
||||||
@sprites["rsprite2"] = rsprite2
|
@sprites["rsprite2"] = rsprite2
|
||||||
pbGenerateMetafiles(rsprite1.ox,rsprite1.oy,rsprite2.ox,rsprite2.oy)
|
pbGenerateMetafiles(rsprite1.ox,rsprite1.oy,rsprite2.ox,rsprite2.oy)
|
||||||
|
@sprites["rsprite1"].zoom_x = Settings::FRONTSPRITE_SCALE
|
||||||
|
@sprites["rsprite1"].zoom_y = Settings::FRONTSPRITE_SCALE
|
||||||
|
@sprites["rsprite2"].zoom_x = Settings::FRONTSPRITE_SCALE
|
||||||
|
@sprites["rsprite2"].zoom_y = Settings::FRONTSPRITE_SCALE
|
||||||
@sprites["msgwindow"] = pbCreateMessageWindow(@msgviewport)
|
@sprites["msgwindow"] = pbCreateMessageWindow(@msgviewport)
|
||||||
pbFadeInAndShow(@sprites) { pbUpdate }
|
pbFadeInAndShow(@sprites) { pbUpdate }
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -119,8 +119,11 @@ def pbChooseSpeciesList(default = nil)
|
|||||||
# commands = []
|
# commands = []
|
||||||
# GameData::Species.each { |s| commands.push([s.id_number, s.real_name, s.id]) if s.form == 0 }
|
# GameData::Species.each { |s| commands.push([s.id_number, s.real_name, s.id]) if s.form == 0 }
|
||||||
# return pbChooseList(commands, default, nil, -1)
|
# return pbChooseList(commands, default, nil, -1)
|
||||||
|
#
|
||||||
|
defaultNumber = default == nil ? 1 : getDexNumberForSpecies(default)
|
||||||
params = ChooseNumberParams.new
|
params = ChooseNumberParams.new
|
||||||
params.setRange(1,PBSpecies.maxValue)
|
params.setRange(1,PBSpecies.maxValue)
|
||||||
|
params.setInitialValue(defaultNumber)
|
||||||
dexNum = pbMessageChooseNumber("dex number?",params)
|
dexNum = pbMessageChooseNumber("dex number?",params)
|
||||||
return GameData::Species.get(dexNum)
|
return GameData::Species.get(dexNum)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -413,7 +413,6 @@ ItemHandlers::UseFromBag.add(:MAGICBOOTS,proc{|item|
|
|||||||
next 1
|
next 1
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
def pbForceEvo(pokemon)
|
def pbForceEvo(pokemon)
|
||||||
newspecies = getEvolvedSpecies(pokemon)
|
newspecies = getEvolvedSpecies(pokemon)
|
||||||
return false if newspecies == -1
|
return false if newspecies == -1
|
||||||
@@ -471,7 +470,6 @@ ItemHandlers::UseOnPokemon.add(:DNASPLICERS, proc { |item, pokemon, scene|
|
|||||||
next false
|
next false
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
ItemHandlers::UseOnPokemon.add(:DNAREVERSER, proc { |item, pokemon, scene|
|
ItemHandlers::UseOnPokemon.add(:DNAREVERSER, proc { |item, pokemon, scene|
|
||||||
if !pokemon.isFusion?
|
if !pokemon.isFusion?
|
||||||
scene.pbDisplay(_INTL("It won't have any effect."))
|
scene.pbDisplay(_INTL("It won't have any effect."))
|
||||||
@@ -534,7 +532,6 @@ ItemHandlers::UseOnPokemon.add(:INFINITEREVERSERS, proc { |item, pokemon, scene|
|
|||||||
next false
|
next false
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# def pbDNASplicing(pokemon, scene, supersplicers = false, superSplicer = false)
|
# def pbDNASplicing(pokemon, scene, supersplicers = false, superSplicer = false)
|
||||||
# if (pokemon.species <= NB_POKEMON)
|
# if (pokemon.species <= NB_POKEMON)
|
||||||
@@ -1191,21 +1188,22 @@ ItemHandlers::UseOnPokemon.add(:MISTSTONE, proc { |item, pokemon, scene|
|
|||||||
})
|
})
|
||||||
|
|
||||||
def pbForceEvo(pokemon)
|
def pbForceEvo(pokemon)
|
||||||
newspecies = getEvolvedSpecies(pokemon)
|
evolutions = getEvolvedSpecies(pokemon)
|
||||||
return false if newspecies == -1
|
return false if evolutions.empty?
|
||||||
if newspecies > 0
|
#if multiple evolutions, pick a random one
|
||||||
|
#(format of returned value is [[speciesNum, level]])
|
||||||
|
newspecies = evolutions[rand(evolutions.length - 1)][0]
|
||||||
|
return false if newspecies == nil
|
||||||
evo = PokemonEvolutionScene.new
|
evo = PokemonEvolutionScene.new
|
||||||
evo.pbStartScreen(pokemon, newspecies)
|
evo.pbStartScreen(pokemon, newspecies)
|
||||||
evo.pbEvolution
|
evo.pbEvolution
|
||||||
evo.pbEndScreen
|
evo.pbEndScreen
|
||||||
end
|
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# format of returned value is [[speciesNum, evolutionMethod],[speciesNum, evolutionMethod],etc.]
|
||||||
def getEvolvedSpecies(pokemon)
|
def getEvolvedSpecies(pokemon)
|
||||||
return pbCheckEvolutionEx(pokemon) { |pokemon, evonib, level, poke|
|
return GameData::Species.get(pokemon.species).get_evolutions(true)
|
||||||
next pbMiniCheckEvolution(pokemon, evonib, level, poke, true)
|
|
||||||
}
|
|
||||||
end
|
end
|
||||||
|
|
||||||
#(copie de fixEvolutionOverflow dans FusionScene)
|
#(copie de fixEvolutionOverflow dans FusionScene)
|
||||||
@@ -1252,9 +1250,6 @@ ItemHandlers::UseOnPokemon.add(:DNASPLICERS, proc { |item, pokemon, scene|
|
|||||||
next false
|
next false
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def pbDNASplicing(pokemon, scene, supersplicers = false, superSplicer = false)
|
def pbDNASplicing(pokemon, scene, supersplicers = false, superSplicer = false)
|
||||||
playingBGM = $game_system.getPlayingBGM
|
playingBGM = $game_system.getPlayingBGM
|
||||||
dexNumber = pokemon.species_data.id_number
|
dexNumber = pokemon.species_data.id_number
|
||||||
@@ -1367,7 +1362,6 @@ def pbDNASplicing(pokemon, scene, supersplicers = false, superSplicer = false)
|
|||||||
scene.pbDisplay(_INTL(" ... "))
|
scene.pbDisplay(_INTL(" ... "))
|
||||||
scene.pbDisplay(_INTL(" ... "))
|
scene.pbDisplay(_INTL(" ... "))
|
||||||
|
|
||||||
|
|
||||||
if pokemon.exp_when_fused_head == nil || pokemon.exp_when_fused_body == nil
|
if pokemon.exp_when_fused_head == nil || pokemon.exp_when_fused_body == nil
|
||||||
new_level = calculateUnfuseLevelOldMethod(pokemon, supersplicers)
|
new_level = calculateUnfuseLevelOldMethod(pokemon, supersplicers)
|
||||||
body_level = new_level
|
body_level = new_level
|
||||||
@@ -1384,7 +1378,6 @@ def pbDNASplicing(pokemon, scene, supersplicers = false, superSplicer = false)
|
|||||||
poke2.exp = exp_head
|
poke2.exp = exp_head
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
if $Trainer.party.length >= 6
|
if $Trainer.party.length >= 6
|
||||||
if (keepInParty == 0)
|
if (keepInParty == 0)
|
||||||
$PokemonStorage.pbStoreCaught(poke2)
|
$PokemonStorage.pbStoreCaught(poke2)
|
||||||
|
|||||||
@@ -71,11 +71,6 @@ def addNewTrainerRematch(trainerId)
|
|||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def getNumberRematchOld(trainerId)
|
def getNumberRematchOld(trainerId)
|
||||||
if $PokemonGlobal.rematchedTrainers == nil
|
if $PokemonGlobal.rematchedTrainers == nil
|
||||||
$PokemonGlobal.rematchedTrainers = Hash.new
|
$PokemonGlobal.rematchedTrainers = Hash.new
|
||||||
@@ -91,8 +86,6 @@ def getNumberRematchOld(trainerId)
|
|||||||
return 0
|
return 0
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def getRematchLevel(originalLevel, nbRematch)
|
def getRematchLevel(originalLevel, nbRematch)
|
||||||
levelCap = getLevelCap(originalLevel, $Trainer.numbadges)
|
levelCap = getLevelCap(originalLevel, $Trainer.numbadges)
|
||||||
expRate = getLevelRate(originalLevel)
|
expRate = getLevelRate(originalLevel)
|
||||||
@@ -117,7 +110,6 @@ def getLevelCap(originalLevel,nbBadges)
|
|||||||
return cap < 100 ? cap : 100
|
return cap < 100 ? cap : 100
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
def decreaseRematchNumber(trainerId)
|
def decreaseRematchNumber(trainerId)
|
||||||
$PokemonGlobal.rematchedTrainers.each do |key, trainer|
|
$PokemonGlobal.rematchedTrainers.each do |key, trainer|
|
||||||
if (trainer.id == trainerId)
|
if (trainer.id == trainerId)
|
||||||
@@ -127,8 +119,8 @@ def decreaseRematchNumber(trainerId)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def evolveRematchPokemon(nbRematch, speciesSymbol)
|
||||||
def evolveRematchPokemon(nbRematch,species)
|
species = getDexNumberForSpecies(speciesSymbol)
|
||||||
if (nbRematch >= 10 && $Trainer.numbadges >= 3)
|
if (nbRematch >= 10 && $Trainer.numbadges >= 3)
|
||||||
evospecies = getEvolution(species)
|
evospecies = getEvolution(species)
|
||||||
return species if evospecies == -1
|
return species if evospecies == -1
|
||||||
@@ -143,28 +135,40 @@ end
|
|||||||
|
|
||||||
def getEvolution(species)
|
def getEvolution(species)
|
||||||
if species >= Settings::NB_POKEMON
|
if species >= Settings::NB_POKEMON
|
||||||
pokemon = PokeBattle_Pokemon.new(species,1)
|
|
||||||
body = getBasePokemonID(species)
|
body = getBasePokemonID(species)
|
||||||
head = getBasePokemonID(species, false)
|
head = getBasePokemonID(species, false)
|
||||||
ret_evoB = pbGetEvolvedFormData(body)
|
|
||||||
ret_evoH = pbGetEvolvedFormData(head)
|
bodyPossibleEvolutions = GameData::Species.get(body).get_evolutions(true)
|
||||||
evoBody = ret_evoB.any? ? ret_evoB[0][2] : -1
|
headPossibleEvolutions = GameData::Species.get(head).get_evolutions(true)
|
||||||
evoHead = ret_evoH.any? ? ret_evoH[0][2] : -1
|
|
||||||
return -1 if isNegativeOrNull(evoBody) && isNegativeOrNull(evoHead)
|
bodyCanEvolve = !bodyPossibleEvolutions.empty?
|
||||||
return body*Settings::NB_POKEMON+evoHead if isNegativeOrNull(evoBody) #only head evolves
|
headCanEvolve = !headPossibleEvolutions.empty?
|
||||||
return evoBody*Settings::NB_POKEMON + head if isNegativeOrNull(evoHead) #only body evolves
|
|
||||||
|
evoBodySpecies = bodyCanEvolve ? bodyPossibleEvolutions[rand(bodyPossibleEvolutions.length - 1)][0] : nil
|
||||||
|
evoHeadSpecies = headCanEvolve ? headPossibleEvolutions[rand(headPossibleEvolutions.length - 1)][0] : nil
|
||||||
|
if evoBodySpecies != nil
|
||||||
|
evoBody= getDexNumberForSpecies(evoBodySpecies)
|
||||||
|
end
|
||||||
|
if evoHeadSpecies != nil
|
||||||
|
evoHead= getDexNumberForSpecies(evoHeadSpecies)
|
||||||
|
end
|
||||||
|
|
||||||
|
return -1 if evoBody == nil && evoHead == nil
|
||||||
|
return body * Settings::NB_POKEMON + evoHead if evoBody == nil #only head evolves
|
||||||
|
return evoBody * Settings::NB_POKEMON + head if evoHead == nil #only body evolves
|
||||||
return evoBody * Settings::NB_POKEMON + evoHead #both evolve
|
return evoBody * Settings::NB_POKEMON + evoHead #both evolve
|
||||||
else
|
else
|
||||||
evo = pbGetEvolvedFormData(species)
|
evo = pbGetEvolvedFormData(species)
|
||||||
return evo.any? ? getDexNumberForSpecies(evo[0][0]) : -1
|
newSpecies = evo[rand(evo.length - 1)][0]
|
||||||
|
return evo.any? ? getDexNumberForSpecies(newSpecies) : -1
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
def getFusionSpecies(body, head)
|
def getFusionSpecies(body, head)
|
||||||
id = body * Settings::NB_POKEMON + head
|
id = body * Settings::NB_POKEMON + head
|
||||||
return GameData::Species.get(id).species
|
return GameData::Species.get(id).species
|
||||||
end
|
end
|
||||||
|
|
||||||
#
|
#
|
||||||
def evolveHead(species)
|
def evolveHead(species)
|
||||||
species_id = getDexNumberForSpecies(species)
|
species_id = getDexNumberForSpecies(species)
|
||||||
@@ -190,7 +194,6 @@ def evolveBody(species)
|
|||||||
return bodyEvo == -1 ? species_id : getFusionSpecies(bodyEvo, head)
|
return bodyEvo == -1 ? species_id : getFusionSpecies(bodyEvo, head)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
def getCorrectEvolvedSpecies(pokemon)
|
def getCorrectEvolvedSpecies(pokemon)
|
||||||
if pokemon.species >= Settings::NB_POKEMON
|
if pokemon.species >= Settings::NB_POKEMON
|
||||||
body = getBasePokemonID(pokemon.species)
|
body = getBasePokemonID(pokemon.species)
|
||||||
@@ -215,7 +218,6 @@ def getCorrectEvolvedSpecies(pokemon)
|
|||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
def printDebugRematchInfo(nbRematch, expRate, newLevel, levelCap, originalLevel)
|
def printDebugRematchInfo(nbRematch, expRate, newLevel, levelCap, originalLevel)
|
||||||
info = ""
|
info = ""
|
||||||
info << "total rematched trainers: " + $PokemonGlobal.rematchedTrainers.length.to_s + "\n"
|
info << "total rematched trainers: " + $PokemonGlobal.rematchedTrainers.length.to_s + "\n"
|
||||||
@@ -227,6 +229,7 @@ def printDebugRematchInfo(nbRematch,expRate,newLevel,levelCap,originalLevel)
|
|||||||
info << "level cap: " + levelCap.to_s
|
info << "level cap: " + levelCap.to_s
|
||||||
print info
|
print info
|
||||||
end
|
end
|
||||||
|
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user