Skip to content
Snippets Groups Projects
Commit 5af9ee6d authored by MELERIX's avatar MELERIX
Browse files

BETA: Retail like OlympiadStat by Zoey76

 * Fix for #4779
 * Added message if player isn't noble.
 * Code improved.
parent e420a181
No related branches found
No related tags found
No related merge requests found
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
package handlers.usercommandhandlers; package handlers.usercommandhandlers;
import com.l2jserver.gameserver.handler.IUserCommandHandler; 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.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.olympiad.Olympiad; import com.l2jserver.gameserver.model.olympiad.Olympiad;
import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.SystemMessageId;
...@@ -22,41 +23,53 @@ import com.l2jserver.gameserver.network.serverpackets.SystemMessage; ...@@ -22,41 +23,53 @@ import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
/** /**
* Support for /olympiadstat command * Support for /olympiadstat command
* Added by kamy * @author kamy, Zoey76
*/ */
public class OlympiadStat implements IUserCommandHandler public class OlympiadStat implements IUserCommandHandler
{ {
private static final int[] COMMAND_IDS = private static final int[] COMMAND_IDS = { 109 };
{
109
};
/** /**
*
* @see com.l2jserver.gameserver.handler.IUserCommandHandler#useUserCommand(int, com.l2jserver.gameserver.model.actor.instance.L2PcInstance) * @see com.l2jserver.gameserver.handler.IUserCommandHandler#useUserCommand(int, com.l2jserver.gameserver.model.actor.instance.L2PcInstance)
*/ */
public boolean useUserCommand(int id, L2PcInstance activeChar) public boolean useUserCommand(int id, L2PcInstance activeChar)
{ {
if (id != COMMAND_IDS[0] || !activeChar.isNoble()) if (id != COMMAND_IDS[0])
{
return false; return false;
}
L2PcInstance noble = activeChar; if (!activeChar.isNoble())
L2PcInstance target = (L2PcInstance) activeChar.getTarget(); {
activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOBLESSE_ONLY));
return false;
}
if (target != null && target.isNoble()) int nobleObjId = activeChar.getObjectId();
noble = target; 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); 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(noble.getObjectId())); sm.addNumber(Olympiad.getInstance().getCompetitionDone(nobleObjId));
sm.addNumber(Olympiad.getInstance().getCompetitionWon(noble.getObjectId())); sm.addNumber(Olympiad.getInstance().getCompetitionWon(nobleObjId));
sm.addNumber(Olympiad.getInstance().getCompetitionLost(noble.getObjectId())); sm.addNumber(Olympiad.getInstance().getCompetitionLost(nobleObjId));
sm.addNumber(Olympiad.getInstance().getNoblePoints(noble.getObjectId())); sm.addNumber(Olympiad.getInstance().getNoblePoints(nobleObjId));
activeChar.sendPacket(sm); activeChar.sendPacket(sm);
return true; return true;
} }
/** /**
*
* @see com.l2jserver.gameserver.handler.IUserCommandHandler#getUserCommandList() * @see com.l2jserver.gameserver.handler.IUserCommandHandler#getUserCommandList()
*/ */
public int[] getUserCommandList() public int[] getUserCommandList()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment