More Gen 9 move effects

This commit is contained in:
Maruno17
2024-06-24 21:51:49 +01:00
parent 8e9417c3b7
commit ff2d8e5f55
21 changed files with 673 additions and 55 deletions

View File

@@ -208,12 +208,10 @@ class Battle::Move::FailsIfTargetActed < Battle::Move
end
#===============================================================================
# If attack misses, user takes crash damage of 1/2 of max HP.
# (High Jump Kick, Jump Kick)
# If attack misses, user takes crash damage of 1/2 of max HP. (Supercell Slam)
#===============================================================================
class Battle::Move::CrashDamageIfFailsUnusableInGravity < Battle::Move
def recoilMove?; return true; end
def unusableInGravity?; return true; end
class Battle::Move::CrashDamageIfFails < Battle::Move
def recoilMove?; return true; end
def pbCrashDamage(user)
return if !user.takesIndirectDamage?
@@ -225,6 +223,14 @@ class Battle::Move::CrashDamageIfFailsUnusableInGravity < Battle::Move
end
end
#===============================================================================
# If attack misses, user takes crash damage of 1/2 of max HP. Can't be used in
# gravity. (High Jump Kick, Jump Kick)
#===============================================================================
class Battle::Move::CrashDamageIfFailsUnusableInGravity < Battle::Move::CrashDamageIfFails
def unusableInGravity?; return true; end
end
#===============================================================================
# Starts sunny weather. (Sunny Day)
#===============================================================================
@@ -387,6 +393,7 @@ class Battle::Move::AddSpikesToFoeSide < Battle::Move
def canMagicCoat?; return true; end
def pbMoveFailed?(user, targets)
return false if damagingMove?
if user.pbOpposingSide.effects[PBEffects::Spikes] >= 3
@battle.pbDisplay(_INTL("But it failed!"))
return true
@@ -395,6 +402,15 @@ class Battle::Move::AddSpikesToFoeSide < Battle::Move
end
def pbEffectGeneral(user)
return if damagingMove?
user.pbOpposingSide.effects[PBEffects::Spikes] += 1
@battle.pbDisplay(_INTL("Spikes were scattered all around {1}'s feet!",
user.pbOpposingTeam(true)))
end
def pbAdditionalEffect(user, target)
return if user.fainted?
return if user.pbOpposingSide.effects[PBEffects::Spikes] >= 3
user.pbOpposingSide.effects[PBEffects::Spikes] += 1
@battle.pbDisplay(_INTL("Spikes were scattered all around {1}'s feet!",
user.pbOpposingTeam(true)))
@@ -409,6 +425,7 @@ class Battle::Move::AddToxicSpikesToFoeSide < Battle::Move
def canMagicCoat?; return true; end
def pbMoveFailed?(user, targets)
return false if damagingMove?
if user.pbOpposingSide.effects[PBEffects::ToxicSpikes] >= 2
@battle.pbDisplay(_INTL("But it failed!"))
return true
@@ -417,6 +434,15 @@ class Battle::Move::AddToxicSpikesToFoeSide < Battle::Move
end
def pbEffectGeneral(user)
return if damagingMove?
user.pbOpposingSide.effects[PBEffects::ToxicSpikes] += 1
@battle.pbDisplay(_INTL("Poison spikes were scattered all around {1}'s feet!",
user.pbOpposingTeam(true)))
end
def pbAdditionalEffect(user, target)
return if user.fainted?
return if user.pbOpposingSide.effects[PBEffects::ToxicSpikes] >= 2
user.pbOpposingSide.effects[PBEffects::ToxicSpikes] += 1
@battle.pbDisplay(_INTL("Poison spikes were scattered all around {1}'s feet!",
user.pbOpposingTeam(true)))
@@ -430,6 +456,7 @@ class Battle::Move::AddStealthRocksToFoeSide < Battle::Move
def canMagicCoat?; return true; end
def pbMoveFailed?(user, targets)
return false if damagingMove?
if user.pbOpposingSide.effects[PBEffects::StealthRock]
@battle.pbDisplay(_INTL("But it failed!"))
return true
@@ -438,6 +465,15 @@ class Battle::Move::AddStealthRocksToFoeSide < Battle::Move
end
def pbEffectGeneral(user)
return if damagingMove?
user.pbOpposingSide.effects[PBEffects::StealthRock] = true
@battle.pbDisplay(_INTL("Pointed stones float in the air around {1}!",
user.pbOpposingTeam(true)))
end
def pbAdditionalEffect(user, target)
return if user.fainted?
return if user.pbOpposingSide.effects[PBEffects::StealthRock]
user.pbOpposingSide.effects[PBEffects::StealthRock] = true
@battle.pbDisplay(_INTL("Pointed stones float in the air around {1}!",
user.pbOpposingTeam(true)))
@@ -451,6 +487,7 @@ class Battle::Move::AddStickyWebToFoeSide < Battle::Move
def canMagicCoat?; return true; end
def pbMoveFailed?(user, targets)
return false if damagingMove?
if user.pbOpposingSide.effects[PBEffects::StickyWeb]
@battle.pbDisplay(_INTL("But it failed!"))
return true
@@ -459,6 +496,15 @@ class Battle::Move::AddStickyWebToFoeSide < Battle::Move
end
def pbEffectGeneral(user)
return false if damagingMove?
user.pbOpposingSide.effects[PBEffects::StickyWeb] = true
@battle.pbDisplay(_INTL("A sticky web has been laid out beneath {1}'s feet!",
user.pbOpposingTeam(true)))
end
def pbAdditionalEffect(user, target)
return if user.fainted?
return if user.pbOpposingSide.effects[PBEffects::StickyWeb]
user.pbOpposingSide.effects[PBEffects::StickyWeb] = true
@battle.pbDisplay(_INTL("A sticky web has been laid out beneath {1}'s feet!",
user.pbOpposingTeam(true)))