Browse Source

BETA: DP part for [L4942], thanks '''osiride'''.

Zoey76 13 years ago
parent
commit
77d075ad3d

+ 13 - 7
L2J_DataPack_BETA/data/scripts/handlers/usercommandhandlers/OlympiadStat.java

@@ -39,12 +39,6 @@ public class OlympiadStat implements IUserCommandHandler
 			return false;
 		}
 		
-		if (!activeChar.isNoble())
-		{
-			activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOBLESSE_ONLY));
-			return false;
-		}
-		
 		int nobleObjId = activeChar.getObjectId();
 		final L2Object target = activeChar.getTarget();
 		if (target != null)
@@ -55,10 +49,15 @@ public class OlympiadStat implements IUserCommandHandler
 			}
 			else
 			{
-				activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOBLESSE_ONLY));
+				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.addNumber(Olympiad.getInstance().getCompetitionDone(nobleObjId));
@@ -66,6 +65,13 @@ public class OlympiadStat implements IUserCommandHandler
 		sm.addNumber(Olympiad.getInstance().getCompetitionLost(nobleObjId));
 		sm.addNumber(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.addNumber(Olympiad.getInstance().getRemainingWeeklyMatches(nobleObjId));
+		sm2.addNumber(Olympiad.getInstance().getRemainingWeeklyMatchesClassed(nobleObjId));
+		sm2.addNumber(Olympiad.getInstance().getRemainingWeeklyMatchesNonClassed(nobleObjId));
+		sm2.addNumber(Olympiad.getInstance().getRemainingWeeklyMatchesTeam(nobleObjId));
+		activeChar.sendPacket(sm2);
 		return true;
 	}
 	

+ 10 - 6
L2J_DataPack_BETA/dist/sql/game/olympiad_nobles.sql

@@ -1,10 +1,14 @@
 CREATE TABLE IF NOT EXISTS `olympiad_nobles` (
   `charId` INT UNSIGNED NOT NULL default 0,
-  `class_id` decimal(3,0) NOT NULL default 0,
-  `olympiad_points` decimal(10,0) NOT NULL default 0,
-  `competitions_done` decimal(3,0) NOT NULL default 0,
-  `competitions_won` decimal(3,0) NOT NULL default 0,
-  `competitions_lost` decimal(3,0) NOT NULL default 0,
-  `competitions_drawn` decimal(3,0) NOT NULL default 0,
+  `class_id` tinyint(3) unsigned NOT NULL default 0,
+  `olympiad_points` int(10) NOT NULL default 0,
+  `competitions_done` smallint(3) NOT NULL default 0,
+  `competitions_won` smallint(3) NOT NULL default 0,
+  `competitions_lost` smallint(3) NOT NULL default 0,
+  `competitions_drawn` smallint(3) NOT NULL default 0,
+  `competitions_done_week` tinyint(3) NOT NULL default 0,
+  `competitions_done_week_classed` tinyint(3) NOT NULL default 0,
+  `competitions_done_week_non_classed` tinyint(3) NOT NULL default 0,
+  `competitions_done_week_team` tinyint(3) NOT NULL default 0,
   PRIMARY KEY (`charId`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

+ 6 - 6
L2J_DataPack_BETA/dist/sql/game/olympiad_nobles_eom.sql

@@ -1,10 +1,10 @@
 CREATE TABLE IF NOT EXISTS `olympiad_nobles_eom` (
   `charId` INT UNSIGNED NOT NULL default 0,
-  `class_id` decimal(3,0) NOT NULL default 0,
-  `olympiad_points` decimal(10,0) NOT NULL default 0,
-  `competitions_done` decimal(3,0) NOT NULL default 0,
-  `competitions_won` decimal(3,0) NOT NULL default 0,
-  `competitions_lost` decimal(3,0) NOT NULL default 0,
-  `competitions_drawn` decimal(3,0) NOT NULL default 0,
+  `class_id` tinyint(3) unsigned NOT NULL default 0,
+  `olympiad_points` int(10) NOT NULL default 0,
+  `competitions_done` smallint(3) NOT NULL default 0,
+  `competitions_won` smallint(3) NOT NULL default 0,
+  `competitions_lost` smallint(3) NOT NULL default 0,
+  `competitions_drawn` smallint(3) NOT NULL default 0,
   PRIMARY KEY (`charId`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

+ 4 - 0
L2J_DataPack_BETA/sql/server/updates/20110612update.sql

@@ -0,0 +1,4 @@
+ALTER TABLE `olympiad_nobles` ADD `competitions_done_week` decimal(3,0) NOT NULL default 0 AFTER `competitions_drawn`;
+ALTER TABLE `olympiad_nobles` ADD `competitions_done_week_classed` decimal(3,0) NOT NULL default 0 AFTER `competitions_done_week`;
+ALTER TABLE `olympiad_nobles` ADD `competitions_done_week_non_classed` decimal(3,0) NOT NULL default 0 AFTER `competitions_done_week_classed`;
+ALTER TABLE `olympiad_nobles` ADD `competitions_done_week_team` decimal(3,0) NOT NULL default 0 AFTER `competitions_done_week_non_classed`;

+ 16 - 0
L2J_DataPack_BETA/sql/server/updates/20110819update.sql

@@ -0,0 +1,16 @@
+ALTER TABLE `olympiad_nobles` CHANGE `class_id` `class_id` tinyint(3) unsigned NOT NULL DEFAULT 0;
+ALTER TABLE `olympiad_nobles` CHANGE `olympiad_points` `olympiad_points` int(10) NOT NULL DEFAULT 0;
+ALTER TABLE `olympiad_nobles` CHANGE `competitions_done` `competitions_done` smallint(3) NOT NULL DEFAULT 0;
+ALTER TABLE `olympiad_nobles` CHANGE `competitions_won` `competitions_won` smallint(3) NOT NULL DEFAULT 0;
+ALTER TABLE `olympiad_nobles` CHANGE `competitions_lost` `competitions_lost` smallint(3) NOT NULL DEFAULT 0;
+ALTER TABLE `olympiad_nobles` CHANGE `competitions_drawn` `competitions_drawn` smallint(3) NOT NULL DEFAULT 0;
+ALTER TABLE `olympiad_nobles` CHANGE `competitions_done_week` `competitions_done_week` tinyint(3) NOT NULL default 0;
+ALTER TABLE `olympiad_nobles` CHANGE `competitions_done_week_classed` `competitions_done_week_classed` tinyint(3) NOT NULL default 0;
+ALTER TABLE `olympiad_nobles` CHANGE `competitions_done_week_non_classed` `competitions_done_week_non_classed` tinyint(3) NOT NULL default 0;
+ALTER TABLE `olympiad_nobles` CHANGE `competitions_done_week_team` `competitions_done_week_team` tinyint(3) NOT NULL default 0;
+ALTER TABLE `olympiad_nobles_eom` CHANGE `class_id` `class_id` tinyint(3) unsigned NOT NULL DEFAULT 0;
+ALTER TABLE `olympiad_nobles_eom` CHANGE `olympiad_points` `olympiad_points` int(10) NOT NULL DEFAULT 0;
+ALTER TABLE `olympiad_nobles_eom` CHANGE `competitions_done` `competitions_done` smallint(3) NOT NULL DEFAULT 0;
+ALTER TABLE `olympiad_nobles_eom` CHANGE `competitions_won` `competitions_won` smallint(3) NOT NULL DEFAULT 0;
+ALTER TABLE `olympiad_nobles_eom` CHANGE `competitions_lost` `competitions_lost` smallint(3) NOT NULL DEFAULT 0;
+ALTER TABLE `olympiad_nobles_eom` CHANGE `competitions_drawn` `competitions_drawn` smallint(3) NOT NULL DEFAULT 0;