From 8a311baada9fb779e85090ede863585d86efb44f Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Fri, 2 Jul 2021 23:07:29 +0000 Subject: [PATCH] Reverted revision 8919 timed hunting zone changes. Contributed by nasseka. --- .../dist/game/data/TimedHuntingZoneData.xml | 2 + .../dist/game/data/events/DailyTasks.xml | 5 ++- .../instancemanager/DailyTaskManager.java | 39 +++++++++++++++++- .../dist/game/data/TimedHuntingZoneData.xml | 6 +++ .../dist/game/data/events/DailyTasks.xml | 6 ++- .../instancemanager/DailyTaskManager.java | 40 +++++++++++++++++-- .../dist/game/data/TimedHuntingZoneData.xml | 6 +++ .../dist/game/data/events/DailyTasks.xml | 6 ++- .../instancemanager/DailyTaskManager.java | 40 +++++++++++++++++-- .../dist/game/data/TimedHuntingZoneData.xml | 6 +++ .../dist/game/data/events/DailyTasks.xml | 6 ++- .../instancemanager/DailyTaskManager.java | 40 +++++++++++++++++-- .../dist/game/data/TimedHuntingZoneData.xml | 1 + .../dist/game/data/events/DailyTasks.xml | 4 +- .../instancemanager/DailyTaskManager.java | 39 +++++++++++++++++- .../dist/game/data/TimedHuntingZoneData.xml | 10 +++++ .../dist/game/data/events/DailyTasks.xml | 4 +- .../instancemanager/DailyTaskManager.java | 39 +++++++++++++++++- .../dist/game/data/TimedHuntingZoneData.xml | 10 +++++ .../dist/game/data/events/DailyTasks.xml | 6 +-- .../instancemanager/DailyTaskManager.java | 39 +++++++++++++++++- .../dist/game/data/TimedHuntingZoneData.xml | 10 +++++ .../dist/game/data/events/DailyTasks.xml | 6 +-- .../instancemanager/DailyTaskManager.java | 39 +++++++++++++++++- 24 files changed, 372 insertions(+), 37 deletions(-) diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/TimedHuntingZoneData.xml b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/TimedHuntingZoneData.xml index 65e6ed26b0..efa9eb03f0 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/TimedHuntingZoneData.xml +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/TimedHuntingZoneData.xml @@ -3,6 +3,7 @@ 194291,176604,-1888 3600 + 36000 21600 3600 3600 @@ -13,6 +14,7 @@ 9400,-21720,-3634 3600 + 36000 21600 3600 3600 diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/events/DailyTasks.xml b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/events/DailyTasks.xml index 15eea98f96..0d3f258818 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/events/DailyTasks.xml +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/events/DailyTasks.xml @@ -24,8 +24,8 @@ - - + + @@ -42,6 +42,7 @@ + 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 029315cc0c..c3677221df 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 @@ -260,7 +260,7 @@ public class DailyTaskManager extends AbstractEventManager> { for (TimedHuntingZoneHolder holder : TimedHuntingZoneData.getInstance().getAllHuntingZones()) { - if (holder.getResetDelay() > 0) + if (holder.isWeekly()) { continue; } @@ -275,7 +275,7 @@ public class DailyTaskManager extends AbstractEventManager> } catch (Exception e) { - LOGGER.log(Level.SEVERE, "Could not reset Training Camp: ", e); + LOGGER.log(Level.SEVERE, "Could not reset Special Hunting Zones: ", e); } // Update data for online players. @@ -290,6 +290,41 @@ public class DailyTaskManager extends AbstractEventManager> LOGGER.info("Special Hunting Zones has been resetted."); } + @ScheduleTarget + public void onResetWeeklyTimedHuntingZones() + { + for (TimedHuntingZoneHolder holder : TimedHuntingZoneData.getInstance().getAllHuntingZones()) + { + if (!holder.isWeekly()) + { + continue; + } + + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection(); + PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var IN (?, ?)")) + { + ps.setString(1, PlayerVariables.HUNTING_ZONE_ENTRY + holder.getZoneId()); + ps.setString(2, PlayerVariables.HUNTING_ZONE_TIME + holder.getZoneId()); + ps.executeUpdate(); + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, "Could not reset Weekly Special Hunting Zones: ", e); + } + + // Update data for online players. + World.getInstance().getPlayers().stream().forEach(player -> + { + player.getVariables().remove(PlayerVariables.HUNTING_ZONE_ENTRY + holder.getZoneId()); + player.getVariables().remove(PlayerVariables.HUNTING_ZONE_TIME + holder.getZoneId()); + player.getVariables().storeMe(); + }); + } + + LOGGER.info("Weekly Special Hunting Zones has been resetted."); + } + public static DailyTaskManager getInstance() { return SingletonHolder.INSTANCE; diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/TimedHuntingZoneData.xml b/L2J_Mobius_8.0_Homunculus/dist/game/data/TimedHuntingZoneData.xml index cc8c523c56..1bb5d6b155 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/TimedHuntingZoneData.xml +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/TimedHuntingZoneData.xml @@ -3,6 +3,7 @@ 194291,176604,-1888 3600 + 864000 21600 7200 3600 @@ -13,6 +14,7 @@ 9400,-21720,-3634 3600 + 864000 21600 7200 3600 @@ -23,6 +25,7 @@ -122259,73678,-2872 3600 + 864000 21600 7200 3600 @@ -33,6 +36,7 @@ 139411,-169382,-1600 3600 + 864000 21600 18000 3600 @@ -43,6 +47,7 @@ -82014,16247,-15416 36000 + 864000 36000 0 3600 @@ -54,6 +59,7 @@ 181409,-78389,-2728 3600 + 864000 3600 0 3600 diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/events/DailyTasks.xml b/L2J_Mobius_8.0_Homunculus/dist/game/data/events/DailyTasks.xml index 105f829cfe..a9131f48c2 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/events/DailyTasks.xml +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/events/DailyTasks.xml @@ -24,8 +24,8 @@ - - + + @@ -46,6 +46,8 @@ + + diff --git a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index d7160c4685..276e8764d0 100644 --- a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -337,12 +337,11 @@ public class DailyTaskManager extends AbstractEventManager> LOGGER.info("Throne of Heroes Entry has been resetted."); } - @ScheduleTarget public void onResetTimedHuntingZones() { for (TimedHuntingZoneHolder holder : TimedHuntingZoneData.getInstance().getAllHuntingZones()) { - if (holder.getResetDelay() > 0) + if (holder.isWeekly()) { continue; } @@ -357,7 +356,7 @@ public class DailyTaskManager extends AbstractEventManager> } catch (Exception e) { - LOGGER.log(Level.SEVERE, "Could not reset Training Camp: ", e); + LOGGER.log(Level.SEVERE, "Could not reset Special Hunting Zones: ", e); } // Update data for online players. @@ -372,6 +371,41 @@ public class DailyTaskManager extends AbstractEventManager> LOGGER.info("Special Hunting Zones has been resetted."); } + @ScheduleTarget + public void onResetWeeklyTimedHuntingZones() + { + for (TimedHuntingZoneHolder holder : TimedHuntingZoneData.getInstance().getAllHuntingZones()) + { + if (!holder.isWeekly()) + { + continue; + } + + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection(); + PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var IN (?, ?)")) + { + ps.setString(1, PlayerVariables.HUNTING_ZONE_ENTRY + holder.getZoneId()); + ps.setString(2, PlayerVariables.HUNTING_ZONE_TIME + holder.getZoneId()); + ps.executeUpdate(); + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, "Could not reset Weekly Special Hunting Zones: ", e); + } + + // Update data for online players. + World.getInstance().getPlayers().stream().forEach(player -> + { + player.getVariables().remove(PlayerVariables.HUNTING_ZONE_ENTRY + holder.getZoneId()); + player.getVariables().remove(PlayerVariables.HUNTING_ZONE_TIME + holder.getZoneId()); + player.getVariables().storeMe(); + }); + } + + LOGGER.info("Weekly Special Hunting Zones has been resetted."); + } + public void resetHomunculusResetPoints() { // Update data for offline players. diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/TimedHuntingZoneData.xml b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/TimedHuntingZoneData.xml index 845c68d0a6..abf337d7f0 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/TimedHuntingZoneData.xml +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/TimedHuntingZoneData.xml @@ -3,6 +3,7 @@ 194291,176604,-1888 3600 + 864000 21600 7200 3600 @@ -13,6 +14,7 @@ 9400,-21720,-3634 3600 + 864000 21600 7200 3600 @@ -23,6 +25,7 @@ -122259,73678,-2872 3600 + 864000 21600 7200 3600 @@ -33,6 +36,7 @@ 139411,-169382,-1600 3600 + 864000 21600 18000 3600 @@ -43,6 +47,7 @@ -82014,16247,-15416 36000 + 864000 36000 0 3600 @@ -54,6 +59,7 @@ 181409,-78389,-2728 3600 + 864000 3600 0 3600 diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/events/DailyTasks.xml b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/events/DailyTasks.xml index 105f829cfe..a9131f48c2 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/events/DailyTasks.xml +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/events/DailyTasks.xml @@ -24,8 +24,8 @@ - - + + @@ -46,6 +46,8 @@ + + diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index d7160c4685..276e8764d0 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -337,12 +337,11 @@ public class DailyTaskManager extends AbstractEventManager> LOGGER.info("Throne of Heroes Entry has been resetted."); } - @ScheduleTarget public void onResetTimedHuntingZones() { for (TimedHuntingZoneHolder holder : TimedHuntingZoneData.getInstance().getAllHuntingZones()) { - if (holder.getResetDelay() > 0) + if (holder.isWeekly()) { continue; } @@ -357,7 +356,7 @@ public class DailyTaskManager extends AbstractEventManager> } catch (Exception e) { - LOGGER.log(Level.SEVERE, "Could not reset Training Camp: ", e); + LOGGER.log(Level.SEVERE, "Could not reset Special Hunting Zones: ", e); } // Update data for online players. @@ -372,6 +371,41 @@ public class DailyTaskManager extends AbstractEventManager> LOGGER.info("Special Hunting Zones has been resetted."); } + @ScheduleTarget + public void onResetWeeklyTimedHuntingZones() + { + for (TimedHuntingZoneHolder holder : TimedHuntingZoneData.getInstance().getAllHuntingZones()) + { + if (!holder.isWeekly()) + { + continue; + } + + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection(); + PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var IN (?, ?)")) + { + ps.setString(1, PlayerVariables.HUNTING_ZONE_ENTRY + holder.getZoneId()); + ps.setString(2, PlayerVariables.HUNTING_ZONE_TIME + holder.getZoneId()); + ps.executeUpdate(); + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, "Could not reset Weekly Special Hunting Zones: ", e); + } + + // Update data for online players. + World.getInstance().getPlayers().stream().forEach(player -> + { + player.getVariables().remove(PlayerVariables.HUNTING_ZONE_ENTRY + holder.getZoneId()); + player.getVariables().remove(PlayerVariables.HUNTING_ZONE_TIME + holder.getZoneId()); + player.getVariables().storeMe(); + }); + } + + LOGGER.info("Weekly Special Hunting Zones has been resetted."); + } + public void resetHomunculusResetPoints() { // Update data for offline players. diff --git a/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/dist/game/data/TimedHuntingZoneData.xml b/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/dist/game/data/TimedHuntingZoneData.xml index 845c68d0a6..abf337d7f0 100644 --- a/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/dist/game/data/TimedHuntingZoneData.xml +++ b/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/dist/game/data/TimedHuntingZoneData.xml @@ -3,6 +3,7 @@ 194291,176604,-1888 3600 + 864000 21600 7200 3600 @@ -13,6 +14,7 @@ 9400,-21720,-3634 3600 + 864000 21600 7200 3600 @@ -23,6 +25,7 @@ -122259,73678,-2872 3600 + 864000 21600 7200 3600 @@ -33,6 +36,7 @@ 139411,-169382,-1600 3600 + 864000 21600 18000 3600 @@ -43,6 +47,7 @@ -82014,16247,-15416 36000 + 864000 36000 0 3600 @@ -54,6 +59,7 @@ 181409,-78389,-2728 3600 + 864000 3600 0 3600 diff --git a/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/dist/game/data/events/DailyTasks.xml b/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/dist/game/data/events/DailyTasks.xml index 105f829cfe..a9131f48c2 100644 --- a/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/dist/game/data/events/DailyTasks.xml +++ b/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/dist/game/data/events/DailyTasks.xml @@ -24,8 +24,8 @@ - - + + @@ -46,6 +46,8 @@ + + diff --git a/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index d7160c4685..276e8764d0 100644 --- a/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -337,12 +337,11 @@ public class DailyTaskManager extends AbstractEventManager> LOGGER.info("Throne of Heroes Entry has been resetted."); } - @ScheduleTarget public void onResetTimedHuntingZones() { for (TimedHuntingZoneHolder holder : TimedHuntingZoneData.getInstance().getAllHuntingZones()) { - if (holder.getResetDelay() > 0) + if (holder.isWeekly()) { continue; } @@ -357,7 +356,7 @@ public class DailyTaskManager extends AbstractEventManager> } catch (Exception e) { - LOGGER.log(Level.SEVERE, "Could not reset Training Camp: ", e); + LOGGER.log(Level.SEVERE, "Could not reset Special Hunting Zones: ", e); } // Update data for online players. @@ -372,6 +371,41 @@ public class DailyTaskManager extends AbstractEventManager> LOGGER.info("Special Hunting Zones has been resetted."); } + @ScheduleTarget + public void onResetWeeklyTimedHuntingZones() + { + for (TimedHuntingZoneHolder holder : TimedHuntingZoneData.getInstance().getAllHuntingZones()) + { + if (!holder.isWeekly()) + { + continue; + } + + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection(); + PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var IN (?, ?)")) + { + ps.setString(1, PlayerVariables.HUNTING_ZONE_ENTRY + holder.getZoneId()); + ps.setString(2, PlayerVariables.HUNTING_ZONE_TIME + holder.getZoneId()); + ps.executeUpdate(); + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, "Could not reset Weekly Special Hunting Zones: ", e); + } + + // Update data for online players. + World.getInstance().getPlayers().stream().forEach(player -> + { + player.getVariables().remove(PlayerVariables.HUNTING_ZONE_ENTRY + holder.getZoneId()); + player.getVariables().remove(PlayerVariables.HUNTING_ZONE_TIME + holder.getZoneId()); + player.getVariables().storeMe(); + }); + } + + LOGGER.info("Weekly Special Hunting Zones has been resetted."); + } + public void resetHomunculusResetPoints() { // Update data for offline players. diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/TimedHuntingZoneData.xml b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/TimedHuntingZoneData.xml index 71ba03e97e..663de6c94e 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/TimedHuntingZoneData.xml +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/TimedHuntingZoneData.xml @@ -3,6 +3,7 @@ 17613,-76862,-6265 3600 + 36000 18000 3600 3600 diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/events/DailyTasks.xml b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/events/DailyTasks.xml index 172ba86ce9..0bb21a014e 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/events/DailyTasks.xml +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/events/DailyTasks.xml @@ -24,8 +24,8 @@ - - + + 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 6ef641987b..c737bcbc46 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 @@ -288,7 +288,7 @@ public class DailyTaskManager extends AbstractEventManager> { for (TimedHuntingZoneHolder holder : TimedHuntingZoneData.getInstance().getAllHuntingZones()) { - if (holder.getResetDelay() > 0) + if (holder.isWeekly()) { continue; } @@ -303,7 +303,7 @@ public class DailyTaskManager extends AbstractEventManager> } catch (Exception e) { - LOGGER.log(Level.SEVERE, "Could not reset Training Camp: ", e); + LOGGER.log(Level.SEVERE, "Could not reset Special Hunting Zones: ", e); } // Update data for online players. @@ -318,6 +318,41 @@ public class DailyTaskManager extends AbstractEventManager> LOGGER.info("Special Hunting Zones has been resetted."); } + @ScheduleTarget + public void onResetWeeklyTimedHuntingZones() + { + for (TimedHuntingZoneHolder holder : TimedHuntingZoneData.getInstance().getAllHuntingZones()) + { + if (!holder.isWeekly()) + { + continue; + } + + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection(); + PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var IN (?, ?)")) + { + ps.setString(1, PlayerVariables.HUNTING_ZONE_ENTRY + holder.getZoneId()); + ps.setString(2, PlayerVariables.HUNTING_ZONE_TIME + holder.getZoneId()); + ps.executeUpdate(); + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, "Could not reset Weekly Special Hunting Zones: ", e); + } + + // Update data for online players. + World.getInstance().getPlayers().stream().forEach(player -> + { + player.getVariables().remove(PlayerVariables.HUNTING_ZONE_ENTRY + holder.getZoneId()); + player.getVariables().remove(PlayerVariables.HUNTING_ZONE_TIME + holder.getZoneId()); + player.getVariables().storeMe(); + }); + } + + LOGGER.info("Weekly Special Hunting Zones has been resetted."); + } + public static DailyTaskManager getInstance() { return SingletonHolder.INSTANCE; diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/TimedHuntingZoneData.xml b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/TimedHuntingZoneData.xml index 6a1e0d5f8d..5aa75351af 100644 --- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/TimedHuntingZoneData.xml +++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/TimedHuntingZoneData.xml @@ -3,6 +3,7 @@ 6025,-2274,-2990 3600 + 36000 46800 43200 3600 @@ -13,6 +14,7 @@ -112937,213590,-13248 3600 + 36000 21600 18000 3600 @@ -23,6 +25,7 @@ 115528,191580,-3371 3600 + 36000 46800 7200 3600 @@ -33,6 +36,7 @@ 133247,114445,-3724 25200 + 604800 151200 126000 3600 @@ -44,6 +48,7 @@ 63443,26304,-3755 3600 + 36000 46800 3600 3600 @@ -55,6 +60,7 @@ 125277,70262,-4408 3600 + 36000 46800 3600 3600 @@ -66,6 +72,7 @@ 148724,-22366,-3436 3600 + 36000 46800 3600 3600 @@ -77,6 +84,7 @@ 167965,28800,-3606 3600 + 36000 46800 3600 3600 @@ -88,6 +96,7 @@ 99797,110524,-3702 3600 + 36000 46800 3600 3600 @@ -99,6 +108,7 @@ -50416,145363,-2825 3600 + 36000 46800 3600 3600 diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/events/DailyTasks.xml b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/events/DailyTasks.xml index 089f115019..ebe3f50e28 100644 --- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/events/DailyTasks.xml +++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/events/DailyTasks.xml @@ -24,8 +24,8 @@ - - + + diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index 8a2b5158c5..5c670a30c7 100644 --- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -358,7 +358,7 @@ public class DailyTaskManager extends AbstractEventManager> { for (TimedHuntingZoneHolder holder : TimedHuntingZoneData.getInstance().getAllHuntingZones()) { - if (holder.getResetDelay() > 0) + if (holder.isWeekly()) { continue; } @@ -373,7 +373,7 @@ public class DailyTaskManager extends AbstractEventManager> } catch (Exception e) { - LOGGER.log(Level.SEVERE, "Could not reset Training Camp: ", e); + LOGGER.log(Level.SEVERE, "Could not reset Special Hunting Zones: ", e); } // Update data for online players. @@ -388,6 +388,41 @@ public class DailyTaskManager extends AbstractEventManager> LOGGER.info("Special Hunting Zones has been resetted."); } + @ScheduleTarget + public void onResetWeeklyTimedHuntingZones() + { + for (TimedHuntingZoneHolder holder : TimedHuntingZoneData.getInstance().getAllHuntingZones()) + { + if (!holder.isWeekly()) + { + continue; + } + + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection(); + PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var IN (?, ?)")) + { + ps.setString(1, PlayerVariables.HUNTING_ZONE_ENTRY + holder.getZoneId()); + ps.setString(2, PlayerVariables.HUNTING_ZONE_TIME + holder.getZoneId()); + ps.executeUpdate(); + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, "Could not reset Weekly Special Hunting Zones: ", e); + } + + // Update data for online players. + World.getInstance().getPlayers().stream().forEach(player -> + { + player.getVariables().remove(PlayerVariables.HUNTING_ZONE_ENTRY + holder.getZoneId()); + player.getVariables().remove(PlayerVariables.HUNTING_ZONE_TIME + holder.getZoneId()); + player.getVariables().storeMe(); + }); + } + + LOGGER.info("Weekly Special Hunting Zones has been resetted."); + } + public static DailyTaskManager getInstance() { return SingletonHolder.INSTANCE; diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/TimedHuntingZoneData.xml b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/TimedHuntingZoneData.xml index 6a1e0d5f8d..5aa75351af 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/TimedHuntingZoneData.xml +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/TimedHuntingZoneData.xml @@ -3,6 +3,7 @@ 6025,-2274,-2990 3600 + 36000 46800 43200 3600 @@ -13,6 +14,7 @@ -112937,213590,-13248 3600 + 36000 21600 18000 3600 @@ -23,6 +25,7 @@ 115528,191580,-3371 3600 + 36000 46800 7200 3600 @@ -33,6 +36,7 @@ 133247,114445,-3724 25200 + 604800 151200 126000 3600 @@ -44,6 +48,7 @@ 63443,26304,-3755 3600 + 36000 46800 3600 3600 @@ -55,6 +60,7 @@ 125277,70262,-4408 3600 + 36000 46800 3600 3600 @@ -66,6 +72,7 @@ 148724,-22366,-3436 3600 + 36000 46800 3600 3600 @@ -77,6 +84,7 @@ 167965,28800,-3606 3600 + 36000 46800 3600 3600 @@ -88,6 +96,7 @@ 99797,110524,-3702 3600 + 36000 46800 3600 3600 @@ -99,6 +108,7 @@ -50416,145363,-2825 3600 + 36000 46800 3600 3600 diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/events/DailyTasks.xml b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/events/DailyTasks.xml index 820b83296a..ebe3f50e28 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/events/DailyTasks.xml +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/events/DailyTasks.xml @@ -22,10 +22,10 @@ - + - - + + diff --git a/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index 545e549250..34d96cadfa 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -389,7 +389,7 @@ public class DailyTaskManager extends AbstractEventManager> { for (TimedHuntingZoneHolder holder : TimedHuntingZoneData.getInstance().getAllHuntingZones()) { - if (holder.getResetDelay() > 0) + if (holder.isWeekly()) { continue; } @@ -404,7 +404,7 @@ public class DailyTaskManager extends AbstractEventManager> } catch (Exception e) { - LOGGER.log(Level.SEVERE, "Could not reset Training Camp: ", e); + LOGGER.log(Level.SEVERE, "Could not reset Special Hunting Zones: ", e); } // Update data for online players. @@ -419,6 +419,41 @@ public class DailyTaskManager extends AbstractEventManager> LOGGER.info("Special Hunting Zones has been resetted."); } + @ScheduleTarget + public void onResetWeeklyTimedHuntingZones() + { + for (TimedHuntingZoneHolder holder : TimedHuntingZoneData.getInstance().getAllHuntingZones()) + { + if (!holder.isWeekly()) + { + continue; + } + + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection(); + PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var IN (?, ?)")) + { + ps.setString(1, PlayerVariables.HUNTING_ZONE_ENTRY + holder.getZoneId()); + ps.setString(2, PlayerVariables.HUNTING_ZONE_TIME + holder.getZoneId()); + ps.executeUpdate(); + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, "Could not reset Weekly Special Hunting Zones: ", e); + } + + // Update data for online players. + World.getInstance().getPlayers().stream().forEach(player -> + { + player.getVariables().remove(PlayerVariables.HUNTING_ZONE_ENTRY + holder.getZoneId()); + player.getVariables().remove(PlayerVariables.HUNTING_ZONE_TIME + holder.getZoneId()); + player.getVariables().storeMe(); + }); + } + + LOGGER.info("Weekly Special Hunting Zones has been resetted."); + } + public static DailyTaskManager getInstance() { return SingletonHolder.INSTANCE; diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/TimedHuntingZoneData.xml b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/TimedHuntingZoneData.xml index 6a1e0d5f8d..5aa75351af 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/TimedHuntingZoneData.xml +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/TimedHuntingZoneData.xml @@ -3,6 +3,7 @@ 6025,-2274,-2990 3600 + 36000 46800 43200 3600 @@ -13,6 +14,7 @@ -112937,213590,-13248 3600 + 36000 21600 18000 3600 @@ -23,6 +25,7 @@ 115528,191580,-3371 3600 + 36000 46800 7200 3600 @@ -33,6 +36,7 @@ 133247,114445,-3724 25200 + 604800 151200 126000 3600 @@ -44,6 +48,7 @@ 63443,26304,-3755 3600 + 36000 46800 3600 3600 @@ -55,6 +60,7 @@ 125277,70262,-4408 3600 + 36000 46800 3600 3600 @@ -66,6 +72,7 @@ 148724,-22366,-3436 3600 + 36000 46800 3600 3600 @@ -77,6 +84,7 @@ 167965,28800,-3606 3600 + 36000 46800 3600 3600 @@ -88,6 +96,7 @@ 99797,110524,-3702 3600 + 36000 46800 3600 3600 @@ -99,6 +108,7 @@ -50416,145363,-2825 3600 + 36000 46800 3600 3600 diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/events/DailyTasks.xml b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/events/DailyTasks.xml index 820b83296a..ebe3f50e28 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/events/DailyTasks.xml +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/events/DailyTasks.xml @@ -22,10 +22,10 @@ - + - - + + 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 545e549250..34d96cadfa 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 @@ -389,7 +389,7 @@ public class DailyTaskManager extends AbstractEventManager> { for (TimedHuntingZoneHolder holder : TimedHuntingZoneData.getInstance().getAllHuntingZones()) { - if (holder.getResetDelay() > 0) + if (holder.isWeekly()) { continue; } @@ -404,7 +404,7 @@ public class DailyTaskManager extends AbstractEventManager> } catch (Exception e) { - LOGGER.log(Level.SEVERE, "Could not reset Training Camp: ", e); + LOGGER.log(Level.SEVERE, "Could not reset Special Hunting Zones: ", e); } // Update data for online players. @@ -419,6 +419,41 @@ public class DailyTaskManager extends AbstractEventManager> LOGGER.info("Special Hunting Zones has been resetted."); } + @ScheduleTarget + public void onResetWeeklyTimedHuntingZones() + { + for (TimedHuntingZoneHolder holder : TimedHuntingZoneData.getInstance().getAllHuntingZones()) + { + if (!holder.isWeekly()) + { + continue; + } + + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection(); + PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var IN (?, ?)")) + { + ps.setString(1, PlayerVariables.HUNTING_ZONE_ENTRY + holder.getZoneId()); + ps.setString(2, PlayerVariables.HUNTING_ZONE_TIME + holder.getZoneId()); + ps.executeUpdate(); + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, "Could not reset Weekly Special Hunting Zones: ", e); + } + + // Update data for online players. + World.getInstance().getPlayers().stream().forEach(player -> + { + player.getVariables().remove(PlayerVariables.HUNTING_ZONE_ENTRY + holder.getZoneId()); + player.getVariables().remove(PlayerVariables.HUNTING_ZONE_TIME + holder.getZoneId()); + player.getVariables().storeMe(); + }); + } + + LOGGER.info("Weekly Special Hunting Zones has been resetted."); + } + public static DailyTaskManager getInstance() { return SingletonHolder.INSTANCE;