Direct Known Subclasses:
AuroraVeil, LightScreen, Reflect

public abstract class Screen extends StatusBase
Increases a certain defensive stat for the team.
  • Constructor Details

    • Screen

      public Screen(StatusType type, BattleStatsType stat, int effectTurns, String langStart, String langFail, String langEnd)
      Initializes the screen.
      Parameters:
      type - The status's type.
      stat - The defensive stat that will be raised.
      effectTurns - The remaining number of turns that the screen will last.
      langStart - The message to display when the screen is set up.
      langFail - The message to display when the screen is attempted to be set up when it is already up.
      langEnd - The message to display when the screen wears off.
  • Method Details

    • applyEffect

      public void applyEffect(PixelmonWrapper user, PixelmonWrapper target)
      Description copied from class: EffectBase
      Causes various effects during the move.
      Overrides:
      applyEffect in class StatusBase
      Parameters:
      user - The move's user.
      target - The move's target.
    • apply

      public boolean apply(PixelmonWrapper user, boolean failureMessages)
    • getNewInstance

      protected abstract Screen getNewInstance(int effectTurns)
      Creates a new instance of the subclass.
      Parameters:
      effectTurns - The number of turns for the screen to last.
      Returns:
      A new instance of the subclass.
    • modifyDamageIncludeFixed

      public int modifyDamageIncludeFixed(int damage, PixelmonWrapper user, PixelmonWrapper target, Attack a, DamageTypeEnum damageType)
      Description copied from class: StatusBase
      Triggers when the Pokémon takes direct damage, including fixed damage moves.
      Overrides:
      modifyDamageIncludeFixed in class StatusBase
      Parameters:
      damage - The amount of damage dealt.
      user - The attack's user.
      target - The attack's target.
      a - The attack.
      Returns:
      The modified damage.
    • getDamageMultiplier

      public float getDamageMultiplier(PixelmonWrapper user, PixelmonWrapper target)
    • shouldReduce

      public boolean shouldReduce(Attack a)
    • ignoreStatus

      public boolean ignoreStatus(PixelmonWrapper user, PixelmonWrapper target)
      Description copied from class: StatusBase
      Determines whether the status is ignored during the attack.
      Overrides:
      ignoreStatus in class StatusBase
      Parameters:
      user - The attack's user.
      target - The attack's target.
      Returns:
      Whether the status is ignored.
    • applyRepeatedEffect

      public void applyRepeatedEffect(PixelmonWrapper pw)
      Description copied from class: StatusBase
      Triggered at the end of every turn.
      Overrides:
      applyRepeatedEffect in class StatusBase
      Parameters:
      pw - The statused Pokémon.
    • isTeamStatus

      public boolean isTeamStatus()
      Description copied from class: StatusBase
      Determines whether the status applies to the Pokémon's position in the battle.
      Overrides:
      isTeamStatus in class StatusBase
      Returns:
      Whether the status applies to the Pokémon's position in the battle.
    • copy

      public StatusBase copy()
      Description copied from class: StatusBase
      If necessary, makes a deep copy of the status.
      Overrides:
      copy in class StatusBase
      Returns:
      A deep copy of the status.
    • weightEffect

      public void weightEffect(PixelmonWrapper pw, MoveChoice userChoice, List<MoveChoice> userChoices, List<MoveChoice> bestUserChoices, List<MoveChoice> opponentChoices, List<MoveChoice> bestOpponentChoices)
      Description copied from class: EffectBase
      Determines a weight for the move that has this effect. Used for battle AI.
      Overrides:
      weightEffect in class EffectBase
      Parameters:
      pw - The Pokémon using the move.
      userChoice - The move with this effect.
      userChoices - All choices the Pokémon has for the turn.
      bestUserChoices - The best offensive choices the Pokémon has for the turn.
      opponentChoices - All choices the opponent has for the turn.
      bestOpponentChoices - The best choices the opponent has for the turn.