diff --git a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index 061aa90904..d51f4bf726 100644 --- a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -245,12 +245,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setWorldChatUsed(0); player.sendPacket(new ExWorldChatCnt(player)); player.getVariables().storeMe(); - }); + } LOGGER.info("Daily world chat points has been resetted."); } @@ -276,13 +276,13 @@ public class DailyTaskManager LOGGER.log(Level.SEVERE, "Could not reset Recommendations System: ", e); } - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setRecomLeft(0); player.setRecomHave(player.getRecomHave() - 20); player.sendPacket(new ExVoteSystemInfo(player)); player.broadcastUserInfo(); - }); + } } private void resetTrainingCamp() @@ -302,11 +302,11 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.resetTraingCampDuration(); player.getAccountVariables().storeMe(); - }); + } LOGGER.info("Training Camp daily time has been resetted."); } diff --git a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java index ed4cdc8ebc..21c7de5d62 100644 --- a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java +++ b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java @@ -25,8 +25,6 @@ import java.util.logging.Level; import java.util.logging.Logger; import org.l2jmobius.commons.database.DatabaseFactory; -import org.l2jmobius.gameserver.model.World; -import org.l2jmobius.gameserver.model.actor.Player; /** * @author UnAfraid @@ -85,7 +83,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + _objectId, e); return false; } finally @@ -128,7 +126,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + _objectId, e); return false; } finally @@ -155,14 +153,9 @@ public class PlayerVariables extends AbstractVariables } catch (Exception e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + _objectId, e); return false; } return true; } - - public Player getPlayer() - { - return World.getInstance().getPlayer(_objectId); - } } diff --git a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index cd567ce66a..15c43566c4 100644 --- a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -249,12 +249,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setWorldChatUsed(0); player.sendPacket(new ExWorldChatCnt(player)); player.getVariables().storeMe(); - }); + } LOGGER.info("Daily world chat points has been resetted."); } @@ -280,13 +280,13 @@ public class DailyTaskManager LOGGER.log(Level.SEVERE, "Could not reset Recommendations System: ", e); } - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setRecomLeft(0); player.setRecomHave(player.getRecomHave() - 20); player.sendPacket(new ExVoteSystemInfo(player)); player.broadcastUserInfo(); - }); + } } private void resetTrainingCamp() @@ -306,11 +306,11 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.resetTraingCampDuration(); player.getAccountVariables().storeMe(); - }); + } LOGGER.info("Training Camp daily time has been resetted."); } diff --git a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java index 9a841997c4..c04065342b 100644 --- a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java +++ b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java @@ -20,17 +20,11 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; import java.util.Map.Entry; import java.util.logging.Level; import java.util.logging.Logger; import org.l2jmobius.commons.database.DatabaseFactory; -import org.l2jmobius.gameserver.model.World; -import org.l2jmobius.gameserver.model.actor.Player; -import org.l2jmobius.gameserver.util.Util; /** * @author UnAfraid @@ -51,7 +45,6 @@ public class PlayerVariables extends AbstractVariables public static final String VITALITY_ITEMS_USED_VARIABLE_NAME = "VITALITY_ITEMS_USED"; public static final String ATTENDANCE_DATE = "ATTENDANCE_DATE"; public static final String ATTENDANCE_INDEX = "ATTENDANCE_INDEX"; - private static final String DAILY_MISSION_REWARDS = "DAILY_MISSION_REWARDS"; public static final String CEREMONY_OF_CHAOS_SCORE = "CEREMONY_OF_CHAOS_SCORE"; public static final String CEREMONY_OF_CHAOS_MARKS = "CEREMONY_OF_CHAOS_MARKS"; public static final String ABILITY_POINTS_MAIN_CLASS = "ABILITY_POINTS"; @@ -92,7 +85,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + _objectId, e); return false; } finally @@ -135,7 +128,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + _objectId, e); return false; } finally @@ -162,85 +155,9 @@ public class PlayerVariables extends AbstractVariables } catch (Exception e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + _objectId, e); return false; } return true; } - - public Player getPlayer() - { - return World.getInstance().getPlayer(_objectId); - } - - public void addDailyMissionReward(int rewardId) - { - String result = getString(DAILY_MISSION_REWARDS, ""); - if (result.isEmpty()) - { - result = Integer.toString(rewardId); - } - else - { - result += "," + rewardId; - } - set(DAILY_MISSION_REWARDS, result); - } - - public void removeDailyMissionReward(int rewardId) - { - String result = ""; - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - continue; - } - if (result.isEmpty()) - { - result = s; - } - else - { - result += "," + s; - } - } - set(DAILY_MISSION_REWARDS, result); - } - - public boolean hasDailyMissionReward(int rewardId) - { - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - return true; - } - } - return false; - } - - public List getDailyMissionRewards() - { - List rewards = null; - final String data = getString(DAILY_MISSION_REWARDS, ""); - if (!data.isEmpty()) - { - for (String s : getString(DAILY_MISSION_REWARDS, "").split(",")) - { - if (Util.isDigit(s)) - { - final int rewardId = Integer.parseInt(s); - if (rewards == null) - { - rewards = new ArrayList<>(); - } - rewards.add(rewardId); - } - } - } - return rewards != null ? rewards : Collections.emptyList(); - } } diff --git a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index cd567ce66a..15c43566c4 100644 --- a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -249,12 +249,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setWorldChatUsed(0); player.sendPacket(new ExWorldChatCnt(player)); player.getVariables().storeMe(); - }); + } LOGGER.info("Daily world chat points has been resetted."); } @@ -280,13 +280,13 @@ public class DailyTaskManager LOGGER.log(Level.SEVERE, "Could not reset Recommendations System: ", e); } - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setRecomLeft(0); player.setRecomHave(player.getRecomHave() - 20); player.sendPacket(new ExVoteSystemInfo(player)); player.broadcastUserInfo(); - }); + } } private void resetTrainingCamp() @@ -306,11 +306,11 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.resetTraingCampDuration(); player.getAccountVariables().storeMe(); - }); + } LOGGER.info("Training Camp daily time has been resetted."); } diff --git a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java index 9a841997c4..c04065342b 100644 --- a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java +++ b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java @@ -20,17 +20,11 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; import java.util.Map.Entry; import java.util.logging.Level; import java.util.logging.Logger; import org.l2jmobius.commons.database.DatabaseFactory; -import org.l2jmobius.gameserver.model.World; -import org.l2jmobius.gameserver.model.actor.Player; -import org.l2jmobius.gameserver.util.Util; /** * @author UnAfraid @@ -51,7 +45,6 @@ public class PlayerVariables extends AbstractVariables public static final String VITALITY_ITEMS_USED_VARIABLE_NAME = "VITALITY_ITEMS_USED"; public static final String ATTENDANCE_DATE = "ATTENDANCE_DATE"; public static final String ATTENDANCE_INDEX = "ATTENDANCE_INDEX"; - private static final String DAILY_MISSION_REWARDS = "DAILY_MISSION_REWARDS"; public static final String CEREMONY_OF_CHAOS_SCORE = "CEREMONY_OF_CHAOS_SCORE"; public static final String CEREMONY_OF_CHAOS_MARKS = "CEREMONY_OF_CHAOS_MARKS"; public static final String ABILITY_POINTS_MAIN_CLASS = "ABILITY_POINTS"; @@ -92,7 +85,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + _objectId, e); return false; } finally @@ -135,7 +128,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + _objectId, e); return false; } finally @@ -162,85 +155,9 @@ public class PlayerVariables extends AbstractVariables } catch (Exception e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + _objectId, e); return false; } return true; } - - public Player getPlayer() - { - return World.getInstance().getPlayer(_objectId); - } - - public void addDailyMissionReward(int rewardId) - { - String result = getString(DAILY_MISSION_REWARDS, ""); - if (result.isEmpty()) - { - result = Integer.toString(rewardId); - } - else - { - result += "," + rewardId; - } - set(DAILY_MISSION_REWARDS, result); - } - - public void removeDailyMissionReward(int rewardId) - { - String result = ""; - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - continue; - } - if (result.isEmpty()) - { - result = s; - } - else - { - result += "," + s; - } - } - set(DAILY_MISSION_REWARDS, result); - } - - public boolean hasDailyMissionReward(int rewardId) - { - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - return true; - } - } - return false; - } - - public List getDailyMissionRewards() - { - List rewards = null; - final String data = getString(DAILY_MISSION_REWARDS, ""); - if (!data.isEmpty()) - { - for (String s : getString(DAILY_MISSION_REWARDS, "").split(",")) - { - if (Util.isDigit(s)) - { - final int rewardId = Integer.parseInt(s); - if (rewards == null) - { - rewards = new ArrayList<>(); - } - rewards.add(rewardId); - } - } - } - return rewards != null ? rewards : Collections.emptyList(); - } } diff --git a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index cd567ce66a..15c43566c4 100644 --- a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -249,12 +249,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setWorldChatUsed(0); player.sendPacket(new ExWorldChatCnt(player)); player.getVariables().storeMe(); - }); + } LOGGER.info("Daily world chat points has been resetted."); } @@ -280,13 +280,13 @@ public class DailyTaskManager LOGGER.log(Level.SEVERE, "Could not reset Recommendations System: ", e); } - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setRecomLeft(0); player.setRecomHave(player.getRecomHave() - 20); player.sendPacket(new ExVoteSystemInfo(player)); player.broadcastUserInfo(); - }); + } } private void resetTrainingCamp() @@ -306,11 +306,11 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.resetTraingCampDuration(); player.getAccountVariables().storeMe(); - }); + } LOGGER.info("Training Camp daily time has been resetted."); } diff --git a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java index 9a841997c4..7673b00b69 100644 --- a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java +++ b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java @@ -20,17 +20,11 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; import java.util.Map.Entry; import java.util.logging.Level; import java.util.logging.Logger; import org.l2jmobius.commons.database.DatabaseFactory; -import org.l2jmobius.gameserver.model.World; -import org.l2jmobius.gameserver.model.actor.Player; -import org.l2jmobius.gameserver.util.Util; /** * @author UnAfraid @@ -51,7 +45,6 @@ public class PlayerVariables extends AbstractVariables public static final String VITALITY_ITEMS_USED_VARIABLE_NAME = "VITALITY_ITEMS_USED"; public static final String ATTENDANCE_DATE = "ATTENDANCE_DATE"; public static final String ATTENDANCE_INDEX = "ATTENDANCE_INDEX"; - private static final String DAILY_MISSION_REWARDS = "DAILY_MISSION_REWARDS"; public static final String CEREMONY_OF_CHAOS_SCORE = "CEREMONY_OF_CHAOS_SCORE"; public static final String CEREMONY_OF_CHAOS_MARKS = "CEREMONY_OF_CHAOS_MARKS"; public static final String ABILITY_POINTS_MAIN_CLASS = "ABILITY_POINTS"; @@ -92,7 +85,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + _objectId, e); return false; } finally @@ -135,7 +128,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + _objectId, e); return false; } finally @@ -162,85 +155,10 @@ public class PlayerVariables extends AbstractVariables } catch (Exception e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + _objectId, e); return false; } return true; } - public Player getPlayer() - { - return World.getInstance().getPlayer(_objectId); - } - - public void addDailyMissionReward(int rewardId) - { - String result = getString(DAILY_MISSION_REWARDS, ""); - if (result.isEmpty()) - { - result = Integer.toString(rewardId); - } - else - { - result += "," + rewardId; - } - set(DAILY_MISSION_REWARDS, result); - } - - public void removeDailyMissionReward(int rewardId) - { - String result = ""; - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - continue; - } - if (result.isEmpty()) - { - result = s; - } - else - { - result += "," + s; - } - } - set(DAILY_MISSION_REWARDS, result); - } - - public boolean hasDailyMissionReward(int rewardId) - { - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - return true; - } - } - return false; - } - - public List getDailyMissionRewards() - { - List rewards = null; - final String data = getString(DAILY_MISSION_REWARDS, ""); - if (!data.isEmpty()) - { - for (String s : getString(DAILY_MISSION_REWARDS, "").split(",")) - { - if (Util.isDigit(s)) - { - final int rewardId = Integer.parseInt(s); - if (rewards == null) - { - rewards = new ArrayList<>(); - } - rewards.add(rewardId); - } - } - } - return rewards != null ? rewards : Collections.emptyList(); - } } diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/handler/AbstractDailyMissionHandler.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/handler/AbstractDailyMissionHandler.java index 52dcccf69e..6b65e66102 100644 --- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/handler/AbstractDailyMissionHandler.java +++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/handler/AbstractDailyMissionHandler.java @@ -34,9 +34,10 @@ import org.l2jmobius.gameserver.model.DailyMissionPlayerEntry; import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.events.ListenersContainer; import org.l2jmobius.gameserver.model.holders.ItemHolder; +import org.l2jmobius.gameserver.model.variables.PlayerVariables; /** - * @author Sdw + * @author Sdw, NasSeKa */ public abstract class AbstractDailyMissionHandler extends ListenersContainer { @@ -77,7 +78,7 @@ public abstract class AbstractDailyMissionHandler extends ListenersContainer return entry != null ? entry.getProgress() : 0; } - public boolean getRecentlyCompleted(Player player) + public boolean isRecentlyCompleted(Player player) { final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), false); return (entry != null) && entry.getRecentlyCompleted(); @@ -114,7 +115,17 @@ public abstract class AbstractDailyMissionHandler extends ListenersContainer giveRewards(player); final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); - entry.setStatus(DailyMissionStatus.COMPLETED); + if (!_holder.isOneTime()) + { + int doneDailyMissions = player.getVariables().getInt(PlayerVariables.DAILY_MISSION_COUNT, 0); + player.getVariables().set(PlayerVariables.DAILY_MISSION_COUNT, doneDailyMissions + 1); + entry.setStatus(DailyMissionStatus.NOT_AVAILABLE); + entry.setProgress(0); + } + else + { + entry.setStatus(DailyMissionStatus.COMPLETED); + } entry.setLastCompleted(Chronos.currentTimeMillis()); entry.setRecentlyCompleted(true); storePlayerEntry(entry); diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index 3e43c1a332..9eddb2badd 100644 --- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -27,8 +27,6 @@ import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.commons.util.Chronos; import org.l2jmobius.gameserver.data.sql.ClanTable; -import org.l2jmobius.gameserver.data.xml.DailyMissionData; -import org.l2jmobius.gameserver.model.DailyMissionDataHolder; import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.stat.PlayerStat; @@ -80,6 +78,7 @@ public class DailyTaskManager clanLeaderApply(); resetVitalityWeekly(); resetClanContribution(); + resetDailyMissionRewards(); } else { @@ -90,7 +89,6 @@ public class DailyTaskManager resetWorldChatPoints(); resetRecommends(); resetTrainingCamp(); - resetDailyMissionRewards(); resetAttendanceRewards(); } @@ -243,12 +241,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setWorldChatUsed(0); player.sendPacket(new ExWorldChatCnt(player)); player.getVariables().storeMe(); - }); + } LOGGER.info("Daily world chat points has been resetted."); } @@ -274,13 +272,13 @@ public class DailyTaskManager LOGGER.log(Level.SEVERE, "Could not reset Recommendations System: ", e); } - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setRecomLeft(0); player.setRecomHave(player.getRecomHave() - 20); player.sendPacket(new ExVoteSystemInfo(player)); player.broadcastUserInfo(); - }); + } } private void resetTrainingCamp() @@ -300,11 +298,11 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.resetTraingCampDuration(); player.getAccountVariables().storeMe(); - }); + } LOGGER.info("Training Camp daily time has been resetted."); } @@ -312,7 +310,26 @@ public class DailyTaskManager private void resetDailyMissionRewards() { - DailyMissionData.getInstance().getDailyMissionData().forEach(DailyMissionDataHolder::reset); + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection(); + PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var=?")) + { + ps.setString(1, PlayerVariables.DAILY_MISSION_COUNT); + ps.executeUpdate(); + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, "Could not reset Clan Mission Rewards: ", e); + } + + // Update data for online players. + for (Player player : World.getInstance().getPlayers()) + { + player.getVariables().remove(PlayerVariables.DAILY_MISSION_COUNT); + player.getVariables().storeMe(); + } + + LOGGER.info("Clan Mission Rewards has been resetted."); } private void resetClanContribution() diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/DailyMissionDataHolder.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/DailyMissionDataHolder.java index d2fb31bde7..6c55c9d65a 100644 --- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/DailyMissionDataHolder.java +++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/DailyMissionDataHolder.java @@ -136,7 +136,7 @@ public class DailyMissionDataHolder } // Show only if its repeatable, recently completed or incompleted that has met the checks above. - return (!_isOneTime || getRecentlyCompleted(player) || (status != DailyMissionStatus.COMPLETED.getClientId())); + return (!_isOneTime || isRecentlyCompleted(player) || (status != DailyMissionStatus.COMPLETED.getClientId())); } public void requestReward(Player player) @@ -157,9 +157,9 @@ public class DailyMissionDataHolder return _handler != null ? _handler.getProgress(player) : DailyMissionStatus.NOT_AVAILABLE.getClientId(); } - public boolean getRecentlyCompleted(Player player) + public boolean isRecentlyCompleted(Player player) { - return (_handler != null) && _handler.getRecentlyCompleted(player); + return (_handler != null) && _handler.isRecentlyCompleted(player); } public boolean isLevelUpMission() diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java index 2caa6564ad..5c5b0ee866 100644 --- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java +++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java @@ -20,17 +20,11 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; import java.util.Map.Entry; import java.util.logging.Level; import java.util.logging.Logger; import org.l2jmobius.commons.database.DatabaseFactory; -import org.l2jmobius.gameserver.model.World; -import org.l2jmobius.gameserver.model.actor.Player; -import org.l2jmobius.gameserver.util.Util; /** * @author UnAfraid @@ -51,7 +45,7 @@ public class PlayerVariables extends AbstractVariables public static final String VITALITY_ITEMS_USED_VARIABLE_NAME = "VITALITY_ITEMS_USED"; public static final String ATTENDANCE_DATE = "ATTENDANCE_DATE"; public static final String ATTENDANCE_INDEX = "ATTENDANCE_INDEX"; - private static final String DAILY_MISSION_REWARDS = "DAILY_MISSION_REWARDS"; + public static final String DAILY_MISSION_COUNT = "DAILY_MISSION_COUNT"; public static final String CEREMONY_OF_CHAOS_SCORE = "CEREMONY_OF_CHAOS_SCORE"; public static final String CEREMONY_OF_CHAOS_MARKS = "CEREMONY_OF_CHAOS_MARKS"; public static final String ABILITY_POINTS_MAIN_CLASS = "ABILITY_POINTS"; @@ -95,7 +89,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + _objectId, e); return false; } finally @@ -138,7 +132,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + _objectId, e); return false; } finally @@ -165,85 +159,9 @@ public class PlayerVariables extends AbstractVariables } catch (Exception e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + _objectId, e); return false; } return true; } - - public Player getPlayer() - { - return World.getInstance().getPlayer(_objectId); - } - - public void addDailyMissionReward(int rewardId) - { - String result = getString(DAILY_MISSION_REWARDS, ""); - if (result.isEmpty()) - { - result = Integer.toString(rewardId); - } - else - { - result += "," + rewardId; - } - set(DAILY_MISSION_REWARDS, result); - } - - public void removeDailyMissionReward(int rewardId) - { - String result = ""; - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - continue; - } - if (result.isEmpty()) - { - result = s; - } - else - { - result += "," + s; - } - } - set(DAILY_MISSION_REWARDS, result); - } - - public boolean hasDailyMissionReward(int rewardId) - { - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - return true; - } - } - return false; - } - - public List getDailyMissionRewards() - { - List rewards = null; - final String data = getString(DAILY_MISSION_REWARDS, ""); - if (!data.isEmpty()) - { - for (String s : getString(DAILY_MISSION_REWARDS, "").split(",")) - { - if (Util.isDigit(s)) - { - final int rewardId = Integer.parseInt(s); - if (rewards == null) - { - rewards = new ArrayList<>(); - } - rewards.add(rewardId); - } - } - } - return rewards != null ? rewards : Collections.emptyList(); - } } diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionInfo.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionInfo.java index 11411ff955..d31a014aea 100644 --- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionInfo.java +++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionInfo.java @@ -65,7 +65,7 @@ public class ExPledgeMissionInfo implements IClientOutgoingPacket } else { - status = reward.getRecentlyCompleted(_player) ? 0 : 3; + status = reward.isRecentlyCompleted(_player) ? 0 : 3; } } else if (status == 1) diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionRewardCount.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionRewardCount.java index 60c81ba88f..ce1d6327e7 100644 --- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionRewardCount.java +++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionRewardCount.java @@ -17,13 +17,13 @@ package org.l2jmobius.gameserver.network.serverpackets.pledgeV2; import org.l2jmobius.commons.network.PacketWriter; -import org.l2jmobius.gameserver.data.xml.DailyMissionData; import org.l2jmobius.gameserver.model.actor.Player; +import org.l2jmobius.gameserver.model.variables.PlayerVariables; import org.l2jmobius.gameserver.network.OutgoingPackets; import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket; /** - * @author Bonux (bonuxq@gmail.com) + * @author Bonux (bonuxq@gmail.com), NasSeKa * @date 29.09.2019 **/ public class ExPledgeMissionRewardCount implements IClientOutgoingPacket @@ -33,8 +33,8 @@ public class ExPledgeMissionRewardCount implements IClientOutgoingPacket public ExPledgeMissionRewardCount(Player player) { - _doneMissionsCount = (int) DailyMissionData.getInstance().getDailyMissionData(player).stream().filter(d -> d.getRecentlyCompleted(player)).count(); - _availableMissionsCount = (int) DailyMissionData.getInstance().getDailyMissionData(player).stream().filter(d -> d.getStatus(player) == 1).count(); + _doneMissionsCount = player.getVariables().getInt(PlayerVariables.DAILY_MISSION_COUNT, 0); + _availableMissionsCount = player.getNobleLevel() == 1 ? 18 : player.getNobleLevel() >= 2 ? 20 : 16; } @Override diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/handler/AbstractDailyMissionHandler.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/handler/AbstractDailyMissionHandler.java index 52dcccf69e..6b65e66102 100644 --- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/handler/AbstractDailyMissionHandler.java +++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/handler/AbstractDailyMissionHandler.java @@ -34,9 +34,10 @@ import org.l2jmobius.gameserver.model.DailyMissionPlayerEntry; import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.events.ListenersContainer; import org.l2jmobius.gameserver.model.holders.ItemHolder; +import org.l2jmobius.gameserver.model.variables.PlayerVariables; /** - * @author Sdw + * @author Sdw, NasSeKa */ public abstract class AbstractDailyMissionHandler extends ListenersContainer { @@ -77,7 +78,7 @@ public abstract class AbstractDailyMissionHandler extends ListenersContainer return entry != null ? entry.getProgress() : 0; } - public boolean getRecentlyCompleted(Player player) + public boolean isRecentlyCompleted(Player player) { final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), false); return (entry != null) && entry.getRecentlyCompleted(); @@ -114,7 +115,17 @@ public abstract class AbstractDailyMissionHandler extends ListenersContainer giveRewards(player); final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); - entry.setStatus(DailyMissionStatus.COMPLETED); + if (!_holder.isOneTime()) + { + int doneDailyMissions = player.getVariables().getInt(PlayerVariables.DAILY_MISSION_COUNT, 0); + player.getVariables().set(PlayerVariables.DAILY_MISSION_COUNT, doneDailyMissions + 1); + entry.setStatus(DailyMissionStatus.NOT_AVAILABLE); + entry.setProgress(0); + } + else + { + entry.setStatus(DailyMissionStatus.COMPLETED); + } entry.setLastCompleted(Chronos.currentTimeMillis()); entry.setRecentlyCompleted(true); storePlayerEntry(entry); diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index 3e43c1a332..9eddb2badd 100644 --- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -27,8 +27,6 @@ import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.commons.util.Chronos; import org.l2jmobius.gameserver.data.sql.ClanTable; -import org.l2jmobius.gameserver.data.xml.DailyMissionData; -import org.l2jmobius.gameserver.model.DailyMissionDataHolder; import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.stat.PlayerStat; @@ -80,6 +78,7 @@ public class DailyTaskManager clanLeaderApply(); resetVitalityWeekly(); resetClanContribution(); + resetDailyMissionRewards(); } else { @@ -90,7 +89,6 @@ public class DailyTaskManager resetWorldChatPoints(); resetRecommends(); resetTrainingCamp(); - resetDailyMissionRewards(); resetAttendanceRewards(); } @@ -243,12 +241,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setWorldChatUsed(0); player.sendPacket(new ExWorldChatCnt(player)); player.getVariables().storeMe(); - }); + } LOGGER.info("Daily world chat points has been resetted."); } @@ -274,13 +272,13 @@ public class DailyTaskManager LOGGER.log(Level.SEVERE, "Could not reset Recommendations System: ", e); } - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setRecomLeft(0); player.setRecomHave(player.getRecomHave() - 20); player.sendPacket(new ExVoteSystemInfo(player)); player.broadcastUserInfo(); - }); + } } private void resetTrainingCamp() @@ -300,11 +298,11 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.resetTraingCampDuration(); player.getAccountVariables().storeMe(); - }); + } LOGGER.info("Training Camp daily time has been resetted."); } @@ -312,7 +310,26 @@ public class DailyTaskManager private void resetDailyMissionRewards() { - DailyMissionData.getInstance().getDailyMissionData().forEach(DailyMissionDataHolder::reset); + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection(); + PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var=?")) + { + ps.setString(1, PlayerVariables.DAILY_MISSION_COUNT); + ps.executeUpdate(); + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, "Could not reset Clan Mission Rewards: ", e); + } + + // Update data for online players. + for (Player player : World.getInstance().getPlayers()) + { + player.getVariables().remove(PlayerVariables.DAILY_MISSION_COUNT); + player.getVariables().storeMe(); + } + + LOGGER.info("Clan Mission Rewards has been resetted."); } private void resetClanContribution() diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/DailyMissionDataHolder.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/DailyMissionDataHolder.java index d2fb31bde7..6c55c9d65a 100644 --- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/DailyMissionDataHolder.java +++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/DailyMissionDataHolder.java @@ -136,7 +136,7 @@ public class DailyMissionDataHolder } // Show only if its repeatable, recently completed or incompleted that has met the checks above. - return (!_isOneTime || getRecentlyCompleted(player) || (status != DailyMissionStatus.COMPLETED.getClientId())); + return (!_isOneTime || isRecentlyCompleted(player) || (status != DailyMissionStatus.COMPLETED.getClientId())); } public void requestReward(Player player) @@ -157,9 +157,9 @@ public class DailyMissionDataHolder return _handler != null ? _handler.getProgress(player) : DailyMissionStatus.NOT_AVAILABLE.getClientId(); } - public boolean getRecentlyCompleted(Player player) + public boolean isRecentlyCompleted(Player player) { - return (_handler != null) && _handler.getRecentlyCompleted(player); + return (_handler != null) && _handler.isRecentlyCompleted(player); } public boolean isLevelUpMission() diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java index 2caa6564ad..5c5b0ee866 100644 --- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java +++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java @@ -20,17 +20,11 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; import java.util.Map.Entry; import java.util.logging.Level; import java.util.logging.Logger; import org.l2jmobius.commons.database.DatabaseFactory; -import org.l2jmobius.gameserver.model.World; -import org.l2jmobius.gameserver.model.actor.Player; -import org.l2jmobius.gameserver.util.Util; /** * @author UnAfraid @@ -51,7 +45,7 @@ public class PlayerVariables extends AbstractVariables public static final String VITALITY_ITEMS_USED_VARIABLE_NAME = "VITALITY_ITEMS_USED"; public static final String ATTENDANCE_DATE = "ATTENDANCE_DATE"; public static final String ATTENDANCE_INDEX = "ATTENDANCE_INDEX"; - private static final String DAILY_MISSION_REWARDS = "DAILY_MISSION_REWARDS"; + public static final String DAILY_MISSION_COUNT = "DAILY_MISSION_COUNT"; public static final String CEREMONY_OF_CHAOS_SCORE = "CEREMONY_OF_CHAOS_SCORE"; public static final String CEREMONY_OF_CHAOS_MARKS = "CEREMONY_OF_CHAOS_MARKS"; public static final String ABILITY_POINTS_MAIN_CLASS = "ABILITY_POINTS"; @@ -95,7 +89,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + _objectId, e); return false; } finally @@ -138,7 +132,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + _objectId, e); return false; } finally @@ -165,85 +159,9 @@ public class PlayerVariables extends AbstractVariables } catch (Exception e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + _objectId, e); return false; } return true; } - - public Player getPlayer() - { - return World.getInstance().getPlayer(_objectId); - } - - public void addDailyMissionReward(int rewardId) - { - String result = getString(DAILY_MISSION_REWARDS, ""); - if (result.isEmpty()) - { - result = Integer.toString(rewardId); - } - else - { - result += "," + rewardId; - } - set(DAILY_MISSION_REWARDS, result); - } - - public void removeDailyMissionReward(int rewardId) - { - String result = ""; - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - continue; - } - if (result.isEmpty()) - { - result = s; - } - else - { - result += "," + s; - } - } - set(DAILY_MISSION_REWARDS, result); - } - - public boolean hasDailyMissionReward(int rewardId) - { - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - return true; - } - } - return false; - } - - public List getDailyMissionRewards() - { - List rewards = null; - final String data = getString(DAILY_MISSION_REWARDS, ""); - if (!data.isEmpty()) - { - for (String s : getString(DAILY_MISSION_REWARDS, "").split(",")) - { - if (Util.isDigit(s)) - { - final int rewardId = Integer.parseInt(s); - if (rewards == null) - { - rewards = new ArrayList<>(); - } - rewards.add(rewardId); - } - } - } - return rewards != null ? rewards : Collections.emptyList(); - } } diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionInfo.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionInfo.java index 11411ff955..d31a014aea 100644 --- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionInfo.java +++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionInfo.java @@ -65,7 +65,7 @@ public class ExPledgeMissionInfo implements IClientOutgoingPacket } else { - status = reward.getRecentlyCompleted(_player) ? 0 : 3; + status = reward.isRecentlyCompleted(_player) ? 0 : 3; } } else if (status == 1) diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionRewardCount.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionRewardCount.java index 60c81ba88f..ce1d6327e7 100644 --- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionRewardCount.java +++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionRewardCount.java @@ -17,13 +17,13 @@ package org.l2jmobius.gameserver.network.serverpackets.pledgeV2; import org.l2jmobius.commons.network.PacketWriter; -import org.l2jmobius.gameserver.data.xml.DailyMissionData; import org.l2jmobius.gameserver.model.actor.Player; +import org.l2jmobius.gameserver.model.variables.PlayerVariables; import org.l2jmobius.gameserver.network.OutgoingPackets; import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket; /** - * @author Bonux (bonuxq@gmail.com) + * @author Bonux (bonuxq@gmail.com), NasSeKa * @date 29.09.2019 **/ public class ExPledgeMissionRewardCount implements IClientOutgoingPacket @@ -33,8 +33,8 @@ public class ExPledgeMissionRewardCount implements IClientOutgoingPacket public ExPledgeMissionRewardCount(Player player) { - _doneMissionsCount = (int) DailyMissionData.getInstance().getDailyMissionData(player).stream().filter(d -> d.getRecentlyCompleted(player)).count(); - _availableMissionsCount = (int) DailyMissionData.getInstance().getDailyMissionData(player).stream().filter(d -> d.getStatus(player) == 1).count(); + _doneMissionsCount = player.getVariables().getInt(PlayerVariables.DAILY_MISSION_COUNT, 0); + _availableMissionsCount = player.getNobleLevel() == 1 ? 18 : player.getNobleLevel() >= 2 ? 20 : 16; } @Override diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/handler/AbstractDailyMissionHandler.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/handler/AbstractDailyMissionHandler.java index 52dcccf69e..6b65e66102 100644 --- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/handler/AbstractDailyMissionHandler.java +++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/handler/AbstractDailyMissionHandler.java @@ -34,9 +34,10 @@ import org.l2jmobius.gameserver.model.DailyMissionPlayerEntry; import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.events.ListenersContainer; import org.l2jmobius.gameserver.model.holders.ItemHolder; +import org.l2jmobius.gameserver.model.variables.PlayerVariables; /** - * @author Sdw + * @author Sdw, NasSeKa */ public abstract class AbstractDailyMissionHandler extends ListenersContainer { @@ -77,7 +78,7 @@ public abstract class AbstractDailyMissionHandler extends ListenersContainer return entry != null ? entry.getProgress() : 0; } - public boolean getRecentlyCompleted(Player player) + public boolean isRecentlyCompleted(Player player) { final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), false); return (entry != null) && entry.getRecentlyCompleted(); @@ -114,7 +115,17 @@ public abstract class AbstractDailyMissionHandler extends ListenersContainer giveRewards(player); final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); - entry.setStatus(DailyMissionStatus.COMPLETED); + if (!_holder.isOneTime()) + { + int doneDailyMissions = player.getVariables().getInt(PlayerVariables.DAILY_MISSION_COUNT, 0); + player.getVariables().set(PlayerVariables.DAILY_MISSION_COUNT, doneDailyMissions + 1); + entry.setStatus(DailyMissionStatus.NOT_AVAILABLE); + entry.setProgress(0); + } + else + { + entry.setStatus(DailyMissionStatus.COMPLETED); + } entry.setLastCompleted(Chronos.currentTimeMillis()); entry.setRecentlyCompleted(true); storePlayerEntry(entry); diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index 3e43c1a332..9eddb2badd 100644 --- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -27,8 +27,6 @@ import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.commons.util.Chronos; import org.l2jmobius.gameserver.data.sql.ClanTable; -import org.l2jmobius.gameserver.data.xml.DailyMissionData; -import org.l2jmobius.gameserver.model.DailyMissionDataHolder; import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.stat.PlayerStat; @@ -80,6 +78,7 @@ public class DailyTaskManager clanLeaderApply(); resetVitalityWeekly(); resetClanContribution(); + resetDailyMissionRewards(); } else { @@ -90,7 +89,6 @@ public class DailyTaskManager resetWorldChatPoints(); resetRecommends(); resetTrainingCamp(); - resetDailyMissionRewards(); resetAttendanceRewards(); } @@ -243,12 +241,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setWorldChatUsed(0); player.sendPacket(new ExWorldChatCnt(player)); player.getVariables().storeMe(); - }); + } LOGGER.info("Daily world chat points has been resetted."); } @@ -274,13 +272,13 @@ public class DailyTaskManager LOGGER.log(Level.SEVERE, "Could not reset Recommendations System: ", e); } - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setRecomLeft(0); player.setRecomHave(player.getRecomHave() - 20); player.sendPacket(new ExVoteSystemInfo(player)); player.broadcastUserInfo(); - }); + } } private void resetTrainingCamp() @@ -300,11 +298,11 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.resetTraingCampDuration(); player.getAccountVariables().storeMe(); - }); + } LOGGER.info("Training Camp daily time has been resetted."); } @@ -312,7 +310,26 @@ public class DailyTaskManager private void resetDailyMissionRewards() { - DailyMissionData.getInstance().getDailyMissionData().forEach(DailyMissionDataHolder::reset); + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection(); + PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var=?")) + { + ps.setString(1, PlayerVariables.DAILY_MISSION_COUNT); + ps.executeUpdate(); + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, "Could not reset Clan Mission Rewards: ", e); + } + + // Update data for online players. + for (Player player : World.getInstance().getPlayers()) + { + player.getVariables().remove(PlayerVariables.DAILY_MISSION_COUNT); + player.getVariables().storeMe(); + } + + LOGGER.info("Clan Mission Rewards has been resetted."); } private void resetClanContribution() diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/DailyMissionDataHolder.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/DailyMissionDataHolder.java index d2fb31bde7..6c55c9d65a 100644 --- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/DailyMissionDataHolder.java +++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/DailyMissionDataHolder.java @@ -136,7 +136,7 @@ public class DailyMissionDataHolder } // Show only if its repeatable, recently completed or incompleted that has met the checks above. - return (!_isOneTime || getRecentlyCompleted(player) || (status != DailyMissionStatus.COMPLETED.getClientId())); + return (!_isOneTime || isRecentlyCompleted(player) || (status != DailyMissionStatus.COMPLETED.getClientId())); } public void requestReward(Player player) @@ -157,9 +157,9 @@ public class DailyMissionDataHolder return _handler != null ? _handler.getProgress(player) : DailyMissionStatus.NOT_AVAILABLE.getClientId(); } - public boolean getRecentlyCompleted(Player player) + public boolean isRecentlyCompleted(Player player) { - return (_handler != null) && _handler.getRecentlyCompleted(player); + return (_handler != null) && _handler.isRecentlyCompleted(player); } public boolean isLevelUpMission() diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java index 2caa6564ad..5c5b0ee866 100644 --- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java +++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java @@ -20,17 +20,11 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; import java.util.Map.Entry; import java.util.logging.Level; import java.util.logging.Logger; import org.l2jmobius.commons.database.DatabaseFactory; -import org.l2jmobius.gameserver.model.World; -import org.l2jmobius.gameserver.model.actor.Player; -import org.l2jmobius.gameserver.util.Util; /** * @author UnAfraid @@ -51,7 +45,7 @@ public class PlayerVariables extends AbstractVariables public static final String VITALITY_ITEMS_USED_VARIABLE_NAME = "VITALITY_ITEMS_USED"; public static final String ATTENDANCE_DATE = "ATTENDANCE_DATE"; public static final String ATTENDANCE_INDEX = "ATTENDANCE_INDEX"; - private static final String DAILY_MISSION_REWARDS = "DAILY_MISSION_REWARDS"; + public static final String DAILY_MISSION_COUNT = "DAILY_MISSION_COUNT"; public static final String CEREMONY_OF_CHAOS_SCORE = "CEREMONY_OF_CHAOS_SCORE"; public static final String CEREMONY_OF_CHAOS_MARKS = "CEREMONY_OF_CHAOS_MARKS"; public static final String ABILITY_POINTS_MAIN_CLASS = "ABILITY_POINTS"; @@ -95,7 +89,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + _objectId, e); return false; } finally @@ -138,7 +132,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + _objectId, e); return false; } finally @@ -165,85 +159,9 @@ public class PlayerVariables extends AbstractVariables } catch (Exception e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + _objectId, e); return false; } return true; } - - public Player getPlayer() - { - return World.getInstance().getPlayer(_objectId); - } - - public void addDailyMissionReward(int rewardId) - { - String result = getString(DAILY_MISSION_REWARDS, ""); - if (result.isEmpty()) - { - result = Integer.toString(rewardId); - } - else - { - result += "," + rewardId; - } - set(DAILY_MISSION_REWARDS, result); - } - - public void removeDailyMissionReward(int rewardId) - { - String result = ""; - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - continue; - } - if (result.isEmpty()) - { - result = s; - } - else - { - result += "," + s; - } - } - set(DAILY_MISSION_REWARDS, result); - } - - public boolean hasDailyMissionReward(int rewardId) - { - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - return true; - } - } - return false; - } - - public List getDailyMissionRewards() - { - List rewards = null; - final String data = getString(DAILY_MISSION_REWARDS, ""); - if (!data.isEmpty()) - { - for (String s : getString(DAILY_MISSION_REWARDS, "").split(",")) - { - if (Util.isDigit(s)) - { - final int rewardId = Integer.parseInt(s); - if (rewards == null) - { - rewards = new ArrayList<>(); - } - rewards.add(rewardId); - } - } - } - return rewards != null ? rewards : Collections.emptyList(); - } } diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionInfo.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionInfo.java index 11411ff955..d31a014aea 100644 --- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionInfo.java +++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionInfo.java @@ -65,7 +65,7 @@ public class ExPledgeMissionInfo implements IClientOutgoingPacket } else { - status = reward.getRecentlyCompleted(_player) ? 0 : 3; + status = reward.isRecentlyCompleted(_player) ? 0 : 3; } } else if (status == 1) diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionRewardCount.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionRewardCount.java index 60c81ba88f..ce1d6327e7 100644 --- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionRewardCount.java +++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionRewardCount.java @@ -17,13 +17,13 @@ package org.l2jmobius.gameserver.network.serverpackets.pledgeV2; import org.l2jmobius.commons.network.PacketWriter; -import org.l2jmobius.gameserver.data.xml.DailyMissionData; import org.l2jmobius.gameserver.model.actor.Player; +import org.l2jmobius.gameserver.model.variables.PlayerVariables; import org.l2jmobius.gameserver.network.OutgoingPackets; import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket; /** - * @author Bonux (bonuxq@gmail.com) + * @author Bonux (bonuxq@gmail.com), NasSeKa * @date 29.09.2019 **/ public class ExPledgeMissionRewardCount implements IClientOutgoingPacket @@ -33,8 +33,8 @@ public class ExPledgeMissionRewardCount implements IClientOutgoingPacket public ExPledgeMissionRewardCount(Player player) { - _doneMissionsCount = (int) DailyMissionData.getInstance().getDailyMissionData(player).stream().filter(d -> d.getRecentlyCompleted(player)).count(); - _availableMissionsCount = (int) DailyMissionData.getInstance().getDailyMissionData(player).stream().filter(d -> d.getStatus(player) == 1).count(); + _doneMissionsCount = player.getVariables().getInt(PlayerVariables.DAILY_MISSION_COUNT, 0); + _availableMissionsCount = player.getNobleLevel() == 1 ? 18 : player.getNobleLevel() >= 2 ? 20 : 16; } @Override diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/handler/AbstractDailyMissionHandler.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/handler/AbstractDailyMissionHandler.java index 52dcccf69e..6b65e66102 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/handler/AbstractDailyMissionHandler.java +++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/handler/AbstractDailyMissionHandler.java @@ -34,9 +34,10 @@ import org.l2jmobius.gameserver.model.DailyMissionPlayerEntry; import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.events.ListenersContainer; import org.l2jmobius.gameserver.model.holders.ItemHolder; +import org.l2jmobius.gameserver.model.variables.PlayerVariables; /** - * @author Sdw + * @author Sdw, NasSeKa */ public abstract class AbstractDailyMissionHandler extends ListenersContainer { @@ -77,7 +78,7 @@ public abstract class AbstractDailyMissionHandler extends ListenersContainer return entry != null ? entry.getProgress() : 0; } - public boolean getRecentlyCompleted(Player player) + public boolean isRecentlyCompleted(Player player) { final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), false); return (entry != null) && entry.getRecentlyCompleted(); @@ -114,7 +115,17 @@ public abstract class AbstractDailyMissionHandler extends ListenersContainer giveRewards(player); final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); - entry.setStatus(DailyMissionStatus.COMPLETED); + if (!_holder.isOneTime()) + { + int doneDailyMissions = player.getVariables().getInt(PlayerVariables.DAILY_MISSION_COUNT, 0); + player.getVariables().set(PlayerVariables.DAILY_MISSION_COUNT, doneDailyMissions + 1); + entry.setStatus(DailyMissionStatus.NOT_AVAILABLE); + entry.setProgress(0); + } + else + { + entry.setStatus(DailyMissionStatus.COMPLETED); + } entry.setLastCompleted(Chronos.currentTimeMillis()); entry.setRecentlyCompleted(true); storePlayerEntry(entry); diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index 627abeceff..9d8189a73f 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -27,9 +27,7 @@ import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.commons.util.Chronos; import org.l2jmobius.gameserver.data.sql.ClanTable; -import org.l2jmobius.gameserver.data.xml.DailyMissionData; import org.l2jmobius.gameserver.data.xml.TimedHuntingZoneData; -import org.l2jmobius.gameserver.model.DailyMissionDataHolder; import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.stat.PlayerStat; @@ -82,6 +80,7 @@ public class DailyTaskManager clanLeaderApply(); resetVitalityWeekly(); resetClanContribution(); + resetDailyMissionRewards(); resetTimedHuntingZonesWeekly(); } else @@ -94,7 +93,6 @@ public class DailyTaskManager resetRecommends(); resetTrainingCamp(); resetTimedHuntingZones(); - resetDailyMissionRewards(); resetAttendanceRewards(); } @@ -247,12 +245,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setWorldChatUsed(0); player.sendPacket(new ExWorldChatCnt(player)); player.getVariables().storeMe(); - }); + } LOGGER.info("Daily world chat points has been resetted."); } @@ -278,13 +276,13 @@ public class DailyTaskManager LOGGER.log(Level.SEVERE, "Could not reset Recommendations System: ", e); } - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setRecomLeft(0); player.setRecomHave(player.getRecomHave() - 20); player.sendPacket(new ExVoteSystemInfo(player)); player.broadcastUserInfo(); - }); + } } private void resetTrainingCamp() @@ -304,11 +302,11 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.resetTraingCampDuration(); player.getAccountVariables().storeMe(); - }); + } LOGGER.info("Training Camp daily time has been resetted."); } @@ -316,7 +314,26 @@ public class DailyTaskManager private void resetDailyMissionRewards() { - DailyMissionData.getInstance().getDailyMissionData().forEach(DailyMissionDataHolder::reset); + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection(); + PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var=?")) + { + ps.setString(1, PlayerVariables.DAILY_MISSION_COUNT); + ps.executeUpdate(); + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, "Could not reset Clan Mission Rewards: ", e); + } + + // Update data for online players. + for (Player player : World.getInstance().getPlayers()) + { + player.getVariables().remove(PlayerVariables.DAILY_MISSION_COUNT); + player.getVariables().storeMe(); + } + + LOGGER.info("Clan Mission Rewards has been resetted."); } private void resetClanContribution() @@ -377,12 +394,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.getVariables().remove(PlayerVariables.HUNTING_ZONE_ENTRY + holder.getZoneId()); player.getVariables().remove(PlayerVariables.HUNTING_ZONE_TIME + holder.getZoneId()); player.getVariables().storeMe(); - }); + } } LOGGER.info("Special Hunting Zones has been resetted."); @@ -411,12 +428,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { 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."); diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/DailyMissionDataHolder.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/DailyMissionDataHolder.java index d2fb31bde7..6c55c9d65a 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/DailyMissionDataHolder.java +++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/DailyMissionDataHolder.java @@ -136,7 +136,7 @@ public class DailyMissionDataHolder } // Show only if its repeatable, recently completed or incompleted that has met the checks above. - return (!_isOneTime || getRecentlyCompleted(player) || (status != DailyMissionStatus.COMPLETED.getClientId())); + return (!_isOneTime || isRecentlyCompleted(player) || (status != DailyMissionStatus.COMPLETED.getClientId())); } public void requestReward(Player player) @@ -157,9 +157,9 @@ public class DailyMissionDataHolder return _handler != null ? _handler.getProgress(player) : DailyMissionStatus.NOT_AVAILABLE.getClientId(); } - public boolean getRecentlyCompleted(Player player) + public boolean isRecentlyCompleted(Player player) { - return (_handler != null) && _handler.getRecentlyCompleted(player); + return (_handler != null) && _handler.isRecentlyCompleted(player); } public boolean isLevelUpMission() diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java index b0a1935327..3cc8346df0 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java +++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java @@ -20,17 +20,11 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; import java.util.Map.Entry; import java.util.logging.Level; import java.util.logging.Logger; import org.l2jmobius.commons.database.DatabaseFactory; -import org.l2jmobius.gameserver.model.World; -import org.l2jmobius.gameserver.model.actor.Player; -import org.l2jmobius.gameserver.util.Util; /** * @author UnAfraid @@ -51,7 +45,7 @@ public class PlayerVariables extends AbstractVariables public static final String VITALITY_ITEMS_USED_VARIABLE_NAME = "VITALITY_ITEMS_USED"; public static final String ATTENDANCE_DATE = "ATTENDANCE_DATE"; public static final String ATTENDANCE_INDEX = "ATTENDANCE_INDEX"; - private static final String DAILY_MISSION_REWARDS = "DAILY_MISSION_REWARDS"; + public static final String DAILY_MISSION_COUNT = "DAILY_MISSION_COUNT"; public static final String CEREMONY_OF_CHAOS_SCORE = "CEREMONY_OF_CHAOS_SCORE"; public static final String CEREMONY_OF_CHAOS_MARKS = "CEREMONY_OF_CHAOS_MARKS"; public static final String ABILITY_POINTS_MAIN_CLASS = "ABILITY_POINTS"; @@ -99,7 +93,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + _objectId, e); return false; } finally @@ -142,7 +136,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + _objectId, e); return false; } finally @@ -169,85 +163,9 @@ public class PlayerVariables extends AbstractVariables } catch (Exception e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + _objectId, e); return false; } return true; } - - public Player getPlayer() - { - return World.getInstance().getPlayer(_objectId); - } - - public void addDailyMissionReward(int rewardId) - { - String result = getString(DAILY_MISSION_REWARDS, ""); - if (result.isEmpty()) - { - result = Integer.toString(rewardId); - } - else - { - result += "," + rewardId; - } - set(DAILY_MISSION_REWARDS, result); - } - - public void removeDailyMissionReward(int rewardId) - { - String result = ""; - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - continue; - } - if (result.isEmpty()) - { - result = s; - } - else - { - result += "," + s; - } - } - set(DAILY_MISSION_REWARDS, result); - } - - public boolean hasDailyMissionReward(int rewardId) - { - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - return true; - } - } - return false; - } - - public List getDailyMissionRewards() - { - List rewards = null; - final String data = getString(DAILY_MISSION_REWARDS, ""); - if (!data.isEmpty()) - { - for (String s : getString(DAILY_MISSION_REWARDS, "").split(",")) - { - if (Util.isDigit(s)) - { - final int rewardId = Integer.parseInt(s); - if (rewards == null) - { - rewards = new ArrayList<>(); - } - rewards.add(rewardId); - } - } - } - return rewards != null ? rewards : Collections.emptyList(); - } } diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionInfo.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionInfo.java index 11411ff955..d31a014aea 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionInfo.java +++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionInfo.java @@ -65,7 +65,7 @@ public class ExPledgeMissionInfo implements IClientOutgoingPacket } else { - status = reward.getRecentlyCompleted(_player) ? 0 : 3; + status = reward.isRecentlyCompleted(_player) ? 0 : 3; } } else if (status == 1) diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionRewardCount.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionRewardCount.java index 60c81ba88f..ce1d6327e7 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionRewardCount.java +++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionRewardCount.java @@ -17,13 +17,13 @@ package org.l2jmobius.gameserver.network.serverpackets.pledgeV2; import org.l2jmobius.commons.network.PacketWriter; -import org.l2jmobius.gameserver.data.xml.DailyMissionData; import org.l2jmobius.gameserver.model.actor.Player; +import org.l2jmobius.gameserver.model.variables.PlayerVariables; import org.l2jmobius.gameserver.network.OutgoingPackets; import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket; /** - * @author Bonux (bonuxq@gmail.com) + * @author Bonux (bonuxq@gmail.com), NasSeKa * @date 29.09.2019 **/ public class ExPledgeMissionRewardCount implements IClientOutgoingPacket @@ -33,8 +33,8 @@ public class ExPledgeMissionRewardCount implements IClientOutgoingPacket public ExPledgeMissionRewardCount(Player player) { - _doneMissionsCount = (int) DailyMissionData.getInstance().getDailyMissionData(player).stream().filter(d -> d.getRecentlyCompleted(player)).count(); - _availableMissionsCount = (int) DailyMissionData.getInstance().getDailyMissionData(player).stream().filter(d -> d.getStatus(player) == 1).count(); + _doneMissionsCount = player.getVariables().getInt(PlayerVariables.DAILY_MISSION_COUNT, 0); + _availableMissionsCount = player.getNobleLevel() == 1 ? 18 : player.getNobleLevel() >= 2 ? 20 : 16; } @Override diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/handler/AbstractDailyMissionHandler.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/handler/AbstractDailyMissionHandler.java index 52dcccf69e..6b65e66102 100644 --- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/handler/AbstractDailyMissionHandler.java +++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/handler/AbstractDailyMissionHandler.java @@ -34,9 +34,10 @@ import org.l2jmobius.gameserver.model.DailyMissionPlayerEntry; import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.events.ListenersContainer; import org.l2jmobius.gameserver.model.holders.ItemHolder; +import org.l2jmobius.gameserver.model.variables.PlayerVariables; /** - * @author Sdw + * @author Sdw, NasSeKa */ public abstract class AbstractDailyMissionHandler extends ListenersContainer { @@ -77,7 +78,7 @@ public abstract class AbstractDailyMissionHandler extends ListenersContainer return entry != null ? entry.getProgress() : 0; } - public boolean getRecentlyCompleted(Player player) + public boolean isRecentlyCompleted(Player player) { final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), false); return (entry != null) && entry.getRecentlyCompleted(); @@ -114,7 +115,17 @@ public abstract class AbstractDailyMissionHandler extends ListenersContainer giveRewards(player); final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); - entry.setStatus(DailyMissionStatus.COMPLETED); + if (!_holder.isOneTime()) + { + int doneDailyMissions = player.getVariables().getInt(PlayerVariables.DAILY_MISSION_COUNT, 0); + player.getVariables().set(PlayerVariables.DAILY_MISSION_COUNT, doneDailyMissions + 1); + entry.setStatus(DailyMissionStatus.NOT_AVAILABLE); + entry.setProgress(0); + } + else + { + entry.setStatus(DailyMissionStatus.COMPLETED); + } entry.setLastCompleted(Chronos.currentTimeMillis()); entry.setRecentlyCompleted(true); storePlayerEntry(entry); diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index 1796e95644..2b85f33e24 100644 --- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -29,9 +29,7 @@ import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.commons.util.Chronos; import org.l2jmobius.gameserver.data.sql.ClanTable; -import org.l2jmobius.gameserver.data.xml.DailyMissionData; import org.l2jmobius.gameserver.data.xml.TimedHuntingZoneData; -import org.l2jmobius.gameserver.model.DailyMissionDataHolder; import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.stat.PlayerStat; @@ -84,6 +82,7 @@ public class DailyTaskManager clanLeaderApply(); resetVitalityWeekly(); resetClanContribution(); + resetDailyMissionRewards(); resetTimedHuntingZonesWeekly(); resetThroneOfHeroes(); } @@ -97,7 +96,6 @@ public class DailyTaskManager resetRecommends(); resetTrainingCamp(); resetTimedHuntingZones(); - resetDailyMissionRewards(); resetHomunculusResetPoints(); resetAttendanceRewards(); } @@ -251,12 +249,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setWorldChatUsed(0); player.sendPacket(new ExWorldChatCnt(player)); player.getVariables().storeMe(); - }); + } LOGGER.info("Daily world chat points has been resetted."); } @@ -282,13 +280,13 @@ public class DailyTaskManager LOGGER.log(Level.SEVERE, "Could not reset Recommendations System: ", e); } - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setRecomLeft(0); player.setRecomHave(player.getRecomHave() - 20); player.sendPacket(new ExVoteSystemInfo(player)); player.broadcastUserInfo(); - }); + } } private void resetTrainingCamp() @@ -308,11 +306,11 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.resetTraingCampDuration(); player.getAccountVariables().storeMe(); - }); + } LOGGER.info("Training Camp daily time has been resetted."); } @@ -320,7 +318,26 @@ public class DailyTaskManager private void resetDailyMissionRewards() { - DailyMissionData.getInstance().getDailyMissionData().forEach(DailyMissionDataHolder::reset); + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection(); + PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var=?")) + { + ps.setString(1, PlayerVariables.DAILY_MISSION_COUNT); + ps.executeUpdate(); + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, "Could not reset Clan Mission Rewards: ", e); + } + + // Update data for online players. + for (Player player : World.getInstance().getPlayers()) + { + player.getVariables().remove(PlayerVariables.DAILY_MISSION_COUNT); + player.getVariables().storeMe(); + } + + LOGGER.info("Clan Mission Rewards has been resetted."); } private void resetClanContribution() @@ -416,12 +433,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.getVariables().remove(PlayerVariables.HUNTING_ZONE_ENTRY + holder.getZoneId()); player.getVariables().remove(PlayerVariables.HUNTING_ZONE_TIME + holder.getZoneId()); player.getVariables().storeMe(); - }); + } } LOGGER.info("Special Hunting Zones has been resetted."); @@ -450,12 +467,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { 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."); diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/DailyMissionDataHolder.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/DailyMissionDataHolder.java index d2fb31bde7..6c55c9d65a 100644 --- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/DailyMissionDataHolder.java +++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/DailyMissionDataHolder.java @@ -136,7 +136,7 @@ public class DailyMissionDataHolder } // Show only if its repeatable, recently completed or incompleted that has met the checks above. - return (!_isOneTime || getRecentlyCompleted(player) || (status != DailyMissionStatus.COMPLETED.getClientId())); + return (!_isOneTime || isRecentlyCompleted(player) || (status != DailyMissionStatus.COMPLETED.getClientId())); } public void requestReward(Player player) @@ -157,9 +157,9 @@ public class DailyMissionDataHolder return _handler != null ? _handler.getProgress(player) : DailyMissionStatus.NOT_AVAILABLE.getClientId(); } - public boolean getRecentlyCompleted(Player player) + public boolean isRecentlyCompleted(Player player) { - return (_handler != null) && _handler.getRecentlyCompleted(player); + return (_handler != null) && _handler.isRecentlyCompleted(player); } public boolean isLevelUpMission() diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java index b215020a63..efd0adc7f8 100644 --- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java +++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java @@ -20,17 +20,11 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; import java.util.Map.Entry; import java.util.logging.Level; import java.util.logging.Logger; import org.l2jmobius.commons.database.DatabaseFactory; -import org.l2jmobius.gameserver.model.World; -import org.l2jmobius.gameserver.model.actor.Player; -import org.l2jmobius.gameserver.util.Util; /** * @author UnAfraid @@ -51,7 +45,7 @@ public class PlayerVariables extends AbstractVariables public static final String VITALITY_ITEMS_USED_VARIABLE_NAME = "VITALITY_ITEMS_USED"; public static final String ATTENDANCE_DATE = "ATTENDANCE_DATE"; public static final String ATTENDANCE_INDEX = "ATTENDANCE_INDEX"; - private static final String DAILY_MISSION_REWARDS = "DAILY_MISSION_REWARDS"; + public static final String DAILY_MISSION_COUNT = "DAILY_MISSION_COUNT"; public static final String CEREMONY_OF_CHAOS_SCORE = "CEREMONY_OF_CHAOS_SCORE"; public static final String CEREMONY_OF_CHAOS_MARKS = "CEREMONY_OF_CHAOS_MARKS"; public static final String ABILITY_POINTS_MAIN_CLASS = "ABILITY_POINTS"; @@ -111,7 +105,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + _objectId, e); return false; } finally @@ -154,7 +148,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + _objectId, e); return false; } finally @@ -181,85 +175,9 @@ public class PlayerVariables extends AbstractVariables } catch (Exception e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + _objectId, e); return false; } return true; } - - public Player getPlayer() - { - return World.getInstance().getPlayer(_objectId); - } - - public void addDailyMissionReward(int rewardId) - { - String result = getString(DAILY_MISSION_REWARDS, ""); - if (result.isEmpty()) - { - result = Integer.toString(rewardId); - } - else - { - result += "," + rewardId; - } - set(DAILY_MISSION_REWARDS, result); - } - - public void removeDailyMissionReward(int rewardId) - { - String result = ""; - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - continue; - } - if (result.isEmpty()) - { - result = s; - } - else - { - result += "," + s; - } - } - set(DAILY_MISSION_REWARDS, result); - } - - public boolean hasDailyMissionReward(int rewardId) - { - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - return true; - } - } - return false; - } - - public List getDailyMissionRewards() - { - List rewards = null; - final String data = getString(DAILY_MISSION_REWARDS, ""); - if (!data.isEmpty()) - { - for (String s : getString(DAILY_MISSION_REWARDS, "").split(",")) - { - if (Util.isDigit(s)) - { - final int rewardId = Integer.parseInt(s); - if (rewards == null) - { - rewards = new ArrayList<>(); - } - rewards.add(rewardId); - } - } - } - return rewards != null ? rewards : Collections.emptyList(); - } } diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionInfo.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionInfo.java index 11411ff955..d31a014aea 100644 --- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionInfo.java +++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionInfo.java @@ -65,7 +65,7 @@ public class ExPledgeMissionInfo implements IClientOutgoingPacket } else { - status = reward.getRecentlyCompleted(_player) ? 0 : 3; + status = reward.isRecentlyCompleted(_player) ? 0 : 3; } } else if (status == 1) diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionRewardCount.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionRewardCount.java index 60c81ba88f..ce1d6327e7 100644 --- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionRewardCount.java +++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionRewardCount.java @@ -17,13 +17,13 @@ package org.l2jmobius.gameserver.network.serverpackets.pledgeV2; import org.l2jmobius.commons.network.PacketWriter; -import org.l2jmobius.gameserver.data.xml.DailyMissionData; import org.l2jmobius.gameserver.model.actor.Player; +import org.l2jmobius.gameserver.model.variables.PlayerVariables; import org.l2jmobius.gameserver.network.OutgoingPackets; import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket; /** - * @author Bonux (bonuxq@gmail.com) + * @author Bonux (bonuxq@gmail.com), NasSeKa * @date 29.09.2019 **/ public class ExPledgeMissionRewardCount implements IClientOutgoingPacket @@ -33,8 +33,8 @@ public class ExPledgeMissionRewardCount implements IClientOutgoingPacket public ExPledgeMissionRewardCount(Player player) { - _doneMissionsCount = (int) DailyMissionData.getInstance().getDailyMissionData(player).stream().filter(d -> d.getRecentlyCompleted(player)).count(); - _availableMissionsCount = (int) DailyMissionData.getInstance().getDailyMissionData(player).stream().filter(d -> d.getStatus(player) == 1).count(); + _doneMissionsCount = player.getVariables().getInt(PlayerVariables.DAILY_MISSION_COUNT, 0); + _availableMissionsCount = player.getNobleLevel() == 1 ? 18 : player.getNobleLevel() >= 2 ? 20 : 16; } @Override diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/handler/AbstractDailyMissionHandler.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/handler/AbstractDailyMissionHandler.java index 52dcccf69e..6b65e66102 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/handler/AbstractDailyMissionHandler.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/handler/AbstractDailyMissionHandler.java @@ -34,9 +34,10 @@ import org.l2jmobius.gameserver.model.DailyMissionPlayerEntry; import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.events.ListenersContainer; import org.l2jmobius.gameserver.model.holders.ItemHolder; +import org.l2jmobius.gameserver.model.variables.PlayerVariables; /** - * @author Sdw + * @author Sdw, NasSeKa */ public abstract class AbstractDailyMissionHandler extends ListenersContainer { @@ -77,7 +78,7 @@ public abstract class AbstractDailyMissionHandler extends ListenersContainer return entry != null ? entry.getProgress() : 0; } - public boolean getRecentlyCompleted(Player player) + public boolean isRecentlyCompleted(Player player) { final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), false); return (entry != null) && entry.getRecentlyCompleted(); @@ -114,7 +115,17 @@ public abstract class AbstractDailyMissionHandler extends ListenersContainer giveRewards(player); final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); - entry.setStatus(DailyMissionStatus.COMPLETED); + if (!_holder.isOneTime()) + { + int doneDailyMissions = player.getVariables().getInt(PlayerVariables.DAILY_MISSION_COUNT, 0); + player.getVariables().set(PlayerVariables.DAILY_MISSION_COUNT, doneDailyMissions + 1); + entry.setStatus(DailyMissionStatus.NOT_AVAILABLE); + entry.setProgress(0); + } + else + { + entry.setStatus(DailyMissionStatus.COMPLETED); + } entry.setLastCompleted(Chronos.currentTimeMillis()); entry.setRecentlyCompleted(true); storePlayerEntry(entry); diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index 1796e95644..2b85f33e24 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -29,9 +29,7 @@ import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.commons.util.Chronos; import org.l2jmobius.gameserver.data.sql.ClanTable; -import org.l2jmobius.gameserver.data.xml.DailyMissionData; import org.l2jmobius.gameserver.data.xml.TimedHuntingZoneData; -import org.l2jmobius.gameserver.model.DailyMissionDataHolder; import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.stat.PlayerStat; @@ -84,6 +82,7 @@ public class DailyTaskManager clanLeaderApply(); resetVitalityWeekly(); resetClanContribution(); + resetDailyMissionRewards(); resetTimedHuntingZonesWeekly(); resetThroneOfHeroes(); } @@ -97,7 +96,6 @@ public class DailyTaskManager resetRecommends(); resetTrainingCamp(); resetTimedHuntingZones(); - resetDailyMissionRewards(); resetHomunculusResetPoints(); resetAttendanceRewards(); } @@ -251,12 +249,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setWorldChatUsed(0); player.sendPacket(new ExWorldChatCnt(player)); player.getVariables().storeMe(); - }); + } LOGGER.info("Daily world chat points has been resetted."); } @@ -282,13 +280,13 @@ public class DailyTaskManager LOGGER.log(Level.SEVERE, "Could not reset Recommendations System: ", e); } - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setRecomLeft(0); player.setRecomHave(player.getRecomHave() - 20); player.sendPacket(new ExVoteSystemInfo(player)); player.broadcastUserInfo(); - }); + } } private void resetTrainingCamp() @@ -308,11 +306,11 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.resetTraingCampDuration(); player.getAccountVariables().storeMe(); - }); + } LOGGER.info("Training Camp daily time has been resetted."); } @@ -320,7 +318,26 @@ public class DailyTaskManager private void resetDailyMissionRewards() { - DailyMissionData.getInstance().getDailyMissionData().forEach(DailyMissionDataHolder::reset); + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection(); + PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var=?")) + { + ps.setString(1, PlayerVariables.DAILY_MISSION_COUNT); + ps.executeUpdate(); + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, "Could not reset Clan Mission Rewards: ", e); + } + + // Update data for online players. + for (Player player : World.getInstance().getPlayers()) + { + player.getVariables().remove(PlayerVariables.DAILY_MISSION_COUNT); + player.getVariables().storeMe(); + } + + LOGGER.info("Clan Mission Rewards has been resetted."); } private void resetClanContribution() @@ -416,12 +433,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.getVariables().remove(PlayerVariables.HUNTING_ZONE_ENTRY + holder.getZoneId()); player.getVariables().remove(PlayerVariables.HUNTING_ZONE_TIME + holder.getZoneId()); player.getVariables().storeMe(); - }); + } } LOGGER.info("Special Hunting Zones has been resetted."); @@ -450,12 +467,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { 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."); diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/DailyMissionDataHolder.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/DailyMissionDataHolder.java index d2fb31bde7..6c55c9d65a 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/DailyMissionDataHolder.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/DailyMissionDataHolder.java @@ -136,7 +136,7 @@ public class DailyMissionDataHolder } // Show only if its repeatable, recently completed or incompleted that has met the checks above. - return (!_isOneTime || getRecentlyCompleted(player) || (status != DailyMissionStatus.COMPLETED.getClientId())); + return (!_isOneTime || isRecentlyCompleted(player) || (status != DailyMissionStatus.COMPLETED.getClientId())); } public void requestReward(Player player) @@ -157,9 +157,9 @@ public class DailyMissionDataHolder return _handler != null ? _handler.getProgress(player) : DailyMissionStatus.NOT_AVAILABLE.getClientId(); } - public boolean getRecentlyCompleted(Player player) + public boolean isRecentlyCompleted(Player player) { - return (_handler != null) && _handler.getRecentlyCompleted(player); + return (_handler != null) && _handler.isRecentlyCompleted(player); } public boolean isLevelUpMission() diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java index b215020a63..efd0adc7f8 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java @@ -20,17 +20,11 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; import java.util.Map.Entry; import java.util.logging.Level; import java.util.logging.Logger; import org.l2jmobius.commons.database.DatabaseFactory; -import org.l2jmobius.gameserver.model.World; -import org.l2jmobius.gameserver.model.actor.Player; -import org.l2jmobius.gameserver.util.Util; /** * @author UnAfraid @@ -51,7 +45,7 @@ public class PlayerVariables extends AbstractVariables public static final String VITALITY_ITEMS_USED_VARIABLE_NAME = "VITALITY_ITEMS_USED"; public static final String ATTENDANCE_DATE = "ATTENDANCE_DATE"; public static final String ATTENDANCE_INDEX = "ATTENDANCE_INDEX"; - private static final String DAILY_MISSION_REWARDS = "DAILY_MISSION_REWARDS"; + public static final String DAILY_MISSION_COUNT = "DAILY_MISSION_COUNT"; public static final String CEREMONY_OF_CHAOS_SCORE = "CEREMONY_OF_CHAOS_SCORE"; public static final String CEREMONY_OF_CHAOS_MARKS = "CEREMONY_OF_CHAOS_MARKS"; public static final String ABILITY_POINTS_MAIN_CLASS = "ABILITY_POINTS"; @@ -111,7 +105,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + _objectId, e); return false; } finally @@ -154,7 +148,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + _objectId, e); return false; } finally @@ -181,85 +175,9 @@ public class PlayerVariables extends AbstractVariables } catch (Exception e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + _objectId, e); return false; } return true; } - - public Player getPlayer() - { - return World.getInstance().getPlayer(_objectId); - } - - public void addDailyMissionReward(int rewardId) - { - String result = getString(DAILY_MISSION_REWARDS, ""); - if (result.isEmpty()) - { - result = Integer.toString(rewardId); - } - else - { - result += "," + rewardId; - } - set(DAILY_MISSION_REWARDS, result); - } - - public void removeDailyMissionReward(int rewardId) - { - String result = ""; - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - continue; - } - if (result.isEmpty()) - { - result = s; - } - else - { - result += "," + s; - } - } - set(DAILY_MISSION_REWARDS, result); - } - - public boolean hasDailyMissionReward(int rewardId) - { - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - return true; - } - } - return false; - } - - public List getDailyMissionRewards() - { - List rewards = null; - final String data = getString(DAILY_MISSION_REWARDS, ""); - if (!data.isEmpty()) - { - for (String s : getString(DAILY_MISSION_REWARDS, "").split(",")) - { - if (Util.isDigit(s)) - { - final int rewardId = Integer.parseInt(s); - if (rewards == null) - { - rewards = new ArrayList<>(); - } - rewards.add(rewardId); - } - } - } - return rewards != null ? rewards : Collections.emptyList(); - } } diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionInfo.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionInfo.java index 11411ff955..d31a014aea 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionInfo.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionInfo.java @@ -65,7 +65,7 @@ public class ExPledgeMissionInfo implements IClientOutgoingPacket } else { - status = reward.getRecentlyCompleted(_player) ? 0 : 3; + status = reward.isRecentlyCompleted(_player) ? 0 : 3; } } else if (status == 1) diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionRewardCount.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionRewardCount.java index 60c81ba88f..ce1d6327e7 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionRewardCount.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionRewardCount.java @@ -17,13 +17,13 @@ package org.l2jmobius.gameserver.network.serverpackets.pledgeV2; import org.l2jmobius.commons.network.PacketWriter; -import org.l2jmobius.gameserver.data.xml.DailyMissionData; import org.l2jmobius.gameserver.model.actor.Player; +import org.l2jmobius.gameserver.model.variables.PlayerVariables; import org.l2jmobius.gameserver.network.OutgoingPackets; import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket; /** - * @author Bonux (bonuxq@gmail.com) + * @author Bonux (bonuxq@gmail.com), NasSeKa * @date 29.09.2019 **/ public class ExPledgeMissionRewardCount implements IClientOutgoingPacket @@ -33,8 +33,8 @@ public class ExPledgeMissionRewardCount implements IClientOutgoingPacket public ExPledgeMissionRewardCount(Player player) { - _doneMissionsCount = (int) DailyMissionData.getInstance().getDailyMissionData(player).stream().filter(d -> d.getRecentlyCompleted(player)).count(); - _availableMissionsCount = (int) DailyMissionData.getInstance().getDailyMissionData(player).stream().filter(d -> d.getStatus(player) == 1).count(); + _doneMissionsCount = player.getVariables().getInt(PlayerVariables.DAILY_MISSION_COUNT, 0); + _availableMissionsCount = player.getNobleLevel() == 1 ? 18 : player.getNobleLevel() >= 2 ? 20 : 16; } @Override diff --git a/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/handler/AbstractDailyMissionHandler.java b/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/handler/AbstractDailyMissionHandler.java index 52dcccf69e..6b65e66102 100644 --- a/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/handler/AbstractDailyMissionHandler.java +++ b/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/handler/AbstractDailyMissionHandler.java @@ -34,9 +34,10 @@ import org.l2jmobius.gameserver.model.DailyMissionPlayerEntry; import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.events.ListenersContainer; import org.l2jmobius.gameserver.model.holders.ItemHolder; +import org.l2jmobius.gameserver.model.variables.PlayerVariables; /** - * @author Sdw + * @author Sdw, NasSeKa */ public abstract class AbstractDailyMissionHandler extends ListenersContainer { @@ -77,7 +78,7 @@ public abstract class AbstractDailyMissionHandler extends ListenersContainer return entry != null ? entry.getProgress() : 0; } - public boolean getRecentlyCompleted(Player player) + public boolean isRecentlyCompleted(Player player) { final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), false); return (entry != null) && entry.getRecentlyCompleted(); @@ -114,7 +115,17 @@ public abstract class AbstractDailyMissionHandler extends ListenersContainer giveRewards(player); final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); - entry.setStatus(DailyMissionStatus.COMPLETED); + if (!_holder.isOneTime()) + { + int doneDailyMissions = player.getVariables().getInt(PlayerVariables.DAILY_MISSION_COUNT, 0); + player.getVariables().set(PlayerVariables.DAILY_MISSION_COUNT, doneDailyMissions + 1); + entry.setStatus(DailyMissionStatus.NOT_AVAILABLE); + entry.setProgress(0); + } + else + { + entry.setStatus(DailyMissionStatus.COMPLETED); + } entry.setLastCompleted(Chronos.currentTimeMillis()); entry.setRecentlyCompleted(true); storePlayerEntry(entry); diff --git a/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index 1796e95644..2b85f33e24 100644 --- a/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -29,9 +29,7 @@ import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.commons.util.Chronos; import org.l2jmobius.gameserver.data.sql.ClanTable; -import org.l2jmobius.gameserver.data.xml.DailyMissionData; import org.l2jmobius.gameserver.data.xml.TimedHuntingZoneData; -import org.l2jmobius.gameserver.model.DailyMissionDataHolder; import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.stat.PlayerStat; @@ -84,6 +82,7 @@ public class DailyTaskManager clanLeaderApply(); resetVitalityWeekly(); resetClanContribution(); + resetDailyMissionRewards(); resetTimedHuntingZonesWeekly(); resetThroneOfHeroes(); } @@ -97,7 +96,6 @@ public class DailyTaskManager resetRecommends(); resetTrainingCamp(); resetTimedHuntingZones(); - resetDailyMissionRewards(); resetHomunculusResetPoints(); resetAttendanceRewards(); } @@ -251,12 +249,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setWorldChatUsed(0); player.sendPacket(new ExWorldChatCnt(player)); player.getVariables().storeMe(); - }); + } LOGGER.info("Daily world chat points has been resetted."); } @@ -282,13 +280,13 @@ public class DailyTaskManager LOGGER.log(Level.SEVERE, "Could not reset Recommendations System: ", e); } - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setRecomLeft(0); player.setRecomHave(player.getRecomHave() - 20); player.sendPacket(new ExVoteSystemInfo(player)); player.broadcastUserInfo(); - }); + } } private void resetTrainingCamp() @@ -308,11 +306,11 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.resetTraingCampDuration(); player.getAccountVariables().storeMe(); - }); + } LOGGER.info("Training Camp daily time has been resetted."); } @@ -320,7 +318,26 @@ public class DailyTaskManager private void resetDailyMissionRewards() { - DailyMissionData.getInstance().getDailyMissionData().forEach(DailyMissionDataHolder::reset); + // Update data for offline players. + try (Connection con = DatabaseFactory.getConnection(); + PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var=?")) + { + ps.setString(1, PlayerVariables.DAILY_MISSION_COUNT); + ps.executeUpdate(); + } + catch (Exception e) + { + LOGGER.log(Level.SEVERE, "Could not reset Clan Mission Rewards: ", e); + } + + // Update data for online players. + for (Player player : World.getInstance().getPlayers()) + { + player.getVariables().remove(PlayerVariables.DAILY_MISSION_COUNT); + player.getVariables().storeMe(); + } + + LOGGER.info("Clan Mission Rewards has been resetted."); } private void resetClanContribution() @@ -416,12 +433,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.getVariables().remove(PlayerVariables.HUNTING_ZONE_ENTRY + holder.getZoneId()); player.getVariables().remove(PlayerVariables.HUNTING_ZONE_TIME + holder.getZoneId()); player.getVariables().storeMe(); - }); + } } LOGGER.info("Special Hunting Zones has been resetted."); @@ -450,12 +467,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { 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."); diff --git a/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/model/DailyMissionDataHolder.java b/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/model/DailyMissionDataHolder.java index d2fb31bde7..6c55c9d65a 100644 --- a/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/model/DailyMissionDataHolder.java +++ b/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/model/DailyMissionDataHolder.java @@ -136,7 +136,7 @@ public class DailyMissionDataHolder } // Show only if its repeatable, recently completed or incompleted that has met the checks above. - return (!_isOneTime || getRecentlyCompleted(player) || (status != DailyMissionStatus.COMPLETED.getClientId())); + return (!_isOneTime || isRecentlyCompleted(player) || (status != DailyMissionStatus.COMPLETED.getClientId())); } public void requestReward(Player player) @@ -157,9 +157,9 @@ public class DailyMissionDataHolder return _handler != null ? _handler.getProgress(player) : DailyMissionStatus.NOT_AVAILABLE.getClientId(); } - public boolean getRecentlyCompleted(Player player) + public boolean isRecentlyCompleted(Player player) { - return (_handler != null) && _handler.getRecentlyCompleted(player); + return (_handler != null) && _handler.isRecentlyCompleted(player); } public boolean isLevelUpMission() diff --git a/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java b/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java index b215020a63..efd0adc7f8 100644 --- a/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java +++ b/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java @@ -20,17 +20,11 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; import java.util.Map.Entry; import java.util.logging.Level; import java.util.logging.Logger; import org.l2jmobius.commons.database.DatabaseFactory; -import org.l2jmobius.gameserver.model.World; -import org.l2jmobius.gameserver.model.actor.Player; -import org.l2jmobius.gameserver.util.Util; /** * @author UnAfraid @@ -51,7 +45,7 @@ public class PlayerVariables extends AbstractVariables public static final String VITALITY_ITEMS_USED_VARIABLE_NAME = "VITALITY_ITEMS_USED"; public static final String ATTENDANCE_DATE = "ATTENDANCE_DATE"; public static final String ATTENDANCE_INDEX = "ATTENDANCE_INDEX"; - private static final String DAILY_MISSION_REWARDS = "DAILY_MISSION_REWARDS"; + public static final String DAILY_MISSION_COUNT = "DAILY_MISSION_COUNT"; public static final String CEREMONY_OF_CHAOS_SCORE = "CEREMONY_OF_CHAOS_SCORE"; public static final String CEREMONY_OF_CHAOS_MARKS = "CEREMONY_OF_CHAOS_MARKS"; public static final String ABILITY_POINTS_MAIN_CLASS = "ABILITY_POINTS"; @@ -111,7 +105,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + _objectId, e); return false; } finally @@ -154,7 +148,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + _objectId, e); return false; } finally @@ -181,85 +175,9 @@ public class PlayerVariables extends AbstractVariables } catch (Exception e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + _objectId, e); return false; } return true; } - - public Player getPlayer() - { - return World.getInstance().getPlayer(_objectId); - } - - public void addDailyMissionReward(int rewardId) - { - String result = getString(DAILY_MISSION_REWARDS, ""); - if (result.isEmpty()) - { - result = Integer.toString(rewardId); - } - else - { - result += "," + rewardId; - } - set(DAILY_MISSION_REWARDS, result); - } - - public void removeDailyMissionReward(int rewardId) - { - String result = ""; - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - continue; - } - if (result.isEmpty()) - { - result = s; - } - else - { - result += "," + s; - } - } - set(DAILY_MISSION_REWARDS, result); - } - - public boolean hasDailyMissionReward(int rewardId) - { - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - return true; - } - } - return false; - } - - public List getDailyMissionRewards() - { - List rewards = null; - final String data = getString(DAILY_MISSION_REWARDS, ""); - if (!data.isEmpty()) - { - for (String s : getString(DAILY_MISSION_REWARDS, "").split(",")) - { - if (Util.isDigit(s)) - { - final int rewardId = Integer.parseInt(s); - if (rewards == null) - { - rewards = new ArrayList<>(); - } - rewards.add(rewardId); - } - } - } - return rewards != null ? rewards : Collections.emptyList(); - } } diff --git a/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionInfo.java b/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionInfo.java index 11411ff955..d31a014aea 100644 --- a/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionInfo.java +++ b/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionInfo.java @@ -65,7 +65,7 @@ public class ExPledgeMissionInfo implements IClientOutgoingPacket } else { - status = reward.getRecentlyCompleted(_player) ? 0 : 3; + status = reward.isRecentlyCompleted(_player) ? 0 : 3; } } else if (status == 1) diff --git a/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionRewardCount.java b/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionRewardCount.java index 60c81ba88f..ce1d6327e7 100644 --- a/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionRewardCount.java +++ b/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/network/serverpackets/pledgeV2/ExPledgeMissionRewardCount.java @@ -17,13 +17,13 @@ package org.l2jmobius.gameserver.network.serverpackets.pledgeV2; import org.l2jmobius.commons.network.PacketWriter; -import org.l2jmobius.gameserver.data.xml.DailyMissionData; import org.l2jmobius.gameserver.model.actor.Player; +import org.l2jmobius.gameserver.model.variables.PlayerVariables; import org.l2jmobius.gameserver.network.OutgoingPackets; import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket; /** - * @author Bonux (bonuxq@gmail.com) + * @author Bonux (bonuxq@gmail.com), NasSeKa * @date 29.09.2019 **/ public class ExPledgeMissionRewardCount implements IClientOutgoingPacket @@ -33,8 +33,8 @@ public class ExPledgeMissionRewardCount implements IClientOutgoingPacket public ExPledgeMissionRewardCount(Player player) { - _doneMissionsCount = (int) DailyMissionData.getInstance().getDailyMissionData(player).stream().filter(d -> d.getRecentlyCompleted(player)).count(); - _availableMissionsCount = (int) DailyMissionData.getInstance().getDailyMissionData(player).stream().filter(d -> d.getStatus(player) == 1).count(); + _doneMissionsCount = player.getVariables().getInt(PlayerVariables.DAILY_MISSION_COUNT, 0); + _availableMissionsCount = player.getNobleLevel() == 1 ? 18 : player.getNobleLevel() >= 2 ? 20 : 16; } @Override diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java index 80924c2450..be66a44a4a 100644 --- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java +++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java @@ -25,8 +25,6 @@ import java.util.logging.Level; import java.util.logging.Logger; import org.l2jmobius.commons.database.DatabaseFactory; -import org.l2jmobius.gameserver.model.World; -import org.l2jmobius.gameserver.model.actor.Player; /** * @author UnAfraid @@ -66,7 +64,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + _objectId, e); return false; } finally @@ -109,7 +107,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + _objectId, e); return false; } finally @@ -136,14 +134,9 @@ public class PlayerVariables extends AbstractVariables } catch (Exception e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + _objectId, e); return false; } return true; } - - public Player getPlayer() - { - return World.getInstance().getPlayer(_objectId); - } } diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java index 80924c2450..be66a44a4a 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java @@ -25,8 +25,6 @@ import java.util.logging.Level; import java.util.logging.Logger; import org.l2jmobius.commons.database.DatabaseFactory; -import org.l2jmobius.gameserver.model.World; -import org.l2jmobius.gameserver.model.actor.Player; /** * @author UnAfraid @@ -66,7 +64,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + _objectId, e); return false; } finally @@ -109,7 +107,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + _objectId, e); return false; } finally @@ -136,14 +134,9 @@ public class PlayerVariables extends AbstractVariables } catch (Exception e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + _objectId, e); return false; } return true; } - - public Player getPlayer() - { - return World.getInstance().getPlayer(_objectId); - } } diff --git a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java index 80924c2450..be66a44a4a 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java +++ b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java @@ -25,8 +25,6 @@ import java.util.logging.Level; import java.util.logging.Logger; import org.l2jmobius.commons.database.DatabaseFactory; -import org.l2jmobius.gameserver.model.World; -import org.l2jmobius.gameserver.model.actor.Player; /** * @author UnAfraid @@ -66,7 +64,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + _objectId, e); return false; } finally @@ -109,7 +107,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + _objectId, e); return false; } finally @@ -136,14 +134,9 @@ public class PlayerVariables extends AbstractVariables } catch (Exception e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + _objectId, e); return false; } return true; } - - public Player getPlayer() - { - return World.getInstance().getPlayer(_objectId); - } } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java index 80924c2450..be66a44a4a 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java @@ -25,8 +25,6 @@ import java.util.logging.Level; import java.util.logging.Logger; import org.l2jmobius.commons.database.DatabaseFactory; -import org.l2jmobius.gameserver.model.World; -import org.l2jmobius.gameserver.model.actor.Player; /** * @author UnAfraid @@ -66,7 +64,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + _objectId, e); return false; } finally @@ -109,7 +107,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + _objectId, e); return false; } finally @@ -136,14 +134,9 @@ public class PlayerVariables extends AbstractVariables } catch (Exception e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + _objectId, e); return false; } return true; } - - public Player getPlayer() - { - return World.getInstance().getPlayer(_objectId); - } } 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 05508d2b7b..efa3b46f31 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 @@ -252,12 +252,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setWorldChatUsed(0); player.sendPacket(new ExWorldChatCnt(player)); player.getVariables().storeMe(); - }); + } LOGGER.info("Daily world chat points has been resetted."); } @@ -283,13 +283,13 @@ public class DailyTaskManager LOGGER.log(Level.SEVERE, "Could not reset Recommendations System: ", e); } - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setRecomLeft(0); player.setRecomHave(player.getRecomHave() - 20); player.sendPacket(new ExVoteSystemInfo(player)); player.broadcastUserInfo(); - }); + } } private void resetTrainingCamp() @@ -309,11 +309,11 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.resetTraingCampDuration(); player.getAccountVariables().storeMe(); - }); + } LOGGER.info("Training Camp daily time has been resetted."); } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java index 1799f57b9b..30b0f7b9c2 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java @@ -20,17 +20,11 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; import java.util.Map.Entry; import java.util.logging.Level; import java.util.logging.Logger; import org.l2jmobius.commons.database.DatabaseFactory; -import org.l2jmobius.gameserver.model.World; -import org.l2jmobius.gameserver.model.actor.Player; -import org.l2jmobius.gameserver.util.Util; /** * @author UnAfraid @@ -51,7 +45,6 @@ public class PlayerVariables extends AbstractVariables public static final String VITALITY_ITEMS_USED_VARIABLE_NAME = "VITALITY_ITEMS_USED"; public static final String ATTENDANCE_DATE = "ATTENDANCE_DATE"; public static final String ATTENDANCE_INDEX = "ATTENDANCE_INDEX"; - private static final String DAILY_MISSION_REWARDS = "DAILY_MISSION_REWARDS"; public static final String ABILITY_POINTS_MAIN_CLASS = "ABILITY_POINTS"; public static final String ABILITY_POINTS_DUAL_CLASS = "ABILITY_POINTS_DUAL_CLASS"; public static final String ABILITY_POINTS_USED_MAIN_CLASS = "ABILITY_POINTS_USED"; @@ -91,7 +84,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + _objectId, e); return false; } finally @@ -134,7 +127,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + _objectId, e); return false; } finally @@ -161,85 +154,9 @@ public class PlayerVariables extends AbstractVariables } catch (Exception e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + _objectId, e); return false; } return true; } - - public Player getPlayer() - { - return World.getInstance().getPlayer(_objectId); - } - - public void addDailyMissionReward(int rewardId) - { - String result = getString(DAILY_MISSION_REWARDS, ""); - if (result.isEmpty()) - { - result = Integer.toString(rewardId); - } - else - { - result += "," + rewardId; - } - set(DAILY_MISSION_REWARDS, result); - } - - public void removeDailyMissionReward(int rewardId) - { - String result = ""; - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - continue; - } - if (result.isEmpty()) - { - result = s; - } - else - { - result += "," + s; - } - } - set(DAILY_MISSION_REWARDS, result); - } - - public boolean hasDailyMissionReward(int rewardId) - { - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - return true; - } - } - return false; - } - - public List getDailyMissionRewards() - { - List rewards = null; - final String data = getString(DAILY_MISSION_REWARDS, ""); - if (!data.isEmpty()) - { - for (String s : getString(DAILY_MISSION_REWARDS, "").split(",")) - { - if (Util.isDigit(s)) - { - final int rewardId = Integer.parseInt(s); - if (rewards == null) - { - rewards = new ArrayList<>(); - } - rewards.add(rewardId); - } - } - } - return rewards != null ? rewards : Collections.emptyList(); - } } 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 05508d2b7b..efa3b46f31 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 @@ -252,12 +252,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setWorldChatUsed(0); player.sendPacket(new ExWorldChatCnt(player)); player.getVariables().storeMe(); - }); + } LOGGER.info("Daily world chat points has been resetted."); } @@ -283,13 +283,13 @@ public class DailyTaskManager LOGGER.log(Level.SEVERE, "Could not reset Recommendations System: ", e); } - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setRecomLeft(0); player.setRecomHave(player.getRecomHave() - 20); player.sendPacket(new ExVoteSystemInfo(player)); player.broadcastUserInfo(); - }); + } } private void resetTrainingCamp() @@ -309,11 +309,11 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.resetTraingCampDuration(); player.getAccountVariables().storeMe(); - }); + } LOGGER.info("Training Camp daily time has been resetted."); } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java index 1799f57b9b..30b0f7b9c2 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java @@ -20,17 +20,11 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; import java.util.Map.Entry; import java.util.logging.Level; import java.util.logging.Logger; import org.l2jmobius.commons.database.DatabaseFactory; -import org.l2jmobius.gameserver.model.World; -import org.l2jmobius.gameserver.model.actor.Player; -import org.l2jmobius.gameserver.util.Util; /** * @author UnAfraid @@ -51,7 +45,6 @@ public class PlayerVariables extends AbstractVariables public static final String VITALITY_ITEMS_USED_VARIABLE_NAME = "VITALITY_ITEMS_USED"; public static final String ATTENDANCE_DATE = "ATTENDANCE_DATE"; public static final String ATTENDANCE_INDEX = "ATTENDANCE_INDEX"; - private static final String DAILY_MISSION_REWARDS = "DAILY_MISSION_REWARDS"; public static final String ABILITY_POINTS_MAIN_CLASS = "ABILITY_POINTS"; public static final String ABILITY_POINTS_DUAL_CLASS = "ABILITY_POINTS_DUAL_CLASS"; public static final String ABILITY_POINTS_USED_MAIN_CLASS = "ABILITY_POINTS_USED"; @@ -91,7 +84,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + _objectId, e); return false; } finally @@ -134,7 +127,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + _objectId, e); return false; } finally @@ -161,85 +154,9 @@ public class PlayerVariables extends AbstractVariables } catch (Exception e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + _objectId, e); return false; } return true; } - - public Player getPlayer() - { - return World.getInstance().getPlayer(_objectId); - } - - public void addDailyMissionReward(int rewardId) - { - String result = getString(DAILY_MISSION_REWARDS, ""); - if (result.isEmpty()) - { - result = Integer.toString(rewardId); - } - else - { - result += "," + rewardId; - } - set(DAILY_MISSION_REWARDS, result); - } - - public void removeDailyMissionReward(int rewardId) - { - String result = ""; - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - continue; - } - if (result.isEmpty()) - { - result = s; - } - else - { - result += "," + s; - } - } - set(DAILY_MISSION_REWARDS, result); - } - - public boolean hasDailyMissionReward(int rewardId) - { - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - return true; - } - } - return false; - } - - public List getDailyMissionRewards() - { - List rewards = null; - final String data = getString(DAILY_MISSION_REWARDS, ""); - if (!data.isEmpty()) - { - for (String s : getString(DAILY_MISSION_REWARDS, "").split(",")) - { - if (Util.isDigit(s)) - { - final int rewardId = Integer.parseInt(s); - if (rewards == null) - { - rewards = new ArrayList<>(); - } - rewards.add(rewardId); - } - } - } - return rewards != null ? rewards : Collections.emptyList(); - } } 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 05508d2b7b..efa3b46f31 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 @@ -252,12 +252,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setWorldChatUsed(0); player.sendPacket(new ExWorldChatCnt(player)); player.getVariables().storeMe(); - }); + } LOGGER.info("Daily world chat points has been resetted."); } @@ -283,13 +283,13 @@ public class DailyTaskManager LOGGER.log(Level.SEVERE, "Could not reset Recommendations System: ", e); } - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setRecomLeft(0); player.setRecomHave(player.getRecomHave() - 20); player.sendPacket(new ExVoteSystemInfo(player)); player.broadcastUserInfo(); - }); + } } private void resetTrainingCamp() @@ -309,11 +309,11 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.resetTraingCampDuration(); player.getAccountVariables().storeMe(); - }); + } LOGGER.info("Training Camp daily time has been resetted."); } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java index 1799f57b9b..30b0f7b9c2 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java @@ -20,17 +20,11 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; import java.util.Map.Entry; import java.util.logging.Level; import java.util.logging.Logger; import org.l2jmobius.commons.database.DatabaseFactory; -import org.l2jmobius.gameserver.model.World; -import org.l2jmobius.gameserver.model.actor.Player; -import org.l2jmobius.gameserver.util.Util; /** * @author UnAfraid @@ -51,7 +45,6 @@ public class PlayerVariables extends AbstractVariables public static final String VITALITY_ITEMS_USED_VARIABLE_NAME = "VITALITY_ITEMS_USED"; public static final String ATTENDANCE_DATE = "ATTENDANCE_DATE"; public static final String ATTENDANCE_INDEX = "ATTENDANCE_INDEX"; - private static final String DAILY_MISSION_REWARDS = "DAILY_MISSION_REWARDS"; public static final String ABILITY_POINTS_MAIN_CLASS = "ABILITY_POINTS"; public static final String ABILITY_POINTS_DUAL_CLASS = "ABILITY_POINTS_DUAL_CLASS"; public static final String ABILITY_POINTS_USED_MAIN_CLASS = "ABILITY_POINTS_USED"; @@ -91,7 +84,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + _objectId, e); return false; } finally @@ -134,7 +127,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + _objectId, e); return false; } finally @@ -161,85 +154,9 @@ public class PlayerVariables extends AbstractVariables } catch (Exception e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + _objectId, e); return false; } return true; } - - public Player getPlayer() - { - return World.getInstance().getPlayer(_objectId); - } - - public void addDailyMissionReward(int rewardId) - { - String result = getString(DAILY_MISSION_REWARDS, ""); - if (result.isEmpty()) - { - result = Integer.toString(rewardId); - } - else - { - result += "," + rewardId; - } - set(DAILY_MISSION_REWARDS, result); - } - - public void removeDailyMissionReward(int rewardId) - { - String result = ""; - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - continue; - } - if (result.isEmpty()) - { - result = s; - } - else - { - result += "," + s; - } - } - set(DAILY_MISSION_REWARDS, result); - } - - public boolean hasDailyMissionReward(int rewardId) - { - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - return true; - } - } - return false; - } - - public List getDailyMissionRewards() - { - List rewards = null; - final String data = getString(DAILY_MISSION_REWARDS, ""); - if (!data.isEmpty()) - { - for (String s : getString(DAILY_MISSION_REWARDS, "").split(",")) - { - if (Util.isDigit(s)) - { - final int rewardId = Integer.parseInt(s); - if (rewards == null) - { - rewards = new ArrayList<>(); - } - rewards.add(rewardId); - } - } - } - return rewards != null ? rewards : Collections.emptyList(); - } } 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 05508d2b7b..efa3b46f31 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 @@ -252,12 +252,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setWorldChatUsed(0); player.sendPacket(new ExWorldChatCnt(player)); player.getVariables().storeMe(); - }); + } LOGGER.info("Daily world chat points has been resetted."); } @@ -283,13 +283,13 @@ public class DailyTaskManager LOGGER.log(Level.SEVERE, "Could not reset Recommendations System: ", e); } - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setRecomLeft(0); player.setRecomHave(player.getRecomHave() - 20); player.sendPacket(new ExVoteSystemInfo(player)); player.broadcastUserInfo(); - }); + } } private void resetTrainingCamp() @@ -309,11 +309,11 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.resetTraingCampDuration(); player.getAccountVariables().storeMe(); - }); + } LOGGER.info("Training Camp daily time has been resetted."); } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java index 1799f57b9b..30b0f7b9c2 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java @@ -20,17 +20,11 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; import java.util.Map.Entry; import java.util.logging.Level; import java.util.logging.Logger; import org.l2jmobius.commons.database.DatabaseFactory; -import org.l2jmobius.gameserver.model.World; -import org.l2jmobius.gameserver.model.actor.Player; -import org.l2jmobius.gameserver.util.Util; /** * @author UnAfraid @@ -51,7 +45,6 @@ public class PlayerVariables extends AbstractVariables public static final String VITALITY_ITEMS_USED_VARIABLE_NAME = "VITALITY_ITEMS_USED"; public static final String ATTENDANCE_DATE = "ATTENDANCE_DATE"; public static final String ATTENDANCE_INDEX = "ATTENDANCE_INDEX"; - private static final String DAILY_MISSION_REWARDS = "DAILY_MISSION_REWARDS"; public static final String ABILITY_POINTS_MAIN_CLASS = "ABILITY_POINTS"; public static final String ABILITY_POINTS_DUAL_CLASS = "ABILITY_POINTS_DUAL_CLASS"; public static final String ABILITY_POINTS_USED_MAIN_CLASS = "ABILITY_POINTS_USED"; @@ -91,7 +84,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + _objectId, e); return false; } finally @@ -134,7 +127,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + _objectId, e); return false; } finally @@ -161,85 +154,9 @@ public class PlayerVariables extends AbstractVariables } catch (Exception e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + _objectId, e); return false; } return true; } - - public Player getPlayer() - { - return World.getInstance().getPlayer(_objectId); - } - - public void addDailyMissionReward(int rewardId) - { - String result = getString(DAILY_MISSION_REWARDS, ""); - if (result.isEmpty()) - { - result = Integer.toString(rewardId); - } - else - { - result += "," + rewardId; - } - set(DAILY_MISSION_REWARDS, result); - } - - public void removeDailyMissionReward(int rewardId) - { - String result = ""; - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - continue; - } - if (result.isEmpty()) - { - result = s; - } - else - { - result += "," + s; - } - } - set(DAILY_MISSION_REWARDS, result); - } - - public boolean hasDailyMissionReward(int rewardId) - { - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - return true; - } - } - return false; - } - - public List getDailyMissionRewards() - { - List rewards = null; - final String data = getString(DAILY_MISSION_REWARDS, ""); - if (!data.isEmpty()) - { - for (String s : getString(DAILY_MISSION_REWARDS, "").split(",")) - { - if (Util.isDigit(s)) - { - final int rewardId = Integer.parseInt(s); - if (rewards == null) - { - rewards = new ArrayList<>(); - } - rewards.add(rewardId); - } - } - } - return rewards != null ? rewards : Collections.emptyList(); - } } 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 05508d2b7b..efa3b46f31 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 @@ -252,12 +252,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setWorldChatUsed(0); player.sendPacket(new ExWorldChatCnt(player)); player.getVariables().storeMe(); - }); + } LOGGER.info("Daily world chat points has been resetted."); } @@ -283,13 +283,13 @@ public class DailyTaskManager LOGGER.log(Level.SEVERE, "Could not reset Recommendations System: ", e); } - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setRecomLeft(0); player.setRecomHave(player.getRecomHave() - 20); player.sendPacket(new ExVoteSystemInfo(player)); player.broadcastUserInfo(); - }); + } } private void resetTrainingCamp() @@ -309,11 +309,11 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.resetTraingCampDuration(); player.getAccountVariables().storeMe(); - }); + } LOGGER.info("Training Camp daily time has been resetted."); } diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java index 1799f57b9b..30b0f7b9c2 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java @@ -20,17 +20,11 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; import java.util.Map.Entry; import java.util.logging.Level; import java.util.logging.Logger; import org.l2jmobius.commons.database.DatabaseFactory; -import org.l2jmobius.gameserver.model.World; -import org.l2jmobius.gameserver.model.actor.Player; -import org.l2jmobius.gameserver.util.Util; /** * @author UnAfraid @@ -51,7 +45,6 @@ public class PlayerVariables extends AbstractVariables public static final String VITALITY_ITEMS_USED_VARIABLE_NAME = "VITALITY_ITEMS_USED"; public static final String ATTENDANCE_DATE = "ATTENDANCE_DATE"; public static final String ATTENDANCE_INDEX = "ATTENDANCE_INDEX"; - private static final String DAILY_MISSION_REWARDS = "DAILY_MISSION_REWARDS"; public static final String ABILITY_POINTS_MAIN_CLASS = "ABILITY_POINTS"; public static final String ABILITY_POINTS_DUAL_CLASS = "ABILITY_POINTS_DUAL_CLASS"; public static final String ABILITY_POINTS_USED_MAIN_CLASS = "ABILITY_POINTS_USED"; @@ -91,7 +84,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + _objectId, e); return false; } finally @@ -134,7 +127,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + _objectId, e); return false; } finally @@ -161,85 +154,9 @@ public class PlayerVariables extends AbstractVariables } catch (Exception e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + _objectId, e); return false; } return true; } - - public Player getPlayer() - { - return World.getInstance().getPlayer(_objectId); - } - - public void addDailyMissionReward(int rewardId) - { - String result = getString(DAILY_MISSION_REWARDS, ""); - if (result.isEmpty()) - { - result = Integer.toString(rewardId); - } - else - { - result += "," + rewardId; - } - set(DAILY_MISSION_REWARDS, result); - } - - public void removeDailyMissionReward(int rewardId) - { - String result = ""; - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - continue; - } - if (result.isEmpty()) - { - result = s; - } - else - { - result += "," + s; - } - } - set(DAILY_MISSION_REWARDS, result); - } - - public boolean hasDailyMissionReward(int rewardId) - { - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - return true; - } - } - return false; - } - - public List getDailyMissionRewards() - { - List rewards = null; - final String data = getString(DAILY_MISSION_REWARDS, ""); - if (!data.isEmpty()) - { - for (String s : getString(DAILY_MISSION_REWARDS, "").split(",")) - { - if (Util.isDigit(s)) - { - final int rewardId = Integer.parseInt(s); - if (rewards == null) - { - rewards = new ArrayList<>(); - } - rewards.add(rewardId); - } - } - } - return rewards != null ? rewards : Collections.emptyList(); - } } 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 3be8be245c..a9c5578648 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 @@ -256,12 +256,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setWorldChatUsed(0); player.sendPacket(new ExWorldChatCnt(player)); player.getVariables().storeMe(); - }); + } LOGGER.info("Daily world chat points has been resetted."); } @@ -287,13 +287,13 @@ public class DailyTaskManager LOGGER.log(Level.SEVERE, "Could not reset Recommendations System: ", e); } - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setRecomLeft(0); player.setRecomHave(player.getRecomHave() - 20); player.sendPacket(new ExVoteSystemInfo(player)); player.broadcastUserInfo(); - }); + } } private void resetTrainingCamp() @@ -313,11 +313,11 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.resetTraingCampDuration(); player.getAccountVariables().storeMe(); - }); + } LOGGER.info("Training Camp daily time has been resetted."); } @@ -369,12 +369,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.getVariables().remove(PlayerVariables.HUNTING_ZONE_ENTRY + holder.getZoneId()); player.getVariables().remove(PlayerVariables.HUNTING_ZONE_TIME + holder.getZoneId()); player.getVariables().storeMe(); - }); + } } LOGGER.info("Special Hunting Zones has been resetted."); @@ -403,12 +403,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { 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."); diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java index 88f372c7ba..f78af5596f 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java @@ -20,17 +20,11 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; import java.util.Map.Entry; import java.util.logging.Level; import java.util.logging.Logger; import org.l2jmobius.commons.database.DatabaseFactory; -import org.l2jmobius.gameserver.model.World; -import org.l2jmobius.gameserver.model.actor.Player; -import org.l2jmobius.gameserver.util.Util; /** * @author UnAfraid @@ -51,7 +45,6 @@ public class PlayerVariables extends AbstractVariables public static final String VITALITY_ITEMS_USED_VARIABLE_NAME = "VITALITY_ITEMS_USED"; public static final String ATTENDANCE_DATE = "ATTENDANCE_DATE"; public static final String ATTENDANCE_INDEX = "ATTENDANCE_INDEX"; - private static final String DAILY_MISSION_REWARDS = "DAILY_MISSION_REWARDS"; public static final String ABILITY_POINTS_MAIN_CLASS = "ABILITY_POINTS"; public static final String ABILITY_POINTS_DUAL_CLASS = "ABILITY_POINTS_DUAL_CLASS"; public static final String ABILITY_POINTS_USED_MAIN_CLASS = "ABILITY_POINTS_USED"; @@ -95,7 +88,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + _objectId, e); return false; } finally @@ -138,7 +131,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + _objectId, e); return false; } finally @@ -165,85 +158,9 @@ public class PlayerVariables extends AbstractVariables } catch (Exception e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + _objectId, e); return false; } return true; } - - public Player getPlayer() - { - return World.getInstance().getPlayer(_objectId); - } - - public void addDailyMissionReward(int rewardId) - { - String result = getString(DAILY_MISSION_REWARDS, ""); - if (result.isEmpty()) - { - result = Integer.toString(rewardId); - } - else - { - result += "," + rewardId; - } - set(DAILY_MISSION_REWARDS, result); - } - - public void removeDailyMissionReward(int rewardId) - { - String result = ""; - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - continue; - } - if (result.isEmpty()) - { - result = s; - } - else - { - result += "," + s; - } - } - set(DAILY_MISSION_REWARDS, result); - } - - public boolean hasDailyMissionReward(int rewardId) - { - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - return true; - } - } - return false; - } - - public List getDailyMissionRewards() - { - List rewards = null; - final String data = getString(DAILY_MISSION_REWARDS, ""); - if (!data.isEmpty()) - { - for (String s : getString(DAILY_MISSION_REWARDS, "").split(",")) - { - if (Util.isDigit(s)) - { - final int rewardId = Integer.parseInt(s); - if (rewards == null) - { - rewards = new ArrayList<>(); - } - rewards.add(rewardId); - } - } - } - return rewards != null ? rewards : Collections.emptyList(); - } } 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 cd567ce66a..15c43566c4 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 @@ -249,12 +249,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setWorldChatUsed(0); player.sendPacket(new ExWorldChatCnt(player)); player.getVariables().storeMe(); - }); + } LOGGER.info("Daily world chat points has been resetted."); } @@ -280,13 +280,13 @@ public class DailyTaskManager LOGGER.log(Level.SEVERE, "Could not reset Recommendations System: ", e); } - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setRecomLeft(0); player.setRecomHave(player.getRecomHave() - 20); player.sendPacket(new ExVoteSystemInfo(player)); player.broadcastUserInfo(); - }); + } } private void resetTrainingCamp() @@ -306,11 +306,11 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.resetTraingCampDuration(); player.getAccountVariables().storeMe(); - }); + } LOGGER.info("Training Camp daily time has been resetted."); } diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java index 1799f57b9b..30b0f7b9c2 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java @@ -20,17 +20,11 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; import java.util.Map.Entry; import java.util.logging.Level; import java.util.logging.Logger; import org.l2jmobius.commons.database.DatabaseFactory; -import org.l2jmobius.gameserver.model.World; -import org.l2jmobius.gameserver.model.actor.Player; -import org.l2jmobius.gameserver.util.Util; /** * @author UnAfraid @@ -51,7 +45,6 @@ public class PlayerVariables extends AbstractVariables public static final String VITALITY_ITEMS_USED_VARIABLE_NAME = "VITALITY_ITEMS_USED"; public static final String ATTENDANCE_DATE = "ATTENDANCE_DATE"; public static final String ATTENDANCE_INDEX = "ATTENDANCE_INDEX"; - private static final String DAILY_MISSION_REWARDS = "DAILY_MISSION_REWARDS"; public static final String ABILITY_POINTS_MAIN_CLASS = "ABILITY_POINTS"; public static final String ABILITY_POINTS_DUAL_CLASS = "ABILITY_POINTS_DUAL_CLASS"; public static final String ABILITY_POINTS_USED_MAIN_CLASS = "ABILITY_POINTS_USED"; @@ -91,7 +84,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + _objectId, e); return false; } finally @@ -134,7 +127,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + _objectId, e); return false; } finally @@ -161,85 +154,9 @@ public class PlayerVariables extends AbstractVariables } catch (Exception e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + _objectId, e); return false; } return true; } - - public Player getPlayer() - { - return World.getInstance().getPlayer(_objectId); - } - - public void addDailyMissionReward(int rewardId) - { - String result = getString(DAILY_MISSION_REWARDS, ""); - if (result.isEmpty()) - { - result = Integer.toString(rewardId); - } - else - { - result += "," + rewardId; - } - set(DAILY_MISSION_REWARDS, result); - } - - public void removeDailyMissionReward(int rewardId) - { - String result = ""; - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - continue; - } - if (result.isEmpty()) - { - result = s; - } - else - { - result += "," + s; - } - } - set(DAILY_MISSION_REWARDS, result); - } - - public boolean hasDailyMissionReward(int rewardId) - { - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - return true; - } - } - return false; - } - - public List getDailyMissionRewards() - { - List rewards = null; - final String data = getString(DAILY_MISSION_REWARDS, ""); - if (!data.isEmpty()) - { - for (String s : getString(DAILY_MISSION_REWARDS, "").split(",")) - { - if (Util.isDigit(s)) - { - final int rewardId = Integer.parseInt(s); - if (rewards == null) - { - rewards = new ArrayList<>(); - } - rewards.add(rewardId); - } - } - } - return rewards != null ? rewards : Collections.emptyList(); - } } 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 3be8be245c..a9c5578648 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 @@ -256,12 +256,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setWorldChatUsed(0); player.sendPacket(new ExWorldChatCnt(player)); player.getVariables().storeMe(); - }); + } LOGGER.info("Daily world chat points has been resetted."); } @@ -287,13 +287,13 @@ public class DailyTaskManager LOGGER.log(Level.SEVERE, "Could not reset Recommendations System: ", e); } - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setRecomLeft(0); player.setRecomHave(player.getRecomHave() - 20); player.sendPacket(new ExVoteSystemInfo(player)); player.broadcastUserInfo(); - }); + } } private void resetTrainingCamp() @@ -313,11 +313,11 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.resetTraingCampDuration(); player.getAccountVariables().storeMe(); - }); + } LOGGER.info("Training Camp daily time has been resetted."); } @@ -369,12 +369,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.getVariables().remove(PlayerVariables.HUNTING_ZONE_ENTRY + holder.getZoneId()); player.getVariables().remove(PlayerVariables.HUNTING_ZONE_TIME + holder.getZoneId()); player.getVariables().storeMe(); - }); + } } LOGGER.info("Special Hunting Zones has been resetted."); @@ -403,12 +403,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { 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."); diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java index 2922c725c9..a89a23a83f 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java @@ -20,17 +20,11 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; import java.util.Map.Entry; import java.util.logging.Level; import java.util.logging.Logger; import org.l2jmobius.commons.database.DatabaseFactory; -import org.l2jmobius.gameserver.model.World; -import org.l2jmobius.gameserver.model.actor.Player; -import org.l2jmobius.gameserver.util.Util; /** * @author UnAfraid @@ -51,7 +45,6 @@ public class PlayerVariables extends AbstractVariables public static final String VITALITY_ITEMS_USED_VARIABLE_NAME = "VITALITY_ITEMS_USED"; public static final String ATTENDANCE_DATE = "ATTENDANCE_DATE"; public static final String ATTENDANCE_INDEX = "ATTENDANCE_INDEX"; - private static final String DAILY_MISSION_REWARDS = "DAILY_MISSION_REWARDS"; public static final String ABILITY_POINTS_MAIN_CLASS = "ABILITY_POINTS"; public static final String ABILITY_POINTS_DUAL_CLASS = "ABILITY_POINTS_DUAL_CLASS"; public static final String ABILITY_POINTS_USED_MAIN_CLASS = "ABILITY_POINTS_USED"; @@ -110,7 +103,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + _objectId, e); return false; } finally @@ -153,7 +146,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + _objectId, e); return false; } finally @@ -180,85 +173,9 @@ public class PlayerVariables extends AbstractVariables } catch (Exception e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + _objectId, e); return false; } return true; } - - public Player getPlayer() - { - return World.getInstance().getPlayer(_objectId); - } - - public void addDailyMissionReward(int rewardId) - { - String result = getString(DAILY_MISSION_REWARDS, ""); - if (result.isEmpty()) - { - result = Integer.toString(rewardId); - } - else - { - result += "," + rewardId; - } - set(DAILY_MISSION_REWARDS, result); - } - - public void removeDailyMissionReward(int rewardId) - { - String result = ""; - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - continue; - } - if (result.isEmpty()) - { - result = s; - } - else - { - result += "," + s; - } - } - set(DAILY_MISSION_REWARDS, result); - } - - public boolean hasDailyMissionReward(int rewardId) - { - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - return true; - } - } - return false; - } - - public List getDailyMissionRewards() - { - List rewards = null; - final String data = getString(DAILY_MISSION_REWARDS, ""); - if (!data.isEmpty()) - { - for (String s : getString(DAILY_MISSION_REWARDS, "").split(",")) - { - if (Util.isDigit(s)) - { - final int rewardId = Integer.parseInt(s); - if (rewards == null) - { - rewards = new ArrayList<>(); - } - rewards.add(rewardId); - } - } - } - return rewards != null ? rewards : Collections.emptyList(); - } } 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 93193ca46b..1ca23ac54e 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 @@ -263,10 +263,10 @@ public class DailyTaskManager ps.setInt(1, 4); ps.execute(); } - World.getInstance().getPlayers().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setClanDonationPoints(3); - }); + } } catch (Exception e) { @@ -296,12 +296,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setWorldChatUsed(0); player.sendPacket(new ExWorldChatCnt(player)); player.getVariables().storeMe(); - }); + } LOGGER.info("Daily world chat points has been resetted."); } @@ -327,13 +327,13 @@ public class DailyTaskManager LOGGER.log(Level.SEVERE, "Could not reset Recommendations System: ", e); } - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setRecomLeft(0); player.setRecomHave(player.getRecomHave() - 20); player.sendPacket(new ExVoteSystemInfo(player)); player.broadcastUserInfo(); - }); + } } private void resetTrainingCamp() @@ -353,11 +353,11 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.resetTraingCampDuration(); player.getAccountVariables().storeMe(); - }); + } LOGGER.info("Training Camp daily time has been resetted."); } @@ -409,12 +409,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.getVariables().remove(PlayerVariables.HUNTING_ZONE_ENTRY + holder.getZoneId()); player.getVariables().remove(PlayerVariables.HUNTING_ZONE_TIME + holder.getZoneId()); player.getVariables().storeMe(); - }); + } } LOGGER.info("Special Hunting Zones has been resetted."); @@ -443,12 +443,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { 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."); diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java index 5684a14db2..47e8a9f483 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java @@ -20,17 +20,11 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; import java.util.Map.Entry; import java.util.logging.Level; import java.util.logging.Logger; import org.l2jmobius.commons.database.DatabaseFactory; -import org.l2jmobius.gameserver.model.World; -import org.l2jmobius.gameserver.model.actor.Player; -import org.l2jmobius.gameserver.util.Util; /** * @author UnAfraid @@ -51,7 +45,6 @@ public class PlayerVariables extends AbstractVariables public static final String VITALITY_ITEMS_USED_VARIABLE_NAME = "VITALITY_ITEMS_USED"; public static final String ATTENDANCE_DATE = "ATTENDANCE_DATE"; public static final String ATTENDANCE_INDEX = "ATTENDANCE_INDEX"; - private static final String DAILY_MISSION_REWARDS = "DAILY_MISSION_REWARDS"; public static final String ABILITY_POINTS_MAIN_CLASS = "ABILITY_POINTS"; public static final String ABILITY_POINTS_DUAL_CLASS = "ABILITY_POINTS_DUAL_CLASS"; public static final String ABILITY_POINTS_USED_MAIN_CLASS = "ABILITY_POINTS_USED"; @@ -111,7 +104,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + _objectId, e); return false; } finally @@ -154,7 +147,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + _objectId, e); return false; } finally @@ -181,85 +174,9 @@ public class PlayerVariables extends AbstractVariables } catch (Exception e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + _objectId, e); return false; } return true; } - - public Player getPlayer() - { - return World.getInstance().getPlayer(_objectId); - } - - public void addDailyMissionReward(int rewardId) - { - String result = getString(DAILY_MISSION_REWARDS, ""); - if (result.isEmpty()) - { - result = Integer.toString(rewardId); - } - else - { - result += "," + rewardId; - } - set(DAILY_MISSION_REWARDS, result); - } - - public void removeDailyMissionReward(int rewardId) - { - String result = ""; - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - continue; - } - if (result.isEmpty()) - { - result = s; - } - else - { - result += "," + s; - } - } - set(DAILY_MISSION_REWARDS, result); - } - - public boolean hasDailyMissionReward(int rewardId) - { - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - return true; - } - } - return false; - } - - public List getDailyMissionRewards() - { - List rewards = null; - final String data = getString(DAILY_MISSION_REWARDS, ""); - if (!data.isEmpty()) - { - for (String s : getString(DAILY_MISSION_REWARDS, "").split(",")) - { - if (Util.isDigit(s)) - { - final int rewardId = Integer.parseInt(s); - if (rewards == null) - { - rewards = new ArrayList<>(); - } - rewards.add(rewardId); - } - } - } - return rewards != null ? rewards : Collections.emptyList(); - } } diff --git a/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java b/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java index 93193ca46b..1ca23ac54e 100644 --- a/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java +++ b/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/instancemanager/DailyTaskManager.java @@ -263,10 +263,10 @@ public class DailyTaskManager ps.setInt(1, 4); ps.execute(); } - World.getInstance().getPlayers().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setClanDonationPoints(3); - }); + } } catch (Exception e) { @@ -296,12 +296,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setWorldChatUsed(0); player.sendPacket(new ExWorldChatCnt(player)); player.getVariables().storeMe(); - }); + } LOGGER.info("Daily world chat points has been resetted."); } @@ -327,13 +327,13 @@ public class DailyTaskManager LOGGER.log(Level.SEVERE, "Could not reset Recommendations System: ", e); } - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.setRecomLeft(0); player.setRecomHave(player.getRecomHave() - 20); player.sendPacket(new ExVoteSystemInfo(player)); player.broadcastUserInfo(); - }); + } } private void resetTrainingCamp() @@ -353,11 +353,11 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.resetTraingCampDuration(); player.getAccountVariables().storeMe(); - }); + } LOGGER.info("Training Camp daily time has been resetted."); } @@ -409,12 +409,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { player.getVariables().remove(PlayerVariables.HUNTING_ZONE_ENTRY + holder.getZoneId()); player.getVariables().remove(PlayerVariables.HUNTING_ZONE_TIME + holder.getZoneId()); player.getVariables().storeMe(); - }); + } } LOGGER.info("Special Hunting Zones has been resetted."); @@ -443,12 +443,12 @@ public class DailyTaskManager } // Update data for online players. - World.getInstance().getPlayers().stream().forEach(player -> + for (Player player : World.getInstance().getPlayers()) { 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."); diff --git a/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java b/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java index 5684a14db2..47e8a9f483 100644 --- a/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java +++ b/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/model/variables/PlayerVariables.java @@ -20,17 +20,11 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; import java.util.Map.Entry; import java.util.logging.Level; import java.util.logging.Logger; import org.l2jmobius.commons.database.DatabaseFactory; -import org.l2jmobius.gameserver.model.World; -import org.l2jmobius.gameserver.model.actor.Player; -import org.l2jmobius.gameserver.util.Util; /** * @author UnAfraid @@ -51,7 +45,6 @@ public class PlayerVariables extends AbstractVariables public static final String VITALITY_ITEMS_USED_VARIABLE_NAME = "VITALITY_ITEMS_USED"; public static final String ATTENDANCE_DATE = "ATTENDANCE_DATE"; public static final String ATTENDANCE_INDEX = "ATTENDANCE_INDEX"; - private static final String DAILY_MISSION_REWARDS = "DAILY_MISSION_REWARDS"; public static final String ABILITY_POINTS_MAIN_CLASS = "ABILITY_POINTS"; public static final String ABILITY_POINTS_DUAL_CLASS = "ABILITY_POINTS_DUAL_CLASS"; public static final String ABILITY_POINTS_USED_MAIN_CLASS = "ABILITY_POINTS_USED"; @@ -111,7 +104,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore variables for: " + _objectId, e); return false; } finally @@ -154,7 +147,7 @@ public class PlayerVariables extends AbstractVariables } catch (SQLException e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update variables for: " + _objectId, e); return false; } finally @@ -181,85 +174,9 @@ public class PlayerVariables extends AbstractVariables } catch (Exception e) { - LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + getPlayer(), e); + LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + _objectId, e); return false; } return true; } - - public Player getPlayer() - { - return World.getInstance().getPlayer(_objectId); - } - - public void addDailyMissionReward(int rewardId) - { - String result = getString(DAILY_MISSION_REWARDS, ""); - if (result.isEmpty()) - { - result = Integer.toString(rewardId); - } - else - { - result += "," + rewardId; - } - set(DAILY_MISSION_REWARDS, result); - } - - public void removeDailyMissionReward(int rewardId) - { - String result = ""; - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - continue; - } - if (result.isEmpty()) - { - result = s; - } - else - { - result += "," + s; - } - } - set(DAILY_MISSION_REWARDS, result); - } - - public boolean hasDailyMissionReward(int rewardId) - { - final String data = getString(DAILY_MISSION_REWARDS, ""); - for (String s : data.split(",")) - { - if (s.equals(Integer.toString(rewardId))) - { - return true; - } - } - return false; - } - - public List getDailyMissionRewards() - { - List rewards = null; - final String data = getString(DAILY_MISSION_REWARDS, ""); - if (!data.isEmpty()) - { - for (String s : getString(DAILY_MISSION_REWARDS, "").split(",")) - { - if (Util.isDigit(s)) - { - final int rewardId = Integer.parseInt(s); - if (rewards == null) - { - rewards = new ArrayList<>(); - } - rewards.add(rewardId); - } - } - } - return rewards != null ? rewards : Collections.emptyList(); - } }