From 92618517011009111dfff99b1c7862a166dfac9d Mon Sep 17 00:00:00 2001 From: Maruno17 Date: Sun, 19 Jun 2022 17:36:35 +0100 Subject: [PATCH] =?UTF-8?q?Fixed=20party=20order=20not=20being=20altered?= =?UTF-8?q?=20at=20the=20start=20of=20battle=20if=20there=20are=20unable?= =?UTF-8?q?=20Pok=C3=A9mon=20before=20the=20one(s)=20sent=20in=20initially?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Scripts/011_Battle/001_Battle/002_Battle_StartAndEnd.rb | 6 ++++++ .../011_Battle/001_Battle/006_Battle_ActionUseItem.rb | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Data/Scripts/011_Battle/001_Battle/002_Battle_StartAndEnd.rb b/Data/Scripts/011_Battle/001_Battle/002_Battle_StartAndEnd.rb index 0cfcc6652..73d285044 100644 --- a/Data/Scripts/011_Battle/001_Battle/002_Battle_StartAndEnd.rb +++ b/Data/Scripts/011_Battle/001_Battle/002_Battle_StartAndEnd.rb @@ -143,6 +143,8 @@ class Battle # For each trainer in turn, find the needed number of Pokémon for them to # send out, and initialize them battlerNumber = 0 + partyOrder = pbPartyOrder(side) + starts = pbPartyStarts(side) trainer.each_with_index do |_t, idxTrainer| ret[side][idxTrainer] = [] eachInTeam(side, idxTrainer) do |pkmn, idxPkmn| @@ -150,6 +152,10 @@ class Battle idxBattler = (2 * battlerNumber) + side pbCreateBattler(idxBattler, pkmn, idxPkmn) ret[side][idxTrainer].push(idxBattler) + if idxPkmn != starts[idxTrainer] + battlerNumber + idxOther = starts[idxTrainer] + battlerNumber + partyOrder[idxPkmn], partyOrder[idxOther] = partyOrder[idxOther], partyOrder[idxPkmn] + end battlerNumber += 1 break if ret[side][idxTrainer].length >= requireds[idxTrainer] end diff --git a/Data/Scripts/011_Battle/001_Battle/006_Battle_ActionUseItem.rb b/Data/Scripts/011_Battle/001_Battle/006_Battle_ActionUseItem.rb index 575917e87..0731e4915 100644 --- a/Data/Scripts/011_Battle/001_Battle/006_Battle_ActionUseItem.rb +++ b/Data/Scripts/011_Battle/001_Battle/006_Battle_ActionUseItem.rb @@ -8,7 +8,7 @@ class Battle return false end # Embargo - if battler&.effects[PBEffects::Embargo] > 0 + if battler && battler.effects[PBEffects::Embargo] > 0 if showMessages scene.pbDisplay(_INTL("Embargo's effect prevents the item's use on {1}!", battler.pbThis(true)))