/** * 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); }
@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); } }
@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); } }