diff --git a/Data/Scripts/011_Battle/003_Move/012_MoveEffects_ChangeMoveEffect.rb b/Data/Scripts/011_Battle/003_Move/012_MoveEffects_ChangeMoveEffect.rb index 5425c8dde..bd4e9b07a 100644 --- a/Data/Scripts/011_Battle/003_Move/012_MoveEffects_ChangeMoveEffect.rb +++ b/Data/Scripts/011_Battle/003_Move/012_MoveEffects_ChangeMoveEffect.rb @@ -695,6 +695,7 @@ class Battle::Move::UseLastMoveUsed < Battle::Move "ProtectUserSideFromDamagingMovesIfUserFirstTurn", # Mat Block "ProtectUserSideFromStatusMoves", # Crafty Shield # Not listed on Bulbapedia "ProtectUserFromDamagingMovesKingsShield", # King's Shield + "ProtectUserFromDamagingMovesObstruct", # Obstruct # Not listed on Bulbapedia "ProtectUserFromTargetingMovesSpikyShield", # Spiky Shield "ProtectUserBanefulBunker", # Baneful Bunker # Moves that call other moves @@ -1009,6 +1010,7 @@ class Battle::Move::UseRandomMoveFromUserParty < Battle::Move "ProtectUserSideFromDamagingMovesIfUserFirstTurn", # Mat Block "ProtectUserSideFromStatusMoves", # Crafty Shield # Not listed on Bulbapedia "ProtectUserFromDamagingMovesKingsShield", # King's Shield + "ProtectUserFromDamagingMovesObstruct", # Obstruct # Not listed on Bulbapedia "ProtectUserFromTargetingMovesSpikyShield", # Spiky Shield "ProtectUserBanefulBunker", # Baneful Bunker # Moves that call other moves diff --git a/Data/Scripts/011_Battle/003_Move/013_MoveEffects_SwitchingActing.rb b/Data/Scripts/011_Battle/003_Move/013_MoveEffects_SwitchingActing.rb index 9bf0c6efc..ecf627294 100644 --- a/Data/Scripts/011_Battle/003_Move/013_MoveEffects_SwitchingActing.rb +++ b/Data/Scripts/011_Battle/003_Move/013_MoveEffects_SwitchingActing.rb @@ -545,44 +545,44 @@ class Battle::Move::TargetUsesItsLastUsedMoveAgain < Battle::Move def initialize(battle, move) super @moveBlacklist = [ - "MultiTurnAttackBideThenReturnDoubleDamage", # Bide - "ProtectUserFromDamagingMovesKingsShield", # King's Shield - "TargetUsesItsLastUsedMoveAgain", # Instruct (this move) + "MultiTurnAttackBideThenReturnDoubleDamage", # Bide + "ProtectUserFromDamagingMovesKingsShield", # King's Shield + "TargetUsesItsLastUsedMoveAgain", # Instruct (this move) # Struggle - "Struggle", # Struggle + "Struggle", # Struggle # Moves that affect the moveset - "ReplaceMoveThisBattleWithTargetLastMoveUsed", # Mimic - "ReplaceMoveWithTargetLastMoveUsed", # Sketch - "TransformUserIntoTarget", # Transform + "ReplaceMoveThisBattleWithTargetLastMoveUsed", # Mimic + "ReplaceMoveWithTargetLastMoveUsed", # Sketch + "TransformUserIntoTarget", # Transform # Moves that call other moves - "UseLastMoveUsedByTarget", # Mirror Move - "UseLastMoveUsed", # Copycat - "UseMoveTargetIsAboutToUse", # Me First - "UseMoveDependingOnEnvironment", # Nature Power - "UseRandomUserMoveIfAsleep", # Sleep Talk - "UseRandomMoveFromUserParty", # Assist - "UseRandomMove", # Metronome + "UseLastMoveUsedByTarget", # Mirror Move + "UseLastMoveUsed", # Copycat + "UseMoveTargetIsAboutToUse", # Me First + "UseMoveDependingOnEnvironment", # Nature Power + "UseRandomUserMoveIfAsleep", # Sleep Talk + "UseRandomMoveFromUserParty", # Assist + "UseRandomMove", # Metronome # Moves that require a recharge turn - "AttackAndSkipNextTurn", # Hyper Beam + "AttackAndSkipNextTurn", # Hyper Beam # Two-turn attacks - "TwoTurnAttack", # Razor Wind - "TwoTurnAttackOneTurnInSun", # Solar Beam, Solar Blade - "TwoTurnAttackParalyzeTarget", # Freeze Shock - "TwoTurnAttackBurnTarget", # Ice Burn - "TwoTurnAttackFlinchTarget", # Sky Attack - "TwoTurnAttackChargeRaiseUserDefense1", # Skull Bash - "TwoTurnAttackInvulnerableInSky", # Fly - "TwoTurnAttackInvulnerableUnderground", # Dig - "TwoTurnAttackInvulnerableUnderwater", # Dive - "TwoTurnAttackInvulnerableInSkyParalyzeTarget", # Bounce - "TwoTurnAttackInvulnerableRemoveProtections", # Shadow Force, Phantom Force + "TwoTurnAttack", # Razor Wind + "TwoTurnAttackOneTurnInSun", # Solar Beam, Solar Blade + "TwoTurnAttackParalyzeTarget", # Freeze Shock + "TwoTurnAttackBurnTarget", # Ice Burn + "TwoTurnAttackFlinchTarget", # Sky Attack + "TwoTurnAttackChargeRaiseUserDefense1", # Skull Bash + "TwoTurnAttackInvulnerableInSky", # Fly + "TwoTurnAttackInvulnerableUnderground", # Dig + "TwoTurnAttackInvulnerableUnderwater", # Dive + "TwoTurnAttackInvulnerableInSkyParalyzeTarget", # Bounce + "TwoTurnAttackInvulnerableRemoveProtections", # Shadow Force, Phantom Force "TwoTurnAttackInvulnerableInSkyTargetCannotAct", # Sky Drop - "AllBattlersLoseHalfHPUserSkipsNextTurn", # Shadow Half - "TwoTurnAttackRaiseUserSpAtkSpDefSpd2", # Geomancy + "AllBattlersLoseHalfHPUserSkipsNextTurn", # Shadow Half + "TwoTurnAttackRaiseUserSpAtkSpDefSpd2", # Geomancy # Moves that start focussing at the start of the round - "FailsIfUserDamagedThisTurn", # Focus Punch - "UsedAfterUserTakesPhysicalDamage", # Shell Trap - "BurnAttackerBeforeUserActs" # Beak Blast + "FailsIfUserDamagedThisTurn", # Focus Punch + "UsedAfterUserTakesPhysicalDamage", # Shell Trap + "BurnAttackerBeforeUserActs" # Beak Blast ] end diff --git a/Data/Scripts/011_Battle/006_Other battle code/010_Battle_PokeBallEffects.rb b/Data/Scripts/011_Battle/006_Other battle code/010_Battle_PokeBallEffects.rb index aa9557a8a..755aa4d4c 100644 --- a/Data/Scripts/011_Battle/006_Other battle code/010_Battle_PokeBallEffects.rb +++ b/Data/Scripts/011_Battle/006_Other battle code/010_Battle_PokeBallEffects.rb @@ -121,7 +121,7 @@ Battle::PokeBallEffects::ModifyCatchRate.add(:LUREBALL, proc { |ball, catchRate, Battle::PokeBallEffects::ModifyCatchRate.add(:HEAVYBALL, proc { |ball, catchRate, battle, battler| next 0 if catchRate == 0 - weight = battler.pokemon.species_data.base_stats[:SPEED] + weight = battler.pbWeight if Settings::NEW_POKE_BALL_CATCH_RATES if weight >= 3000 catchRate += 30 @@ -141,8 +141,7 @@ Battle::PokeBallEffects::ModifyCatchRate.add(:HEAVYBALL, proc { |ball, catchRate catchRate -= 20 end end - catchRate = [catchRate, 1].max - next [catchRate, 255].min + next catchRate.clamp(1, 255) }) Battle::PokeBallEffects::ModifyCatchRate.add(:LOVEBALL, proc { |ball, catchRate, battle, battler| diff --git a/Data/Scripts/021_Compiler/004_Compiler_MapsAndEvents.rb b/Data/Scripts/021_Compiler/004_Compiler_MapsAndEvents.rb index 68dd87263..a3fc2e5b8 100644 --- a/Data/Scripts/021_Compiler/004_Compiler_MapsAndEvents.rb +++ b/Data/Scripts/021_Compiler/004_Compiler_MapsAndEvents.rb @@ -986,19 +986,14 @@ module Compiler list[index, 0] = new_events if new_events.length > 0 changed = true elsif script[/^\s*pbTrainerBattle\((.+)\)\s*$/] - echoln "" - echoln $1 battle_params = split_string_with_quotes($1) # Split on commas - echoln battle_params trainer1 = "#{battle_params[0]}, #{battle_params[1]}" trainer1 += ", #{battle_params[4]}" if battle_params[4] && battle_params[4] != "nil" list[index].parameters[1] = "TrainerBattle.start(#{trainer1})" old_indent = list[index].indent new_events = [] if battle_params[2] && !battle_params[2].empty? && battle_params[2] != "nil" - echoln battle_params[2] speech = battle_params[2].gsub(/^\s*_I\(\s*"\s*/, "").gsub(/\"\s*\)\s*$/, "") - echoln speech push_comment(new_events, "EndSpeech: #{speech.strip}", old_indent) end if battle_params[3] && battle_params[3][/true/]