mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2026-01-21 21:56:01 +00:00
summary screen commands
This commit is contained in:
@@ -1215,9 +1215,11 @@ class PokemonSummary_Scene
|
||||
cmdPokedex = -1
|
||||
cmdMark = -1
|
||||
if !@pokemon.egg?
|
||||
commands[cmdGiveItem = commands.length] = _INTL("Give item")
|
||||
commands[cmdTakeItem = commands.length] = _INTL("Take item") if @pokemon.hasItem?
|
||||
#commands[cmdPokedex = commands.length] = _INTL("View Pokédex") if $Trainer.has_pokedex
|
||||
if pbBattleChallenge.currentChallenge == -1
|
||||
commands[cmdGiveItem = commands.length] = _INTL("Give item")
|
||||
commands[cmdTakeItem = commands.length] = _INTL("Take item") if @pokemon.hasItem?
|
||||
end
|
||||
commands[cmdPokedex = commands.length] = _INTL("View Pokédex") if $Trainer.has_pokedex
|
||||
end
|
||||
commands[cmdMark = commands.length] = _INTL("Mark")
|
||||
commands[commands.length] = _INTL("Cancel")
|
||||
|
||||
@@ -603,22 +603,39 @@ class PokemonFusionScene
|
||||
return 1
|
||||
end
|
||||
|
||||
def calculateAverageValue(value1, value2)
|
||||
return ((value1 + value2) / 2).floor
|
||||
end
|
||||
|
||||
def pickHighestOfTwoValues(value1, value2)
|
||||
return value1 >= value2 ? value1 : value2
|
||||
end
|
||||
|
||||
def setFusionIVs(supersplicers)
|
||||
if supersplicers
|
||||
setHighestFusionIvs()
|
||||
else
|
||||
averageFusionIvs()
|
||||
end
|
||||
end
|
||||
|
||||
def averageFusionIvs()
|
||||
return
|
||||
# for i in 0..@pokemon1.iv.length-1
|
||||
# poke1Iv = @pokemon1.iv[i]
|
||||
# poke2Iv = @pokemon2.iv[i]
|
||||
# @pokemon1.iv[i] = ((poke1Iv+poke2Iv)/2).floor
|
||||
# end
|
||||
@pokemon1.iv[:HP] = calculateAverageValue(@pokemon1.iv[:HP], @pokemon2.iv[:HP])
|
||||
@pokemon1.iv[:ATTACK] = calculateAverageValue(@pokemon1.iv[:ATTACK], @pokemon2.iv[:ATTACK])
|
||||
@pokemon1.iv[:DEFENSE] = calculateAverageValue(@pokemon1.iv[:DEFENSE], @pokemon2.iv[:DEFENSE])
|
||||
@pokemon1.iv[:SPECIAL_ATTACK] = calculateAverageValue(@pokemon1.iv[:SPECIAL_ATTACK], @pokemon2.iv[:SPECIAL_ATTACK])
|
||||
@pokemon1.iv[:SPECIAL_DEFENSE] = calculateAverageValue(@pokemon1.iv[:SPECIAL_DEFENSE], @pokemon2.iv[:SPECIAL_DEFENSE])
|
||||
@pokemon1.iv[:SPEED] = calculateAverageValue(@pokemon1.iv[:SPEED], @pokemon2.iv[:SPEED])
|
||||
end
|
||||
|
||||
#unused. was meant for super splicers, but too broken
|
||||
def setHighestFusionIvs()
|
||||
for i in 0..@pokemon1.iv.length - 1
|
||||
iv1 = @pokemon1.iv[i]
|
||||
iv2 = @pokemon2.iv[i]
|
||||
@pokemon1.iv[i] = iv1 >= iv2 ? iv1 : iv2
|
||||
end
|
||||
def setHighestFusionIvs()«
|
||||
@pokemon1.iv[:HP] = pickHighestOfTwoValues(@pokemon1.iv[:HP], @pokemon2.iv[:HP])
|
||||
@pokemon1.iv[:ATTACK] = pickHighestOfTwoValues(@pokemon1.iv[:ATTACK], @pokemon2.iv[:ATTACK])
|
||||
@pokemon1.iv[:DEFENSE] = pickHighestOfTwoValues(@pokemon1.iv[:DEFENSE], @pokemon2.iv[:DEFENSE])
|
||||
@pokemon1.iv[:SPECIAL_ATTACK] = pickHighestOfTwoValues(@pokemon1.iv[:SPECIAL_ATTACK], @pokemon2.iv[:SPECIAL_ATTACK])
|
||||
@pokemon1.iv[:SPECIAL_DEFENSE] = pickHighestOfTwoValues(@pokemon1.iv[:SPECIAL_DEFENSE], @pokemon2.iv[:SPECIAL_DEFENSE])
|
||||
@pokemon1.iv[:SPEED] = pickHighestOfTwoValues(@pokemon1.iv[:SPEED], @pokemon2.iv[:SPEED])
|
||||
end
|
||||
|
||||
# Closes the evolution screen.
|
||||
@@ -631,7 +648,6 @@ class PokemonFusionScene
|
||||
|
||||
# Opens the fusion screen
|
||||
|
||||
|
||||
def pbFusionScreen(cancancel = false, superSplicer = false)
|
||||
metaplayer1 = SpriteMetafilePlayer.new(@metafile1, @sprites["rsprite1"])
|
||||
metaplayer2 = SpriteMetafilePlayer.new(@metafile2, @sprites["rsprite2"])
|
||||
@@ -695,7 +711,7 @@ class PokemonFusionScene
|
||||
@pokemon1.exp_when_fused_body = @pokemon1.exp #peut-être l'inverse
|
||||
@pokemon1.exp_gained_since_fused = 0
|
||||
|
||||
averageFusionIvs()
|
||||
setFusionIVs(superSplicer)
|
||||
#add to pokedex
|
||||
if !$Trainer.pokedex.owned?(newSpecies)
|
||||
$Trainer.pokedex.set_seen(newSpecies)
|
||||
@@ -708,11 +724,10 @@ class PokemonFusionScene
|
||||
hiddenAbility1 = @pokemon1.ability == @pokemon1.getAbilityList[0][-1]
|
||||
hiddenAbility2 = @pokemon2.ability == @pokemon2.getAbilityList[0][-1]
|
||||
|
||||
|
||||
#change species
|
||||
@pokemon1.species = newSpecies
|
||||
#@pokemon1.ability = pbChooseAbility(@pokemon1, hiddenAbility1, hiddenAbility2)
|
||||
pbChooseAbility(@pokemon1, hiddenAbility1, hiddenAbility2)
|
||||
pbChooseAbility(@pokemon1, hiddenAbility1, hiddenAbility2)
|
||||
|
||||
setFusionMoves(@pokemon1, @pokemon2) if !noMoves
|
||||
|
||||
@@ -736,7 +751,6 @@ class PokemonFusionScene
|
||||
@pokemon1.obtain_method = 0
|
||||
@pokemon1.owner = Pokemon::Owner.new_from_trainer($Trainer)
|
||||
|
||||
|
||||
pbSEPlay("Voltorb Flip Point")
|
||||
|
||||
@pokemon1.name = newspeciesname if @pokemon1.name == oldspeciesname
|
||||
@@ -759,7 +773,7 @@ end
|
||||
def setAbilityAndNature(abilitiesList, naturesList)
|
||||
clearUIForMoves
|
||||
|
||||
scene = FusionSelectOptionsScene.new(abilitiesList,naturesList)
|
||||
scene = FusionSelectOptionsScene.new(abilitiesList, naturesList)
|
||||
screen = PokemonOptionScreen.new(scene)
|
||||
screen.pbStartScreen
|
||||
|
||||
@@ -781,7 +795,6 @@ def setFusionMoves(fusedPoke, poke2)
|
||||
#
|
||||
# fusedPoke.moves=moves
|
||||
|
||||
|
||||
choice = Kernel.pbMessage("What to do with the moveset?", [_INTL("Learn moves"), _INTL("Keep {1}'s moveset", fusedPoke.name), _INTL("Keep {1}'s moveset", poke2.name)], 0)
|
||||
if choice == 1
|
||||
return
|
||||
@@ -802,7 +815,7 @@ end
|
||||
def setPokemonLevel(pokemon1, pokemon2, superSplicers)
|
||||
lv1 = @pokemon1.level
|
||||
lv2 = @pokemon2.level
|
||||
return calculateFusedPokemonLevel(lv1,lv2,superSplicers)
|
||||
return calculateFusedPokemonLevel(lv1, lv2, superSplicers)
|
||||
end
|
||||
|
||||
def calculateFusedPokemonLevel(lv1, lv2, superSplicers)
|
||||
@@ -848,7 +861,7 @@ def pbChooseAbility(poke, hidden1 = false, hidden2 = false)
|
||||
availableNatures << @pokemon1.nature
|
||||
availableNatures << @pokemon2.nature
|
||||
|
||||
setAbilityAndNature([GameData::Ability.get(abID1),GameData::Ability.get(abID2)],availableNatures)
|
||||
setAbilityAndNature([GameData::Ability.get(abID1), GameData::Ability.get(abID2)], availableNatures)
|
||||
|
||||
# if (Kernel.pbMessage("Choose an ability. ???", [_INTL("{1}", ability1_name), _INTL("{1}", ability2_name)], 2)) == 0
|
||||
# return abID1 #hidden1 ? 4 : 0
|
||||
|
||||
@@ -130,7 +130,7 @@ def isTripleFusion?(num)
|
||||
return num >= Settings::ZAPMOLCUNO_NB
|
||||
end
|
||||
|
||||
def getRandomCustomFusion(returnRandomPokemonIfNoneFound = true, customPokeList = [], maxPoke = -1, recursionLimit = 3)
|
||||
def getRandomCustomFusionForIntro(returnRandomPokemonIfNoneFound = true, customPokeList = [], maxPoke = -1, recursionLimit = 3)
|
||||
if customPokeList.length == 0
|
||||
customPokeList = getCustomSpeciesList()
|
||||
end
|
||||
@@ -159,6 +159,31 @@ def getRandomCustomFusion(returnRandomPokemonIfNoneFound = true, customPokeList
|
||||
return randPoke
|
||||
end
|
||||
|
||||
|
||||
def getRandomCustomFusion(returnRandomPokemonIfNoneFound = true, customPokeList = [], maxPoke = -1, recursionLimit = 3, maxBST=300)
|
||||
if customPokeList.length == 0
|
||||
customPokeList = getCustomSpeciesList()
|
||||
end
|
||||
randPoke = []
|
||||
if customPokeList.length >= 5000
|
||||
chosen = false
|
||||
i = 0 #loop pas plus que 3 fois pour pas lag
|
||||
while chosen == false
|
||||
fusedPoke = customPokeList[rand(customPokeList.length)]
|
||||
if (i >= recursionLimit) || maxPoke == -1
|
||||
return fusedPoke
|
||||
end
|
||||
end
|
||||
else
|
||||
if returnRandomPokemonIfNoneFound
|
||||
return rand(maxPoke) + 1
|
||||
end
|
||||
end
|
||||
|
||||
return randPoke
|
||||
end
|
||||
|
||||
|
||||
def getBodyID(species)
|
||||
dexNum = getDexNumberForSpecies(species)
|
||||
return (dexNum / NB_POKEMON).round
|
||||
|
||||
@@ -122,7 +122,7 @@ class GenOneStyle
|
||||
@customPokeList = getCustomSpeciesList()
|
||||
#Get random Pokemon (1st gen orandPokenly, pas de legend la prmeiere fois)
|
||||
|
||||
randPoke = getRandomCustomFusion(true, @customPokeList, @maxPoke)
|
||||
randPoke = getRandomCustomFusionForIntro(true, @customPokeList, @maxPoke)
|
||||
randpoke1 = randPoke[0] #rand(@maxPoke)+1
|
||||
randpoke2 = randPoke[1] #rand(@maxPoke)+1
|
||||
|
||||
@@ -358,7 +358,7 @@ class GenOneStyle
|
||||
if @maxPoke < NB_POKEMON - 1
|
||||
@maxPoke += 5 #-1 pour que ca arrive pile. tant pis pour kyurem
|
||||
end
|
||||
randPoke = getRandomCustomFusion(true, @customPokeList, @maxPoke)
|
||||
randPoke = getRandomCustomFusionForIntro(true, @customPokeList, @maxPoke)
|
||||
randpoke1 = randPoke[0] #rand(@maxPoke)+1
|
||||
randpoke2 = randPoke[1] #rand(@maxPoke)+1
|
||||
|
||||
|
||||
@@ -1305,10 +1305,12 @@ def pbFuse(pokemon, poke2, supersplicers = false)
|
||||
typeWindow = drawPokemonType(newid)
|
||||
drawFusionPreviewText(typeWindow, "Lv. " + new_level.to_s, 232, 0,)
|
||||
|
||||
if hasCustom
|
||||
previewwindow.picture.pbSetColor(150, 255, 150, 200)
|
||||
else
|
||||
previewwindow.picture.pbSetColor(255, 255, 255, 200)
|
||||
if !$Trainer.seen?(newid)
|
||||
if hasCustom
|
||||
previewwindow.picture.pbSetColor(150, 255, 150, 200)
|
||||
else
|
||||
previewwindow.picture.pbSetColor(255, 255, 255, 200)
|
||||
end
|
||||
end
|
||||
previewwindow.x = (Graphics.width / 2) - (previewwindow.width / 2)
|
||||
previewwindow.y = ((Graphics.height - 96) / 2) - (previewwindow.height / 2)
|
||||
|
||||
Reference in New Issue
Block a user