Improved code for using multiples of an item at once, added a Setting for it, made it apply to more items

This commit is contained in:
Maruno17
2021-12-12 00:10:01 +00:00
parent 2ddedfb935
commit 2444b70ef6
3 changed files with 356 additions and 304 deletions

View File

@@ -167,6 +167,10 @@ module Settings
# Whether Rare Candy can be used on a Pokémon that is already at its maximum # Whether Rare Candy can be used on a Pokémon that is already at its maximum
# level if it is able to evolve by level-up (if so, triggers that evolution). # level if it is able to evolve by level-up (if so, triggers that evolution).
RARE_CANDY_USABLE_AT_MAX_LEVEL = (MECHANICS_GENERATION >= 8) RARE_CANDY_USABLE_AT_MAX_LEVEL = (MECHANICS_GENERATION >= 8)
# Whether the player can choose how many of an item to use at once on a
# Pokémon. This applies to Exp-changing items (Rare Candy, Exp Candies) and
# EV-changing items (vitamins, feathers, EV-lowering berries).
USE_MULTIPLE_STAT_ITEMS_AT_ONCE = (MECHANICS_GENERATION >= 8)
# Whether you get 1 Premier Ball for every 10 of any kind of Poké Ball bought # Whether you get 1 Premier Ball for every 10 of any kind of Poké Ball bought
# at once (true), or 1 Premier Ball for buying 10+ Poké Balls (false). # at once (true), or 1 Premier Ball for buying 10+ Poké Balls (false).
MORE_BONUS_PREMIER_BALLS = (MECHANICS_GENERATION >= 8) MORE_BONUS_PREMIER_BALLS = (MECHANICS_GENERATION >= 8)

View File

@@ -2,15 +2,16 @@
# ItemHandlers # ItemHandlers
#=============================================================================== #===============================================================================
module ItemHandlers module ItemHandlers
UseText = ItemHandlerHash.new UseText = ItemHandlerHash.new
UseFromBag = ItemHandlerHash.new UseFromBag = ItemHandlerHash.new
ConfirmUseInField = ItemHandlerHash.new ConfirmUseInField = ItemHandlerHash.new
UseInField = ItemHandlerHash.new UseInField = ItemHandlerHash.new
UseOnPokemon = ItemHandlerHash.new UseOnPokemon = ItemHandlerHash.new
CanUseInBattle = ItemHandlerHash.new UseOnPokemonMaximum = ItemHandlerHash.new
UseInBattle = ItemHandlerHash.new CanUseInBattle = ItemHandlerHash.new
BattleUseOnBattler = ItemHandlerHash.new UseInBattle = ItemHandlerHash.new
BattleUseOnPokemon = ItemHandlerHash.new BattleUseOnBattler = ItemHandlerHash.new
BattleUseOnPokemon = ItemHandlerHash.new
def self.hasUseText(item) def self.hasUseText(item)
return UseText[item]!=nil return UseText[item]!=nil
@@ -28,6 +29,10 @@ module ItemHandlers
return UseOnPokemon[item]!=nil return UseOnPokemon[item]!=nil
end end
def self.hasUseOnPokemonMaximum(item)
return UseOnPokemonMaximum[item] != nil
end
def self.hasUseInBattle(item) def self.hasUseInBattle(item)
return UseInBattle[item]!=nil return UseInBattle[item]!=nil
end end
@@ -74,9 +79,16 @@ module ItemHandlers
end end
# Returns whether item was used # Returns whether item was used
def self.triggerUseOnPokemon(item,pkmn,scene) def self.triggerUseOnPokemon(item, qty, pkmn, scene)
return false if !UseOnPokemon[item] return false if !UseOnPokemon[item]
return UseOnPokemon.trigger(item,pkmn,scene) return UseOnPokemon.trigger(item, qty, pkmn, scene)
end
# Returns the maximum number of the item that can be used on the Pokémon at once.
def self.triggerUseOnPokemonMaximum(item, pkmn)
return 1 if !UseOnPokemonMaximum[item]
return 1 if !Settings::USE_MULTIPLE_STAT_ITEMS_AT_ONCE
return [UseOnPokemonMaximum.trigger(item, pkmn), 1].max
end end
def self.triggerCanUseInBattle(item,pkmn,battler,move,firstAction,battle,scene,showMessages=true) def self.triggerCanUseInBattle(item,pkmn,battler,move,firstAction,battle,scene,showMessages=true)
@@ -126,6 +138,7 @@ def pbChangeLevel(pkmn, new_level, scene)
end end
return return
end end
old_level = pkmn.level
old_total_hp = pkmn.totalhp old_total_hp = pkmn.totalhp
old_attack = pkmn.attack old_attack = pkmn.attack
old_defense = pkmn.defense old_defense = pkmn.defense
@@ -174,7 +187,7 @@ def pbChangeLevel(pkmn, new_level, scene)
# Learn new moves upon level up # Learn new moves upon level up
movelist = pkmn.getMoveList movelist = pkmn.getMoveList
for i in movelist for i in movelist
next if i[0] != pkmn.level next if i[0] <= old_level || i[0] > pkmn.level
pbLearnMove(pkmn, i[1], true) { scene.pbUpdate } pbLearnMove(pkmn, i[1], true) { scene.pbUpdate }
end end
# Check for evolution # Check for evolution
@@ -300,6 +313,20 @@ def pbChangeExp(pkmn, new_exp, scene)
end end
end end
def pbGainExpFromExpCandy(pkmn, base_amt, qty, scene)
if pkmn.level >= GameData::GrowthRate.max_level || pkmn.shadowPokemon?
scene.pbDisplay(_INTL("It won't have any effect."))
return false
end
scene.scene.pbSetHelpText("") if scene.is_a?(PokemonPartyScreen)
if qty > 1
(qty - 1).times { pkmn.changeHappiness("vitamin") }
end
pbChangeExp(pkmn, pkmn.exp + base_amt * qty, scene)
scene.pbHardRefresh
return true
end
#=============================================================================== #===============================================================================
# Restore HP # Restore HP
#=============================================================================== #===============================================================================
@@ -387,7 +414,56 @@ def pbRaiseEffortValues(pkmn, stat, evGain = 10, no_ev_cap = false)
return evGain return evGain
end end
def pbRaiseHappinessAndLowerEV(pkmn,scene,stat,messages) def pbMaxUsesOfEVRaisingItem(stat, amt_per_use, pkmn, no_ev_cap = false)
max_per_stat = (no_ev_cap) ? Pokemon::EV_STAT_LIMIT : 100
amt_can_gain = max_per_stat - pkmn.ev[stat]
ev_total = 0
GameData::Stat.each_main { |s| ev_total += pkmn.ev[s.id] }
amt_can_gain = [amt_can_gain, Pokemon::EV_LIMIT - ev_total].min
return [(amt_can_gain.to_f / amt_per_use).ceil, 1].max
end
def pbUseEVRaisingItem(stat, amt_per_use, qty, pkmn, happiness_type, scene, no_ev_cap = false)
ret = true
qty.times do |i|
if pbRaiseEffortValues(pkmn, stat, amt_per_use, no_ev_cap) > 0
pkmn.changeHappiness(happiness_type)
else
ret = false if i == 0
break
end
end
if !ret
scene.pbDisplay(_INTL("It won't have any effect."))
return false
end
scene.pbRefresh
scene.pbDisplay(_INTL("{1}'s {2} increased.", pkmn.name, GameData::Stat.get(stat).name))
return true
end
def pbMaxUsesOfEVLoweringBerry(stat, pkmn)
ret = (pkmn.ev[stat].to_f / 10).ceil
happiness = pkmn.happiness
uses = 0
if happiness < 255
bonus_per_use = 0
bonus_per_use += 1 if pkmn.obtain_map == $game_map.map_id
bonus_per_use += 1 if pkmn.poke_ball == :LUXURYBALL
has_soothe_bell = pkmn.hasItem?(:SOOTHEBELL)
loop do
uses += 1
gain = [10, 5, 2][happiness / 100]
gain += bonus_per_use
gain = (gain * 1.5).floor if has_soothe_bell
happiness += gain
break if happiness >= 255
end
end
return [ret, uses].max
end
def pbRaiseHappinessAndLowerEV(pkmn, scene, stat, qty, messages)
h = pkmn.happiness<255 h = pkmn.happiness<255
e = pkmn.ev[stat]>0 e = pkmn.ev[stat]>0
if !h && !e if !h && !e
@@ -395,10 +471,10 @@ def pbRaiseHappinessAndLowerEV(pkmn,scene,stat,messages)
return false return false
end end
if h if h
pkmn.changeHappiness("evberry") qty.times { |i| pkmn.changeHappiness("evberry") }
end end
if e if e
pkmn.ev[stat] -= 10 pkmn.ev[stat] -= 10 * qty
pkmn.ev[stat] = 0 if pkmn.ev[stat]<0 pkmn.ev[stat] = 0 if pkmn.ev[stat]<0
pkmn.calc_stats pkmn.calc_stats
end end
@@ -609,12 +685,21 @@ def pbUseItem(bag,item,bagscene=nil)
break break
end end
pkmn = $player.party[chosen] pkmn = $player.party[chosen]
if pbCheckUseOnPokemon(item,pkmn,screen) next if !pbCheckUseOnPokemon(item, pkmn, screen)
ret = ItemHandlers.triggerUseOnPokemon(item,pkmn,screen) qty = 1
max_at_once = ItemHandlers.triggerUseOnPokemonMaximum(item, pkmn)
max_at_once = [max_at_once, $bag.quantity(item)].min
if max_at_once > 1
qty = screen.scene.pbChooseNumber(
_INTL("How many {1} do you want to use?", GameData::Item.get(item).name), max_at_once)
screen.scene.pbSetHelpText("") if screen.is_a?(PokemonPartyScreen)
end
if qty >= 1
ret = ItemHandlers.triggerUseOnPokemon(item, qty, pkmn, screen)
if ret && itm.consumed_after_use? if ret && itm.consumed_after_use?
bag.remove(item) bag.remove(item, qty)
if !bag.has?(item) if !bag.has?(item)
pbMessage(_INTL("You used your last {1}.",itm.name)) { screen.pbUpdate } pbMessage(_INTL("You used your last {1}.", itm.name)) { screen.pbUpdate }
break break
end end
end end
@@ -662,11 +747,20 @@ def pbUseItemOnPokemon(item,pkmn,scene)
return false return false
end end
# Other item # Other item
ret = ItemHandlers.triggerUseOnPokemon(item,pkmn,scene) qty = 1
max_at_once = ItemHandlers.triggerUseOnPokemonMaximum(item, pkmn)
max_at_once = [max_at_once, $bag.quantity(item)].min
if max_at_once > 1
qty = scene.scene.pbChooseNumber(
_INTL("How many {1} do you want to use?", itm.name), max_at_once)
scene.scene.pbSetHelpText("") if scene.is_a?(PokemonPartyScreen)
end
return false if qty <= 0
ret = ItemHandlers.triggerUseOnPokemon(item, qty, pkmn, scene)
scene.pbClearAnnotations scene.pbClearAnnotations
scene.pbHardRefresh scene.pbHardRefresh
if ret && itm.consumed_after_use? if ret && itm.consumed_after_use?
$bag.remove(item) $bag.remove(item, qty)
if !$bag.has?(item) if !$bag.has?(item)
pbMessage(_INTL("You used your last {1}.",itm.name)) { scene.pbUpdate } pbMessage(_INTL("You used your last {1}.",itm.name)) { scene.pbUpdate }
end end

View File

@@ -346,7 +346,7 @@ ItemHandlers::UseInField.add(:EXPALLOFF,proc { |item|
# Applies to all items defined as an evolution stone. # Applies to all items defined as an evolution stone.
# No need to add more code for new ones. # No need to add more code for new ones.
ItemHandlers::UseOnPokemon.addIf(proc { |item| GameData::Item.get(item).is_evolution_stone? }, ItemHandlers::UseOnPokemon.addIf(proc { |item| GameData::Item.get(item).is_evolution_stone? },
proc { |item,pkmn,scene| proc { |item, qty, pkmn, scene|
if pkmn.shadowPokemon? if pkmn.shadowPokemon?
scene.pbDisplay(_INTL("It won't have any effect.")) scene.pbDisplay(_INTL("It won't have any effect."))
next false next false
@@ -370,50 +370,50 @@ ItemHandlers::UseOnPokemon.addIf(proc { |item| GameData::Item.get(item).is_evolu
} }
) )
ItemHandlers::UseOnPokemon.add(:POTION,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:POTION,proc { |item, qty, pkmn, scene|
next pbHPItem(pkmn,20,scene) next pbHPItem(pkmn,20,scene)
}) })
ItemHandlers::UseOnPokemon.copy(:POTION,:BERRYJUICE,:SWEETHEART) ItemHandlers::UseOnPokemon.copy(:POTION,:BERRYJUICE,:SWEETHEART)
ItemHandlers::UseOnPokemon.copy(:POTION,:RAGECANDYBAR) if !Settings::RAGE_CANDY_BAR_CURES_STATUS_PROBLEMS ItemHandlers::UseOnPokemon.copy(:POTION,:RAGECANDYBAR) if !Settings::RAGE_CANDY_BAR_CURES_STATUS_PROBLEMS
ItemHandlers::UseOnPokemon.add(:SUPERPOTION,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:SUPERPOTION,proc { |item, qty, pkmn, scene|
next pbHPItem(pkmn, (Settings::REBALANCED_HEALING_ITEM_AMOUNTS) ? 60 : 50, scene) next pbHPItem(pkmn, (Settings::REBALANCED_HEALING_ITEM_AMOUNTS) ? 60 : 50, scene)
}) })
ItemHandlers::UseOnPokemon.add(:HYPERPOTION,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:HYPERPOTION,proc { |item, qty, pkmn, scene|
next pbHPItem(pkmn, (Settings::REBALANCED_HEALING_ITEM_AMOUNTS) ? 120 : 200, scene) next pbHPItem(pkmn, (Settings::REBALANCED_HEALING_ITEM_AMOUNTS) ? 120 : 200, scene)
}) })
ItemHandlers::UseOnPokemon.add(:MAXPOTION,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:MAXPOTION,proc { |item, qty, pkmn, scene|
next pbHPItem(pkmn,pkmn.totalhp-pkmn.hp,scene) next pbHPItem(pkmn,pkmn.totalhp-pkmn.hp,scene)
}) })
ItemHandlers::UseOnPokemon.add(:FRESHWATER,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:FRESHWATER,proc { |item, qty, pkmn, scene|
next pbHPItem(pkmn, (Settings::REBALANCED_HEALING_ITEM_AMOUNTS) ? 30 : 50, scene) next pbHPItem(pkmn, (Settings::REBALANCED_HEALING_ITEM_AMOUNTS) ? 30 : 50, scene)
}) })
ItemHandlers::UseOnPokemon.add(:SODAPOP,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:SODAPOP,proc { |item, qty, pkmn, scene|
next pbHPItem(pkmn, (Settings::REBALANCED_HEALING_ITEM_AMOUNTS) ? 50 : 60, scene) next pbHPItem(pkmn, (Settings::REBALANCED_HEALING_ITEM_AMOUNTS) ? 50 : 60, scene)
}) })
ItemHandlers::UseOnPokemon.add(:LEMONADE,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:LEMONADE,proc { |item, qty, pkmn, scene|
next pbHPItem(pkmn, (Settings::REBALANCED_HEALING_ITEM_AMOUNTS) ? 70 : 80, scene) next pbHPItem(pkmn, (Settings::REBALANCED_HEALING_ITEM_AMOUNTS) ? 70 : 80, scene)
}) })
ItemHandlers::UseOnPokemon.add(:MOOMOOMILK,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:MOOMOOMILK,proc { |item, qty, pkmn, scene|
next pbHPItem(pkmn,100,scene) next pbHPItem(pkmn,100,scene)
}) })
ItemHandlers::UseOnPokemon.add(:ORANBERRY,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:ORANBERRY,proc { |item, qty, pkmn, scene|
next pbHPItem(pkmn,10,scene) next pbHPItem(pkmn,10,scene)
}) })
ItemHandlers::UseOnPokemon.add(:SITRUSBERRY,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:SITRUSBERRY,proc { |item, qty, pkmn, scene|
next pbHPItem(pkmn,pkmn.totalhp/4,scene) next pbHPItem(pkmn,pkmn.totalhp/4,scene)
}) })
ItemHandlers::UseOnPokemon.add(:AWAKENING,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:AWAKENING,proc { |item, qty, pkmn, scene|
if pkmn.fainted? || pkmn.status != :SLEEP if pkmn.fainted? || pkmn.status != :SLEEP
scene.pbDisplay(_INTL("It won't have any effect.")) scene.pbDisplay(_INTL("It won't have any effect."))
next false next false
@@ -426,7 +426,7 @@ ItemHandlers::UseOnPokemon.add(:AWAKENING,proc { |item,pkmn,scene|
ItemHandlers::UseOnPokemon.copy(:AWAKENING,:CHESTOBERRY,:BLUEFLUTE,:POKEFLUTE) ItemHandlers::UseOnPokemon.copy(:AWAKENING,:CHESTOBERRY,:BLUEFLUTE,:POKEFLUTE)
ItemHandlers::UseOnPokemon.add(:ANTIDOTE,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:ANTIDOTE,proc { |item, qty, pkmn, scene|
if pkmn.fainted? || pkmn.status != :POISON if pkmn.fainted? || pkmn.status != :POISON
scene.pbDisplay(_INTL("It won't have any effect.")) scene.pbDisplay(_INTL("It won't have any effect."))
next false next false
@@ -439,7 +439,7 @@ ItemHandlers::UseOnPokemon.add(:ANTIDOTE,proc { |item,pkmn,scene|
ItemHandlers::UseOnPokemon.copy(:ANTIDOTE,:PECHABERRY) ItemHandlers::UseOnPokemon.copy(:ANTIDOTE,:PECHABERRY)
ItemHandlers::UseOnPokemon.add(:BURNHEAL,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:BURNHEAL,proc { |item, qty, pkmn, scene|
if pkmn.fainted? || pkmn.status != :BURN if pkmn.fainted? || pkmn.status != :BURN
scene.pbDisplay(_INTL("It won't have any effect.")) scene.pbDisplay(_INTL("It won't have any effect."))
next false next false
@@ -452,7 +452,7 @@ ItemHandlers::UseOnPokemon.add(:BURNHEAL,proc { |item,pkmn,scene|
ItemHandlers::UseOnPokemon.copy(:BURNHEAL,:RAWSTBERRY) ItemHandlers::UseOnPokemon.copy(:BURNHEAL,:RAWSTBERRY)
ItemHandlers::UseOnPokemon.add(:PARALYZEHEAL,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:PARALYZEHEAL,proc { |item, qty, pkmn, scene|
if pkmn.fainted? || pkmn.status != :PARALYSIS if pkmn.fainted? || pkmn.status != :PARALYSIS
scene.pbDisplay(_INTL("It won't have any effect.")) scene.pbDisplay(_INTL("It won't have any effect."))
next false next false
@@ -465,7 +465,7 @@ ItemHandlers::UseOnPokemon.add(:PARALYZEHEAL,proc { |item,pkmn,scene|
ItemHandlers::UseOnPokemon.copy(:PARALYZEHEAL,:PARLYZHEAL,:CHERIBERRY) ItemHandlers::UseOnPokemon.copy(:PARALYZEHEAL,:PARLYZHEAL,:CHERIBERRY)
ItemHandlers::UseOnPokemon.add(:ICEHEAL,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:ICEHEAL,proc { |item, qty, pkmn, scene|
if pkmn.fainted? || pkmn.status != :FROZEN if pkmn.fainted? || pkmn.status != :FROZEN
scene.pbDisplay(_INTL("It won't have any effect.")) scene.pbDisplay(_INTL("It won't have any effect."))
next false next false
@@ -478,7 +478,7 @@ ItemHandlers::UseOnPokemon.add(:ICEHEAL,proc { |item,pkmn,scene|
ItemHandlers::UseOnPokemon.copy(:ICEHEAL,:ASPEARBERRY) ItemHandlers::UseOnPokemon.copy(:ICEHEAL,:ASPEARBERRY)
ItemHandlers::UseOnPokemon.add(:FULLHEAL,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:FULLHEAL,proc { |item, qty, pkmn, scene|
if pkmn.fainted? || pkmn.status == :NONE if pkmn.fainted? || pkmn.status == :NONE
scene.pbDisplay(_INTL("It won't have any effect.")) scene.pbDisplay(_INTL("It won't have any effect."))
next false next false
@@ -494,7 +494,7 @@ ItemHandlers::UseOnPokemon.copy(:FULLHEAL,
:BIGMALASADA,:PEWTERCRUNCHIES,:LUMBERRY) :BIGMALASADA,:PEWTERCRUNCHIES,:LUMBERRY)
ItemHandlers::UseOnPokemon.copy(:FULLHEAL,:RAGECANDYBAR) if Settings::RAGE_CANDY_BAR_CURES_STATUS_PROBLEMS ItemHandlers::UseOnPokemon.copy(:FULLHEAL,:RAGECANDYBAR) if Settings::RAGE_CANDY_BAR_CURES_STATUS_PROBLEMS
ItemHandlers::UseOnPokemon.add(:FULLRESTORE,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:FULLRESTORE,proc { |item, qty, pkmn, scene|
if pkmn.fainted? || (pkmn.hp==pkmn.totalhp && pkmn.status == :NONE) if pkmn.fainted? || (pkmn.hp==pkmn.totalhp && pkmn.status == :NONE)
scene.pbDisplay(_INTL("It won't have any effect.")) scene.pbDisplay(_INTL("It won't have any effect."))
next false next false
@@ -510,7 +510,7 @@ ItemHandlers::UseOnPokemon.add(:FULLRESTORE,proc { |item,pkmn,scene|
next true next true
}) })
ItemHandlers::UseOnPokemon.add(:REVIVE,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:REVIVE,proc { |item, qty, pkmn, scene|
if !pkmn.fainted? if !pkmn.fainted?
scene.pbDisplay(_INTL("It won't have any effect.")) scene.pbDisplay(_INTL("It won't have any effect."))
next false next false
@@ -523,7 +523,7 @@ ItemHandlers::UseOnPokemon.add(:REVIVE,proc { |item,pkmn,scene|
next true next true
}) })
ItemHandlers::UseOnPokemon.add(:MAXREVIVE,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:MAXREVIVE,proc { |item, qty, pkmn, scene|
if !pkmn.fainted? if !pkmn.fainted?
scene.pbDisplay(_INTL("It won't have any effect.")) scene.pbDisplay(_INTL("It won't have any effect."))
next false next false
@@ -537,7 +537,7 @@ ItemHandlers::UseOnPokemon.add(:MAXREVIVE,proc { |item,pkmn,scene|
ItemHandlers::UseOnPokemon.copy(:MAXREVIVE, :MAXHONEY) ItemHandlers::UseOnPokemon.copy(:MAXREVIVE, :MAXHONEY)
ItemHandlers::UseOnPokemon.add(:ENERGYPOWDER,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:ENERGYPOWDER,proc { |item, qty, pkmn, scene|
if pbHPItem(pkmn, (Settings::REBALANCED_HEALING_ITEM_AMOUNTS) ? 60 : 50, scene) if pbHPItem(pkmn, (Settings::REBALANCED_HEALING_ITEM_AMOUNTS) ? 60 : 50, scene)
pkmn.changeHappiness("powder") pkmn.changeHappiness("powder")
next true next true
@@ -545,7 +545,7 @@ ItemHandlers::UseOnPokemon.add(:ENERGYPOWDER,proc { |item,pkmn,scene|
next false next false
}) })
ItemHandlers::UseOnPokemon.add(:ENERGYROOT,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:ENERGYROOT,proc { |item, qty, pkmn, scene|
if pbHPItem(pkmn, (Settings::REBALANCED_HEALING_ITEM_AMOUNTS) ? 120 : 200, scene) if pbHPItem(pkmn, (Settings::REBALANCED_HEALING_ITEM_AMOUNTS) ? 120 : 200, scene)
pkmn.changeHappiness("energyroot") pkmn.changeHappiness("energyroot")
next true next true
@@ -553,7 +553,7 @@ ItemHandlers::UseOnPokemon.add(:ENERGYROOT,proc { |item,pkmn,scene|
next false next false
}) })
ItemHandlers::UseOnPokemon.add(:HEALPOWDER,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:HEALPOWDER,proc { |item, qty, pkmn, scene|
if pkmn.fainted? || pkmn.status == :NONE if pkmn.fainted? || pkmn.status == :NONE
scene.pbDisplay(_INTL("It won't have any effect.")) scene.pbDisplay(_INTL("It won't have any effect."))
next false next false
@@ -565,7 +565,7 @@ ItemHandlers::UseOnPokemon.add(:HEALPOWDER,proc { |item,pkmn,scene|
next true next true
}) })
ItemHandlers::UseOnPokemon.add(:REVIVALHERB,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:REVIVALHERB,proc { |item, qty, pkmn, scene|
if !pkmn.fainted? if !pkmn.fainted?
scene.pbDisplay(_INTL("It won't have any effect.")) scene.pbDisplay(_INTL("It won't have any effect."))
next false next false
@@ -578,7 +578,7 @@ ItemHandlers::UseOnPokemon.add(:REVIVALHERB,proc { |item,pkmn,scene|
next true next true
}) })
ItemHandlers::UseOnPokemon.add(:ETHER,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:ETHER,proc { |item, qty, pkmn, scene|
move = scene.pbChooseMove(pkmn,_INTL("Restore which move?")) move = scene.pbChooseMove(pkmn,_INTL("Restore which move?"))
next false if move<0 next false if move<0
if pbRestorePP(pkmn,move,10)==0 if pbRestorePP(pkmn,move,10)==0
@@ -591,7 +591,7 @@ ItemHandlers::UseOnPokemon.add(:ETHER,proc { |item,pkmn,scene|
ItemHandlers::UseOnPokemon.copy(:ETHER,:LEPPABERRY) ItemHandlers::UseOnPokemon.copy(:ETHER,:LEPPABERRY)
ItemHandlers::UseOnPokemon.add(:MAXETHER,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:MAXETHER,proc { |item, qty, pkmn, scene|
move = scene.pbChooseMove(pkmn,_INTL("Restore which move?")) move = scene.pbChooseMove(pkmn,_INTL("Restore which move?"))
next false if move<0 next false if move<0
if pbRestorePP(pkmn,move,pkmn.moves[move].total_pp-pkmn.moves[move].pp)==0 if pbRestorePP(pkmn,move,pkmn.moves[move].total_pp-pkmn.moves[move].pp)==0
@@ -602,7 +602,7 @@ ItemHandlers::UseOnPokemon.add(:MAXETHER,proc { |item,pkmn,scene|
next true next true
}) })
ItemHandlers::UseOnPokemon.add(:ELIXIR,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:ELIXIR,proc { |item, qty, pkmn, scene|
pprestored = 0 pprestored = 0
for i in 0...pkmn.moves.length for i in 0...pkmn.moves.length
pprestored += pbRestorePP(pkmn,i,10) pprestored += pbRestorePP(pkmn,i,10)
@@ -615,7 +615,7 @@ ItemHandlers::UseOnPokemon.add(:ELIXIR,proc { |item,pkmn,scene|
next true next true
}) })
ItemHandlers::UseOnPokemon.add(:MAXELIXIR,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:MAXELIXIR,proc { |item, qty, pkmn, scene|
pprestored = 0 pprestored = 0
for i in 0...pkmn.moves.length for i in 0...pkmn.moves.length
pprestored += pbRestorePP(pkmn,i,pkmn.moves[i].total_pp-pkmn.moves[i].pp) pprestored += pbRestorePP(pkmn,i,pkmn.moves[i].total_pp-pkmn.moves[i].pp)
@@ -628,7 +628,7 @@ ItemHandlers::UseOnPokemon.add(:MAXELIXIR,proc { |item,pkmn,scene|
next true next true
}) })
ItemHandlers::UseOnPokemon.add(:PPUP,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:PPUP,proc { |item, qty, pkmn, scene|
move = scene.pbChooseMove(pkmn,_INTL("Boost PP of which move?")) move = scene.pbChooseMove(pkmn,_INTL("Boost PP of which move?"))
if move>=0 if move>=0
if pkmn.moves[move].total_pp<=1 || pkmn.moves[move].ppup>=3 if pkmn.moves[move].total_pp<=1 || pkmn.moves[move].ppup>=3
@@ -643,7 +643,7 @@ ItemHandlers::UseOnPokemon.add(:PPUP,proc { |item,pkmn,scene|
next false next false
}) })
ItemHandlers::UseOnPokemon.add(:PPMAX,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:PPMAX,proc { |item, qty, pkmn, scene|
move = scene.pbChooseMove(pkmn,_INTL("Boost PP of which move?")) move = scene.pbChooseMove(pkmn,_INTL("Boost PP of which move?"))
if move>=0 if move>=0
if pkmn.moves[move].total_pp<=1 || pkmn.moves[move].ppup>=3 if pkmn.moves[move].total_pp<=1 || pkmn.moves[move].ppup>=3
@@ -658,225 +658,215 @@ ItemHandlers::UseOnPokemon.add(:PPMAX,proc { |item,pkmn,scene|
next false next false
}) })
ItemHandlers::UseOnPokemon.add(:HPUP,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemonMaximum.add(:HPUP, proc { |item, pkmn|
if pbRaiseEffortValues(pkmn, :HP, 10, Settings::NO_VITAMIN_EV_CAP) == 0 next pbMaxUsesOfEVRaisingItem(:HP, 10, pkmn, Settings::NO_VITAMIN_EV_CAP)
scene.pbDisplay(_INTL("It won't have any effect."))
next false
end
scene.pbRefresh
scene.pbDisplay(_INTL("{1}'s HP increased.",pkmn.name))
pkmn.changeHappiness("vitamin")
next true
}) })
ItemHandlers::UseOnPokemon.add(:PROTEIN,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:HPUP,proc { |item, qty, pkmn, scene|
if pbRaiseEffortValues(pkmn, :ATTACK, 10, Settings::NO_VITAMIN_EV_CAP) == 0 next pbUseEVRaisingItem(:HP, 10, qty, pkmn, "vitamin", scene, Settings::NO_VITAMIN_EV_CAP)
scene.pbDisplay(_INTL("It won't have any effect."))
next false
end
scene.pbDisplay(_INTL("{1}'s Attack increased.",pkmn.name))
pkmn.changeHappiness("vitamin")
next true
}) })
ItemHandlers::UseOnPokemon.add(:IRON,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemonMaximum.add(:PROTEIN, proc { |item, pkmn|
if pbRaiseEffortValues(pkmn, :DEFENSE, 10, Settings::NO_VITAMIN_EV_CAP) == 0 next pbMaxUsesOfEVRaisingItem(:ATTACK, 10, pkmn, Settings::NO_VITAMIN_EV_CAP)
scene.pbDisplay(_INTL("It won't have any effect."))
next false
end
scene.pbDisplay(_INTL("{1}'s Defense increased.",pkmn.name))
pkmn.changeHappiness("vitamin")
next true
}) })
ItemHandlers::UseOnPokemon.add(:CALCIUM,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:PROTEIN,proc { |item, qty, pkmn, scene|
if pbRaiseEffortValues(pkmn, :SPECIAL_ATTACK, 10, Settings::NO_VITAMIN_EV_CAP) == 0 next pbUseEVRaisingItem(:ATTACK, 10, qty, pkmn, "vitamin", scene, Settings::NO_VITAMIN_EV_CAP)
scene.pbDisplay(_INTL("It won't have any effect."))
next false
end
scene.pbDisplay(_INTL("{1}'s Special Attack increased.",pkmn.name))
pkmn.changeHappiness("vitamin")
next true
}) })
ItemHandlers::UseOnPokemon.add(:ZINC,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemonMaximum.add(:IRON, proc { |item, pkmn|
if pbRaiseEffortValues(pkmn, :SPECIAL_DEFENSE, 10, Settings::NO_VITAMIN_EV_CAP) == 0 next pbMaxUsesOfEVRaisingItem(:DEFENSE, 10, pkmn, Settings::NO_VITAMIN_EV_CAP)
scene.pbDisplay(_INTL("It won't have any effect."))
next false
end
scene.pbDisplay(_INTL("{1}'s Special Defense increased.",pkmn.name))
pkmn.changeHappiness("vitamin")
next true
}) })
ItemHandlers::UseOnPokemon.add(:CARBOS,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:IRON,proc { |item, qty, pkmn, scene|
if pbRaiseEffortValues(pkmn, :SPEED, 10, Settings::NO_VITAMIN_EV_CAP) == 0 next pbUseEVRaisingItem(:DEFENSE, 10, qty, pkmn, "vitamin", scene, Settings::NO_VITAMIN_EV_CAP)
scene.pbDisplay(_INTL("It won't have any effect."))
next false
end
scene.pbDisplay(_INTL("{1}'s Speed increased.",pkmn.name))
pkmn.changeHappiness("vitamin")
next true
}) })
ItemHandlers::UseOnPokemon.add(:HEALTHFEATHER,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemonMaximum.add(:CALCIUM, proc { |item, pkmn|
if pbRaiseEffortValues(pkmn,:HP,1,false)==0 next pbMaxUsesOfEVRaisingItem(:SPECIAL_ATTACK, 10, pkmn, Settings::NO_VITAMIN_EV_CAP)
scene.pbDisplay(_INTL("It won't have any effect."))
next false
end
scene.pbRefresh
scene.pbDisplay(_INTL("{1}'s HP increased.",pkmn.name))
pkmn.changeHappiness("wing")
next true
}) })
ItemHandlers::UseOnPokemon.copy(:HEALTHFEATHER,:HEALTHWING) ItemHandlers::UseOnPokemon.add(:CALCIUM,proc { |item, qty, pkmn, scene|
next pbUseEVRaisingItem(:SPECIAL_ATTACK, 10, qty, pkmn, "vitamin", scene, Settings::NO_VITAMIN_EV_CAP)
ItemHandlers::UseOnPokemon.add(:MUSCLEFEATHER,proc { |item,pkmn,scene|
if pbRaiseEffortValues(pkmn,:ATTACK,1,false)==0
scene.pbDisplay(_INTL("It won't have any effect."))
next false
end
scene.pbDisplay(_INTL("{1}'s Attack increased.",pkmn.name))
pkmn.changeHappiness("wing")
next true
}) })
ItemHandlers::UseOnPokemon.copy(:MUSCLEFEATHER,:MUSCLEWING) ItemHandlers::UseOnPokemonMaximum.add(:ZINC, proc { |item, pkmn|
next pbMaxUsesOfEVRaisingItem(:SPECIAL_DEFENSE, 10, pkmn, Settings::NO_VITAMIN_EV_CAP)
ItemHandlers::UseOnPokemon.add(:RESISTFEATHER,proc { |item,pkmn,scene|
if pbRaiseEffortValues(pkmn,:DEFENSE,1,false)==0
scene.pbDisplay(_INTL("It won't have any effect."))
next false
end
scene.pbDisplay(_INTL("{1}'s Defense increased.",pkmn.name))
pkmn.changeHappiness("wing")
next true
}) })
ItemHandlers::UseOnPokemon.copy(:RESISTFEATHER,:RESISTWING) ItemHandlers::UseOnPokemon.add(:ZINC,proc { |item, qty, pkmn, scene|
next pbUseEVRaisingItem(:SPECIAL_DEFENSE, 10, qty, pkmn, "vitamin", scene, Settings::NO_VITAMIN_EV_CAP)
ItemHandlers::UseOnPokemon.add(:GENIUSFEATHER,proc { |item,pkmn,scene|
if pbRaiseEffortValues(pkmn,:SPECIAL_ATTACK,1,false)==0
scene.pbDisplay(_INTL("It won't have any effect."))
next false
end
scene.pbDisplay(_INTL("{1}'s Special Attack increased.",pkmn.name))
pkmn.changeHappiness("wing")
next true
}) })
ItemHandlers::UseOnPokemon.copy(:GENIUSFEATHER,:GENIUSWING) ItemHandlers::UseOnPokemonMaximum.add(:CARBOS, proc { |item, pkmn|
next pbMaxUsesOfEVRaisingItem(:SPEED, 10, pkmn, Settings::NO_VITAMIN_EV_CAP)
ItemHandlers::UseOnPokemon.add(:CLEVERFEATHER,proc { |item,pkmn,scene|
if pbRaiseEffortValues(pkmn,:SPECIAL_DEFENSE,1,false)==0
scene.pbDisplay(_INTL("It won't have any effect."))
next false
end
scene.pbDisplay(_INTL("{1}'s Special Defense increased.",pkmn.name))
pkmn.changeHappiness("wing")
next true
}) })
ItemHandlers::UseOnPokemon.copy(:CLEVERFEATHER,:CLEVERWING) ItemHandlers::UseOnPokemon.add(:CARBOS,proc { |item, qty, pkmn, scene|
next pbUseEVRaisingItem(:SPEED, 10, qty, pkmn, "vitamin", scene, Settings::NO_VITAMIN_EV_CAP)
ItemHandlers::UseOnPokemon.add(:SWIFTFEATHER,proc { |item,pkmn,scene|
if pbRaiseEffortValues(pkmn,:SPEED,1,false)==0
scene.pbDisplay(_INTL("It won't have any effect."))
next false
end
scene.pbDisplay(_INTL("{1}'s Speed increased.",pkmn.name))
pkmn.changeHappiness("wing")
next true
}) })
ItemHandlers::UseOnPokemon.copy(:SWIFTFEATHER,:SWIFTWING) ItemHandlers::UseOnPokemonMaximum.add(:HEALTHFEATHER, proc { |item, pkmn|
next pbMaxUsesOfEVRaisingItem(:HP, 1, pkmn, true)
})
ItemHandlers::UseOnPokemon.add(:LONELYMINT, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemonMaximum.copy(:HEALTHFEATHER, :HEALTHWING)
ItemHandlers::UseOnPokemon.add(:HEALTHFEATHER,proc { |item, qty, pkmn, scene|
next pbUseEVRaisingItem(:HP, 1, qty, pkmn, "wing", scene, true)
})
ItemHandlers::UseOnPokemon.copy(:HEALTHFEATHER, :HEALTHWING)
ItemHandlers::UseOnPokemonMaximum.add(:MUSCLEFEATHER, proc { |item, pkmn|
next pbMaxUsesOfEVRaisingItem(:ATTACK, 1, pkmn, true)
})
ItemHandlers::UseOnPokemonMaximum.copy(:MUSCLEFEATHER, :MUSCLEWING)
ItemHandlers::UseOnPokemon.add(:MUSCLEFEATHER,proc { |item, qty, pkmn, scene|
next pbUseEVRaisingItem(:ATTACK, 1, qty, pkmn, "wing", scene, true)
})
ItemHandlers::UseOnPokemon.copy(:MUSCLEFEATHER, :MUSCLEWING)
ItemHandlers::UseOnPokemonMaximum.add(:RESISTFEATHER, proc { |item, pkmn|
next pbMaxUsesOfEVRaisingItem(:DEFENSE, 1, pkmn, true)
})
ItemHandlers::UseOnPokemonMaximum.copy(:RESISTFEATHER, :RESISTWING)
ItemHandlers::UseOnPokemon.add(:RESISTFEATHER,proc { |item, qty, pkmn, scene|
next pbUseEVRaisingItem(:DEFENSE, 1, qty, pkmn, "wing", scene, true)
})
ItemHandlers::UseOnPokemon.copy(:RESISTFEATHER, :RESISTWING)
ItemHandlers::UseOnPokemonMaximum.add(:GENIUSFEATHER, proc { |item, pkmn|
next pbMaxUsesOfEVRaisingItem(:SPECIAL_ATTACK, 1, pkmn, true)
})
ItemHandlers::UseOnPokemonMaximum.copy(:GENIUSFEATHER, :GENIUSWING)
ItemHandlers::UseOnPokemon.add(:GENIUSFEATHER,proc { |item, qty, pkmn, scene|
next pbUseEVRaisingItem(:SPECIAL_ATTACK, 1, qty, pkmn, "wing", scene, true)
})
ItemHandlers::UseOnPokemon.copy(:GENIUSFEATHER, :GENIUSWING)
ItemHandlers::UseOnPokemonMaximum.add(:CLEVERFEATHER, proc { |item, pkmn|
next pbMaxUsesOfEVRaisingItem(:SPECIAL_DEFENSE, 1, pkmn, true)
})
ItemHandlers::UseOnPokemonMaximum.copy(:CLEVERFEATHER, :CLEVERWING)
ItemHandlers::UseOnPokemon.add(:CLEVERFEATHER,proc { |item, qty, pkmn, scene|
next pbUseEVRaisingItem(:SPECIAL_DEFENSE, 1, qty, pkmn, "wing", scene, true)
})
ItemHandlers::UseOnPokemon.copy(:CLEVERFEATHER, :CLEVERWING)
ItemHandlers::UseOnPokemonMaximum.add(:SWIFTFEATHER, proc { |item, pkmn|
next pbMaxUsesOfEVRaisingItem(:SPEED, 1, pkmn, true)
})
ItemHandlers::UseOnPokemonMaximum.copy(:SWIFTFEATHER, :SWIFTWING)
ItemHandlers::UseOnPokemon.add(:SWIFTFEATHER,proc { |item, qty, pkmn, scene|
next pbUseEVRaisingItem(:SPEED, 1, qty, pkmn, "wing", scene, true)
})
ItemHandlers::UseOnPokemon.copy(:SWIFTFEATHER, :SWIFTWING)
ItemHandlers::UseOnPokemon.add(:LONELYMINT, proc { |item, qty, pkmn, scene|
pbNatureChangingMint(:LONELY, item, pkmn, scene) pbNatureChangingMint(:LONELY, item, pkmn, scene)
}) })
ItemHandlers::UseOnPokemon.add(:ADAMANTMINT, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemon.add(:ADAMANTMINT, proc { |item, qty, pkmn, scene|
pbNatureChangingMint(:ADAMANT, item, pkmn, scene) pbNatureChangingMint(:ADAMANT, item, pkmn, scene)
}) })
ItemHandlers::UseOnPokemon.add(:NAUGHTYMINT, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemon.add(:NAUGHTYMINT, proc { |item, qty, pkmn, scene|
pbNatureChangingMint(:NAUGHTY, item, pkmn, scene) pbNatureChangingMint(:NAUGHTY, item, pkmn, scene)
}) })
ItemHandlers::UseOnPokemon.add(:BRAVEMINT, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemon.add(:BRAVEMINT, proc { |item, qty, pkmn, scene|
pbNatureChangingMint(:BRAVE, item, pkmn, scene) pbNatureChangingMint(:BRAVE, item, pkmn, scene)
}) })
ItemHandlers::UseOnPokemon.add(:BOLDMINT, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemon.add(:BOLDMINT, proc { |item, qty, pkmn, scene|
pbNatureChangingMint(:BOLD, item, pkmn, scene) pbNatureChangingMint(:BOLD, item, pkmn, scene)
}) })
ItemHandlers::UseOnPokemon.add(:IMPISHMINT, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemon.add(:IMPISHMINT, proc { |item, qty, pkmn, scene|
pbNatureChangingMint(:IMPISH, item, pkmn, scene) pbNatureChangingMint(:IMPISH, item, pkmn, scene)
}) })
ItemHandlers::UseOnPokemon.add(:LAXMINT, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemon.add(:LAXMINT, proc { |item, qty, pkmn, scene|
pbNatureChangingMint(:LAX, item, pkmn, scene) pbNatureChangingMint(:LAX, item, pkmn, scene)
}) })
ItemHandlers::UseOnPokemon.add(:RELAXEDMINT, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemon.add(:RELAXEDMINT, proc { |item, qty, pkmn, scene|
pbNatureChangingMint(:RELAXED, item, pkmn, scene) pbNatureChangingMint(:RELAXED, item, pkmn, scene)
}) })
ItemHandlers::UseOnPokemon.add(:MODESTMINT, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemon.add(:MODESTMINT, proc { |item, qty, pkmn, scene|
pbNatureChangingMint(:MODEST, item, pkmn, scene) pbNatureChangingMint(:MODEST, item, pkmn, scene)
}) })
ItemHandlers::UseOnPokemon.add(:MILDMINT, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemon.add(:MILDMINT, proc { |item, qty, pkmn, scene|
pbNatureChangingMint(:MILD, item, pkmn, scene) pbNatureChangingMint(:MILD, item, pkmn, scene)
}) })
ItemHandlers::UseOnPokemon.add(:RASHMINT, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemon.add(:RASHMINT, proc { |item, qty, pkmn, scene|
pbNatureChangingMint(:RASH, item, pkmn, scene) pbNatureChangingMint(:RASH, item, pkmn, scene)
}) })
ItemHandlers::UseOnPokemon.add(:QUIETMINT, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemon.add(:QUIETMINT, proc { |item, qty, pkmn, scene|
pbNatureChangingMint(:QUIET, item, pkmn, scene) pbNatureChangingMint(:QUIET, item, pkmn, scene)
}) })
ItemHandlers::UseOnPokemon.add(:CALMMINT, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemon.add(:CALMMINT, proc { |item, qty, pkmn, scene|
pbNatureChangingMint(:CALM, item, pkmn, scene) pbNatureChangingMint(:CALM, item, pkmn, scene)
}) })
ItemHandlers::UseOnPokemon.add(:GENTLEMINT, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemon.add(:GENTLEMINT, proc { |item, qty, pkmn, scene|
pbNatureChangingMint(:GENTLE, item, pkmn, scene) pbNatureChangingMint(:GENTLE, item, pkmn, scene)
}) })
ItemHandlers::UseOnPokemon.add(:CAREFULMINT, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemon.add(:CAREFULMINT, proc { |item, qty, pkmn, scene|
pbNatureChangingMint(:CAREFUL, item, pkmn, scene) pbNatureChangingMint(:CAREFUL, item, pkmn, scene)
}) })
ItemHandlers::UseOnPokemon.add(:SASSYMINT, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemon.add(:SASSYMINT, proc { |item, qty, pkmn, scene|
pbNatureChangingMint(:SASSY, item, pkmn, scene) pbNatureChangingMint(:SASSY, item, pkmn, scene)
}) })
ItemHandlers::UseOnPokemon.add(:TIMIDMINT, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemon.add(:TIMIDMINT, proc { |item, qty, pkmn, scene|
pbNatureChangingMint(:TIMID, item, pkmn, scene) pbNatureChangingMint(:TIMID, item, pkmn, scene)
}) })
ItemHandlers::UseOnPokemon.add(:HASTYMINT, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemon.add(:HASTYMINT, proc { |item, qty, pkmn, scene|
pbNatureChangingMint(:HASTY, item, pkmn, scene) pbNatureChangingMint(:HASTY, item, pkmn, scene)
}) })
ItemHandlers::UseOnPokemon.add(:JOLLYMINT, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemon.add(:JOLLYMINT, proc { |item, qty, pkmn, scene|
pbNatureChangingMint(:JOLLY, item, pkmn, scene) pbNatureChangingMint(:JOLLY, item, pkmn, scene)
}) })
ItemHandlers::UseOnPokemon.add(:NAIVEMINT, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemon.add(:NAIVEMINT, proc { |item, qty, pkmn, scene|
pbNatureChangingMint(:NAIVE, item, pkmn, scene) pbNatureChangingMint(:NAIVE, item, pkmn, scene)
}) })
ItemHandlers::UseOnPokemon.add(:SERIOUSMINT, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemon.add(:SERIOUSMINT, proc { |item, qty, pkmn, scene|
pbNatureChangingMint(:SERIOUS, item, pkmn, scene) pbNatureChangingMint(:SERIOUS, item, pkmn, scene)
}) })
ItemHandlers::UseOnPokemon.add(:RARECANDY,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemonMaximum.add(:RARECANDY, proc { |item, pkmn|
next GameData::GrowthRate.max_level - pkmn.level
})
ItemHandlers::UseOnPokemon.add(:RARECANDY,proc { |item, qty, pkmn, scene|
if pkmn.shadowPokemon? if pkmn.shadowPokemon?
scene.pbDisplay(_INTL("It won't have any effect.")) scene.pbDisplay(_INTL("It won't have any effect."))
next false next false
@@ -898,165 +888,129 @@ ItemHandlers::UseOnPokemon.add(:RARECANDY,proc { |item,pkmn,scene|
next true next true
end end
# Level up # Level up
pbChangeLevel(pkmn,pkmn.level + 1, scene) pbChangeLevel(pkmn,pkmn.level + qty, scene)
scene.pbHardRefresh scene.pbHardRefresh
next true next true
}) })
ItemHandlers::UseOnPokemon.add(:EXPCANDYXS, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemonMaximum.add(:EXPCANDYXS, proc { |item, pkmn|
if pkmn.level >= GameData::GrowthRate.max_level || pkmn.shadowPokemon?
scene.pbDisplay(_INTL("It won't have any effect."))
next false
end
gain_amount = 100 gain_amount = 100
maximum = ((pkmn.growth_rate.maximum_exp - pkmn.exp) / gain_amount.to_f).ceil next ((pkmn.growth_rate.maximum_exp - pkmn.exp) / gain_amount.to_f).ceil
maximum = [maximum, $bag.quantity(item)].min
qty = scene.scene.pbChooseNumber(
_INTL("How many {1} do you want to use?", GameData::Item.get(item).name), maximum)
next false if qty == 0
scene.scene.pbSetHelpText("") if scene.is_a?(PokemonPartyScreen)
if qty > 1
(qty - 1).times { pkmn.changeHappiness("vitamin") }
end
pbChangeExp(pkmn, pkmn.exp + gain_amount * qty, scene)
$bag.remove(item, qty - 1)
scene.pbHardRefresh
next true
}) })
ItemHandlers::UseOnPokemon.add(:EXPCANDYS, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemon.add(:EXPCANDYXS, proc { |item, qty, pkmn, scene|
if pkmn.level >= GameData::GrowthRate.max_level || pkmn.shadowPokemon? next pbGainExpFromExpCandy(pkmn, 100, qty, scene)
scene.pbDisplay(_INTL("It won't have any effect.")) })
next false
end ItemHandlers::UseOnPokemonMaximum.add(:EXPCANDYS, proc { |item, pkmn|
gain_amount = 800 gain_amount = 800
maximum = ((pkmn.growth_rate.maximum_exp - pkmn.exp) / gain_amount.to_f).ceil next ((pkmn.growth_rate.maximum_exp - pkmn.exp) / gain_amount.to_f).ceil
maximum = [maximum, $bag.quantity(item)].min
qty = scene.scene.pbChooseNumber(
_INTL("How many {1} do you want to use?", GameData::Item.get(item).name), maximum)
next false if qty == 0
scene.scene.pbSetHelpText("") if scene.is_a?(PokemonPartyScreen)
if qty > 1
(qty - 1).times { pkmn.changeHappiness("vitamin") }
end
pbChangeExp(pkmn, pkmn.exp + gain_amount * qty, scene)
$bag.remove(item, qty - 1)
scene.pbHardRefresh
next true
}) })
ItemHandlers::UseOnPokemon.add(:EXPCANDYM, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemon.add(:EXPCANDYS, proc { |item, qty, pkmn, scene|
if pkmn.level >= GameData::GrowthRate.max_level || pkmn.shadowPokemon? next pbGainExpFromExpCandy(pkmn, 800, qty, scene)
scene.pbDisplay(_INTL("It won't have any effect.")) })
next false
end ItemHandlers::UseOnPokemonMaximum.add(:EXPCANDYM, proc { |item, pkmn|
gain_amount = 3_000 gain_amount = 3_000
maximum = ((pkmn.growth_rate.maximum_exp - pkmn.exp) / gain_amount.to_f).ceil next ((pkmn.growth_rate.maximum_exp - pkmn.exp) / gain_amount.to_f).ceil
maximum = [maximum, $bag.quantity(item)].min
qty = scene.scene.pbChooseNumber(
_INTL("How many {1} do you want to use?", GameData::Item.get(item).name), maximum)
next false if qty == 0
scene.scene.pbSetHelpText("") if scene.is_a?(PokemonPartyScreen)
if qty > 1
(qty - 1).times { pkmn.changeHappiness("vitamin") }
end
pbChangeExp(pkmn, pkmn.exp + gain_amount * qty, scene)
$bag.remove(item, qty - 1)
scene.pbHardRefresh
next true
}) })
ItemHandlers::UseOnPokemon.add(:EXPCANDYL, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemon.add(:EXPCANDYM, proc { |item, qty, pkmn, scene|
if pkmn.level >= GameData::GrowthRate.max_level || pkmn.shadowPokemon? next pbGainExpFromExpCandy(pkmn, 3_000, qty, scene)
scene.pbDisplay(_INTL("It won't have any effect.")) })
next false
end ItemHandlers::UseOnPokemonMaximum.add(:EXPCANDYL, proc { |item, pkmn|
gain_amount = 10_000 gain_amount = 10_000
maximum = ((pkmn.growth_rate.maximum_exp - pkmn.exp) / gain_amount.to_f).ceil next ((pkmn.growth_rate.maximum_exp - pkmn.exp) / gain_amount.to_f).ceil
maximum = [maximum, $bag.quantity(item)].min
qty = scene.scene.pbChooseNumber(
_INTL("How many {1} do you want to use?", GameData::Item.get(item).name), maximum)
next false if qty == 0
scene.scene.pbSetHelpText("") if scene.is_a?(PokemonPartyScreen)
if qty > 1
(qty - 1).times { pkmn.changeHappiness("vitamin") }
end
pbChangeExp(pkmn, pkmn.exp + gain_amount * qty, scene)
$bag.remove(item, qty - 1)
scene.pbHardRefresh
next true
}) })
ItemHandlers::UseOnPokemon.add(:EXPCANDYXL, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemon.add(:EXPCANDYL, proc { |item, qty, pkmn, scene|
if pkmn.level >= GameData::GrowthRate.max_level || pkmn.shadowPokemon? next pbGainExpFromExpCandy(pkmn, 10_000, qty, scene)
scene.pbDisplay(_INTL("It won't have any effect.")) })
next false
end ItemHandlers::UseOnPokemonMaximum.add(:EXPCANDYXL, proc { |item, pkmn|
gain_amount = 30_000 gain_amount = 30_000
maximum = ((pkmn.growth_rate.maximum_exp - pkmn.exp) / gain_amount.to_f).ceil next ((pkmn.growth_rate.maximum_exp - pkmn.exp) / gain_amount.to_f).ceil
maximum = [maximum, $bag.quantity(item)].min
qty = scene.scene.pbChooseNumber(
_INTL("How many {1} do you want to use?", GameData::Item.get(item).name), maximum)
next false if qty == 0
scene.scene.pbSetHelpText("") if scene.is_a?(PokemonPartyScreen)
if qty > 1
(qty - 1).times { pkmn.changeHappiness("vitamin") }
end
pbChangeExp(pkmn, pkmn.exp + gain_amount * qty, scene)
$bag.remove(item, qty - 1)
scene.pbHardRefresh
next true
}) })
ItemHandlers::UseOnPokemon.add(:POMEGBERRY,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:EXPCANDYXL, proc { |item, qty, pkmn, scene|
next pbRaiseHappinessAndLowerEV(pkmn,scene,:HP,[ next pbGainExpFromExpCandy(pkmn, 30_000, qty, scene)
})
ItemHandlers::UseOnPokemonMaximum.add(:POMEGBERRY, proc { |item, pkmn|
next pbMaxUsesOfEVLoweringBerry(:HP, pkmn)
})
ItemHandlers::UseOnPokemon.add(:POMEGBERRY,proc { |item, qty, pkmn, scene|
next pbRaiseHappinessAndLowerEV(pkmn, scene, :HP, qty, [
_INTL("{1} adores you! Its base HP fell!",pkmn.name), _INTL("{1} adores you! Its base HP fell!",pkmn.name),
_INTL("{1} became more friendly. Its base HP can't go lower.",pkmn.name), _INTL("{1} became more friendly. Its base HP can't go lower.",pkmn.name),
_INTL("{1} became more friendly. However, its base HP fell!",pkmn.name) _INTL("{1} became more friendly. However, its base HP fell!",pkmn.name)
]) ])
}) })
ItemHandlers::UseOnPokemon.add(:KELPSYBERRY,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemonMaximum.add(:KELPSYBERRY, proc { |item, pkmn|
next pbRaiseHappinessAndLowerEV(pkmn,scene,:ATTACK,[ next pbMaxUsesOfEVLoweringBerry(:ATTACK, pkmn)
})
ItemHandlers::UseOnPokemon.add(:KELPSYBERRY,proc { |item, qty, pkmn, scene|
next pbRaiseHappinessAndLowerEV(pkmn, scene, :ATTACK, qty, [
_INTL("{1} adores you! Its base Attack fell!",pkmn.name), _INTL("{1} adores you! Its base Attack fell!",pkmn.name),
_INTL("{1} became more friendly. Its base Attack can't go lower.",pkmn.name), _INTL("{1} became more friendly. Its base Attack can't go lower.",pkmn.name),
_INTL("{1} became more friendly. However, its base Attack fell!",pkmn.name) _INTL("{1} became more friendly. However, its base Attack fell!",pkmn.name)
]) ])
}) })
ItemHandlers::UseOnPokemon.add(:QUALOTBERRY,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemonMaximum.add(:QUALOTBERRY, proc { |item, pkmn|
next pbRaiseHappinessAndLowerEV(pkmn,scene,:DEFENSE,[ next pbMaxUsesOfEVLoweringBerry(:DEFENSE, pkmn)
})
ItemHandlers::UseOnPokemon.add(:QUALOTBERRY,proc { |item, qty, pkmn, scene|
next pbRaiseHappinessAndLowerEV(pkmn, scene, :DEFENSE, qty, [
_INTL("{1} adores you! Its base Defense fell!",pkmn.name), _INTL("{1} adores you! Its base Defense fell!",pkmn.name),
_INTL("{1} became more friendly. Its base Defense can't go lower.",pkmn.name), _INTL("{1} became more friendly. Its base Defense can't go lower.",pkmn.name),
_INTL("{1} became more friendly. However, its base Defense fell!",pkmn.name) _INTL("{1} became more friendly. However, its base Defense fell!",pkmn.name)
]) ])
}) })
ItemHandlers::UseOnPokemon.add(:HONDEWBERRY,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemonMaximum.add(:HONDEWBERRY, proc { |item, pkmn|
next pbRaiseHappinessAndLowerEV(pkmn,scene,:SPECIAL_ATTACK,[ next pbMaxUsesOfEVLoweringBerry(:SPECIAL_ATTACK, pkmn)
})
ItemHandlers::UseOnPokemon.add(:HONDEWBERRY,proc { |item, qty, pkmn, scene|
next pbRaiseHappinessAndLowerEV(pkmn, scene, :SPECIAL_ATTACK, qty, [
_INTL("{1} adores you! Its base Special Attack fell!",pkmn.name), _INTL("{1} adores you! Its base Special Attack fell!",pkmn.name),
_INTL("{1} became more friendly. Its base Special Attack can't go lower.",pkmn.name), _INTL("{1} became more friendly. Its base Special Attack can't go lower.",pkmn.name),
_INTL("{1} became more friendly. However, its base Special Attack fell!",pkmn.name) _INTL("{1} became more friendly. However, its base Special Attack fell!",pkmn.name)
]) ])
}) })
ItemHandlers::UseOnPokemon.add(:GREPABERRY,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemonMaximum.add(:GREPABERRY, proc { |item, pkmn|
next pbRaiseHappinessAndLowerEV(pkmn,scene,:SPECIAL_DEFENSE,[ next pbMaxUsesOfEVLoweringBerry(:SPECIAL_DEFENSE, pkmn)
})
ItemHandlers::UseOnPokemon.add(:GREPABERRY,proc { |item, qty, pkmn, scene|
next pbRaiseHappinessAndLowerEV(pkmn, scene, :SPECIAL_DEFENSE, qty, [
_INTL("{1} adores you! Its base Special Defense fell!",pkmn.name), _INTL("{1} adores you! Its base Special Defense fell!",pkmn.name),
_INTL("{1} became more friendly. Its base Special Defense can't go lower.",pkmn.name), _INTL("{1} became more friendly. Its base Special Defense can't go lower.",pkmn.name),
_INTL("{1} became more friendly. However, its base Special Defense fell!",pkmn.name) _INTL("{1} became more friendly. However, its base Special Defense fell!",pkmn.name)
]) ])
}) })
ItemHandlers::UseOnPokemon.add(:TAMATOBERRY,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemonMaximum.add(:TAMATOBERRY, proc { |item, pkmn|
next pbRaiseHappinessAndLowerEV(pkmn,scene,:SPEED,[ next pbMaxUsesOfEVLoweringBerry(:SPEED, pkmn)
})
ItemHandlers::UseOnPokemon.add(:TAMATOBERRY,proc { |item, qty, pkmn, scene|
next pbRaiseHappinessAndLowerEV(pkmn, scene, :SPEED, qty, [
_INTL("{1} adores you! Its base Speed fell!",pkmn.name), _INTL("{1} adores you! Its base Speed fell!",pkmn.name),
_INTL("{1} became more friendly. Its base Speed can't go lower.",pkmn.name), _INTL("{1} became more friendly. Its base Speed can't go lower.",pkmn.name),
_INTL("{1} became more friendly. However, its base Speed fell!",pkmn.name) _INTL("{1} became more friendly. However, its base Speed fell!",pkmn.name)
]) ])
}) })
ItemHandlers::UseOnPokemon.add(:ABILITYCAPSULE,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:ABILITYCAPSULE,proc { |item, qty, pkmn, scene|
if scene.pbConfirm(_INTL("Do you want to change {1}'s Ability?", pkmn.name)) if scene.pbConfirm(_INTL("Do you want to change {1}'s Ability?", pkmn.name))
abils = pkmn.getAbilityList abils = pkmn.getAbilityList
abil1 = nil abil1 = nil
@@ -1080,7 +1034,7 @@ ItemHandlers::UseOnPokemon.add(:ABILITYCAPSULE,proc { |item,pkmn,scene|
next false next false
}) })
ItemHandlers::UseOnPokemon.add(:ABILITYPATCH, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemon.add(:ABILITYPATCH, proc { |item, qty, pkmn, scene|
if scene.pbConfirm(_INTL("Do you want to change {1}'s Ability?", pkmn.name)) if scene.pbConfirm(_INTL("Do you want to change {1}'s Ability?", pkmn.name))
abils = pkmn.getAbilityList abils = pkmn.getAbilityList
new_ability_id = nil new_ability_id = nil
@@ -1100,7 +1054,7 @@ ItemHandlers::UseOnPokemon.add(:ABILITYPATCH, proc { |item, pkmn, scene|
next false next false
}) })
ItemHandlers::UseOnPokemon.add(:GRACIDEA,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:GRACIDEA,proc { |item, qty, pkmn, scene|
if !pkmn.isSpecies?(:SHAYMIN) || pkmn.form != 0 || if !pkmn.isSpecies?(:SHAYMIN) || pkmn.form != 0 ||
pkmn.status == :FROZEN || PBDayNight.isNight? pkmn.status == :FROZEN || PBDayNight.isNight?
scene.pbDisplay(_INTL("It had no effect.")) scene.pbDisplay(_INTL("It had no effect."))
@@ -1116,7 +1070,7 @@ ItemHandlers::UseOnPokemon.add(:GRACIDEA,proc { |item,pkmn,scene|
next true next true
}) })
ItemHandlers::UseOnPokemon.add(:REDNECTAR,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:REDNECTAR,proc { |item, qty, pkmn, scene|
if !pkmn.isSpecies?(:ORICORIO) || pkmn.form==0 if !pkmn.isSpecies?(:ORICORIO) || pkmn.form==0
scene.pbDisplay(_INTL("It had no effect.")) scene.pbDisplay(_INTL("It had no effect."))
next false next false
@@ -1131,7 +1085,7 @@ ItemHandlers::UseOnPokemon.add(:REDNECTAR,proc { |item,pkmn,scene|
next true next true
}) })
ItemHandlers::UseOnPokemon.add(:YELLOWNECTAR,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:YELLOWNECTAR,proc { |item, qty, pkmn, scene|
if !pkmn.isSpecies?(:ORICORIO) || pkmn.form==1 if !pkmn.isSpecies?(:ORICORIO) || pkmn.form==1
scene.pbDisplay(_INTL("It had no effect.")) scene.pbDisplay(_INTL("It had no effect."))
next false next false
@@ -1146,7 +1100,7 @@ ItemHandlers::UseOnPokemon.add(:YELLOWNECTAR,proc { |item,pkmn,scene|
next true next true
}) })
ItemHandlers::UseOnPokemon.add(:PINKNECTAR,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:PINKNECTAR,proc { |item, qty, pkmn, scene|
if !pkmn.isSpecies?(:ORICORIO) || pkmn.form==2 if !pkmn.isSpecies?(:ORICORIO) || pkmn.form==2
scene.pbDisplay(_INTL("It had no effect.")) scene.pbDisplay(_INTL("It had no effect."))
next false next false
@@ -1161,7 +1115,7 @@ ItemHandlers::UseOnPokemon.add(:PINKNECTAR,proc { |item,pkmn,scene|
next true next true
}) })
ItemHandlers::UseOnPokemon.add(:PURPLENECTAR,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:PURPLENECTAR,proc { |item, qty, pkmn, scene|
if !pkmn.isSpecies?(:ORICORIO) || pkmn.form==3 if !pkmn.isSpecies?(:ORICORIO) || pkmn.form==3
scene.pbDisplay(_INTL("It had no effect.")) scene.pbDisplay(_INTL("It had no effect."))
next false next false
@@ -1176,7 +1130,7 @@ ItemHandlers::UseOnPokemon.add(:PURPLENECTAR,proc { |item,pkmn,scene|
next true next true
}) })
ItemHandlers::UseOnPokemon.add(:REVEALGLASS,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:REVEALGLASS,proc { |item, qty, pkmn, scene|
if !pkmn.isSpecies?(:TORNADUS) && if !pkmn.isSpecies?(:TORNADUS) &&
!pkmn.isSpecies?(:THUNDURUS) && !pkmn.isSpecies?(:THUNDURUS) &&
!pkmn.isSpecies?(:LANDORUS) !pkmn.isSpecies?(:LANDORUS)
@@ -1194,7 +1148,7 @@ ItemHandlers::UseOnPokemon.add(:REVEALGLASS,proc { |item,pkmn,scene|
next true next true
}) })
ItemHandlers::UseOnPokemon.add(:PRISONBOTTLE,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:PRISONBOTTLE,proc { |item, qty, pkmn, scene|
if !pkmn.isSpecies?(:HOOPA) if !pkmn.isSpecies?(:HOOPA)
scene.pbDisplay(_INTL("It had no effect.")) scene.pbDisplay(_INTL("It had no effect."))
next false next false
@@ -1210,7 +1164,7 @@ ItemHandlers::UseOnPokemon.add(:PRISONBOTTLE,proc { |item,pkmn,scene|
next true next true
}) })
ItemHandlers::UseOnPokemon.add(:ROTOMCATALOG, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemon.add(:ROTOMCATALOG, proc { |item, qty, pkmn, scene|
if !pkmn.isSpecies?(:ROTOM) if !pkmn.isSpecies?(:ROTOM)
scene.pbDisplay(_INTL("It had no effect.")) scene.pbDisplay(_INTL("It had no effect."))
next false next false
@@ -1242,7 +1196,7 @@ ItemHandlers::UseOnPokemon.add(:ROTOMCATALOG, proc { |item, pkmn, scene|
next false next false
}) })
ItemHandlers::UseOnPokemon.add(:ZYGARDECUBE, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemon.add(:ZYGARDECUBE, proc { |item, qty, pkmn, scene|
if !pkmn.isSpecies?(:ZYGARDE) if !pkmn.isSpecies?(:ZYGARDE)
scene.pbDisplay(_INTL("It had no effect.")) scene.pbDisplay(_INTL("It had no effect."))
next false next false
@@ -1270,7 +1224,7 @@ ItemHandlers::UseOnPokemon.add(:ZYGARDECUBE, proc { |item, pkmn, scene|
next false next false
}) })
ItemHandlers::UseOnPokemon.add(:DNASPLICERS,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:DNASPLICERS,proc { |item, qty, pkmn, scene|
if !pkmn.isSpecies?(:KYUREM) || !pkmn.fused.nil? if !pkmn.isSpecies?(:KYUREM) || !pkmn.fused.nil?
scene.pbDisplay(_INTL("It had no effect.")) scene.pbDisplay(_INTL("It had no effect."))
next false next false
@@ -1308,7 +1262,7 @@ ItemHandlers::UseOnPokemon.add(:DNASPLICERS,proc { |item,pkmn,scene|
next true next true
}) })
ItemHandlers::UseOnPokemon.add(:DNASPLICERSUSED,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:DNASPLICERSUSED,proc { |item, qty, pkmn, scene|
if !pkmn.isSpecies?(:KYUREM) || pkmn.fused.nil? if !pkmn.isSpecies?(:KYUREM) || pkmn.fused.nil?
scene.pbDisplay(_INTL("It had no effect.")) scene.pbDisplay(_INTL("It had no effect."))
next false next false
@@ -1330,7 +1284,7 @@ ItemHandlers::UseOnPokemon.add(:DNASPLICERSUSED,proc { |item,pkmn,scene|
next true next true
}) })
ItemHandlers::UseOnPokemon.add(:NSOLARIZER,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:NSOLARIZER,proc { |item, qty, pkmn, scene|
if !pkmn.isSpecies?(:NECROZMA) || !pkmn.fused.nil? if !pkmn.isSpecies?(:NECROZMA) || !pkmn.fused.nil?
scene.pbDisplay(_INTL("It had no effect.")) scene.pbDisplay(_INTL("It had no effect."))
next false next false
@@ -1365,7 +1319,7 @@ ItemHandlers::UseOnPokemon.add(:NSOLARIZER,proc { |item,pkmn,scene|
next true next true
}) })
ItemHandlers::UseOnPokemon.add(:NSOLARIZERUSED,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:NSOLARIZERUSED,proc { |item, qty, pkmn, scene|
if !pkmn.isSpecies?(:NECROZMA) || pkmn.form != 1 || pkmn.fused.nil? if !pkmn.isSpecies?(:NECROZMA) || pkmn.form != 1 || pkmn.fused.nil?
scene.pbDisplay(_INTL("It had no effect.")) scene.pbDisplay(_INTL("It had no effect."))
next false next false
@@ -1387,7 +1341,7 @@ ItemHandlers::UseOnPokemon.add(:NSOLARIZERUSED,proc { |item,pkmn,scene|
next true next true
}) })
ItemHandlers::UseOnPokemon.add(:NLUNARIZER,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:NLUNARIZER,proc { |item, qty, pkmn, scene|
if !pkmn.isSpecies?(:NECROZMA) || !pkmn.fused.nil? if !pkmn.isSpecies?(:NECROZMA) || !pkmn.fused.nil?
scene.pbDisplay(_INTL("It had no effect.")) scene.pbDisplay(_INTL("It had no effect."))
next false next false
@@ -1422,7 +1376,7 @@ ItemHandlers::UseOnPokemon.add(:NLUNARIZER,proc { |item,pkmn,scene|
next true next true
}) })
ItemHandlers::UseOnPokemon.add(:NLUNARIZERUSED,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:NLUNARIZERUSED,proc { |item, qty, pkmn, scene|
if !pkmn.isSpecies?(:NECROZMA) || pkmn.form != 2 || pkmn.fused.nil? if !pkmn.isSpecies?(:NECROZMA) || pkmn.form != 2 || pkmn.fused.nil?
scene.pbDisplay(_INTL("It had no effect.")) scene.pbDisplay(_INTL("It had no effect."))
next false next false
@@ -1444,7 +1398,7 @@ ItemHandlers::UseOnPokemon.add(:NLUNARIZERUSED,proc { |item,pkmn,scene|
next true next true
}) })
ItemHandlers::UseOnPokemon.add(:REINSOFUNITY, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemon.add(:REINSOFUNITY, proc { |item, qty, pkmn, scene|
if !pkmn.isSpecies?(:CALYREX) || !pkmn.fused.nil? if !pkmn.isSpecies?(:CALYREX) || !pkmn.fused.nil?
scene.pbDisplay(_INTL("It had no effect.")) scene.pbDisplay(_INTL("It had no effect."))
next false next false
@@ -1483,7 +1437,7 @@ ItemHandlers::UseOnPokemon.add(:REINSOFUNITY, proc { |item, pkmn, scene|
next true next true
}) })
ItemHandlers::UseOnPokemon.add(:REINSOFUNITYUSED, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemon.add(:REINSOFUNITYUSED, proc { |item, qty, pkmn, scene|
if !pkmn.isSpecies?(:CALYREX) || pkmn.fused.nil? if !pkmn.isSpecies?(:CALYREX) || pkmn.fused.nil?
scene.pbDisplay(_INTL("It had no effect.")) scene.pbDisplay(_INTL("It had no effect."))
next false next false