Advertisement
Lucidious89

Untitled

Jun 16th, 2023 (edited)
977
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 5.28 KB | None | 0 0
  1. #===============================================================================
  2. # Tidy Up
  3. #===============================================================================
  4. # Increases the user's Attack and Speed by 1 stage each.
  5. # Clears all entry hazards and substitutes on both sides.
  6. #-------------------------------------------------------------------------------
  7. class Battle::Move::RaiseUserAtkSpd1RemoveHazardsSubstitutes < Battle::Move::MultiStatUpMove
  8.   def initialize(battle, move)
  9.     super
  10.     @statUp = [:ATTACK, 1, :SPEED, 1]
  11.   end
  12.  
  13.   def pbMoveFailed?(user, targets)
  14.     failed = true
  15.     2.times do |i|
  16.       side = (i == 0) ? user.pbOwnSide : user.pbOpposingSide
  17.       next unless side.effects[PBEffects::Spikes] > 0 ||
  18.                   side.effects[PBEffects::ToxicSpikes] > 0 ||
  19.                   side.effects[PBEffects::StealthRock] ||
  20.                   side.effects[PBEffects::StickyWeb] ||
  21.                   defined?(PBEffects::Steelsurge) && side.effects[PBEffects::Steelsurge]
  22.       failed = false
  23.       break
  24.     end
  25.     @battle.allBattlers.each do |b|
  26.       next if b.effects[PBEffects::Substitute] == 0
  27.         failed = false
  28.       break
  29.     end
  30.     failed2 = true
  31.     (@statUp.length / 2).times do |i|
  32.       next if !user.pbCanRaiseStatStage?(@statUp[i * 2], user, self)
  33.       failed2 = false
  34.       break
  35.     end
  36.     if failed && failed2
  37.       @battle.pbDisplay(_INTL("But it failed!", user.pbThis))
  38.       return true
  39.     end
  40.     return false
  41.   end
  42.  
  43.   def pbEffectGeneral(user)
  44.     showMsg = false
  45.     2.times do |i|
  46.       side = (i == 0) ? user.pbOwnSide : user.pbOpposingSide
  47.       team = (i == 0) ? user.pbTeam(true) : user.pbOpposingTeam(true)
  48.       if side.effects[PBEffects::StealthRock]
  49.         side.effects[PBEffects::StealthRock] = false
  50.         @battle.pbDisplay(_INTL("The pointed stones disappeared from around {1}!", team))
  51.         showMsg = true
  52.       end
  53.       if defined?(PBEffects::Steelsurge) && side.effects[PBEffects::Steelsurge]
  54.         side.effects[PBEffects::Steelsurge] = false
  55.         @battle.pbDisplay(_INTL("The pointed steel disappeared from around {1}!", team))
  56.         showMsg = true
  57.       end
  58.       if side.effects[PBEffects::Spikes] > 0
  59.         side.effects[PBEffects::Spikes] = 0
  60.         @battle.pbDisplay(_INTL("The spikes disappeared from the ground around {1}!", team))
  61.         showMsg = true
  62.       end
  63.       if side.effects[PBEffects::ToxicSpikes] > 0
  64.         side.effects[PBEffects::ToxicSpikes] = 0
  65.         @battle.pbDisplay(_INTL("The poison spikes disappeared from the ground around {1}!", team))
  66.         showMsg = true
  67.       end
  68.       if side.effects[PBEffects::StickyWeb]
  69.         side.effects[PBEffects::StickyWeb] = false
  70.         @battle.pbDisplay(_INTL("The sticky web has disappeared from the ground around {1}!", team))
  71.         showMsg = true
  72.       end
  73.     end
  74.     @battle.allBattlers.each do |b|
  75.       next if b.effects[PBEffects::Substitute] == 0
  76.       b.effects[PBEffects::Substitute] = 0
  77.       showMsg = true
  78.     end
  79.     @battle.pbDisplay(_INTL("Tidying up complete!")) if showMsg
  80.     super
  81.   end
  82. end
  83.  
  84. #===============================================================================
  85. # Mortal Spin
  86. #===============================================================================
  87. # Removes trapping moves, entry hazards and Leech Seed on user/user's side.
  88. # Poisons the target.
  89. #-------------------------------------------------------------------------------
  90. class Battle::Move::RemoveUserBindingAndEntryHazardsPoisonTarget < Battle::Move::PoisonTarget
  91.   def pbEffectAfterAllHits(user, target)
  92.     return if user.fainted? || target.damageState.unaffected
  93.     if user.effects[PBEffects::Trapping] > 0
  94.       trapMove = GameData::Move.get(user.effects[PBEffects::TrappingMove]).name
  95.       trapUser = @battle.battlers[user.effects[PBEffects::TrappingUser]]
  96.       @battle.pbDisplay(_INTL("{1} got free of {2}'s {3}!", user.pbThis, trapUser.pbThis(true), trapMove))
  97.       user.effects[PBEffects::Trapping]     = 0
  98.       user.effects[PBEffects::TrappingMove] = nil
  99.       user.effects[PBEffects::TrappingUser] = -1
  100.     end
  101.     if user.effects[PBEffects::LeechSeed] >= 0
  102.       user.effects[PBEffects::LeechSeed] = -1
  103.       @battle.pbDisplay(_INTL("{1} shed Leech Seed!", user.pbThis))
  104.     end
  105.     if user.pbOwnSide.effects[PBEffects::StealthRock]
  106.       user.pbOwnSide.effects[PBEffects::StealthRock] = false
  107.       @battle.pbDisplay(_INTL("{1} blew away stealth rocks!", user.pbThis))
  108.     end
  109.     if defined?(PBEffects::Steelsurge) && user.pbOwnSide.effects[PBEffects::Steelsurge]
  110.       user.pbOwnSide.effects[PBEffects::Steelsurge] = false
  111.       @battle.pbDisplay(_INTL("{1} blew away the pointed steel!", user.pbThis))
  112.     end
  113.     if user.pbOwnSide.effects[PBEffects::Spikes] > 0
  114.       user.pbOwnSide.effects[PBEffects::Spikes] = 0
  115.       @battle.pbDisplay(_INTL("{1} blew away spikes!", user.pbThis))
  116.     end
  117.     if user.pbOwnSide.effects[PBEffects::ToxicSpikes] > 0
  118.       user.pbOwnSide.effects[PBEffects::ToxicSpikes] = 0
  119.       @battle.pbDisplay(_INTL("{1} blew away poison spikes!", user.pbThis))
  120.     end
  121.     if user.pbOwnSide.effects[PBEffects::StickyWeb]
  122.       user.pbOwnSide.effects[PBEffects::StickyWeb] = false
  123.       @battle.pbDisplay(_INTL("{1} blew away sticky webs!", user.pbThis))
  124.     end
  125.   end
  126. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement