Fixed calendar schedule calculations.

This commit is contained in:
MobiusDevelopment 2022-10-12 21:08:45 +00:00
parent 344bfbfac7
commit 9ea9a908a8
11 changed files with 52 additions and 19 deletions

View File

@ -94,16 +94,16 @@ public class AetherDrops extends AbstractNpcAI
if (event.equals("schedule")) if (event.equals("schedule"))
{ {
final long currentTime = System.currentTimeMillis();
final Calendar calendar = Calendar.getInstance(); final Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 6); calendar.set(Calendar.HOUR_OF_DAY, 6);
calendar.set(Calendar.MINUTE, 30); calendar.set(Calendar.MINUTE, 30);
if (calendar.getTimeInMillis() < System.currentTimeMillis()) if (calendar.getTimeInMillis() < currentTime)
{ {
calendar.add(Calendar.DAY_OF_YEAR, 1); calendar.add(Calendar.DAY_OF_YEAR, 1);
} }
cancelQuestTimers("reset"); cancelQuestTimers("reset");
startQuestTimer("reset", calendar.getTimeInMillis() - System.currentTimeMillis(), null, null); startQuestTimer("reset", calendar.getTimeInMillis() - currentTime, null, null);
} }
else if (event.equals("reset")) else if (event.equals("reset"))
{ {

View File

@ -94,16 +94,16 @@ public class AetherDrops extends AbstractNpcAI
if (event.equals("schedule")) if (event.equals("schedule"))
{ {
final long currentTime = System.currentTimeMillis();
final Calendar calendar = Calendar.getInstance(); final Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 6); calendar.set(Calendar.HOUR_OF_DAY, 6);
calendar.set(Calendar.MINUTE, 30); calendar.set(Calendar.MINUTE, 30);
if (calendar.getTimeInMillis() < System.currentTimeMillis()) if (calendar.getTimeInMillis() < currentTime)
{ {
calendar.add(Calendar.DAY_OF_YEAR, 1); calendar.add(Calendar.DAY_OF_YEAR, 1);
} }
cancelQuestTimers("reset"); cancelQuestTimers("reset");
startQuestTimer("reset", calendar.getTimeInMillis() - System.currentTimeMillis(), null, null); startQuestTimer("reset", calendar.getTimeInMillis() - currentTime, null, null);
} }
else if (event.equals("reset")) else if (event.equals("reset"))
{ {

View File

@ -74,12 +74,16 @@ public class WaterDragonEliteSupplyDrops extends AbstractNpcAI
if (event.equals("schedule")) if (event.equals("schedule"))
{ {
final long currentTime = System.currentTimeMillis();
final Calendar calendar = Calendar.getInstance(); final Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 6); calendar.set(Calendar.HOUR_OF_DAY, 6);
calendar.set(Calendar.MINUTE, 30); calendar.set(Calendar.MINUTE, 30);
if (calendar.getTimeInMillis() < currentTime)
{
calendar.add(Calendar.DAY_OF_YEAR, 1);
}
cancelQuestTimers("reset"); cancelQuestTimers("reset");
startQuestTimer("reset", calendar.getTimeInMillis() - System.currentTimeMillis(), null, null); startQuestTimer("reset", calendar.getTimeInMillis() - currentTime, null, null);
} }
else if (event.equals("reset")) else if (event.equals("reset"))
{ {

View File

@ -240,11 +240,16 @@ public class LegendsMark extends LongTimeEvent
} }
case "schedule": case "schedule":
{ {
final long currentTime = System.currentTimeMillis();
final Calendar calendar = Calendar.getInstance(); final Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 6); calendar.set(Calendar.HOUR_OF_DAY, 6);
calendar.set(Calendar.MINUTE, 30); calendar.set(Calendar.MINUTE, 30);
if (calendar.getTimeInMillis() < currentTime)
{
calendar.add(Calendar.DAY_OF_YEAR, 1);
}
cancelQuestTimers("reset"); cancelQuestTimers("reset");
startQuestTimer("reset", calendar.getTimeInMillis() - System.currentTimeMillis(), null, null); startQuestTimer("reset", calendar.getTimeInMillis() - currentTime, null, null);
break; break;
} }
case "reset": case "reset":

View File

@ -121,11 +121,16 @@ public class SmashItCompletely extends LongTimeEvent
} }
case "schedule": case "schedule":
{ {
final long currentTime = System.currentTimeMillis();
final Calendar calendar = Calendar.getInstance(); final Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 6); calendar.set(Calendar.HOUR_OF_DAY, 6);
calendar.set(Calendar.MINUTE, 30); calendar.set(Calendar.MINUTE, 30);
if (calendar.getTimeInMillis() < currentTime)
{
calendar.add(Calendar.DAY_OF_YEAR, 1);
}
cancelQuestTimers("reset"); cancelQuestTimers("reset");
startQuestTimer("reset", calendar.getTimeInMillis() - System.currentTimeMillis(), null, null); startQuestTimer("reset", calendar.getTimeInMillis() - currentTime, null, null);
break; break;
} }
case "reset": case "reset":

View File

@ -253,16 +253,16 @@ public class AetherDrops extends AbstractNpcAI
if (event.equals("schedule")) if (event.equals("schedule"))
{ {
final long currentTime = System.currentTimeMillis();
final Calendar calendar = Calendar.getInstance(); final Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 6); calendar.set(Calendar.HOUR_OF_DAY, 6);
calendar.set(Calendar.MINUTE, 30); calendar.set(Calendar.MINUTE, 30);
if (calendar.getTimeInMillis() < System.currentTimeMillis()) if (calendar.getTimeInMillis() < currentTime)
{ {
calendar.add(Calendar.DAY_OF_YEAR, 1); calendar.add(Calendar.DAY_OF_YEAR, 1);
} }
cancelQuestTimers("reset"); cancelQuestTimers("reset");
startQuestTimer("reset", calendar.getTimeInMillis() - System.currentTimeMillis(), null, null); startQuestTimer("reset", calendar.getTimeInMillis() - currentTime, null, null);
} }
else if (event.equals("reset")) else if (event.equals("reset"))
{ {

View File

@ -74,12 +74,16 @@ public class WaterDragonEliteSupplyDrops extends AbstractNpcAI
if (event.equals("schedule")) if (event.equals("schedule"))
{ {
final long currentTime = System.currentTimeMillis();
final Calendar calendar = Calendar.getInstance(); final Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 6); calendar.set(Calendar.HOUR_OF_DAY, 6);
calendar.set(Calendar.MINUTE, 30); calendar.set(Calendar.MINUTE, 30);
if (calendar.getTimeInMillis() < currentTime)
{
calendar.add(Calendar.DAY_OF_YEAR, 1);
}
cancelQuestTimers("reset"); cancelQuestTimers("reset");
startQuestTimer("reset", calendar.getTimeInMillis() - System.currentTimeMillis(), null, null); startQuestTimer("reset", calendar.getTimeInMillis() - currentTime, null, null);
} }
else if (event.equals("reset")) else if (event.equals("reset"))
{ {

View File

@ -126,11 +126,16 @@ public class ChuseokHarvestFestival extends LongTimeEvent
} }
case "schedule": case "schedule":
{ {
final long currentTime = System.currentTimeMillis();
final Calendar calendar = Calendar.getInstance(); final Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 6); calendar.set(Calendar.HOUR_OF_DAY, 6);
calendar.set(Calendar.MINUTE, 30); calendar.set(Calendar.MINUTE, 30);
if (calendar.getTimeInMillis() < currentTime)
{
calendar.add(Calendar.DAY_OF_YEAR, 1);
}
cancelQuestTimers("reset"); cancelQuestTimers("reset");
startQuestTimer("reset", calendar.getTimeInMillis() - System.currentTimeMillis(), null, null); startQuestTimer("reset", calendar.getTimeInMillis() - currentTime, null, null);
break; break;
} }
case "reset": case "reset":

View File

@ -240,11 +240,16 @@ public class LegendsMark extends LongTimeEvent
} }
case "schedule": case "schedule":
{ {
final long currentTime = System.currentTimeMillis();
final Calendar calendar = Calendar.getInstance(); final Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 6); calendar.set(Calendar.HOUR_OF_DAY, 6);
calendar.set(Calendar.MINUTE, 30); calendar.set(Calendar.MINUTE, 30);
if (calendar.getTimeInMillis() < currentTime)
{
calendar.add(Calendar.DAY_OF_YEAR, 1);
}
cancelQuestTimers("reset"); cancelQuestTimers("reset");
startQuestTimer("reset", calendar.getTimeInMillis() - System.currentTimeMillis(), null, null); startQuestTimer("reset", calendar.getTimeInMillis() - currentTime, null, null);
break; break;
} }
case "reset": case "reset":

View File

@ -130,11 +130,16 @@ public class SmashItCompletely extends LongTimeEvent
} }
case "schedule": case "schedule":
{ {
final long currentTime = System.currentTimeMillis();
final Calendar calendar = Calendar.getInstance(); final Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 6); calendar.set(Calendar.HOUR_OF_DAY, 6);
calendar.set(Calendar.MINUTE, 30); calendar.set(Calendar.MINUTE, 30);
if (calendar.getTimeInMillis() < currentTime)
{
calendar.add(Calendar.DAY_OF_YEAR, 1);
}
cancelQuestTimers("reset"); cancelQuestTimers("reset");
startQuestTimer("reset", calendar.getTimeInMillis() - System.currentTimeMillis(), null, null); startQuestTimer("reset", calendar.getTimeInMillis() - currentTime, null, null);
break; break;
} }
case "reset": case "reset":

View File

@ -1258,7 +1258,7 @@ public class VanHalter extends Quest
final StatSet info = GrandBossManager.getInstance().getStatSet(29062); final StatSet info = GrandBossManager.getInstance().getStatSet(29062);
final long temp = info.getLong("respawn_time") - System.currentTimeMillis(); final long temp = info.getLong("respawn_time") - System.currentTimeMillis();
_intervalTask = ThreadPool.schedule(new Interval(), temp); _intervalTask = ThreadPool.schedule(new Interval(), Math.max(0, temp));
} }
protected class Interval implements Runnable protected class Interval implements Runnable