diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index f033cf2f76..4207804752 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -68,6 +68,7 @@ public class DailyTaskManager extends AbstractEventManager> resetRecommends(); resetWorldChatPoints(); resetTrainingCamp(); + onResetAttendanceRewards(); } @ScheduleTarget @@ -259,6 +260,32 @@ public class DailyTaskManager extends AbstractEventManager> DailyMissionData.getInstance().getDailyMissionData().forEach(DailyMissionDataHolder::reset); } + public void onResetAttendanceRewards() + { + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection()) + { + try (PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var=?")) + { + ps.setString(1, "ATTENDANCE_DATE"); + ps.execute(); + } + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, getClass().getSimpleName() + ": Could not reset Attendance Rewards: " + e); + } + + // Update data for online players. + for (PlayerInstance player : World.getInstance().getPlayers()) + { + player.getVariables().remove("ATTENDANCE_DATE"); + player.getVariables().storeMe(); + } + + LOGGER.info("Attendance Rewards has been resetted."); + } + public static DailyTaskManager getInstance() { return SingletonHolder.INSTANCE; diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index f033cf2f76..4207804752 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -68,6 +68,7 @@ public class DailyTaskManager extends AbstractEventManager> resetRecommends(); resetWorldChatPoints(); resetTrainingCamp(); + onResetAttendanceRewards(); } @ScheduleTarget @@ -259,6 +260,32 @@ public class DailyTaskManager extends AbstractEventManager> DailyMissionData.getInstance().getDailyMissionData().forEach(DailyMissionDataHolder::reset); } + public void onResetAttendanceRewards() + { + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection()) + { + try (PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var=?")) + { + ps.setString(1, "ATTENDANCE_DATE"); + ps.execute(); + } + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, getClass().getSimpleName() + ": Could not reset Attendance Rewards: " + e); + } + + // Update data for online players. + for (PlayerInstance player : World.getInstance().getPlayers()) + { + player.getVariables().remove("ATTENDANCE_DATE"); + player.getVariables().storeMe(); + } + + LOGGER.info("Attendance Rewards has been resetted."); + } + public static DailyTaskManager getInstance() { return SingletonHolder.INSTANCE; diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index f033cf2f76..4207804752 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -68,6 +68,7 @@ public class DailyTaskManager extends AbstractEventManager> resetRecommends(); resetWorldChatPoints(); resetTrainingCamp(); + onResetAttendanceRewards(); } @ScheduleTarget @@ -259,6 +260,32 @@ public class DailyTaskManager extends AbstractEventManager> DailyMissionData.getInstance().getDailyMissionData().forEach(DailyMissionDataHolder::reset); } + public void onResetAttendanceRewards() + { + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection()) + { + try (PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var=?")) + { + ps.setString(1, "ATTENDANCE_DATE"); + ps.execute(); + } + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, getClass().getSimpleName() + ": Could not reset Attendance Rewards: " + e); + } + + // Update data for online players. + for (PlayerInstance player : World.getInstance().getPlayers()) + { + player.getVariables().remove("ATTENDANCE_DATE"); + player.getVariables().storeMe(); + } + + LOGGER.info("Attendance Rewards has been resetted."); + } + public static DailyTaskManager getInstance() { return SingletonHolder.INSTANCE; diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index 3b3396c316..f2d4791f95 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -67,6 +67,7 @@ public class DailyTaskManager extends AbstractEventManager> resetRecommends(); resetWorldChatPoints(); resetTrainingCamp(); + onResetAttendanceRewards(); } @ScheduleTarget @@ -252,6 +253,32 @@ public class DailyTaskManager extends AbstractEventManager> DailyMissionData.getInstance().getDailyMissionData().forEach(DailyMissionDataHolder::reset); } + public void onResetAttendanceRewards() + { + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection()) + { + try (PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var=?")) + { + ps.setString(1, "ATTENDANCE_DATE"); + ps.execute(); + } + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, getClass().getSimpleName() + ": Could not reset Attendance Rewards: " + e); + } + + // Update data for online players. + for (PlayerInstance player : World.getInstance().getPlayers()) + { + player.getVariables().remove("ATTENDANCE_DATE"); + player.getVariables().storeMe(); + } + + LOGGER.info("Attendance Rewards has been resetted."); + } + public static DailyTaskManager getInstance() { return SingletonHolder.INSTANCE; diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index 3b3396c316..f2d4791f95 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -67,6 +67,7 @@ public class DailyTaskManager extends AbstractEventManager> resetRecommends(); resetWorldChatPoints(); resetTrainingCamp(); + onResetAttendanceRewards(); } @ScheduleTarget @@ -252,6 +253,32 @@ public class DailyTaskManager extends AbstractEventManager> DailyMissionData.getInstance().getDailyMissionData().forEach(DailyMissionDataHolder::reset); } + public void onResetAttendanceRewards() + { + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection()) + { + try (PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var=?")) + { + ps.setString(1, "ATTENDANCE_DATE"); + ps.execute(); + } + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, getClass().getSimpleName() + ": Could not reset Attendance Rewards: " + e); + } + + // Update data for online players. + for (PlayerInstance player : World.getInstance().getPlayers()) + { + player.getVariables().remove("ATTENDANCE_DATE"); + player.getVariables().storeMe(); + } + + LOGGER.info("Attendance Rewards has been resetted."); + } + public static DailyTaskManager getInstance() { return SingletonHolder.INSTANCE; diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index 3b3396c316..f2d4791f95 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -67,6 +67,7 @@ public class DailyTaskManager extends AbstractEventManager> resetRecommends(); resetWorldChatPoints(); resetTrainingCamp(); + onResetAttendanceRewards(); } @ScheduleTarget @@ -252,6 +253,32 @@ public class DailyTaskManager extends AbstractEventManager> DailyMissionData.getInstance().getDailyMissionData().forEach(DailyMissionDataHolder::reset); } + public void onResetAttendanceRewards() + { + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection()) + { + try (PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var=?")) + { + ps.setString(1, "ATTENDANCE_DATE"); + ps.execute(); + } + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, getClass().getSimpleName() + ": Could not reset Attendance Rewards: " + e); + } + + // Update data for online players. + for (PlayerInstance player : World.getInstance().getPlayers()) + { + player.getVariables().remove("ATTENDANCE_DATE"); + player.getVariables().storeMe(); + } + + LOGGER.info("Attendance Rewards has been resetted."); + } + public static DailyTaskManager getInstance() { return SingletonHolder.INSTANCE; diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index c3677221df..1443cb63e4 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -70,6 +70,7 @@ public class DailyTaskManager extends AbstractEventManager> resetWorldChatPoints(); resetTrainingCamp(); onResetTimedHuntingZones(); + onResetAttendanceRewards(); } @ScheduleTarget @@ -325,6 +326,32 @@ public class DailyTaskManager extends AbstractEventManager> LOGGER.info("Weekly Special Hunting Zones has been resetted."); } + public void onResetAttendanceRewards() + { + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection()) + { + try (PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var=?")) + { + ps.setString(1, "ATTENDANCE_DATE"); + ps.execute(); + } + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, getClass().getSimpleName() + ": Could not reset Attendance Rewards: " + e); + } + + // Update data for online players. + for (PlayerInstance player : World.getInstance().getPlayers()) + { + player.getVariables().remove("ATTENDANCE_DATE"); + player.getVariables().storeMe(); + } + + LOGGER.info("Attendance Rewards has been resetted."); + } + public static DailyTaskManager getInstance() { return SingletonHolder.INSTANCE; diff --git a/L2J_Mobius_8.2_Homunculus/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_8.2_Homunculus/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index 276e8764d0..3f5450e694 100644 --- a/L2J_Mobius_8.2_Homunculus/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_8.2_Homunculus/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -73,6 +73,7 @@ public class DailyTaskManager extends AbstractEventManager> resetTrainingCamp(); resetHomunculusResetPoints(); onResetTimedHuntingZones(); + onResetAttendanceRewards(); } @ScheduleTarget @@ -439,6 +440,32 @@ public class DailyTaskManager extends AbstractEventManager> LOGGER.info("Homunculus Reset Points has been resetted."); } + public void onResetAttendanceRewards() + { + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection()) + { + try (PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var=?")) + { + ps.setString(1, "ATTENDANCE_DATE"); + ps.execute(); + } + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, getClass().getSimpleName() + ": Could not reset Attendance Rewards: " + e); + } + + // Update data for online players. + for (PlayerInstance player : World.getInstance().getPlayers()) + { + player.getVariables().remove("ATTENDANCE_DATE"); + player.getVariables().storeMe(); + } + + LOGGER.info("Attendance Rewards has been resetted."); + } + public static DailyTaskManager getInstance() { return SingletonHolder.INSTANCE; diff --git a/L2J_Mobius_9.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_9.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index 276e8764d0..3f5450e694 100644 --- a/L2J_Mobius_9.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_9.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -73,6 +73,7 @@ public class DailyTaskManager extends AbstractEventManager> resetTrainingCamp(); resetHomunculusResetPoints(); onResetTimedHuntingZones(); + onResetAttendanceRewards(); } @ScheduleTarget @@ -439,6 +440,32 @@ public class DailyTaskManager extends AbstractEventManager> LOGGER.info("Homunculus Reset Points has been resetted."); } + public void onResetAttendanceRewards() + { + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection()) + { + try (PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var=?")) + { + ps.setString(1, "ATTENDANCE_DATE"); + ps.execute(); + } + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, getClass().getSimpleName() + ": Could not reset Attendance Rewards: " + e); + } + + // Update data for online players. + for (PlayerInstance player : World.getInstance().getPlayers()) + { + player.getVariables().remove("ATTENDANCE_DATE"); + player.getVariables().storeMe(); + } + + LOGGER.info("Attendance Rewards has been resetted."); + } + public static DailyTaskManager getInstance() { return SingletonHolder.INSTANCE; diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index 5a1c9dfb55..975ff2f5c6 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -71,6 +71,7 @@ public class DailyTaskManager extends AbstractEventManager> resetWorldChatPoints(); resetTrainingCamp(); resetVip(); + onResetAttendanceRewards(); } @ScheduleTarget @@ -280,6 +281,32 @@ public class DailyTaskManager extends AbstractEventManager> DailyMissionData.getInstance().getDailyMissionData().forEach(DailyMissionDataHolder::reset); } + public void onResetAttendanceRewards() + { + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection()) + { + try (PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var=?")) + { + ps.setString(1, "ATTENDANCE_DATE"); + ps.execute(); + } + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, getClass().getSimpleName() + ": Could not reset Attendance Rewards: " + e); + } + + // Update data for online players. + for (PlayerInstance player : World.getInstance().getPlayers()) + { + player.getVariables().remove("ATTENDANCE_DATE"); + player.getVariables().storeMe(); + } + + LOGGER.info("Attendance Rewards has been resetted."); + } + public static DailyTaskManager getInstance() { return SingletonHolder.INSTANCE; diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index 5a1c9dfb55..975ff2f5c6 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -71,6 +71,7 @@ public class DailyTaskManager extends AbstractEventManager> resetWorldChatPoints(); resetTrainingCamp(); resetVip(); + onResetAttendanceRewards(); } @ScheduleTarget @@ -280,6 +281,32 @@ public class DailyTaskManager extends AbstractEventManager> DailyMissionData.getInstance().getDailyMissionData().forEach(DailyMissionDataHolder::reset); } + public void onResetAttendanceRewards() + { + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection()) + { + try (PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var=?")) + { + ps.setString(1, "ATTENDANCE_DATE"); + ps.execute(); + } + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, getClass().getSimpleName() + ": Could not reset Attendance Rewards: " + e); + } + + // Update data for online players. + for (PlayerInstance player : World.getInstance().getPlayers()) + { + player.getVariables().remove("ATTENDANCE_DATE"); + player.getVariables().storeMe(); + } + + LOGGER.info("Attendance Rewards has been resetted."); + } + public static DailyTaskManager getInstance() { return SingletonHolder.INSTANCE; diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index 5a1c9dfb55..975ff2f5c6 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -71,6 +71,7 @@ public class DailyTaskManager extends AbstractEventManager> resetWorldChatPoints(); resetTrainingCamp(); resetVip(); + onResetAttendanceRewards(); } @ScheduleTarget @@ -280,6 +281,32 @@ public class DailyTaskManager extends AbstractEventManager> DailyMissionData.getInstance().getDailyMissionData().forEach(DailyMissionDataHolder::reset); } + public void onResetAttendanceRewards() + { + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection()) + { + try (PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var=?")) + { + ps.setString(1, "ATTENDANCE_DATE"); + ps.execute(); + } + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, getClass().getSimpleName() + ": Could not reset Attendance Rewards: " + e); + } + + // Update data for online players. + for (PlayerInstance player : World.getInstance().getPlayers()) + { + player.getVariables().remove("ATTENDANCE_DATE"); + player.getVariables().storeMe(); + } + + LOGGER.info("Attendance Rewards has been resetted."); + } + public static DailyTaskManager getInstance() { return SingletonHolder.INSTANCE; diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index 5a1c9dfb55..975ff2f5c6 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -71,6 +71,7 @@ public class DailyTaskManager extends AbstractEventManager> resetWorldChatPoints(); resetTrainingCamp(); resetVip(); + onResetAttendanceRewards(); } @ScheduleTarget @@ -280,6 +281,32 @@ public class DailyTaskManager extends AbstractEventManager> DailyMissionData.getInstance().getDailyMissionData().forEach(DailyMissionDataHolder::reset); } + public void onResetAttendanceRewards() + { + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection()) + { + try (PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var=?")) + { + ps.setString(1, "ATTENDANCE_DATE"); + ps.execute(); + } + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, getClass().getSimpleName() + ": Could not reset Attendance Rewards: " + e); + } + + // Update data for online players. + for (PlayerInstance player : World.getInstance().getPlayers()) + { + player.getVariables().remove("ATTENDANCE_DATE"); + player.getVariables().storeMe(); + } + + LOGGER.info("Attendance Rewards has been resetted."); + } + public static DailyTaskManager getInstance() { return SingletonHolder.INSTANCE; diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index 5a1c9dfb55..975ff2f5c6 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -71,6 +71,7 @@ public class DailyTaskManager extends AbstractEventManager> resetWorldChatPoints(); resetTrainingCamp(); resetVip(); + onResetAttendanceRewards(); } @ScheduleTarget @@ -280,6 +281,32 @@ public class DailyTaskManager extends AbstractEventManager> DailyMissionData.getInstance().getDailyMissionData().forEach(DailyMissionDataHolder::reset); } + public void onResetAttendanceRewards() + { + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection()) + { + try (PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var=?")) + { + ps.setString(1, "ATTENDANCE_DATE"); + ps.execute(); + } + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, getClass().getSimpleName() + ": Could not reset Attendance Rewards: " + e); + } + + // Update data for online players. + for (PlayerInstance player : World.getInstance().getPlayers()) + { + player.getVariables().remove("ATTENDANCE_DATE"); + player.getVariables().storeMe(); + } + + LOGGER.info("Attendance Rewards has been resetted."); + } + public static DailyTaskManager getInstance() { return SingletonHolder.INSTANCE; diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index c737bcbc46..8a3cc4a9e0 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -74,6 +74,7 @@ public class DailyTaskManager extends AbstractEventManager> resetTrainingCamp(); resetVip(); onResetTimedHuntingZones(); + onResetAttendanceRewards(); } @ScheduleTarget @@ -353,6 +354,32 @@ public class DailyTaskManager extends AbstractEventManager> LOGGER.info("Weekly Special Hunting Zones has been resetted."); } + public void onResetAttendanceRewards() + { + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection()) + { + try (PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var=?")) + { + ps.setString(1, "ATTENDANCE_DATE"); + ps.execute(); + } + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, getClass().getSimpleName() + ": Could not reset Attendance Rewards: " + e); + } + + // Update data for online players. + for (PlayerInstance player : World.getInstance().getPlayers()) + { + player.getVariables().remove("ATTENDANCE_DATE"); + player.getVariables().storeMe(); + } + + LOGGER.info("Attendance Rewards has been resetted."); + } + public static DailyTaskManager getInstance() { return SingletonHolder.INSTANCE; diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index f033cf2f76..4207804752 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -68,6 +68,7 @@ public class DailyTaskManager extends AbstractEventManager> resetRecommends(); resetWorldChatPoints(); resetTrainingCamp(); + onResetAttendanceRewards(); } @ScheduleTarget @@ -259,6 +260,32 @@ public class DailyTaskManager extends AbstractEventManager> DailyMissionData.getInstance().getDailyMissionData().forEach(DailyMissionDataHolder::reset); } + public void onResetAttendanceRewards() + { + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection()) + { + try (PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var=?")) + { + ps.setString(1, "ATTENDANCE_DATE"); + ps.execute(); + } + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, getClass().getSimpleName() + ": Could not reset Attendance Rewards: " + e); + } + + // Update data for online players. + for (PlayerInstance player : World.getInstance().getPlayers()) + { + player.getVariables().remove("ATTENDANCE_DATE"); + player.getVariables().storeMe(); + } + + LOGGER.info("Attendance Rewards has been resetted."); + } + public static DailyTaskManager getInstance() { return SingletonHolder.INSTANCE; diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index 5c670a30c7..7490778f3e 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -79,6 +79,7 @@ public class DailyTaskManager extends AbstractEventManager> resetVitality(); resetVip(); onResetTimedHuntingZones(); + onResetAttendanceRewards(); } @ScheduleTarget @@ -423,6 +424,32 @@ public class DailyTaskManager extends AbstractEventManager> LOGGER.info("Weekly Special Hunting Zones has been resetted."); } + public void onResetAttendanceRewards() + { + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection()) + { + try (PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var=?")) + { + ps.setString(1, "ATTENDANCE_DATE"); + ps.execute(); + } + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, getClass().getSimpleName() + ": Could not reset Attendance Rewards: " + e); + } + + // Update data for online players. + for (PlayerInstance player : World.getInstance().getPlayers()) + { + player.getVariables().remove("ATTENDANCE_DATE"); + player.getVariables().storeMe(); + } + + LOGGER.info("Attendance Rewards has been resetted."); + } + public static DailyTaskManager getInstance() { return SingletonHolder.INSTANCE; diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index 34d96cadfa..41bb841997 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -80,6 +80,7 @@ public class DailyTaskManager extends AbstractEventManager> resetVip(); resetClanDonationPoints(); onResetTimedHuntingZones(); + onResetAttendanceRewards(); } @ScheduleTarget @@ -454,6 +455,32 @@ public class DailyTaskManager extends AbstractEventManager> LOGGER.info("Weekly Special Hunting Zones has been resetted."); } + public void onResetAttendanceRewards() + { + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection()) + { + try (PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var=?")) + { + ps.setString(1, "ATTENDANCE_DATE"); + ps.execute(); + } + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, getClass().getSimpleName() + ": Could not reset Attendance Rewards: " + e); + } + + // Update data for online players. + for (PlayerInstance player : World.getInstance().getPlayers()) + { + player.getVariables().remove("ATTENDANCE_DATE"); + player.getVariables().storeMe(); + } + + LOGGER.info("Attendance Rewards has been resetted."); + } + public static DailyTaskManager getInstance() { return SingletonHolder.INSTANCE;