mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
Nickname in fusion menu
This commit is contained in:
@@ -141,8 +141,8 @@ class DoublePreviewScreen
|
||||
|
||||
def drawFusionInformation(fusedDexNum, level, x = 0)
|
||||
viewport = Viewport.new(0, 0, Graphics.width, Graphics.height)
|
||||
@typewindows << drawPokemonType(fusedDexNum, viewport, x + 40, 220) if @draw_types
|
||||
drawFusionPreviewText(viewport, "Lv. " + level.to_s, x + 60, 40,) if @draw_level
|
||||
@typewindows << drawPokemonType(fusedDexNum, viewport, x + 55, 220) if @draw_types
|
||||
drawFusionPreviewText(viewport, "Lv. " + level.to_s, x + 80, 40,) if @draw_level
|
||||
end
|
||||
|
||||
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
class FusionSelectOptionsScene < PokemonOption_Scene
|
||||
attr_accessor :selectedAbility
|
||||
attr_accessor :selectedNature
|
||||
attr_accessor :hasNickname
|
||||
attr_accessor :nickname
|
||||
|
||||
|
||||
def initialize(abilityList,natureList)
|
||||
def initialize(abilityList,natureList, pokemon1, pokemon2)
|
||||
@abilityList = abilityList
|
||||
@natureList = natureList
|
||||
@selectedAbility=nil
|
||||
@@ -11,6 +13,11 @@ class FusionSelectOptionsScene < PokemonOption_Scene
|
||||
@selBaseColor = Color.new(48,96,216)
|
||||
@selShadowColor = Color.new(32,32,32)
|
||||
@show_frame=false
|
||||
@hasNickname = false
|
||||
@nickname = nil
|
||||
|
||||
@pokemon1=pokemon1
|
||||
@pokemon2=pokemon2
|
||||
end
|
||||
|
||||
|
||||
@@ -49,23 +56,54 @@ class FusionSelectOptionsScene < PokemonOption_Scene
|
||||
return _INTL("+ {1}\n- {2}",GameData::Stat.get(positiveChange[0]).name,GameData::Stat.get(negativeChange[0]).name)
|
||||
end
|
||||
|
||||
def pbGetOptions(inloadscreen = false)
|
||||
options = [
|
||||
def shouldSelectNickname
|
||||
if @pokemon1.nicknamed? && @pokemon2.nicknamed?
|
||||
@hasNickname=true
|
||||
return true
|
||||
end
|
||||
if @pokemon1.nicknamed? && !@pokemon2.nicknamed?
|
||||
@hasNickname=true
|
||||
@nickname = @pokemon1.name
|
||||
return false
|
||||
end
|
||||
if !@pokemon1.nicknamed? && @pokemon2.nicknamed?
|
||||
@hasNickname=true
|
||||
@nickname = @pokemon2.name
|
||||
return false
|
||||
end
|
||||
@hasNickname=false
|
||||
return false
|
||||
end
|
||||
|
||||
EnumOption.new(_INTL("Ability"), [_INTL(getAbilityName(@abilityList[0])), _INTL(getAbilityName(@abilityList[1]))],
|
||||
def pbGetOptions(inloadscreen = false)
|
||||
|
||||
options = []
|
||||
if shouldSelectNickname
|
||||
options << EnumOption.new(_INTL("Nickname"), [_INTL(@pokemon1.name), _INTL(@pokemon2.name)],
|
||||
proc { 0 },
|
||||
proc { |value|
|
||||
if value ==0
|
||||
@nickname = @pokemon1.name
|
||||
else
|
||||
@nickname = @pokemon2.name
|
||||
end
|
||||
}, "Select the Pokémon's nickname")
|
||||
end
|
||||
|
||||
options << EnumOption.new(_INTL("Ability"), [_INTL(getAbilityName(@abilityList[0])), _INTL(getAbilityName(@abilityList[1]))],
|
||||
proc { 0 },
|
||||
proc { |value|
|
||||
@selectedAbility=@abilityList[value]
|
||||
}, [getAbilityDescription(@abilityList[0]), getAbilityDescription(@abilityList[1])]
|
||||
),
|
||||
EnumOption.new(_INTL("Nature"), [_INTL(getNatureName(@natureList[0])), _INTL(getNatureName(@natureList[1]))],
|
||||
)
|
||||
|
||||
options << EnumOption.new(_INTL("Nature"), [_INTL(getNatureName(@natureList[0])), _INTL(getNatureName(@natureList[1]))],
|
||||
proc { 0 },
|
||||
proc { |value|
|
||||
@selectedNature=@natureList[value]
|
||||
}, [getNatureDescription(@natureList[0]), getNatureDescription(@natureList[1])]
|
||||
)
|
||||
|
||||
]
|
||||
return options
|
||||
end
|
||||
|
||||
|
||||
@@ -535,12 +535,10 @@ class PokemonFusionScene
|
||||
@sprites["rsprite2"] = PokemonSprite.new(@viewport)
|
||||
@sprites["rsprite3"] = PokemonSprite.new(@viewport)
|
||||
|
||||
@sprites["rsprite1"].setPokemonBitmapFromId(poke1_number, false,pokemon1.shiny?)
|
||||
@sprites["rsprite3"].setPokemonBitmapFromId(poke2_number, false,pokemon2.shiny?)
|
||||
@sprites["rsprite1"].setPokemonBitmapFromId(poke1_number, false, pokemon1.shiny?)
|
||||
@sprites["rsprite3"].setPokemonBitmapFromId(poke2_number, false, pokemon2.shiny?)
|
||||
|
||||
|
||||
|
||||
@sprites["rsprite2"].setPokemonBitmapFromId(@newspecies, false, pokemon1.shiny? || pokemon2.shiny?,pokemon1.shiny?,pokemon2.shiny?)
|
||||
@sprites["rsprite2"].setPokemonBitmapFromId(@newspecies, false, pokemon1.shiny? || pokemon2.shiny?, pokemon1.shiny?, pokemon2.shiny?)
|
||||
|
||||
@sprites["rsprite1"].ox = @sprites["rsprite1"].bitmap.width / 2
|
||||
@sprites["rsprite1"].oy = @sprites["rsprite1"].bitmap.height / 2
|
||||
@@ -650,7 +648,7 @@ class PokemonFusionScene
|
||||
|
||||
# Opens the fusion screen
|
||||
|
||||
def pbFusionScreen(cancancel = false, superSplicer = false, firstOptionSelected=false)
|
||||
def pbFusionScreen(cancancel = false, superSplicer = false, firstOptionSelected = false)
|
||||
metaplayer1 = SpriteMetafilePlayer.new(@metafile1, @sprites["rsprite1"])
|
||||
metaplayer2 = SpriteMetafilePlayer.new(@metafile2, @sprites["rsprite2"])
|
||||
metaplayer3 = SpriteMetafilePlayer.new(@metafile3, @sprites["rsprite3"])
|
||||
@@ -714,12 +712,12 @@ class PokemonFusionScene
|
||||
@pokemon1.exp_gained_since_fused = 0
|
||||
|
||||
if @pokemon2.shiny?
|
||||
@pokemon1.head_shiny=true
|
||||
@pokemon1.head_shiny = true
|
||||
end
|
||||
if @pokemon1.shiny?
|
||||
@pokemon1.body_shiny=true
|
||||
@pokemon1.body_shiny = true
|
||||
end
|
||||
@pokemon1.debug_shiny=true if @pokemon1.debug_shiny || @pokemon2.debug_shiny
|
||||
@pokemon1.debug_shiny = true if @pokemon1.debug_shiny || @pokemon2.debug_shiny
|
||||
|
||||
setFusionIVs(superSplicer)
|
||||
#add to pokedex
|
||||
@@ -780,19 +778,23 @@ def clearUIForMoves
|
||||
|
||||
end
|
||||
|
||||
def setAbilityAndNature(abilitiesList, naturesList)
|
||||
#todo: find a better name for this method...
|
||||
def setAbilityAndNatureAndNickname(abilitiesList, naturesList)
|
||||
clearUIForMoves
|
||||
|
||||
scene = FusionSelectOptionsScene.new(abilitiesList, naturesList)
|
||||
scene = FusionSelectOptionsScene.new(abilitiesList, naturesList, @pokemon1, @pokemon2)
|
||||
screen = PokemonOptionScreen.new(scene)
|
||||
screen.pbStartScreen
|
||||
|
||||
@pokemon1.ability = scene.selectedAbility
|
||||
@pokemon1.nature = scene.selectedNature
|
||||
if scene.hasNickname
|
||||
@pokemon1.name = scene.nickname
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
def setFusionMoves(fusedPoke, poke2,selected2ndOption=false)
|
||||
def setFusionMoves(fusedPoke, poke2, selected2ndOption = false)
|
||||
#NEW METHOD (not ready)
|
||||
|
||||
# clearUIForMoves
|
||||
@@ -805,11 +807,10 @@ def setFusionMoves(fusedPoke, poke2,selected2ndOption=false)
|
||||
#
|
||||
# fusedPoke.moves=moves
|
||||
bodySpecies = getBodyID(fusedPoke)
|
||||
headSpecies = getHeadID(fusedPoke,bodySpecies)
|
||||
headSpecies = getHeadID(fusedPoke, bodySpecies)
|
||||
bodySpeciesName = GameData::Species.get(bodySpecies).real_name
|
||||
headSpeciesName = GameData::Species.get(headSpecies).real_name
|
||||
|
||||
|
||||
choice = Kernel.pbMessage("What to do with the moveset?", [_INTL("Learn moves"), _INTL("Keep {1}'s moveset", bodySpeciesName), _INTL("Keep {1}'s moveset", headSpeciesName)], 0)
|
||||
if choice == 1
|
||||
if selected2ndOption
|
||||
@@ -885,7 +886,7 @@ def pbChooseAbility(poke, hidden1 = false, hidden2 = false)
|
||||
availableNatures << @pokemon1.nature
|
||||
availableNatures << @pokemon2.nature
|
||||
|
||||
setAbilityAndNature([GameData::Ability.get(abID1), GameData::Ability.get(abID2)], availableNatures)
|
||||
setAbilityAndNatureAndNickname([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
|
||||
|
||||
Reference in New Issue
Block a user