Exemple #1
0
  /**
   * Method used to send messages.<br>
   *
   * <ul>
   *   <li>one is broadcasted to warn ppl CW is online.
   *   <li>the other shows left timer for for CW owner (either in hours or minutes).
   * </ul>
   */
  public void cursedOnLogin() {
    SystemMessage msg =
        SystemMessage.getSystemMessage(SystemMessageId.S2_OWNER_HAS_LOGGED_INTO_THE_S1_REGION);
    msg.addZoneName(_player.getX(), _player.getY(), _player.getZ());
    msg.addItemName(_player.getCursedWeaponEquippedId());
    Broadcast.toAllOnlinePlayers(msg);

    int timeLeft = (int) (getTimeLeft() / 60000);
    if (timeLeft > 60) {
      msg = SystemMessage.getSystemMessage(SystemMessageId.S2_HOUR_OF_USAGE_TIME_ARE_LEFT_FOR_S1);
      msg.addItemName(_player.getCursedWeaponEquippedId());
      msg.addNumber(Math.round(timeLeft / 60));
    } else {
      msg = SystemMessage.getSystemMessage(SystemMessageId.S2_MINUTE_OF_USAGE_TIME_ARE_LEFT_FOR_S1);
      msg.addItemName(_player.getCursedWeaponEquippedId());
      msg.addNumber(timeLeft);
    }
    _player.sendPacket(msg);
  }
Exemple #2
0
    @Override
    public void run() {
      _hungryTime--;
      _timer++;

      if (_hungryTime <= 0) endOfLife();
      else if (_player != null && _player.isOnline() && _timer % 60 == 0) {
        SystemMessage msg;
        int timeLeft = (int) (getTimeLeft() / 60000);
        if (timeLeft > 60) {
          msg =
              SystemMessage.getSystemMessage(SystemMessageId.S2_HOUR_OF_USAGE_TIME_ARE_LEFT_FOR_S1);
          msg.addItemName(_player.getCursedWeaponEquippedId());
          msg.addNumber(Math.round(timeLeft / 60));
        } else {
          msg =
              SystemMessage.getSystemMessage(
                  SystemMessageId.S2_MINUTE_OF_USAGE_TIME_ARE_LEFT_FOR_S1);
          msg.addItemName(_player.getCursedWeaponEquippedId());
          msg.addNumber(timeLeft);
        }
        _player.sendPacket(msg);
      }
    }
Exemple #3
0
  @Override
  public final void reduceHp(
      double value, L2Character attacker, boolean awake, boolean isDOT, boolean isHpConsumption) {
    if (getActiveChar().isDead()) return;

    super.reduceHp(value, attacker, awake, isDOT, isHpConsumption);

    if (attacker != null) {
      if (!isDOT && getActiveChar().getOwner() != null) {
        SystemMessage sm =
            SystemMessage.getSystemMessage(SystemMessageId.PET_RECEIVED_S2_DAMAGE_BY_S1);
        sm.addCharName(attacker);
        sm.addNumber((int) value);
        getActiveChar().getOwner().sendPacket(sm);
      }
      getActiveChar().getAI().notifyEvent(CtrlEvent.EVT_ATTACKED, attacker);
    }
  }