mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-07 13:15:01 +00:00
Implement TramplesMinimize as a move flag (#175)
* Implement "TramplesMinimize" as a move flag Implemented `TramplesMinimize` as a move flag. Due to it, removed effect codes `FlinchTargetTrampleMinimize` and `ParalyzeTargetTrampleMinimize` (the second one was exclusive to Body Slam). Moves that had them now have the effect codes `FlinchTarget` and `ParalyzeTarget`, respectively. The code now does not check if the parameter of `tramplesMinimize?` is 1 or 2, it now checks if it is `true` or `false`. For the effect that causes the moves with this flag to skip accuracy checks, it also checks if `Settings::MECHANICS_GENERATION` is equal to or greater than 6. Data on which moves are to be treated as able to double damage if Minimized and skip accuracy checks are [here](https://bulbapedia.bulbagarden.net/wiki/Minimize_(move)#Vulnerability_to_moves). **Remarks:** - Dragon Rush, Heat Crash and Heavy Slam could not trample Minimize in Gen 5. Dragon Rush and Heat Crash could do so in Gen 6+, but Heavy Slam could not until Gen 7. - Double Iron Bash could only trample Minimize in Gen 7. **TL;DR:** - Implemented `TramplesMinimize` as a move flag. - Modified the check for this move flag. - Removed effect codes `FlinchTargetTrampleMinimize` and `ParalyzeTargetTrampleMinimize`. Moves that had them now have the effect codes `FlinchTarget` and `ParalyzeTarget`, respectively.
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user