From 7f86115c367388838b471e19a7d7ecb2a5fe48cc Mon Sep 17 00:00:00 2001 From: Maruno17 Date: Tue, 3 Aug 2021 18:45:39 +0100 Subject: [PATCH] Fixed code relating to initial held items in battle, fixed default functionality of rand when no number is given --- Data/Scripts/001_Technical/002_RubyUtilities.rb | 3 ++- .../011_Battle/001_Battler/001_PokeBattle_Battler.rb | 12 ++++++++---- .../011_Battle/002_Move/006_Move_Effects_080-0FF.rb | 12 ++++++------ .../011_Battle/003_BattleHandlers_Abilities.rb | 4 ++-- Data/Scripts/011_Battle/004_BattleHandlers_Items.rb | 2 +- 5 files changed, 19 insertions(+), 14 deletions(-) diff --git a/Data/Scripts/001_Technical/002_RubyUtilities.rb b/Data/Scripts/001_Technical/002_RubyUtilities.rb index 0e6f8823d..77519b63b 100644 --- a/Data/Scripts/001_Technical/002_RubyUtilities.rb +++ b/Data/Scripts/001_Technical/002_RubyUtilities.rb @@ -132,8 +132,9 @@ class << Kernel return oldRand(a) end elsif a.nil? - return (b) ? oldRand(b) : oldRand(2) + return oldRand(b) end + return oldRand end end diff --git a/Data/Scripts/011_Battle/001_Battler/001_PokeBattle_Battler.rb b/Data/Scripts/011_Battle/001_Battler/001_PokeBattle_Battler.rb index 8bcdc30e4..575e71af3 100644 --- a/Data/Scripts/011_Battle/001_Battler/001_PokeBattle_Battler.rb +++ b/Data/Scripts/011_Battle/001_Battler/001_PokeBattle_Battler.rb @@ -614,16 +614,20 @@ class PokeBattle_Battler return @battle.initialItems[@index&1][@pokemonIndex] end - def setInitialItem(newItem) - @battle.initialItems[@index&1][@pokemonIndex] = newItem + def setInitialItem(value) + item_data = GameData::Item.try_get(value) + new_item = (item_data) ? item_data.id : nil + @battle.initialItems[@index&1][@pokemonIndex] = new_item end def recycleItem return @battle.recycleItems[@index&1][@pokemonIndex] end - def setRecycleItem(newItem) - @battle.recycleItems[@index&1][@pokemonIndex] = newItem + def setRecycleItem(value) + item_data = GameData::Item.try_get(value) + new_item = (item_data) ? item_data.id : nil + @battle.recycleItems[@index&1][@pokemonIndex] = new_item end def belched? diff --git a/Data/Scripts/011_Battle/002_Move/006_Move_Effects_080-0FF.rb b/Data/Scripts/011_Battle/002_Move/006_Move_Effects_080-0FF.rb index 7c5ab3970..637f6ca51 100644 --- a/Data/Scripts/011_Battle/002_Move/006_Move_Effects_080-0FF.rb +++ b/Data/Scripts/011_Battle/002_Move/006_Move_Effects_080-0FF.rb @@ -3219,8 +3219,8 @@ class PokeBattle_Move_0F1 < PokeBattle_Move itemName = target.itemName user.item = target.item # Permanently steal the item from wild Pokémon - if @battle.wildBattle? && target.opposes? && - target.initialItem==target.item && !user.initialItem + if @battle.wildBattle? && target.opposes? && !user.initialItem && + target.item == target.initialItem user.setInitialItem(target.item) target.pbRemoveItem else @@ -3282,8 +3282,8 @@ class PokeBattle_Move_0F2 < PokeBattle_Move target.effects[PBEffects::ChoiceBand] = nil target.effects[PBEffects::Unburden] = (!target.item && oldTargetItem) # Permanently steal the item from wild Pokémon - if @battle.wildBattle? && target.opposes? && - target.initialItem==oldTargetItem && !user.initialItem + if @battle.wildBattle? && target.opposes? && !user.initialItem && + oldTargetItem == target.initialItem user.setInitialItem(oldTargetItem) end @battle.pbDisplay(_INTL("{1} switched items with its opponent!",user.pbThis)) @@ -3326,8 +3326,8 @@ class PokeBattle_Move_0F3 < PokeBattle_Move itemName = user.itemName target.item = user.item # Permanently steal the item from wild Pokémon - if @battle.wildBattle? && user.opposes? && - user.initialItem==user.item && !target.initialItem + if @battle.wildBattle? && user.opposes? && !target.initialItem && + user.item == user.initialItem target.setInitialItem(user.item) user.pbRemoveItem else diff --git a/Data/Scripts/011_Battle/003_BattleHandlers_Abilities.rb b/Data/Scripts/011_Battle/003_BattleHandlers_Abilities.rb index 84532eb84..030a4e300 100644 --- a/Data/Scripts/011_Battle/003_BattleHandlers_Abilities.rb +++ b/Data/Scripts/011_Battle/003_BattleHandlers_Abilities.rb @@ -1668,7 +1668,7 @@ BattleHandlers::UserAbilityEndOfMove.add(:MAGICIAN, user.item = b.item b.item = nil b.effects[PBEffects::Unburden] = true - if battle.wildBattle? && !user.initialItem && b.initialItem==user.item + if battle.wildBattle? && !user.initialItem && user.item == b.initialItem user.setInitialItem(user.item) b.setInitialItem(nil) end @@ -1747,7 +1747,7 @@ BattleHandlers::TargetAbilityAfterMoveUse.add(:PICKPOCKET, target.item = user.item user.item = nil user.effects[PBEffects::Unburden] = true - if battle.wildBattle? && !target.initialItem && user.initialItem==target.item + if battle.wildBattle? && !target.initialItem && target.item == user.initialItem target.setInitialItem(target.item) user.setInitialItem(nil) end diff --git a/Data/Scripts/011_Battle/004_BattleHandlers_Items.rb b/Data/Scripts/011_Battle/004_BattleHandlers_Items.rb index 3056211e9..6f420f272 100644 --- a/Data/Scripts/011_Battle/004_BattleHandlers_Items.rb +++ b/Data/Scripts/011_Battle/004_BattleHandlers_Items.rb @@ -1123,7 +1123,7 @@ BattleHandlers::TargetItemOnHit.add(:STICKYBARB, target.item = nil target.effects[PBEffects::Unburden] = true if battle.wildBattle? && !user.opposes? - if !user.initialItem && target.initialItem==user.item + if !user.initialItem && user.item == target.initialItem user.setInitialItem(user.item) target.setInitialItem(nil) end