Examples of StatusEffect


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

      PokemonType pokemon, boolean enemy) {
    double expected = move.getMultiplier(pokemon);
    synchronized (statuses) {
      Iterator<?> i = statuses.iterator();
      while (i.hasNext()) {
        StatusEffect eff = (StatusEffect) i.next();
        if (eff.isActive() && eff.isEffectivenessTransformer(enemy)) {
          double actual = eff.getEffectiveness(move, pokemon, enemy);
          if (actual != expected) return actual;
        }
      }
    }
    return expected;
View Full Code Here

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

   */
  public boolean isImmobilised(Class<?> exception) {
    synchronized (m_statuses) {
      Collections.sort(m_statuses, new Comparator<Object>() {
        public int compare(Object o1, Object o2) {
          StatusEffect e1 = (StatusEffect) o1;
          StatusEffect e2 = (StatusEffect) o2;
          return e1.getTier() - e2.getTier();
        }
      });
      Iterator<StatusEffect> i = m_statuses.iterator();
      while (i.hasNext()) {
        StatusEffect eff = i.next();
        if (eff.isActive() && eff.immobilises(this)) {
          if ((exception == null)
              || !exception.isAssignableFrom(eff.getClass())) {
            m_lastMove = null;
            m_firstTurn = false;
            return true;
          }
        }
View Full Code Here

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

  protected MoveListEntry getTransformedMove(MoveListEntry move, boolean enemy) {
    // For now, do this in no particular order.
    synchronized (m_statuses) {
      Iterator<StatusEffect> i = m_statuses.iterator();
      while (i.hasNext()) {
        StatusEffect eff = i.next();
        if (eff.isActive() && eff.isMoveTransformer(enemy)) {
          move = eff.getMove(this, (MoveListEntry) move.clone(), enemy);
          if (move == null) { return null; }
        }
      }
    }
    return move;
View Full Code Here

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

   * Inform that this pokemon was damaged.
   */
  private void informDamaged(Pokemon source, MoveListEntry entry, int damage) {
    int size = m_statuses.size();
    for (int i = 0; i < size; ++i) {
      StatusEffect eff = m_statuses.get(i);
      if (eff.isActive() && eff.isListener()) {
        eff.informDamaged(source, this, entry, damage);
      }
    }
  }
View Full Code Here

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

  private void informStatusListeners(Pokemon source, StatusEffect eff,
      boolean applied) {
    synchronized (m_statuses) {
      int size = m_statuses.size();
      for (int i = 0; i < size; ++i) {
        StatusEffect j = m_statuses.get(i);
        if (j.isActive() && (j instanceof StatusListener)) {
          StatusListener k = (StatusListener) j;
          if (applied) {
            k.informStatusApplied(source, this, eff);
          } else {
            k.informStatusRemoved(this, eff);
View Full Code Here

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

   * the given status effect to this pokemon.
   */
  public boolean allowsStatus(StatusEffect eff, Pokemon source) {
    Iterator<StatusEffect> i = m_statuses.iterator();
    while (i.hasNext()) {
      StatusEffect clause = i.next();
      if ((clause == null) || !clause.isActive()) continue;
      if (!clause.allowsStatus(eff, source, this)) return false;
    }
    return true;
  }
View Full Code Here

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

    synchronized (m_statuses) {
      Iterator<StatusEffect> i = m_statuses.iterator();
      while (i.hasNext()) {
        Object o = i.next();
        if (o != null) {
          StatusEffect j = (StatusEffect) o;
          if (!j.isRemovable() && (eff.equals(j) || eff.isExclusiveWith(j))) { return null; }
        }
      }
    }

    StatusEffect applied = (StatusEffect) eff.clone();
    applied.activate();
    applied.setInducer(source);
    if ((m_field != null) && !allowsStatus(applied, source)) return null;

    if (applied.apply(this)) {
      m_statuses.add(applied);
      if (m_field != null) {
        m_field.informStatusApplied(this, applied);
      }
      informStatusListeners(source, applied, true);
View Full Code Here

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

    synchronized (m_statuses) {
      Iterator<StatusEffect> i = m_statuses.iterator();
      while (i.hasNext()) {
        Object o = i.next();
        if (o != null) {
          StatusEffect j = (StatusEffect) o;
          if (!j.isRemovable() && (eff.equals(j) || eff.isExclusiveWith(j))) { return null; }
        }
      }
    }

    StatusEffect applied = (StatusEffect) eff.clone();
    applied.activate();

    if (applied.apply(this)) {
      m_statuses.add(applied);
      if (m_field != null) {
        m_field.informStatusApplied(this, applied);
      }
View Full Code Here

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

        }
        public void informStatusApplied(Pokemon source, Pokemon poke, StatusEffect eff) {
        }
        public void informStatusRemoved(Pokemon p, StatusEffect eff) {
            if (eff instanceof HoldItem) {
                p.addStatus(p, new StatusEffect() {
                        public String getName() {
                            return "Unburden";
                        }
                        public String getDescription() {
                            return " lost its burden!";
View Full Code Here

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

   
    public void executeEffects(Pokemon p) {
        List<StatusEffect> statuses = p.getNormalStatuses(StatusEffect.SPECIAL_EFFECT_LOCK);
        Iterator<StatusEffect> i = statuses.iterator();
        while (i.hasNext()) {
            StatusEffect effect = (StatusEffect)i.next();
            if (isCurable(effect)) {
                cureEffect(p, effect);
            }   
        }
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.