Reverted revision 8919 timed hunting zone changes.
Contributed by nasseka.
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
<zone id="2" name="Ancient Pirates' Tomb">
|
||||
<enterLocation>17613,-76862,-6265</enterLocation>
|
||||
<initialTime>3600</initialTime> <!-- 1 hour -->
|
||||
<resetDelay>36000</resetDelay> <!-- 10 hours -->
|
||||
<maxAddedTime>18000</maxAddedTime> <!-- 5 hours -->
|
||||
<remainRefillTime>3600</remainRefillTime>
|
||||
<refillTimeMax>3600</refillTimeMax>
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
</schedule>
|
||||
|
||||
<!-- Schedule the weekly timed hunting zones reset task every WEDNESDAY at 6:30 -->
|
||||
<schedule name="timedHuntingZoneReset" hour="06" minute="30" dayOfWeek="3">
|
||||
<event name="#onResetTimedHuntingZones" />
|
||||
<schedule name="weeklytimedHuntingZoneReset" hour="06" minute="30" dayOfWeek="3">
|
||||
<event name="#onResetWeeklyTimedHuntingZones" />
|
||||
</schedule>
|
||||
|
||||
<!-- Schedule the vitality reset task every WEDNESDAY at 6:30 -->
|
||||
|
||||
@@ -288,7 +288,7 @@ public class DailyTaskManager extends AbstractEventManager<AbstractEvent<?>>
|
||||
{
|
||||
for (TimedHuntingZoneHolder holder : TimedHuntingZoneData.getInstance().getAllHuntingZones())
|
||||
{
|
||||
if (holder.getResetDelay() > 0)
|
||||
if (holder.isWeekly())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@@ -303,7 +303,7 @@ public class DailyTaskManager extends AbstractEventManager<AbstractEvent<?>>
|
||||
}
|
||||
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<AbstractEvent<?>>
|
||||
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;
|
||||
|
||||
Reference in New Issue
Block a user