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) return oldRand(a)
end end
elsif a.nil? elsif a.nil?
return (b) ? oldRand(b) : oldRand(2) return oldRand(b)
end end
return oldRand
end end
end end

View File

@@ -614,16 +614,20 @@ class PokeBattle_Battler
return @battle.initialItems[@index&1][@pokemonIndex] return @battle.initialItems[@index&1][@pokemonIndex]
end end
def setInitialItem(newItem) def setInitialItem(value)
@battle.initialItems[@index&1][@pokemonIndex] = newItem item_data = GameData::Item.try_get(value)
new_item = (item_data) ? item_data.id : nil
@battle.initialItems[@index&1][@pokemonIndex] = new_item
end end
def recycleItem def recycleItem
return @battle.recycleItems[@index&1][@pokemonIndex] return @battle.recycleItems[@index&1][@pokemonIndex]
end end
def setRecycleItem(newItem) def setRecycleItem(value)
@battle.recycleItems[@index&1][@pokemonIndex] = newItem item_data = GameData::Item.try_get(value)
new_item = (item_data) ? item_data.id : nil
@battle.recycleItems[@index&1][@pokemonIndex] = new_item
end end
def belched? def belched?

View File

@@ -3219,8 +3219,8 @@ class PokeBattle_Move_0F1 < PokeBattle_Move
itemName = target.itemName itemName = target.itemName
user.item = target.item user.item = target.item
# Permanently steal the item from wild Pokémon # Permanently steal the item from wild Pokémon
if @battle.wildBattle? && target.opposes? && if @battle.wildBattle? && target.opposes? && !user.initialItem &&
target.initialItem==target.item && !user.initialItem target.item == target.initialItem
user.setInitialItem(target.item) user.setInitialItem(target.item)
target.pbRemoveItem target.pbRemoveItem
else else
@@ -3282,8 +3282,8 @@ class PokeBattle_Move_0F2 < PokeBattle_Move
target.effects[PBEffects::ChoiceBand] = nil target.effects[PBEffects::ChoiceBand] = nil
target.effects[PBEffects::Unburden] = (!target.item && oldTargetItem) target.effects[PBEffects::Unburden] = (!target.item && oldTargetItem)
# Permanently steal the item from wild Pokémon # Permanently steal the item from wild Pokémon
if @battle.wildBattle? && target.opposes? && if @battle.wildBattle? && target.opposes? && !user.initialItem &&
target.initialItem==oldTargetItem && !user.initialItem oldTargetItem == target.initialItem
user.setInitialItem(oldTargetItem) user.setInitialItem(oldTargetItem)
end end
@battle.pbDisplay(_INTL("{1} switched items with its opponent!",user.pbThis)) @battle.pbDisplay(_INTL("{1} switched items with its opponent!",user.pbThis))
@@ -3326,8 +3326,8 @@ class PokeBattle_Move_0F3 < PokeBattle_Move
itemName = user.itemName itemName = user.itemName
target.item = user.item target.item = user.item
# Permanently steal the item from wild Pokémon # Permanently steal the item from wild Pokémon
if @battle.wildBattle? && user.opposes? && if @battle.wildBattle? && user.opposes? && !target.initialItem &&
user.initialItem==user.item && !target.initialItem user.item == user.initialItem
target.setInitialItem(user.item) target.setInitialItem(user.item)
user.pbRemoveItem user.pbRemoveItem
else else

View File

@@ -1668,7 +1668,7 @@ BattleHandlers::UserAbilityEndOfMove.add(:MAGICIAN,
user.item = b.item user.item = b.item
b.item = nil b.item = nil
b.effects[PBEffects::Unburden] = true 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) user.setInitialItem(user.item)
b.setInitialItem(nil) b.setInitialItem(nil)
end end
@@ -1747,7 +1747,7 @@ BattleHandlers::TargetAbilityAfterMoveUse.add(:PICKPOCKET,
target.item = user.item target.item = user.item
user.item = nil user.item = nil
user.effects[PBEffects::Unburden] = true 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) target.setInitialItem(target.item)
user.setInitialItem(nil) user.setInitialItem(nil)
end end

View File

@@ -1123,7 +1123,7 @@ BattleHandlers::TargetItemOnHit.add(:STICKYBARB,
target.item = nil target.item = nil
target.effects[PBEffects::Unburden] = true target.effects[PBEffects::Unburden] = true
if battle.wildBattle? && !user.opposes? if battle.wildBattle? && !user.opposes?
if !user.initialItem && target.initialItem==user.item if !user.initialItem && user.item == target.initialItem
user.setInitialItem(user.item) user.setInitialItem(user.item)
target.setInitialItem(nil) target.setInitialItem(nil)
end end