From 15d0e1dc0f802159fa2e3d3271847f006c1ec968 Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Tue, 8 Nov 2022 22:28:09 +0000 Subject: [PATCH] DailyMissionHandler NPE fix and cleanups. --- .../CeremonyOfChaosDailyMissionHandler.java | 9 ++---- .../CombinationDailyMissionHandler.java | 9 ++---- .../EnchantDailyMissionHandler.java | 17 +++------- .../MonsterDailyMissionHandler.java | 3 +- .../NoblesseDailyMissionHandler.java | 10 +++--- .../OlympiadDailyMissionHandler.java | 31 ++++++------------- .../CeremonyOfChaosDailyMissionHandler.java | 9 ++---- .../CombinationDailyMissionHandler.java | 9 ++---- .../EnchantDailyMissionHandler.java | 17 +++------- .../MonsterDailyMissionHandler.java | 3 +- .../NoblesseDailyMissionHandler.java | 10 +++--- .../OlympiadDailyMissionHandler.java | 31 ++++++------------- 12 files changed, 48 insertions(+), 110 deletions(-) diff --git a/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/CeremonyOfChaosDailyMissionHandler.java b/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/CeremonyOfChaosDailyMissionHandler.java index efc96f9f07..62fda9e3a5 100644 --- a/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/CeremonyOfChaosDailyMissionHandler.java +++ b/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/CeremonyOfChaosDailyMissionHandler.java @@ -99,12 +99,7 @@ public class CeremonyOfChaosDailyMissionHandler extends AbstractDailyMissionHand private boolean checkRequiredMission(Player player) { - final int missionId = getPlayerEntry(player.getObjectId(), false).getRewardId(); - final int missionStatus = getStatus(player); - if ((missionId != 0) && (_requiredMissionCompleteId != 0) && (missionId == _requiredMissionCompleteId) && (missionStatus == DailyMissionStatus.COMPLETED.getClientId())) - { - return true; - } - return false; + final DailyMissionPlayerEntry missionEntry = getPlayerEntry(player.getObjectId(), false); + return (missionEntry != null) && (_requiredMissionCompleteId != 0) && (missionEntry.getRewardId() == _requiredMissionCompleteId) && (getStatus(player) == DailyMissionStatus.COMPLETED.getClientId()); } } diff --git a/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/CombinationDailyMissionHandler.java b/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/CombinationDailyMissionHandler.java index 5d17c6be72..a1696434bf 100644 --- a/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/CombinationDailyMissionHandler.java +++ b/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/CombinationDailyMissionHandler.java @@ -141,12 +141,7 @@ public class CombinationDailyMissionHandler extends AbstractDailyMissionHandler private boolean checkRequiredMission(Player player) { - final int missionId = getPlayerEntry(player.getObjectId(), false).getRewardId(); - final int missionStatus = getStatus(player); - if ((missionId != 0) && (_requiredMissionCompleteId != 0) && (missionId == _requiredMissionCompleteId) && (missionStatus == DailyMissionStatus.COMPLETED.getClientId())) - { - return true; - } - return false; + final DailyMissionPlayerEntry missionEntry = getPlayerEntry(player.getObjectId(), false); + return (missionEntry != null) && (_requiredMissionCompleteId != 0) && (missionEntry.getRewardId() == _requiredMissionCompleteId) && (getStatus(player) == DailyMissionStatus.COMPLETED.getClientId()); } } diff --git a/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/EnchantDailyMissionHandler.java b/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/EnchantDailyMissionHandler.java index 0e0f5dedbd..36370f5081 100644 --- a/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/EnchantDailyMissionHandler.java +++ b/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/EnchantDailyMissionHandler.java @@ -102,12 +102,10 @@ public class EnchantDailyMissionHandler extends AbstractDailyMissionHandler { return; } - if (((_requiredMissionCompleteId != 0) && checkRequiredMission(player)) || (_requiredMissionCompleteId == 0)) + if ((((_requiredMissionCompleteId != 0) && checkRequiredMission(player)) || (_requiredMissionCompleteId == 0)) // + && _itemIds.contains(event.getItem().getId()) && (player.getInventory().getItemByObjectId(event.getItem().getObjectId()).getEnchantLevel() >= _targetValue)) { - if (_itemIds.contains(event.getItem().getId()) && (player.getInventory().getItemByObjectId(event.getItem().getObjectId()).getEnchantLevel() >= _targetValue)) - { - processPlayerProgress(player); - } + processPlayerProgress(player); } } @@ -126,12 +124,7 @@ public class EnchantDailyMissionHandler extends AbstractDailyMissionHandler private boolean checkRequiredMission(Player player) { - final int missionId = getPlayerEntry(player.getObjectId(), false).getRewardId(); - final int missionStatus = getStatus(player); - if ((missionId != 0) && (_requiredMissionCompleteId != 0) && (missionId == _requiredMissionCompleteId) && (missionStatus == DailyMissionStatus.COMPLETED.getClientId())) - { - return true; - } - return false; + final DailyMissionPlayerEntry missionEntry = getPlayerEntry(player.getObjectId(), false); + return (missionEntry != null) && (_requiredMissionCompleteId != 0) && (missionEntry.getRewardId() == _requiredMissionCompleteId) && (getStatus(player) == DailyMissionStatus.COMPLETED.getClientId()); } } diff --git a/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/MonsterDailyMissionHandler.java b/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/MonsterDailyMissionHandler.java index c93f16fc35..be5722167d 100644 --- a/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/MonsterDailyMissionHandler.java +++ b/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/MonsterDailyMissionHandler.java @@ -182,7 +182,6 @@ public class MonsterDailyMissionHandler extends AbstractDailyMissionHandler private boolean checkRequiredMission(Player player) { final DailyMissionPlayerEntry missionEntry = getPlayerEntry(player.getObjectId(), false); - final int missionId = missionEntry != null ? missionEntry.getRewardId() : 0; - return (missionId != 0) && (_requiredMissionCompleteId != 0) && (missionId == _requiredMissionCompleteId) && (getStatus(player) == DailyMissionStatus.COMPLETED.getClientId()); + return (missionEntry != null) && (_requiredMissionCompleteId != 0) && (missionEntry.getRewardId() == _requiredMissionCompleteId) && (getStatus(player) == DailyMissionStatus.COMPLETED.getClientId()); } } diff --git a/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/NoblesseDailyMissionHandler.java b/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/NoblesseDailyMissionHandler.java index fa4d2333bc..b3a6057a03 100644 --- a/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/NoblesseDailyMissionHandler.java +++ b/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/NoblesseDailyMissionHandler.java @@ -82,13 +82,11 @@ public class NoblesseDailyMissionHandler extends AbstractDailyMissionHandler { return; } - // Check if player is belonging to a clan and is noble - if ((player.getClan() != null) && (player.getNobleLevel() > 0)) + + // Check if player is belonging to a clan and is noble. + if ((player.getClan() != null) && (player.getNobleLevel() > 0) && (player.getNobleLevel() == 1)) { - if (player.getNobleLevel() == 1) - { - processPlayerProgress(player); - } + processPlayerProgress(player); } } diff --git a/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java b/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java index 51d3bbb148..78a6dc639c 100644 --- a/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java +++ b/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java @@ -80,44 +80,33 @@ public class OlympiadDailyMissionHandler extends AbstractDailyMissionHandler if (event.getWinner() != null) { final DailyMissionPlayerEntry winnerEntry = getPlayerEntry(event.getWinner().getObjectId(), true); - if (((_requiredMissionCompleteId != 0) && checkRequiredMission(event.getWinner().getPlayer())) || (_requiredMissionCompleteId == 0)) + if ((winnerEntry.getStatus() == DailyMissionStatus.NOT_AVAILABLE) && (((_requiredMissionCompleteId != 0) && checkRequiredMission(event.getWinner().getPlayer())) || (_requiredMissionCompleteId == 0))) { - if (winnerEntry.getStatus() == DailyMissionStatus.NOT_AVAILABLE) + if (winnerEntry.increaseProgress() >= _amount) { - if (winnerEntry.increaseProgress() >= _amount) - { - winnerEntry.setStatus(DailyMissionStatus.AVAILABLE); - } - storePlayerEntry(winnerEntry); + winnerEntry.setStatus(DailyMissionStatus.AVAILABLE); } + storePlayerEntry(winnerEntry); } } if (!_winOnly && (event.getLoser() != null)) { final DailyMissionPlayerEntry loseEntry = getPlayerEntry(event.getLoser().getObjectId(), true); - if (((_requiredMissionCompleteId != 0) && checkRequiredMission(event.getLoser().getPlayer())) || (_requiredMissionCompleteId == 0)) + if ((loseEntry.getStatus() == DailyMissionStatus.NOT_AVAILABLE) && (((_requiredMissionCompleteId != 0) && checkRequiredMission(event.getLoser().getPlayer())) || (_requiredMissionCompleteId == 0))) { - if (loseEntry.getStatus() == DailyMissionStatus.NOT_AVAILABLE) + if (loseEntry.increaseProgress() >= _amount) { - if (loseEntry.increaseProgress() >= _amount) - { - loseEntry.setStatus(DailyMissionStatus.AVAILABLE); - } - storePlayerEntry(loseEntry); + loseEntry.setStatus(DailyMissionStatus.AVAILABLE); } + storePlayerEntry(loseEntry); } } } private boolean checkRequiredMission(Player player) { - final int missionId = getPlayerEntry(player.getObjectId(), false).getRewardId(); - final int missionStatus = getStatus(player); - if ((missionId != 0) && (_requiredMissionCompleteId != 0) && (missionId == _requiredMissionCompleteId) && (missionStatus == DailyMissionStatus.COMPLETED.getClientId())) - { - return true; - } - return false; + final DailyMissionPlayerEntry missionEntry = getPlayerEntry(player.getObjectId(), false); + return (missionEntry != null) && (_requiredMissionCompleteId != 0) && (missionEntry.getRewardId() == _requiredMissionCompleteId) && (getStatus(player) == DailyMissionStatus.COMPLETED.getClientId()); } } diff --git a/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/CeremonyOfChaosDailyMissionHandler.java b/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/CeremonyOfChaosDailyMissionHandler.java index efc96f9f07..62fda9e3a5 100644 --- a/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/CeremonyOfChaosDailyMissionHandler.java +++ b/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/CeremonyOfChaosDailyMissionHandler.java @@ -99,12 +99,7 @@ public class CeremonyOfChaosDailyMissionHandler extends AbstractDailyMissionHand private boolean checkRequiredMission(Player player) { - final int missionId = getPlayerEntry(player.getObjectId(), false).getRewardId(); - final int missionStatus = getStatus(player); - if ((missionId != 0) && (_requiredMissionCompleteId != 0) && (missionId == _requiredMissionCompleteId) && (missionStatus == DailyMissionStatus.COMPLETED.getClientId())) - { - return true; - } - return false; + final DailyMissionPlayerEntry missionEntry = getPlayerEntry(player.getObjectId(), false); + return (missionEntry != null) && (_requiredMissionCompleteId != 0) && (missionEntry.getRewardId() == _requiredMissionCompleteId) && (getStatus(player) == DailyMissionStatus.COMPLETED.getClientId()); } } diff --git a/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/CombinationDailyMissionHandler.java b/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/CombinationDailyMissionHandler.java index 5d17c6be72..a1696434bf 100644 --- a/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/CombinationDailyMissionHandler.java +++ b/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/CombinationDailyMissionHandler.java @@ -141,12 +141,7 @@ public class CombinationDailyMissionHandler extends AbstractDailyMissionHandler private boolean checkRequiredMission(Player player) { - final int missionId = getPlayerEntry(player.getObjectId(), false).getRewardId(); - final int missionStatus = getStatus(player); - if ((missionId != 0) && (_requiredMissionCompleteId != 0) && (missionId == _requiredMissionCompleteId) && (missionStatus == DailyMissionStatus.COMPLETED.getClientId())) - { - return true; - } - return false; + final DailyMissionPlayerEntry missionEntry = getPlayerEntry(player.getObjectId(), false); + return (missionEntry != null) && (_requiredMissionCompleteId != 0) && (missionEntry.getRewardId() == _requiredMissionCompleteId) && (getStatus(player) == DailyMissionStatus.COMPLETED.getClientId()); } } diff --git a/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/EnchantDailyMissionHandler.java b/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/EnchantDailyMissionHandler.java index 0e0f5dedbd..36370f5081 100644 --- a/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/EnchantDailyMissionHandler.java +++ b/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/EnchantDailyMissionHandler.java @@ -102,12 +102,10 @@ public class EnchantDailyMissionHandler extends AbstractDailyMissionHandler { return; } - if (((_requiredMissionCompleteId != 0) && checkRequiredMission(player)) || (_requiredMissionCompleteId == 0)) + if ((((_requiredMissionCompleteId != 0) && checkRequiredMission(player)) || (_requiredMissionCompleteId == 0)) // + && _itemIds.contains(event.getItem().getId()) && (player.getInventory().getItemByObjectId(event.getItem().getObjectId()).getEnchantLevel() >= _targetValue)) { - if (_itemIds.contains(event.getItem().getId()) && (player.getInventory().getItemByObjectId(event.getItem().getObjectId()).getEnchantLevel() >= _targetValue)) - { - processPlayerProgress(player); - } + processPlayerProgress(player); } } @@ -126,12 +124,7 @@ public class EnchantDailyMissionHandler extends AbstractDailyMissionHandler private boolean checkRequiredMission(Player player) { - final int missionId = getPlayerEntry(player.getObjectId(), false).getRewardId(); - final int missionStatus = getStatus(player); - if ((missionId != 0) && (_requiredMissionCompleteId != 0) && (missionId == _requiredMissionCompleteId) && (missionStatus == DailyMissionStatus.COMPLETED.getClientId())) - { - return true; - } - return false; + final DailyMissionPlayerEntry missionEntry = getPlayerEntry(player.getObjectId(), false); + return (missionEntry != null) && (_requiredMissionCompleteId != 0) && (missionEntry.getRewardId() == _requiredMissionCompleteId) && (getStatus(player) == DailyMissionStatus.COMPLETED.getClientId()); } } diff --git a/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/MonsterDailyMissionHandler.java b/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/MonsterDailyMissionHandler.java index c93f16fc35..be5722167d 100644 --- a/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/MonsterDailyMissionHandler.java +++ b/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/MonsterDailyMissionHandler.java @@ -182,7 +182,6 @@ public class MonsterDailyMissionHandler extends AbstractDailyMissionHandler private boolean checkRequiredMission(Player player) { final DailyMissionPlayerEntry missionEntry = getPlayerEntry(player.getObjectId(), false); - final int missionId = missionEntry != null ? missionEntry.getRewardId() : 0; - return (missionId != 0) && (_requiredMissionCompleteId != 0) && (missionId == _requiredMissionCompleteId) && (getStatus(player) == DailyMissionStatus.COMPLETED.getClientId()); + return (missionEntry != null) && (_requiredMissionCompleteId != 0) && (missionEntry.getRewardId() == _requiredMissionCompleteId) && (getStatus(player) == DailyMissionStatus.COMPLETED.getClientId()); } } diff --git a/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/NoblesseDailyMissionHandler.java b/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/NoblesseDailyMissionHandler.java index fa4d2333bc..b3a6057a03 100644 --- a/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/NoblesseDailyMissionHandler.java +++ b/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/NoblesseDailyMissionHandler.java @@ -82,13 +82,11 @@ public class NoblesseDailyMissionHandler extends AbstractDailyMissionHandler { return; } - // Check if player is belonging to a clan and is noble - if ((player.getClan() != null) && (player.getNobleLevel() > 0)) + + // Check if player is belonging to a clan and is noble. + if ((player.getClan() != null) && (player.getNobleLevel() > 0) && (player.getNobleLevel() == 1)) { - if (player.getNobleLevel() == 1) - { - processPlayerProgress(player); - } + processPlayerProgress(player); } } diff --git a/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java b/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java index 51d3bbb148..78a6dc639c 100644 --- a/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java +++ b/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java @@ -80,44 +80,33 @@ public class OlympiadDailyMissionHandler extends AbstractDailyMissionHandler if (event.getWinner() != null) { final DailyMissionPlayerEntry winnerEntry = getPlayerEntry(event.getWinner().getObjectId(), true); - if (((_requiredMissionCompleteId != 0) && checkRequiredMission(event.getWinner().getPlayer())) || (_requiredMissionCompleteId == 0)) + if ((winnerEntry.getStatus() == DailyMissionStatus.NOT_AVAILABLE) && (((_requiredMissionCompleteId != 0) && checkRequiredMission(event.getWinner().getPlayer())) || (_requiredMissionCompleteId == 0))) { - if (winnerEntry.getStatus() == DailyMissionStatus.NOT_AVAILABLE) + if (winnerEntry.increaseProgress() >= _amount) { - if (winnerEntry.increaseProgress() >= _amount) - { - winnerEntry.setStatus(DailyMissionStatus.AVAILABLE); - } - storePlayerEntry(winnerEntry); + winnerEntry.setStatus(DailyMissionStatus.AVAILABLE); } + storePlayerEntry(winnerEntry); } } if (!_winOnly && (event.getLoser() != null)) { final DailyMissionPlayerEntry loseEntry = getPlayerEntry(event.getLoser().getObjectId(), true); - if (((_requiredMissionCompleteId != 0) && checkRequiredMission(event.getLoser().getPlayer())) || (_requiredMissionCompleteId == 0)) + if ((loseEntry.getStatus() == DailyMissionStatus.NOT_AVAILABLE) && (((_requiredMissionCompleteId != 0) && checkRequiredMission(event.getLoser().getPlayer())) || (_requiredMissionCompleteId == 0))) { - if (loseEntry.getStatus() == DailyMissionStatus.NOT_AVAILABLE) + if (loseEntry.increaseProgress() >= _amount) { - if (loseEntry.increaseProgress() >= _amount) - { - loseEntry.setStatus(DailyMissionStatus.AVAILABLE); - } - storePlayerEntry(loseEntry); + loseEntry.setStatus(DailyMissionStatus.AVAILABLE); } + storePlayerEntry(loseEntry); } } } private boolean checkRequiredMission(Player player) { - final int missionId = getPlayerEntry(player.getObjectId(), false).getRewardId(); - final int missionStatus = getStatus(player); - if ((missionId != 0) && (_requiredMissionCompleteId != 0) && (missionId == _requiredMissionCompleteId) && (missionStatus == DailyMissionStatus.COMPLETED.getClientId())) - { - return true; - } - return false; + final DailyMissionPlayerEntry missionEntry = getPlayerEntry(player.getObjectId(), false); + return (missionEntry != null) && (_requiredMissionCompleteId != 0) && (missionEntry.getRewardId() == _requiredMissionCompleteId) && (getStatus(player) == DailyMissionStatus.COMPLETED.getClientId()); } }