Package org.pokenet.server.battle.mechanics.statuses

Examples of org.pokenet.server.battle.mechanics.statuses.StatusEffect


   *          the turn that is about to be executed
   */
  public void executeTurn(BattleTurn turn) {
    Iterator<StatusEffect> i = m_statuses.iterator();
    while (i.hasNext()) {
      StatusEffect j = i.next();
      if ((j == null) || !j.isActive()) {
        continue;
      }
      j.executeTurn(this, turn);
    }
  }
View Full Code Here


        Pokemon[] party = target.getTeammates();
        for (int i = 0; i < party.length; ++i) {
            Pokemon p = party[i];
            if (p.isFainted())
                continue;
            StatusEffect effect = p.getEffect(m_effect);
            if (effect != null) {
                Pokemon inducer = effect.getInducer();
                if ((inducer != null) &&
                    (inducer.getParty() == source.getParty()))
                    return false;
            }
        }
View Full Code Here

   */
  public void switchOut() {
    ArrayList<StatusEffect> list = new ArrayList<StatusEffect>(m_statuses);
    Iterator<StatusEffect> i = list.iterator();
    while (i.hasNext()) {
      StatusEffect effect = i.next();
      if (effect.isActive() && effect.switchOut(this)) {
        unapplyEffect(effect, false);
        i.remove();
      }
    }
    m_statuses = list;
View Full Code Here

    MoveListEntry entry = m_move[idx];
    if (entry == null) { throw new MoveQueueException("No such move."); }
    synchronized (m_statuses) {
      Iterator<StatusEffect> i = m_statuses.iterator();
      while (i.hasNext()) {
        StatusEffect j = i.next();
        if ((j == null) || !j.isActive()) {
          continue;
        }
        if (j.vetoesMove(this, entry)) { return j; }
      }
    }
    return null;
  }
View Full Code Here

   */
  public boolean hasEffect(StatusEffect eff) {
    if (eff == null) { return false; }
    Iterator<StatusEffect> i = m_statuses.iterator();
    while (i.hasNext()) {
      StatusEffect j = i.next();
      if ((j == null) || !j.isActive()) {
        continue;
      }
      if (eff.equals(j)) { return true; }
    }
    return false;
View Full Code Here

   */
  public StatusEffect getEffect(int lock) {
    synchronized (m_statuses) {
      Iterator<StatusEffect> i = m_statuses.iterator();
      while (i.hasNext()) {
        StatusEffect eff = i.next();
        if ((eff == null) || !eff.isActive()) {
          continue;
        }
        if (eff.getLock() == lock) { return eff; }
      }
    }
    return null;
  }
View Full Code Here

   */
  public StatusEffect getEffect(Class<?> type) {
    synchronized (m_statuses) {
      Iterator<StatusEffect> i = m_statuses.iterator();
      while (i.hasNext()) {
        StatusEffect eff = i.next();
        if ((eff == null) || !eff.isActive()) {
          continue;
        }
        if (type.isAssignableFrom(eff.getClass())) { return eff; }
      }
    }
    return null;
  }
View Full Code Here

   */
  public boolean isActive() {
    synchronized (m_statuses) {
      Iterator<StatusEffect> i = m_statuses.iterator();
      while (i.hasNext()) {
        StatusEffect eff = i.next();
        if (eff.isActive() && eff.deactivates(this)) { return false; }
      }
    }
    return true;
  }
View Full Code Here

  public List<StatusEffect> getStatusesByTier(int tier) {
    List<StatusEffect> ret = new ArrayList<StatusEffect>();
    synchronized (m_statuses) {
      Iterator<StatusEffect> i = m_statuses.iterator();
      while (i.hasNext()) {
        StatusEffect effect = i.next();
        if (effect.isActive() && (effect.getTier() == tier)) {
          ret.add(effect);
        }
      }
    }
    return ret;
View Full Code Here

  public List<StatusEffect> getNormalStatuses(int lock) {
    List<StatusEffect> ret = new ArrayList<StatusEffect>();
    synchronized (m_statuses) {
      Iterator<StatusEffect> i = m_statuses.iterator();
      while (i.hasNext()) {
        StatusEffect effect = i.next();
        if (!effect.isActive()) continue;
        // Note: HoldItem is a subclass of IntrinsicAbility.
        if (!(effect instanceof IntrinsicAbility)) {
          int effLock = effect.getLock();
          if ((effLock == 0) || (effLock == lock)) {
            ret.add(effect);
          }
        }
      }
View Full Code Here

TOP

Related Classes of org.pokenet.server.battle.mechanics.statuses.StatusEffect

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.