|
@@ -15,6 +15,7 @@
|
|
|
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;
|
|
@@ -22,41 +23,53 @@ import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
|
|
|
|
|
|
/**
|
|
|
* Support for /olympiadstat command
|
|
|
- * Added by kamy
|
|
|
+ * @author kamy, Zoey76
|
|
|
*/
|
|
|
public class OlympiadStat implements IUserCommandHandler
|
|
|
{
|
|
|
- private static final int[] COMMAND_IDS =
|
|
|
- {
|
|
|
- 109
|
|
|
- };
|
|
|
+ private static final int[] COMMAND_IDS = { 109 };
|
|
|
|
|
|
/**
|
|
|
- *
|
|
|
* @see com.l2jserver.gameserver.handler.IUserCommandHandler#useUserCommand(int, com.l2jserver.gameserver.model.actor.instance.L2PcInstance)
|
|
|
*/
|
|
|
public boolean useUserCommand(int id, L2PcInstance activeChar)
|
|
|
{
|
|
|
- if (id != COMMAND_IDS[0] || !activeChar.isNoble())
|
|
|
+ if (id != COMMAND_IDS[0])
|
|
|
+ {
|
|
|
return false;
|
|
|
+ }
|
|
|
|
|
|
- L2PcInstance noble = activeChar;
|
|
|
- L2PcInstance target = (L2PcInstance) activeChar.getTarget();
|
|
|
+ if (!activeChar.isNoble())
|
|
|
+ {
|
|
|
+ activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOBLESSE_ONLY));
|
|
|
+ return false;
|
|
|
+ }
|
|
|
|
|
|
- if (target != null && target.isNoble())
|
|
|
- noble = target;
|
|
|
+ int nobleObjId = activeChar.getObjectId();
|
|
|
+ final L2Object target = activeChar.getTarget();
|
|
|
+ if (target != null)
|
|
|
+ {
|
|
|
+ if ((target instanceof L2PcInstance) && target.getActingPlayer().isNoble())
|
|
|
+ {
|
|
|
+ nobleObjId = target.getObjectId();
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOBLESSE_ONLY));
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- 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.addNumber(Olympiad.getInstance().getCompetitionDone(noble.getObjectId()));
|
|
|
- sm.addNumber(Olympiad.getInstance().getCompetitionWon(noble.getObjectId()));
|
|
|
- sm.addNumber(Olympiad.getInstance().getCompetitionLost(noble.getObjectId()));
|
|
|
- sm.addNumber(Olympiad.getInstance().getNoblePoints(noble.getObjectId()));
|
|
|
+ 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.addNumber(Olympiad.getInstance().getCompetitionDone(nobleObjId));
|
|
|
+ sm.addNumber(Olympiad.getInstance().getCompetitionWon(nobleObjId));
|
|
|
+ sm.addNumber(Olympiad.getInstance().getCompetitionLost(nobleObjId));
|
|
|
+ sm.addNumber(Olympiad.getInstance().getNoblePoints(nobleObjId));
|
|
|
activeChar.sendPacket(sm);
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- *
|
|
|
* @see com.l2jserver.gameserver.handler.IUserCommandHandler#getUserCommandList()
|
|
|
*/
|
|
|
public int[] getUserCommandList()
|