mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-07 13:15:01 +00:00
Rewrote party screen, implemented redesign of it
This commit is contained in:
@@ -134,8 +134,8 @@ end
|
||||
def pbChangeLevel(pkmn, new_level, scene)
|
||||
new_level = new_level.clamp(1, GameData::GrowthRate.max_level)
|
||||
if pkmn.level == new_level
|
||||
if scene.is_a?(PokemonPartyScreen)
|
||||
scene.pbDisplay(_INTL("{1}'s level remained unchanged.", pkmn.name))
|
||||
if scene.is_a?(UI::Party)
|
||||
scene.show_message(_INTL("{1}'s level remained unchanged.", pkmn.name))
|
||||
else
|
||||
pbMessage(_INTL("{1}'s level remained unchanged.", pkmn.name))
|
||||
end
|
||||
@@ -153,8 +153,8 @@ def pbChangeLevel(pkmn, new_level, scene)
|
||||
pkmn.hp = 1 if new_level > old_level && pkmn.species_data.base_stats[:HP] == 1
|
||||
scene.pbRefresh
|
||||
if old_level > new_level
|
||||
if scene.is_a?(PokemonPartyScreen)
|
||||
scene.pbDisplay(_INTL("{1} dropped to Lv. {2}!", pkmn.name, pkmn.level))
|
||||
if scene.is_a?(UI::Party)
|
||||
scene.show_message(_INTL("{1} dropped to Lv. {2}!", pkmn.name, pkmn.level))
|
||||
else
|
||||
pbMessage(_INTL("{1} dropped to Lv. {2}!", pkmn.name, pkmn.level))
|
||||
end
|
||||
@@ -170,8 +170,8 @@ def pbChangeLevel(pkmn, new_level, scene)
|
||||
pkmn.totalhp, pkmn.attack, pkmn.defense, pkmn.spatk, pkmn.spdef, pkmn.speed), scene)
|
||||
else
|
||||
pkmn.changeHappiness("vitamin")
|
||||
if scene.is_a?(PokemonPartyScreen)
|
||||
scene.pbDisplay(_INTL("{1} grew to Lv. {2}!", pkmn.name, pkmn.level))
|
||||
if scene.is_a?(UI::Party)
|
||||
scene.show_message(_INTL("{1} grew to Lv. {2}!", pkmn.name, pkmn.level))
|
||||
else
|
||||
pbMessage(_INTL("{1} grew to Lv. {2}!", pkmn.name, pkmn.level))
|
||||
end
|
||||
@@ -199,7 +199,7 @@ def pbChangeLevel(pkmn, new_level, scene)
|
||||
evo.pbStartScreen(pkmn, new_species)
|
||||
evo.pbEvolution
|
||||
evo.pbEndScreen
|
||||
scene.pbRefresh if scene.is_a?(PokemonPartyScreen)
|
||||
scene.refresh if scene.is_a?(UI::Party)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -225,8 +225,8 @@ end
|
||||
def pbChangeExp(pkmn, new_exp, scene)
|
||||
new_exp = new_exp.clamp(0, pkmn.growth_rate.maximum_exp)
|
||||
if pkmn.exp == new_exp
|
||||
if scene.is_a?(PokemonPartyScreen)
|
||||
scene.pbDisplay(_INTL("{1}'s Exp. Points remained unchanged.", pkmn.name))
|
||||
if scene.is_a?(UI::Party)
|
||||
scene.show_message(_INTL("{1}'s Exp. Points remained unchanged.", pkmn.name))
|
||||
else
|
||||
pbMessage(_INTL("{1}'s Exp. Points remained unchanged.", pkmn.name))
|
||||
end
|
||||
@@ -241,8 +241,8 @@ def pbChangeExp(pkmn, new_exp, scene)
|
||||
old_speed = pkmn.speed
|
||||
if pkmn.exp > new_exp # Loses Exp
|
||||
difference = pkmn.exp - new_exp
|
||||
if scene.is_a?(PokemonPartyScreen)
|
||||
scene.pbDisplay(_INTL("{1} lost {2} Exp. Points!", pkmn.name, difference))
|
||||
if scene.is_a?(UI::Party)
|
||||
scene.show_message(_INTL("{1} lost {2} Exp. Points!", pkmn.name, difference))
|
||||
else
|
||||
pbMessage(_INTL("{1} lost {2} Exp. Points!", pkmn.name, difference))
|
||||
end
|
||||
@@ -251,8 +251,8 @@ def pbChangeExp(pkmn, new_exp, scene)
|
||||
scene.pbRefresh
|
||||
return if pkmn.level == old_level
|
||||
# Level changed
|
||||
if scene.is_a?(PokemonPartyScreen)
|
||||
scene.pbDisplay(_INTL("{1} dropped to Lv. {2}!", pkmn.name, pkmn.level))
|
||||
if scene.is_a?(UI::Party)
|
||||
scene.show_message(_INTL("{1} dropped to Lv. {2}!", pkmn.name, pkmn.level))
|
||||
else
|
||||
pbMessage(_INTL("{1} dropped to Lv. {2}!", pkmn.name, pkmn.level))
|
||||
end
|
||||
@@ -268,8 +268,8 @@ def pbChangeExp(pkmn, new_exp, scene)
|
||||
pkmn.totalhp, pkmn.attack, pkmn.defense, pkmn.spatk, pkmn.spdef, pkmn.speed), scene)
|
||||
else # Gains Exp
|
||||
difference = new_exp - pkmn.exp
|
||||
if scene.is_a?(PokemonPartyScreen)
|
||||
scene.pbDisplay(_INTL("{1} gained {2} Exp. Points!", pkmn.name, difference))
|
||||
if scene.is_a?(UI::Party)
|
||||
scene.show_message(_INTL("{1} gained {2} Exp. Points!", pkmn.name, difference))
|
||||
else
|
||||
pbMessage(_INTL("{1} gained {2} Exp. Points!", pkmn.name, difference))
|
||||
end
|
||||
@@ -279,8 +279,8 @@ def pbChangeExp(pkmn, new_exp, scene)
|
||||
scene.pbRefresh
|
||||
return if pkmn.level == old_level
|
||||
# Level changed
|
||||
if scene.is_a?(PokemonPartyScreen)
|
||||
scene.pbDisplay(_INTL("{1} grew to Lv. {2}!", pkmn.name, pkmn.level))
|
||||
if scene.is_a?(UI::Party)
|
||||
scene.show_message(_INTL("{1} grew to Lv. {2}!", pkmn.name, pkmn.level))
|
||||
else
|
||||
pbMessage(_INTL("{1} grew to Lv. {2}!", pkmn.name, pkmn.level))
|
||||
end
|
||||
@@ -308,7 +308,7 @@ def pbChangeExp(pkmn, new_exp, scene)
|
||||
evo.pbStartScreen(pkmn, new_species)
|
||||
evo.pbEvolution
|
||||
evo.pbEndScreen
|
||||
scene.pbRefresh if scene.is_a?(PokemonPartyScreen)
|
||||
scene.refresh if scene.is_a?(UI::Party)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -320,7 +320,7 @@ def pbGainExpFromExpCandy(pkmn, base_amt, qty, scene)
|
||||
return false
|
||||
end
|
||||
pbSEPlay("Pkmn level up")
|
||||
scene.scene.pbSetHelpText("") if scene.is_a?(PokemonPartyScreen)
|
||||
scene.set_help_text("") if scene.is_a?(UI::Party)
|
||||
if qty > 1
|
||||
(qty - 1).times { pkmn.changeHappiness("vitamin") }
|
||||
end
|
||||
@@ -581,9 +581,12 @@ end
|
||||
#===============================================================================
|
||||
# Teach and forget a move.
|
||||
#===============================================================================
|
||||
def pbLearnMove(pkmn, move, ignore_if_known = false, by_machine = false, &block)
|
||||
def pbLearnMove(pkmn, move, ignore_if_known = false, by_machine = false, screen = nil, &block)
|
||||
return false if !pkmn
|
||||
pkmn_name = pkmn.name
|
||||
move = GameData::Move.get(move).id
|
||||
move_name = GameData::Move.get(move).name
|
||||
# Check if Pokémon is unable to learn any moves
|
||||
if pkmn.egg? && !$DEBUG
|
||||
pbMessage(_INTL("Eggs can't be taught any moves."), &block)
|
||||
return false
|
||||
@@ -591,27 +594,29 @@ def pbLearnMove(pkmn, move, ignore_if_known = false, by_machine = false, &block)
|
||||
pbMessage(_INTL("Shadow Pokémon can't be taught any moves."), &block)
|
||||
return false
|
||||
end
|
||||
pkmn_name = pkmn.name
|
||||
move_name = GameData::Move.get(move).name
|
||||
# Check if Pokémon can learn this move
|
||||
if pkmn.hasMove?(move)
|
||||
pbMessage(_INTL("{1} already knows {2}.", pkmn_name, move_name), &block) if !ignore_if_known
|
||||
if !ignore_if_known
|
||||
pbMessage(_INTL("{1} already knows {2}.", pkmn_name, move_name), &block)
|
||||
end
|
||||
return false
|
||||
elsif pkmn.numMoves < Pokemon::MAX_MOVES
|
||||
pkmn.learn_move(move)
|
||||
pbMessage("\\se[]" + _INTL("{1} learned {2}!", pkmn_name, move_name) + "\\se[Pkmn move learnt]", &block)
|
||||
return true
|
||||
end
|
||||
# Pokémon needs to forget a move to learn this one
|
||||
pbMessage(_INTL("{1} wants to learn {2}, but it already knows {3} moves.",
|
||||
pkmn_name, move_name, pkmn.numMoves.to_word) + "\1", &block)
|
||||
if pbConfirmMessage(_INTL("Should {1} forget a move to learn {2}?", pkmn_name, move_name), &block)
|
||||
loop do
|
||||
move_index = pbForgetMove(pkmn, move)
|
||||
move_index = pbForgetMove(pkmn, move, screen)
|
||||
if move_index >= 0
|
||||
old_move_name = pkmn.moves[move_index].name
|
||||
oldmovepp = pkmn.moves[move_index].pp
|
||||
old_move_pp = pkmn.moves[move_index].pp
|
||||
pkmn.moves[move_index] = Pokemon::Move.new(move) # Replaces current/total PP
|
||||
if by_machine && Settings::TAUGHT_MACHINES_KEEP_OLD_PP
|
||||
pkmn.moves[move_index].pp = [oldmovepp, pkmn.moves[move_index].total_pp].min
|
||||
pkmn.moves[move_index].pp = [old_move_pp, pkmn.moves[move_index].total_pp].min
|
||||
end
|
||||
pbMessage(_INTL("1, 2, and...\\wt[16] ...\\wt[16] ...\\wt[16] Ta-da!") + "\\se[Battle ball drop]\1", &block)
|
||||
pbMessage(_INTL("{1} forgot how to use {2}.\nAnd..." + "\1", pkmn_name, old_move_name), &block)
|
||||
@@ -629,11 +634,11 @@ def pbLearnMove(pkmn, move, ignore_if_known = false, by_machine = false, &block)
|
||||
return false
|
||||
end
|
||||
|
||||
def pbForgetMove(pkmn, moveToLearn)
|
||||
def pbForgetMove(pkmn, move_to_learn, screen = nil)
|
||||
ret = -1
|
||||
pbFadeOutIn do
|
||||
screen = UI::PokemonSummary.new([pkmn], 0, mode: :choose_move, new_move: moveToLearn)
|
||||
ret = screen.choose_move
|
||||
pbFadeOutInWithUpdate(screen&.sprites) do
|
||||
summary_screen = UI::PokemonSummary.new([pkmn], 0, mode: :choose_move, new_move: move_to_learn)
|
||||
ret = summary_screen.choose_move
|
||||
end
|
||||
return ret
|
||||
end
|
||||
@@ -642,7 +647,7 @@ end
|
||||
# Use an item from the Bag and/or on a Pokémon.
|
||||
#===============================================================================
|
||||
# @return [Integer] 0 = item wasn't used; 1 = item used; 2 = close Bag to use in field
|
||||
def pbUseItem(bag, item, bagscene = nil)
|
||||
def pbUseItem(bag, item, bag_scene = nil)
|
||||
itm = GameData::Item.get(item)
|
||||
useType = itm.field_use
|
||||
if useType == 1 # Item is usable on a Pokémon
|
||||
@@ -660,37 +665,35 @@ def pbUseItem(bag, item, bagscene = nil)
|
||||
end
|
||||
end
|
||||
pbFadeOutIn do
|
||||
scene = PokemonParty_Scene.new
|
||||
screen = PokemonPartyScreen.new(scene, $player.party)
|
||||
screen.pbStartScene(_INTL("Use on which Pokémon?"), false, annot)
|
||||
loop do
|
||||
scene.pbSetHelpText(_INTL("Use on which Pokémon?"))
|
||||
chosen = screen.pbChoosePokemon
|
||||
if chosen < 0
|
||||
ret = false
|
||||
break
|
||||
end
|
||||
pkmn = $player.party[chosen]
|
||||
next if !pbCheckUseOnPokemon(item, pkmn, screen)
|
||||
screen = UI::Party.new($player.party, mode: :use_item)
|
||||
if itm.is_evolution_stone?
|
||||
screen.set_able_annotation_proc(proc { |pkmn| next pkmn.check_evolution_on_use_item(item) })
|
||||
end
|
||||
screen.choose_pokemon do |pkmn, party_index|
|
||||
next true if party_index < 0
|
||||
next false if !pbCheckUseOnPokemon(item, pkmn, screen)
|
||||
qty = 1
|
||||
max_at_once = ItemHandlers.triggerUseOnPokemonMaximum(item, pkmn)
|
||||
max_at_once = [max_at_once, $bag.quantity(item)].min
|
||||
max_at_once = [max_at_once, bag.quantity(item)].min
|
||||
if max_at_once > 1
|
||||
qty = screen.scene.pbChooseNumber(
|
||||
pbPlayDecisionSE
|
||||
qty = screen.choose_number(
|
||||
_INTL("How many {1} do you want to use?", GameData::Item.get(item).portion_name_plural), max_at_once
|
||||
)
|
||||
screen.scene.pbSetHelpText("") if screen.is_a?(PokemonPartyScreen)
|
||||
screen.set_help_text("")
|
||||
end
|
||||
next if qty <= 0
|
||||
next false if qty <= 0
|
||||
ret = ItemHandlers.triggerUseOnPokemon(item, qty, pkmn, screen)
|
||||
next unless ret && itm.consumed_after_use?
|
||||
bag.remove(item, qty)
|
||||
next if bag.has?(item)
|
||||
pbMessage(_INTL("You used your last {1}.", itm.portion_name)) { screen.pbUpdate }
|
||||
break
|
||||
if ret && itm.consumed_after_use?
|
||||
bag.remove(item, qty)
|
||||
if !bag.has?(item)
|
||||
screen.show_message(_INTL("You used your last {1}.", itm.portion_name))
|
||||
next true
|
||||
end
|
||||
end
|
||||
next false
|
||||
end
|
||||
screen.pbEndScene
|
||||
bagscene&.pbRefresh
|
||||
bag_scene&.pbRefresh
|
||||
end
|
||||
return (ret) ? 1 : 0
|
||||
elsif useType == 2 || itm.is_machine? # Item is usable from Bag or teaches a move
|
||||
@@ -708,6 +711,7 @@ end
|
||||
|
||||
# Only called when in the party screen and having chosen an item to be used on
|
||||
# the selected Pokémon.
|
||||
# TODO: Replace all pbMessage and so on in here. scene is the party screen.
|
||||
def pbUseItemOnPokemon(item, pkmn, scene)
|
||||
itm = GameData::Item.get(item)
|
||||
# TM or HM
|
||||
@@ -738,12 +742,12 @@ def pbUseItemOnPokemon(item, pkmn, scene)
|
||||
qty = scene.scene.pbChooseNumber(
|
||||
_INTL("How many {1} do you want to use?", itm.portion_name_plural), max_at_once
|
||||
)
|
||||
scene.scene.pbSetHelpText("") if scene.is_a?(PokemonPartyScreen)
|
||||
scene.set_help_text("") if scene.is_a?(UI::Party)
|
||||
end
|
||||
return false if qty <= 0
|
||||
ret = ItemHandlers.triggerUseOnPokemon(item, qty, pkmn, scene)
|
||||
scene.pbClearAnnotations
|
||||
scene.pbHardRefresh
|
||||
scene.clear_annotations
|
||||
scene.refresh
|
||||
if ret && itm.consumed_after_use?
|
||||
$bag.remove(item, qty)
|
||||
if !$bag.has?(item)
|
||||
@@ -779,6 +783,7 @@ end
|
||||
#===============================================================================
|
||||
# Give an item to a Pokémon to hold, and take a held item from a Pokémon.
|
||||
#===============================================================================
|
||||
# TODO: Replace all pbDisplay and so on in here.
|
||||
def pbGiveItemToPokemon(item, pkmn, scene, pkmnid = 0)
|
||||
return false if item.nil?
|
||||
newitemname = GameData::Item.get(item).portion_name
|
||||
@@ -824,6 +829,7 @@ def pbGiveItemToPokemon(item, pkmn, scene, pkmnid = 0)
|
||||
return false
|
||||
end
|
||||
|
||||
# TODO: Replace all pbDisplay and so on in here.
|
||||
def pbTakeItemFromPokemon(pkmn, scene)
|
||||
ret = false
|
||||
if !pkmn.hasItem?
|
||||
@@ -833,23 +839,25 @@ def pbTakeItemFromPokemon(pkmn, scene)
|
||||
elsif pkmn.mail
|
||||
if scene.pbConfirm(_INTL("Save the removed mail in your PC?"))
|
||||
if pbMoveToMailbox(pkmn)
|
||||
scene.pbDisplay(_INTL("The mail was saved in your PC."))
|
||||
pkmn.item = nil
|
||||
scene.pbDisplay(_INTL("The mail was saved in your PC."))
|
||||
ret = true
|
||||
else
|
||||
scene.pbDisplay(_INTL("Your PC's Mailbox is full."))
|
||||
end
|
||||
elsif scene.pbConfirm(_INTL("If the mail is removed, its message will be lost. OK?"))
|
||||
item_name = pkmn.item.portion_name
|
||||
$bag.add(pkmn.item)
|
||||
scene.pbDisplay(_INTL("Received the {1} from {2}.", pkmn.item.portion_name, pkmn.name))
|
||||
pkmn.item = nil
|
||||
pkmn.mail = nil
|
||||
scene.pbDisplay(_INTL("Received the {1} from {2}.", item_name, pkmn.name))
|
||||
ret = true
|
||||
end
|
||||
else
|
||||
item_name = pkmn.item.portion_name
|
||||
$bag.add(pkmn.item)
|
||||
scene.pbDisplay(_INTL("Received the {1} from {2}.", pkmn.item.portion_name, pkmn.name))
|
||||
pkmn.item = nil
|
||||
scene.pbDisplay(_INTL("Received the {1} from {2}.", item_name, pkmn.name))
|
||||
ret = true
|
||||
end
|
||||
return ret
|
||||
|
||||
@@ -243,19 +243,19 @@ ItemHandlers::UseInField.add(:SACREDASH, proc { |item|
|
||||
end
|
||||
revived = 0
|
||||
pbFadeOutIn do
|
||||
scene = PokemonParty_Scene.new
|
||||
screen = PokemonPartyScreen.new(scene, $player.party)
|
||||
screen.pbStartScene(_INTL("Using item..."), false)
|
||||
pbSEPlay("Use item in party")
|
||||
$player.party.each_with_index do |pkmn, i|
|
||||
next if !pkmn.fainted?
|
||||
revived += 1
|
||||
pkmn.heal
|
||||
screen.pbRefreshSingle(i)
|
||||
screen.pbDisplay(_INTL("{1}'s HP was restored.", pkmn.name))
|
||||
screen = UI::Party.new($player.party, mode: :choose_pokemon)
|
||||
screen.set_help_text(_INTL("Using item..."))
|
||||
screen.show_and_hide do
|
||||
$player.party.each_with_index do |pkmn, i|
|
||||
next if !pkmn.fainted?
|
||||
revived += 1
|
||||
pkmn.heal
|
||||
screen.refresh
|
||||
pbSEPlay("Use item in party")
|
||||
screen.show_message(_INTL("{1}'s HP was restored.", pkmn.name))
|
||||
end
|
||||
screen.show_message(_INTL("It won't have any effect.")) if revived == 0
|
||||
end
|
||||
screen.pbDisplay(_INTL("It won't have any effect.")) if revived == 0
|
||||
screen.pbEndScene
|
||||
end
|
||||
next (revived > 0)
|
||||
})
|
||||
@@ -391,16 +391,16 @@ ItemHandlers::UseOnPokemon.addIf(:evolution_stones,
|
||||
scene.pbDisplay(_INTL("It won't have any effect."))
|
||||
next false
|
||||
end
|
||||
newspecies = pkmn.check_evolution_on_use_item(item)
|
||||
if newspecies
|
||||
new_species = pkmn.check_evolution_on_use_item(item)
|
||||
if new_species
|
||||
pbFadeOutInWithMusic do
|
||||
evo = PokemonEvolutionScene.new
|
||||
evo.pbStartScreen(pkmn, newspecies)
|
||||
evo.pbStartScreen(pkmn, new_species)
|
||||
evo.pbEvolution(false)
|
||||
evo.pbEndScreen
|
||||
if scene.is_a?(PokemonPartyScreen)
|
||||
scene.pbRefreshAnnotations(proc { |p| !p.check_evolution_on_use_item(item).nil? })
|
||||
scene.pbRefresh
|
||||
if scene.is_a?(UI::Party)
|
||||
scene.set_able_annotation_proc(proc { |pkmn| !pkmn.check_evolution_on_use_item(item).nil? })
|
||||
scene.refresh
|
||||
end
|
||||
end
|
||||
next true
|
||||
@@ -415,17 +415,17 @@ ItemHandlers::UseOnPokemon.add(:SCROLLOFWATERS, proc { |item, qty, pkmn, scene|
|
||||
scene.pbDisplay(_INTL("It won't have any effect."))
|
||||
next false
|
||||
end
|
||||
newspecies = pkmn.check_evolution_on_use_item(item)
|
||||
if newspecies
|
||||
new_species = pkmn.check_evolution_on_use_item(item)
|
||||
if new_species
|
||||
pkmn.form = 1 # NOTE: This is the only difference to the generic evolution stone code.
|
||||
pbFadeOutInWithMusic do
|
||||
evo = PokemonEvolutionScene.new
|
||||
evo.pbStartScreen(pkmn, newspecies)
|
||||
evo.pbStartScreen(pkmn, new_species)
|
||||
evo.pbEvolution(false)
|
||||
evo.pbEndScreen
|
||||
if scene.is_a?(PokemonPartyScreen)
|
||||
scene.pbRefreshAnnotations(proc { |p| !p.check_evolution_on_use_item(item).nil? })
|
||||
scene.pbRefresh
|
||||
if scene.is_a?(UI::Party)
|
||||
scene.set_able_annotation_proc(proc { |p| !p.check_evolution_on_use_item(item).nil? })
|
||||
scene.refresh
|
||||
end
|
||||
end
|
||||
next true
|
||||
@@ -995,7 +995,7 @@ ItemHandlers::UseOnPokemon.add(:RARECANDY, proc { |item, qty, pkmn, scene|
|
||||
evo.pbStartScreen(pkmn, new_species)
|
||||
evo.pbEvolution
|
||||
evo.pbEndScreen
|
||||
scene.pbRefresh if scene.is_a?(PokemonPartyScreen)
|
||||
scene.refresh if scene.is_a?(UI::Party)
|
||||
end
|
||||
next true
|
||||
end
|
||||
|
||||
@@ -101,7 +101,7 @@ def pbWriteMail(item, pkmn, pkmnid, scene)
|
||||
message = ""
|
||||
loop do
|
||||
message = pbMessageFreeText(_INTL("Please enter a message (max. 250 characters)."),
|
||||
"", false, 250, Graphics.width) { scene.pbUpdate }
|
||||
"", false, 250, Graphics.width) { scene.update }
|
||||
if message != ""
|
||||
# Store mail if a message was written
|
||||
poke1 = poke2 = nil
|
||||
@@ -120,6 +120,6 @@ def pbWriteMail(item, pkmn, pkmnid, scene)
|
||||
pbStoreMail(pkmn, item, message, poke1, poke2, poke3)
|
||||
return true
|
||||
end
|
||||
return false if scene.pbConfirm(_INTL("Stop giving the Pokémon Mail?"))
|
||||
return false if scene.show_confirm_message(_INTL("Stop giving the Pokémon Mail?"))
|
||||
end
|
||||
end
|
||||
|
||||
@@ -120,7 +120,7 @@ class HeldItemIconSprite < Sprite
|
||||
self.y = y
|
||||
@pokemon = pokemon
|
||||
@item = nil
|
||||
self.item = @pokemon.item_id
|
||||
self.item = @pokemon&.item_id
|
||||
end
|
||||
|
||||
def dispose
|
||||
@@ -130,7 +130,7 @@ class HeldItemIconSprite < Sprite
|
||||
|
||||
def pokemon=(value)
|
||||
@pokemon = value
|
||||
self.item = @pokemon.item_id
|
||||
self.item = @pokemon&.item_id
|
||||
end
|
||||
|
||||
def item=(value)
|
||||
@@ -148,7 +148,7 @@ class HeldItemIconSprite < Sprite
|
||||
|
||||
def update
|
||||
super
|
||||
self.item = @pokemon.item_id
|
||||
self.item = @pokemon&.item_id
|
||||
if @animbitmap
|
||||
@animbitmap.update
|
||||
self.bitmap = @animbitmap.bitmap
|
||||
|
||||
Reference in New Issue
Block a user