Daily reset task for training camp.

This commit is contained in:
MobiusDev 2017-11-17 14:53:58 +00:00
parent 3f0932c95f
commit 669b008d20
10 changed files with 165 additions and 0 deletions

View File

@ -65,6 +65,7 @@ public class DailyTaskManager extends AbstractEventManager<AbstractEvent<?>>
resetDailySkills();
resetRecommends();
resetWorldChatPoints();
resetTrainingCamp();
}
@ScheduleTarget
@ -244,6 +245,33 @@ public class DailyTaskManager extends AbstractEventManager<AbstractEvent<?>>
});
}
public void resetTrainingCamp()
{
if (Config.TRAINING_CAMP_ENABLE)
{
// Update data for offline players.
try (Connection con = DatabaseFactory.getInstance().getConnection();
PreparedStatement ps = con.prepareStatement("DELETE FROM account_gsdata WHERE var = ?"))
{
ps.setString(1, "TRAINING_CAMP_DURATION");
ps.executeUpdate();
}
catch (Exception e)
{
LOGGER.log(Level.SEVERE, "Could not reset Training Camp: ", e);
}
// Update data for online players.
L2World.getInstance().getPlayers().stream().forEach(player ->
{
player.resetTraingCampDuration();
player.getAccountVariables().storeMe();
});
LOGGER.info("Training Camp daily time has been resetted.");
}
}
public static DailyTaskManager getInstance()
{
return SingletonHolder.INSTANCE;

View File

@ -14005,6 +14005,11 @@ public final class L2PcInstance extends L2Playable
getAccountVariables().set(TRAINING_CAMP_DURATION, duration);
}
public void resetTraingCampDuration()
{
getAccountVariables().remove(TRAINING_CAMP_DURATION);
}
public boolean isInTraingCamp()
{
final TrainingHolder trainingHolder = getTraingCampInfo();

View File

@ -68,6 +68,7 @@ public class DailyTaskManager extends AbstractEventManager<AbstractEvent<?>>
resetDailySkills();
resetRecommends();
resetWorldChatPoints();
resetTrainingCamp();
}
@ScheduleTarget
@ -247,6 +248,33 @@ public class DailyTaskManager extends AbstractEventManager<AbstractEvent<?>>
});
}
public void resetTrainingCamp()
{
if (Config.TRAINING_CAMP_ENABLE)
{
// Update data for offline players.
try (Connection con = DatabaseFactory.getInstance().getConnection();
PreparedStatement ps = con.prepareStatement("DELETE FROM account_gsdata WHERE var = ?"))
{
ps.setString(1, "TRAINING_CAMP_DURATION");
ps.executeUpdate();
}
catch (Exception e)
{
LOGGER.log(Level.SEVERE, "Could not reset Training Camp: ", e);
}
// Update data for online players.
L2World.getInstance().getPlayers().stream().forEach(player ->
{
player.resetTraingCampDuration();
player.getAccountVariables().storeMe();
});
LOGGER.info("Training Camp daily time has been resetted.");
}
}
private void resetDailyMissionRewards()
{
DailyMissionData.getInstance().getDailyMissionData().forEach(DailyMissionDataHolder::reset);

View File

@ -13989,6 +13989,11 @@ public final class L2PcInstance extends L2Playable
getAccountVariables().set(TRAINING_CAMP_DURATION, duration);
}
public void resetTraingCampDuration()
{
getAccountVariables().remove(TRAINING_CAMP_DURATION);
}
public boolean isInTraingCamp()
{
final TrainingHolder trainingHolder = getTraingCampInfo();

View File

@ -68,6 +68,7 @@ public class DailyTaskManager extends AbstractEventManager<AbstractEvent<?>>
resetDailySkills();
resetRecommends();
resetWorldChatPoints();
resetTrainingCamp();
}
@ScheduleTarget
@ -247,6 +248,33 @@ public class DailyTaskManager extends AbstractEventManager<AbstractEvent<?>>
});
}
public void resetTrainingCamp()
{
if (Config.TRAINING_CAMP_ENABLE)
{
// Update data for offline players.
try (Connection con = DatabaseFactory.getInstance().getConnection();
PreparedStatement ps = con.prepareStatement("DELETE FROM account_gsdata WHERE var = ?"))
{
ps.setString(1, "TRAINING_CAMP_DURATION");
ps.executeUpdate();
}
catch (Exception e)
{
LOGGER.log(Level.SEVERE, "Could not reset Training Camp: ", e);
}
// Update data for online players.
L2World.getInstance().getPlayers().stream().forEach(player ->
{
player.resetTraingCampDuration();
player.getAccountVariables().storeMe();
});
LOGGER.info("Training Camp daily time has been resetted.");
}
}
private void resetDailyMissionRewards()
{
DailyMissionData.getInstance().getDailyMissionData().forEach(DailyMissionDataHolder::reset);

View File

@ -14047,6 +14047,11 @@ public final class L2PcInstance extends L2Playable
getAccountVariables().set(TRAINING_CAMP_DURATION, duration);
}
public void resetTraingCampDuration()
{
getAccountVariables().remove(TRAINING_CAMP_DURATION);
}
public boolean isInTraingCamp()
{
final TrainingHolder trainingHolder = getTraingCampInfo();

View File

@ -68,6 +68,7 @@ public class DailyTaskManager extends AbstractEventManager<AbstractEvent<?>>
resetDailySkills();
resetRecommends();
resetWorldChatPoints();
resetTrainingCamp();
}
@ScheduleTarget
@ -247,6 +248,33 @@ public class DailyTaskManager extends AbstractEventManager<AbstractEvent<?>>
});
}
public void resetTrainingCamp()
{
if (Config.TRAINING_CAMP_ENABLE)
{
// Update data for offline players.
try (Connection con = DatabaseFactory.getInstance().getConnection();
PreparedStatement ps = con.prepareStatement("DELETE FROM account_gsdata WHERE var = ?"))
{
ps.setString(1, "TRAINING_CAMP_DURATION");
ps.executeUpdate();
}
catch (Exception e)
{
LOGGER.log(Level.SEVERE, "Could not reset Training Camp: ", e);
}
// Update data for online players.
L2World.getInstance().getPlayers().stream().forEach(player ->
{
player.resetTraingCampDuration();
player.getAccountVariables().storeMe();
});
LOGGER.info("Training Camp daily time has been resetted.");
}
}
private void resetDailyMissionRewards()
{
DailyMissionData.getInstance().getDailyMissionData().forEach(DailyMissionDataHolder::reset);

View File

@ -14088,6 +14088,11 @@ public final class L2PcInstance extends L2Playable
getAccountVariables().set(TRAINING_CAMP_DURATION, duration);
}
public void resetTraingCampDuration()
{
getAccountVariables().remove(TRAINING_CAMP_DURATION);
}
public boolean isInTraingCamp()
{
final TrainingHolder trainingHolder = getTraingCampInfo();

View File

@ -68,6 +68,7 @@ public class DailyTaskManager extends AbstractEventManager<AbstractEvent<?>>
resetDailySkills();
resetRecommends();
resetWorldChatPoints();
resetTrainingCamp();
}
@ScheduleTarget
@ -247,6 +248,33 @@ public class DailyTaskManager extends AbstractEventManager<AbstractEvent<?>>
});
}
public void resetTrainingCamp()
{
if (Config.TRAINING_CAMP_ENABLE)
{
// Update data for offline players.
try (Connection con = DatabaseFactory.getInstance().getConnection();
PreparedStatement ps = con.prepareStatement("DELETE FROM account_gsdata WHERE var = ?"))
{
ps.setString(1, "TRAINING_CAMP_DURATION");
ps.executeUpdate();
}
catch (Exception e)
{
LOGGER.log(Level.SEVERE, "Could not reset Training Camp: ", e);
}
// Update data for online players.
L2World.getInstance().getPlayers().stream().forEach(player ->
{
player.resetTraingCampDuration();
player.getAccountVariables().storeMe();
});
LOGGER.info("Training Camp daily time has been resetted.");
}
}
private void resetDailyMissionRewards()
{
DailyMissionData.getInstance().getDailyMissionData().forEach(DailyMissionDataHolder::reset);

View File

@ -13912,6 +13912,11 @@ public final class L2PcInstance extends L2Playable
getAccountVariables().set(TRAINING_CAMP_DURATION, duration);
}
public void resetTraingCampDuration()
{
getAccountVariables().remove(TRAINING_CAMP_DURATION);
}
public boolean isInTraingCamp()
{
final TrainingHolder trainingHolder = getTraingCampInfo();