Ver código fonte

Fix olympiad weekly point updates

GodKratos 16 anos atrás
pai
commit
9ff32775c9

+ 5 - 5
L2_GameServer/java/net/sf/l2j/gameserver/model/olympiad/Olympiad.java

@@ -193,9 +193,10 @@ public class Olympiad
 		switch (_period)
 		{
 			case 0:
-				if (_olympiadEnd == 0
-				        || _olympiadEnd < Calendar.getInstance().getTimeInMillis())
+				if (_olympiadEnd == 0 || _olympiadEnd < Calendar.getInstance().getTimeInMillis())
 					setNewOlympiadEnd();
+				else
+					scheduleWeeklyChange();
 				break;
 			case 1:
 				if (_validationEnd > Calendar.getInstance().getTimeInMillis())
@@ -303,7 +304,6 @@ public class Olympiad
 		_scheduledOlympiadEnd = ThreadPoolManager.getInstance().scheduleGeneral(new OlympiadEndTask(), getMillisToOlympiadEnd());
 		
 		updateCompStatus();
-		scheduleWeeklyChange();
 	}
 	
 	protected class OlympiadEndTask implements Runnable
@@ -764,6 +764,7 @@ public class Olympiad
 		
 		Calendar nextChange = Calendar.getInstance();
 		_nextWeeklyChange = nextChange.getTimeInMillis() + WEEKLY_PERIOD;
+		scheduleWeeklyChange();
 	}
 	
 	public boolean inCompPeriod()
@@ -819,8 +820,7 @@ public class Olympiad
 				_log.info("Olympiad System: Added weekly points to nobles");
 				
 				Calendar nextChange = Calendar.getInstance();
-				_nextWeeklyChange = nextChange.getTimeInMillis()
-				        + WEEKLY_PERIOD;
+				_nextWeeklyChange = nextChange.getTimeInMillis() + WEEKLY_PERIOD;
 			}
 		}, getMillisToWeekChange(), WEEKLY_PERIOD);
 	}