class FusionSelectOptionsScene < PokemonOption_Scene attr_accessor :selectedAbility attr_accessor :selectedNature attr_accessor :hasNickname attr_accessor :nickname def initialize(abilityList,natureList, pokemon1, pokemon2) @abilityList = abilityList @natureList = natureList @selectedAbility=nil @selectedNature=nil @selBaseColor = Color.new(48,96,216) @selShadowColor = Color.new(32,32,32) @show_frame=false @hasNickname = false @nickname = nil @pokemon1=pokemon1 @pokemon2=pokemon2 end def initUIElements @sprites["title"] = Window_UnformattedTextPokemon.newWithSize( _INTL("Select your Pokémon's ability and nature"), 0, 0, Graphics.width, 64, @viewport) @sprites["textbox"] = pbCreateMessageWindow @sprites["textbox"].letterbyletter = false pbSetSystemFont(@sprites["textbox"].contents) @sprites["title"].opacity=0 end def pbStartScene(inloadscreen = nil) super @sprites["option"].opacity=0 end def getAbilityName(ability) return GameData::Ability.get(ability.id).real_name end def getAbilityDescription(ability) return GameData::Ability.get(ability.id).real_description end def getNatureName(nature) return GameData::Nature.get(nature.id).real_name end def getNatureDescription(nature) change= GameData::Nature.get(nature.id).stat_changes return "Neutral nature" if change.empty? positiveChange = change[0] negativeChange = change[1] return _INTL("+ {1}\n- {2}",GameData::Stat.get(positiveChange[0]).name,GameData::Stat.get(negativeChange[0]).name) end 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 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])] ) 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 def isConfirmedOnKeyPress return true end end