diff --git a/Data/Scripts/011_Battle/005_AI/006_AI_Move_Utilities.rb b/Data/Scripts/011_Battle/005_AI/006_AI_Move_Utilities.rb index 58f6419ef..aed5a1cdc 100644 --- a/Data/Scripts/011_Battle/005_AI/006_AI_Move_Utilities.rb +++ b/Data/Scripts/011_Battle/005_AI/006_AI_Move_Utilities.rb @@ -390,6 +390,7 @@ class Battle::AI Battle::ItemEffects.triggerDamageCalcFromUser( user.item, user, target, move, multipliers, baseDmg, type ) + user.effects[PBEffects::GemConsumed] = nil # Untrigger consuming of Gems end end if skill >= PBTrainerAI.bestSkill && diff --git a/Data/Scripts/019_Utilities/001_Utilities.rb b/Data/Scripts/019_Utilities/001_Utilities.rb index e368b277f..e7434e2a5 100644 --- a/Data/Scripts/019_Utilities/001_Utilities.rb +++ b/Data/Scripts/019_Utilities/001_Utilities.rb @@ -219,6 +219,7 @@ def pbChangePlayer(id) meta = GameData::PlayerMetadata.get(id) return false if !meta $player.character_ID = id + return true end def pbTrainerName(name = nil, outfit = 0) diff --git a/Data/Scripts/021_Compiler/004_Compiler_MapsAndEvents.rb b/Data/Scripts/021_Compiler/004_Compiler_MapsAndEvents.rb index a9d16b8bb..74c3d1972 100644 --- a/Data/Scripts/021_Compiler/004_Compiler_MapsAndEvents.rb +++ b/Data/Scripts/021_Compiler/004_Compiler_MapsAndEvents.rb @@ -964,7 +964,7 @@ module Compiler elsif script[/^\s*pbTrainerBattle\((.+)\)\s*$/] battle_params = $1.split(",") trainer1 = "#{battle_params[0].strip}, #{battle_params[1].strip}" - trainer1 += ", #{battle_params[4].strip}" if battle_params[4].strip != "nil" + trainer1 += ", #{battle_params[4].strip}" if battle_params[4] && battle_params[4].strip != "nil" list[index].parameters[1] = "TrainerBattle.start(#{trainer1})" old_indent = list[index].indent new_events = [] @@ -987,7 +987,7 @@ module Compiler elsif script[/^\s*pbDoubleTrainerBattle\((.+)\)\s*$/] battle_params = $1.split(",") trainer1 = "#{battle_params[0].strip}, #{battle_params[1].strip}" - trainer1 += ", #{battle_params[2].strip}" if battle_params[2].strip != "nil" + trainer1 += ", #{battle_params[2].strip}" if battle_params[2] && battle_params[2].strip != "nil" trainer2 = "#{battle_params[4].strip}, #{battle_params[5].strip}" trainer2 += ", #{battle_params[6].strip}" if battle_params[6] && battle_params[6].strip != "nil" list[index].parameters[1] = "TrainerBattle.start(#{trainer1}, #{trainer2})" @@ -1014,7 +1014,7 @@ module Compiler elsif script[/^\s*pbTripleTrainerBattle\((.+)\)\s*$/] battle_params = $1.split(",") trainer1 = "#{battle_params[0].strip}, #{battle_params[1].strip}" - trainer1 += ", #{battle_params[2].strip}" if battle_params[2].strip != "nil" + trainer1 += ", #{battle_params[2].strip}" if battle_params[2] && battle_params[2].strip != "nil" trainer2 = "#{battle_params[4].strip}, #{battle_params[5].strip}" trainer2 += ", #{battle_params[6].strip}" if battle_params[6] && battle_params[6].strip != "nil" trainer3 = "#{battle_params[8].strip}, #{battle_params[9].strip}"