瀏覽代碼

BETA: H5 "Noblesse characters can us the /olympiadstat command on other players to check their Olympiad points, personal records, and remaining number of matches", thanks denser.

MELERIX 14 年之前
父節點
當前提交
7a7938b901
共有 1 個文件被更改,包括 12 次插入5 次删除
  1. 12 5
      L2J_DataPack_BETA/data/scripts/handlers/usercommandhandlers/OlympiadStat.java

+ 12 - 5
L2J_DataPack_BETA/data/scripts/handlers/usercommandhandlers/OlympiadStat.java

@@ -37,13 +37,20 @@ public class OlympiadStat implements IUserCommandHandler
 	 */
 	public boolean useUserCommand(int id, L2PcInstance activeChar)
 	{
-		if (id != COMMAND_IDS[0])
+		if (id != COMMAND_IDS[0] || !activeChar.isNoble())
 			return false;
+		
+		L2PcInstance noble = activeChar;
+		L2PcInstance target = (L2PcInstance) activeChar.getTarget();
+		
+		if (target != null && target.isNoble())
+			noble = target;
+		
 		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(activeChar.getObjectId()));
-		sm.addNumber(Olympiad.getInstance().getCompetitionWon(activeChar.getObjectId()));
-		sm.addNumber(Olympiad.getInstance().getCompetitionLost(activeChar.getObjectId()));
-		sm.addNumber(Olympiad.getInstance().getNoblePoints(activeChar.getObjectId()));
+		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()));
 		activeChar.sendPacket(sm);
 		return true;
 	}