/* * Copyright (C) 2004-2015 L2J DataPack * * This file is part of L2J DataPack. * * L2J DataPack is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * L2J DataPack is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ package handlers.usercommandhandlers; import com.l2jserver.gameserver.handler.IUserCommandHandler; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.olympiad.Olympiad; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.SystemMessage; /** * Olympiad Stat user command. * @author kamy, Zoey76 */ public class OlympiadStat implements IUserCommandHandler { private static final int[] COMMAND_IDS = { 109 }; @Override public boolean useUserCommand(int id, L2PcInstance activeChar) { if (id != COMMAND_IDS[0]) { return false; } int nobleObjId = activeChar.getObjectId(); final L2Object target = activeChar.getTarget(); if (target != null) { if (target.isPlayer() && target.getActingPlayer().isNoble()) { nobleObjId = target.getObjectId(); } else { activeChar.sendPacket(SystemMessageId.NOBLESSE_ONLY); return false; } } else if (!activeChar.isNoble()) { activeChar.sendPacket(SystemMessageId.NOBLESSE_ONLY); return false; } final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.THE_CURRENT_RECORD_FOR_THIS_OLYMPIAD_SESSION_IS_S1_MATCHES_S2_WINS_S3_DEFEATS_YOU_HAVE_EARNED_S4_OLYMPIAD_POINTS); sm.addInt(Olympiad.getInstance().getCompetitionDone(nobleObjId)); sm.addInt(Olympiad.getInstance().getCompetitionWon(nobleObjId)); sm.addInt(Olympiad.getInstance().getCompetitionLost(nobleObjId)); sm.addInt(Olympiad.getInstance().getNoblePoints(nobleObjId)); activeChar.sendPacket(sm); final SystemMessage sm2 = SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_S1_MATCHES_REMAINING_THAT_YOU_CAN_PARTECIPATE_IN_THIS_WEEK_S2_CLASSED_S3_NON_CLASSED_S4_TEAM); sm2.addInt(Olympiad.getInstance().getRemainingWeeklyMatches(nobleObjId)); sm2.addInt(Olympiad.getInstance().getRemainingWeeklyMatchesClassed(nobleObjId)); sm2.addInt(Olympiad.getInstance().getRemainingWeeklyMatchesNonClassed(nobleObjId)); sm2.addInt(Olympiad.getInstance().getRemainingWeeklyMatchesTeam(nobleObjId)); activeChar.sendPacket(sm2); return true; } @Override public int[] getUserCommandList() { return COMMAND_IDS; } }