diff --git a/Data/Scripts/010_Data/002_PBS data/005_Move.rb b/Data/Scripts/010_Data/002_PBS data/005_Move.rb index 97502051d..7363a02af 100644 --- a/Data/Scripts/010_Data/002_PBS data/005_Move.rb +++ b/Data/Scripts/010_Data/002_PBS data/005_Move.rb @@ -401,8 +401,6 @@ module GameData when "007" if data[:id] == :THUNDERWAVE new_code = "ParalyzeTargetIfNotTypeImmune" - elsif data[:id] == :BODYSLAM && Settings::MECHANICS_GENERATION >= 6 - new_code = "ParalyzeTargetTrampleMinimize" else new_code = "ParalyzeTarget" end @@ -413,8 +411,7 @@ module GameData when "00C" then new_code = "FreezeTarget" when "00D" then new_code = "FreezeTargetAlwaysHitsInHail" when "00E" then new_code = "FreezeFlinchTarget" - when "00F" then new_code = "FlinchTarget" - when "010" then new_code = "FlinchTargetTrampleMinimize" + when "00F", "010" then new_code = "FlinchTarget" when "011" then new_code = "FlinchTargetFailsIfUserNotAsleep" when "012" then new_code = "FlinchTargetFailsIfNotUserFirstTurn" when "013", "014" then new_code = "ConfuseTarget" diff --git a/Data/Scripts/011_Battle/003_Move/001_Battle_Move.rb b/Data/Scripts/011_Battle/003_Move/001_Battle_Move.rb index fb70681ba..a19ebb7b5 100644 --- a/Data/Scripts/011_Battle/003_Move/001_Battle_Move.rb +++ b/Data/Scripts/011_Battle/003_Move/001_Battle_Move.rb @@ -132,9 +132,9 @@ class Battle::Move def pulseMove?; return @flags.any? { |f| f[/^Pulse$/i] }; end def bombMove?; return @flags.any? { |f| f[/^Bomb$/i] }; end def danceMove?; return @flags.any? { |f| f[/^Dance$/i] }; end + # Causes perfect accuracy and double damage if target used Minimize. Perfect accuracy only with Gen 6+ mechanics. + def tramplesMinimize?; return @flags.any? { |f| f[/^TramplesMinimize$/i] }; end - # Causes perfect accuracy (param=1) and double damage (param=2). - def tramplesMinimize?(_param = 1); return false; end def nonLethal?(_user, _target); return false; end # For False Swipe def ignoresSubstitute?(user) # user is the Pokémon using this move diff --git a/Data/Scripts/011_Battle/003_Move/003_Move_UsageCalculations.rb b/Data/Scripts/011_Battle/003_Move/003_Move_UsageCalculations.rb index cccf79864..bbaa2ebb8 100644 --- a/Data/Scripts/011_Battle/003_Move/003_Move_UsageCalculations.rb +++ b/Data/Scripts/011_Battle/003_Move/003_Move_UsageCalculations.rb @@ -94,7 +94,7 @@ class Battle::Move def pbAccuracyCheck(user, target) # "Always hit" effects and "always hit" accuracy return true if target.effects[PBEffects::Telekinesis] > 0 - return true if target.effects[PBEffects::Minimize] && tramplesMinimize?(1) + return true if target.effects[PBEffects::Minimize] && tramplesMinimize? && Settings::MECHANICS_GENERATION >= 6 baseAcc = pbBaseAccuracy(user, target) return true if baseAcc == 0 # Calculate all multiplier effects @@ -479,7 +479,7 @@ class Battle::Move end end # Minimize - if target.effects[PBEffects::Minimize] && tramplesMinimize?(2) + if target.effects[PBEffects::Minimize] && tramplesMinimize? multipliers[:final_damage_multiplier] *= 2 end # Move-specific base damage modifiers diff --git a/Data/Scripts/011_Battle/003_Move/007_MoveEffects_BattlerOther.rb b/Data/Scripts/011_Battle/003_Move/007_MoveEffects_BattlerOther.rb index 6888fe3bd..965d30755 100644 --- a/Data/Scripts/011_Battle/003_Move/007_MoveEffects_BattlerOther.rb +++ b/Data/Scripts/011_Battle/003_Move/007_MoveEffects_BattlerOther.rb @@ -169,18 +169,6 @@ class Battle::Move::ParalyzeTargetIfNotTypeImmune < Battle::Move::ParalyzeTarget end end -#=============================================================================== -# Paralyzes the target. Does double damage and has perfect accuracy if target is -# Minimized. (Body Slam (Gen 6+)) -#=============================================================================== -class Battle::Move::ParalyzeTargetTrampleMinimize < Battle::Move::ParalyzeTarget - def tramplesMinimize?(param = 1) - return true if param == 1 && Settings::MECHANICS_GENERATION >= 6 # Perfect accuracy - return true if param == 2 # Double damage - return super - end -end - #=============================================================================== # Paralyzes the target. Accuracy perfect in rain, 50% in sunshine. Hits some # semi-invulnerable targets. (Thunder) @@ -548,18 +536,6 @@ class Battle::Move::FlinchTarget < Battle::Move end end -#=============================================================================== -# Causes the target to flinch. Does double damage and has perfect accuracy if -# the target is Minimized. (Dragon Rush (Gen 6+), Steamroller, Stomp) -#=============================================================================== -class Battle::Move::FlinchTargetTrampleMinimize < Battle::Move::FlinchTarget - def tramplesMinimize?(param = 1) - return true if param == 1 && Settings::MECHANICS_GENERATION >= 6 # Perfect accuracy - return true if param == 2 # Double damage - return super - end -end - #=============================================================================== # Causes the target to flinch. Fails if the user is not asleep. (Snore) #=============================================================================== diff --git a/Data/Scripts/011_Battle/003_Move/008_MoveEffects_MoveAttributes.rb b/Data/Scripts/011_Battle/003_Move/008_MoveEffects_MoveAttributes.rb index b97dea44d..3c5135970 100644 --- a/Data/Scripts/011_Battle/003_Move/008_MoveEffects_MoveAttributes.rb +++ b/Data/Scripts/011_Battle/003_Move/008_MoveEffects_MoveAttributes.rb @@ -307,14 +307,8 @@ end #=============================================================================== # Power increases the heavier the user is than the target. (Heat Crash, Heavy Slam) -# Does double damage and has perfect accuracy if the target is Minimized. #=============================================================================== class Battle::Move::PowerHigherWithUserHeavierThanTarget < Battle::Move - def tramplesMinimize?(param = 1) - return true if Settings::MECHANICS_GENERATION >= 7 # Perfect accuracy and double damage - return super - end - def pbBaseDamage(baseDmg, user, target) ret = 40 n = (user.pbWeight / target.pbWeight).floor @@ -1113,16 +1107,9 @@ end #=============================================================================== # Type effectiveness is multiplied by the Flying-type's effectiveness against -# the target. Does double damage and has perfect accuracy if the target is -# Minimized. (Flying Press) +# the target. (Flying Press) #=============================================================================== class Battle::Move::EffectivenessIncludesFlyingType < Battle::Move - def tramplesMinimize?(param = 1) - return true if param == 1 && Settings::MECHANICS_GENERATION >= 6 # Perfect accuracy - return true if param == 2 # Double damage - return super - end - def pbCalcTypeModSingle(moveType, defType, user, target) ret = super if GameData::Type.exists?(:FLYING) diff --git a/Data/Scripts/011_Battle/003_Move/009_MoveEffects_MultiHit.rb b/Data/Scripts/011_Battle/003_Move/009_MoveEffects_MultiHit.rb index e2449dc37..6cec25d88 100644 --- a/Data/Scripts/011_Battle/003_Move/009_MoveEffects_MultiHit.rb +++ b/Data/Scripts/011_Battle/003_Move/009_MoveEffects_MultiHit.rb @@ -15,13 +15,11 @@ class Battle::Move::HitTwoTimesPoisonTarget < Battle::Move::PoisonTarget end #=============================================================================== -# Hits twice. Causes the target to flinch. Does double damage and has perfect -# accuracy if the target is Minimized. (Double Iron Bash) +# Hits twice. Causes the target to flinch. (Double Iron Bash) #=============================================================================== class Battle::Move::HitTwoTimesFlinchTarget < Battle::Move::FlinchTarget - def multiHitMove?; return true; end - def pbNumHits(user, targets); return 2; end - def tramplesMinimize?(param = 1); return Settings::MECHANICS_GENERATION <= 7; end + def multiHitMove?; return true; end + def pbNumHits(user, targets); return 2; end end #=============================================================================== diff --git a/PBS/Gen 5/moves.txt b/PBS/Gen 5/moves.txt index 2a537342b..bb0aeb22e 100644 --- a/PBS/Gen 5/moves.txt +++ b/PBS/Gen 5/moves.txt @@ -82,8 +82,8 @@ BaseDamage = 65 Accuracy = 100 TotalPP = 20 Target = NearOther -FunctionCode = FlinchTargetTrampleMinimize -Flags = Contact,CanProtect,CanMirrorMove +FunctionCode = FlinchTarget +Flags = Contact,CanProtect,CanMirrorMove,TramplesMinimize EffectChance = 30 Description = The user crushes its foes by rolling over them. This attack may make the target flinch. #------------------------------- @@ -633,7 +633,7 @@ BaseDamage = 100 Accuracy = 75 TotalPP = 10 Target = NearOther -FunctionCode = FlinchTargetTrampleMinimize +FunctionCode = FlinchTarget Flags = Contact,CanProtect,CanMirrorMove EffectChance = 20 Description = The user tackles the foe while exhibiting overwhelming menace. It may also make the target flinch. @@ -3557,8 +3557,8 @@ BaseDamage = 65 Accuracy = 100 TotalPP = 20 Target = NearOther -FunctionCode = FlinchTargetTrampleMinimize -Flags = Contact,CanProtect,CanMirrorMove +FunctionCode = FlinchTarget +Flags = Contact,CanProtect,CanMirrorMove,TramplesMinimize EffectChance = 30 Description = The target is stomped with a big foot. It may also make the target flinch. #------------------------------- diff --git a/PBS/Gen 7/moves.txt b/PBS/Gen 7/moves.txt index 266d3c957..73917b6e8 100644 --- a/PBS/Gen 7/moves.txt +++ b/PBS/Gen 7/moves.txt @@ -132,8 +132,8 @@ BaseDamage = 65 Accuracy = 100 TotalPP = 20 Target = NearOther -FunctionCode = FlinchTargetTrampleMinimize -Flags = Contact,CanProtect,CanMirrorMove +FunctionCode = FlinchTarget +Flags = Contact,CanProtect,CanMirrorMove,TramplesMinimize EffectChance = 30 Description = The user crushes its foes by rolling over them. This attack may make the target flinch. #------------------------------- @@ -823,8 +823,8 @@ BaseDamage = 100 Accuracy = 75 TotalPP = 10 Target = NearOther -FunctionCode = FlinchTargetTrampleMinimize -Flags = Contact,CanProtect,CanMirrorMove +FunctionCode = FlinchTarget +Flags = Contact,CanProtect,CanMirrorMove,TramplesMinimize EffectChance = 20 Description = The user tackles the foe while exhibiting overwhelming menace. It may also make the target flinch. #------------------------------- @@ -1623,7 +1623,7 @@ Accuracy = 95 TotalPP = 10 Target = Other FunctionCode = EffectivenessIncludesFlyingType -Flags = Contact,CanProtect,CanMirrorMove +Flags = Contact,CanProtect,CanMirrorMove,TramplesMinimize Description = The user dives down onto the target from the sky. This move is Fighting and Flying type simultaneously. #------------------------------- [HAMMERARM] @@ -2439,7 +2439,7 @@ Accuracy = 100 TotalPP = 10 Target = NearOther FunctionCode = PowerHigherWithUserHeavierThanTarget -Flags = Contact,CanProtect,CanMirrorMove +Flags = Contact,CanProtect,CanMirrorMove,TramplesMinimize Description = The user slams the foe with its flaming body. The heavier the user is, the greater the damage. #------------------------------- [SUNNYDAY] @@ -4326,8 +4326,8 @@ BaseDamage = 85 Accuracy = 100 TotalPP = 15 Target = NearOther -FunctionCode = ParalyzeTargetTrampleMinimize -Flags = Contact,CanProtect,CanMirrorMove +FunctionCode = ParalyzeTarget +Flags = Contact,CanProtect,CanMirrorMove,TramplesMinimize EffectChance = 30 Description = The user drops onto the target with its full body weight. It may leave the target with paralysis. #------------------------------- @@ -4563,8 +4563,8 @@ BaseDamage = 65 Accuracy = 100 TotalPP = 20 Target = NearOther -FunctionCode = FlinchTargetTrampleMinimize -Flags = Contact,CanProtect,CanMirrorMove +FunctionCode = FlinchTarget +Flags = Contact,CanProtect,CanMirrorMove,TramplesMinimize EffectChance = 30 Description = The target is stomped with a big foot. It may also make the target flinch. #------------------------------- @@ -7399,7 +7399,7 @@ Accuracy = 100 TotalPP = 5 Target = NearOther FunctionCode = HitTwoTimesFlinchTarget -Flags = Contact,CanProtect,Punching +Flags = Contact,CanProtect,Punching,TramplesMinimize EffectChance = 30 Description = The user rotates, centering the hex nut in its chest, and then strikes twice. May cause flinching. #------------------------------- @@ -7487,7 +7487,7 @@ Accuracy = 100 TotalPP = 10 Target = NearOther FunctionCode = PowerHigherWithUserHeavierThanTarget -Flags = Contact,CanProtect,CanMirrorMove +Flags = Contact,CanProtect,CanMirrorMove,TramplesMinimize Description = The user slams into the foe with its heavy body. The heavier the user, the greater the damage. #------------------------------- [METALBURST] diff --git a/PBS/Gen 8/moves.txt b/PBS/Gen 8/moves.txt index 152fbba3b..d3bdb27d0 100644 --- a/PBS/Gen 8/moves.txt +++ b/PBS/Gen 8/moves.txt @@ -145,8 +145,8 @@ BaseDamage = 65 Accuracy = 100 TotalPP = 20 Target = NearOther -FunctionCode = FlinchTargetTrampleMinimize -Flags = Contact,CanProtect,CanMirrorMove +FunctionCode = FlinchTarget +Flags = Contact,CanProtect,CanMirrorMove,TramplesMinimize EffectChance = 30 Description = The user crushes its foes by rolling over them. This attack may make the target flinch. #------------------------------- @@ -932,8 +932,8 @@ BaseDamage = 100 Accuracy = 75 TotalPP = 10 Target = NearOther -FunctionCode = FlinchTargetTrampleMinimize -Flags = Contact,CanProtect,CanMirrorMove +FunctionCode = FlinchTarget +Flags = Contact,CanProtect,CanMirrorMove,TramplesMinimize EffectChance = 20 Description = The user tackles the foe while exhibiting overwhelming menace. It may also make the target flinch. #------------------------------- @@ -1913,7 +1913,7 @@ Accuracy = 95 TotalPP = 10 Target = Other FunctionCode = EffectivenessIncludesFlyingType -Flags = Contact,CanProtect,CanMirrorMove +Flags = Contact,CanProtect,CanMirrorMove,TramplesMinimize Description = The user dives down onto the target from the sky. This move is Fighting and Flying type simultaneously. #------------------------------- [HAMMERARM] @@ -2811,7 +2811,7 @@ Accuracy = 100 TotalPP = 10 Target = NearOther FunctionCode = PowerHigherWithUserHeavierThanTarget -Flags = Contact,CanProtect,CanMirrorMove +Flags = Contact,CanProtect,CanMirrorMove,TramplesMinimize Description = The user slams the foe with its flaming body. The heavier the user is, the greater the damage. #------------------------------- [SUNNYDAY] @@ -4856,8 +4856,8 @@ BaseDamage = 85 Accuracy = 100 TotalPP = 15 Target = NearOther -FunctionCode = ParalyzeTargetTrampleMinimize -Flags = Contact,CanProtect,CanMirrorMove +FunctionCode = ParalyzeTarget +Flags = Contact,CanProtect,CanMirrorMove,TramplesMinimize EffectChance = 30 Description = The user drops onto the target with its full body weight. It may leave the target with paralysis. #------------------------------- @@ -5093,8 +5093,8 @@ BaseDamage = 65 Accuracy = 100 TotalPP = 20 Target = NearOther -FunctionCode = FlinchTargetTrampleMinimize -Flags = Contact,CanProtect,CanMirrorMove +FunctionCode = FlinchTarget +Flags = Contact,CanProtect,CanMirrorMove,TramplesMinimize EffectChance = 30 Description = The target is stomped with a big foot. It may also make the target flinch. #------------------------------- @@ -8206,7 +8206,7 @@ Accuracy = 100 TotalPP = 10 Target = NearOther FunctionCode = PowerHigherWithUserHeavierThanTarget -Flags = Contact,CanProtect,CanMirrorMove +Flags = Contact,CanProtect,CanMirrorMove,TramplesMinimize Description = The user slams into the foe with its heavy body. The heavier the user, the greater the damage. #------------------------------- [METALBURST] diff --git a/PBS/moves.txt b/PBS/moves.txt index 152fbba3b..d3bdb27d0 100644 --- a/PBS/moves.txt +++ b/PBS/moves.txt @@ -145,8 +145,8 @@ BaseDamage = 65 Accuracy = 100 TotalPP = 20 Target = NearOther -FunctionCode = FlinchTargetTrampleMinimize -Flags = Contact,CanProtect,CanMirrorMove +FunctionCode = FlinchTarget +Flags = Contact,CanProtect,CanMirrorMove,TramplesMinimize EffectChance = 30 Description = The user crushes its foes by rolling over them. This attack may make the target flinch. #------------------------------- @@ -932,8 +932,8 @@ BaseDamage = 100 Accuracy = 75 TotalPP = 10 Target = NearOther -FunctionCode = FlinchTargetTrampleMinimize -Flags = Contact,CanProtect,CanMirrorMove +FunctionCode = FlinchTarget +Flags = Contact,CanProtect,CanMirrorMove,TramplesMinimize EffectChance = 20 Description = The user tackles the foe while exhibiting overwhelming menace. It may also make the target flinch. #------------------------------- @@ -1913,7 +1913,7 @@ Accuracy = 95 TotalPP = 10 Target = Other FunctionCode = EffectivenessIncludesFlyingType -Flags = Contact,CanProtect,CanMirrorMove +Flags = Contact,CanProtect,CanMirrorMove,TramplesMinimize Description = The user dives down onto the target from the sky. This move is Fighting and Flying type simultaneously. #------------------------------- [HAMMERARM] @@ -2811,7 +2811,7 @@ Accuracy = 100 TotalPP = 10 Target = NearOther FunctionCode = PowerHigherWithUserHeavierThanTarget -Flags = Contact,CanProtect,CanMirrorMove +Flags = Contact,CanProtect,CanMirrorMove,TramplesMinimize Description = The user slams the foe with its flaming body. The heavier the user is, the greater the damage. #------------------------------- [SUNNYDAY] @@ -4856,8 +4856,8 @@ BaseDamage = 85 Accuracy = 100 TotalPP = 15 Target = NearOther -FunctionCode = ParalyzeTargetTrampleMinimize -Flags = Contact,CanProtect,CanMirrorMove +FunctionCode = ParalyzeTarget +Flags = Contact,CanProtect,CanMirrorMove,TramplesMinimize EffectChance = 30 Description = The user drops onto the target with its full body weight. It may leave the target with paralysis. #------------------------------- @@ -5093,8 +5093,8 @@ BaseDamage = 65 Accuracy = 100 TotalPP = 20 Target = NearOther -FunctionCode = FlinchTargetTrampleMinimize -Flags = Contact,CanProtect,CanMirrorMove +FunctionCode = FlinchTarget +Flags = Contact,CanProtect,CanMirrorMove,TramplesMinimize EffectChance = 30 Description = The target is stomped with a big foot. It may also make the target flinch. #------------------------------- @@ -8206,7 +8206,7 @@ Accuracy = 100 TotalPP = 10 Target = NearOther FunctionCode = PowerHigherWithUserHeavierThanTarget -Flags = Contact,CanProtect,CanMirrorMove +Flags = Contact,CanProtect,CanMirrorMove,TramplesMinimize Description = The user slams into the foe with its heavy body. The heavier the user, the greater the damage. #------------------------------- [METALBURST]