Fixed code relating to initial held items in battle, fixed default functionality of rand when no number is given

This commit is contained in:
Maruno17
2021-08-03 18:45:39 +01:00
parent c8b1b6251b
commit 7f86115c36
5 changed files with 19 additions and 14 deletions

View File

@@ -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

View File

@@ -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?

View File

@@ -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

View File

@@ -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

View File

@@ -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