diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java index ba11ba4bd5..345b7ec0ad 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java @@ -33,11 +33,15 @@ import org.l2jmobius.gameserver.network.serverpackets.fishing.ExFishingEnd.Fishi public class FishingDailyMissionHandler extends AbstractDailyMissionHandler { private final int _amount; + private final int _minLevel; + private final int _maxLevel; public FishingDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); _amount = holder.getRequiredCompletions(); + _minLevel = holder.getParams().getInt("minLevel", 0); + _maxLevel = holder.getParams().getInt("maxLevel", Byte.MAX_VALUE); } @Override @@ -75,6 +79,11 @@ public class FishingDailyMissionHandler extends AbstractDailyMissionHandler private void onPlayerFishing(OnPlayerFishing event) { final PlayerInstance player = event.getPlayer(); + if ((player.getLevel() < _minLevel) || (player.getLevel() > _maxLevel)) + { + return; + } + if (event.getReason() == FishingEndReason.WIN) { final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java index 1241df4aa5..ff1c3dab12 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java @@ -32,11 +32,13 @@ import org.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener; public class OlympiadDailyMissionHandler extends AbstractDailyMissionHandler { private final int _amount; + private final boolean _winOnly; public OlympiadDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); _amount = holder.getRequiredCompletions(); + _winOnly = holder.getParams().getBoolean("winOnly", false); } @Override @@ -86,7 +88,7 @@ public class OlympiadDailyMissionHandler extends AbstractDailyMissionHandler } } - if (event.getLoser() != null) + if (!_winOnly && (event.getLoser() != null)) { final DailyMissionPlayerEntry loseEntry = getPlayerEntry(event.getLoser().getObjectId(), true); if (loseEntry.getStatus() == DailyMissionStatus.NOT_AVAILABLE) diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java index 860125c379..d41a921237 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java @@ -34,9 +34,14 @@ import org.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener; */ public class SiegeDailyMissionHandler extends AbstractDailyMissionHandler { + private final int _minLevel; + private final int _maxLevel; + public SiegeDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); + _minLevel = holder.getParams().getInt("minLevel", 0); + _maxLevel = holder.getParams().getInt("maxLevel", Byte.MAX_VALUE); } @Override @@ -75,6 +80,11 @@ public class SiegeDailyMissionHandler extends AbstractDailyMissionHandler { clan.getOnlineMembers(0).forEach(player -> { + if ((player.getLevel() < _minLevel) || (player.getLevel() > _maxLevel)) + { + return; + } + final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); entry.setStatus(DailyMissionStatus.AVAILABLE); storePlayerEntry(entry); diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/xsd/DailyMission.xsd b/L2J_Mobius_2.5_Underground/dist/game/data/xsd/DailyMission.xsd index 4a0c3294ed..82b0a15fe4 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/xsd/DailyMission.xsd +++ b/L2J_Mobius_2.5_Underground/dist/game/data/xsd/DailyMission.xsd @@ -18,7 +18,7 @@ - + diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java index ba11ba4bd5..345b7ec0ad 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java @@ -33,11 +33,15 @@ import org.l2jmobius.gameserver.network.serverpackets.fishing.ExFishingEnd.Fishi public class FishingDailyMissionHandler extends AbstractDailyMissionHandler { private final int _amount; + private final int _minLevel; + private final int _maxLevel; public FishingDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); _amount = holder.getRequiredCompletions(); + _minLevel = holder.getParams().getInt("minLevel", 0); + _maxLevel = holder.getParams().getInt("maxLevel", Byte.MAX_VALUE); } @Override @@ -75,6 +79,11 @@ public class FishingDailyMissionHandler extends AbstractDailyMissionHandler private void onPlayerFishing(OnPlayerFishing event) { final PlayerInstance player = event.getPlayer(); + if ((player.getLevel() < _minLevel) || (player.getLevel() > _maxLevel)) + { + return; + } + if (event.getReason() == FishingEndReason.WIN) { final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java index 1241df4aa5..ff1c3dab12 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java @@ -32,11 +32,13 @@ import org.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener; public class OlympiadDailyMissionHandler extends AbstractDailyMissionHandler { private final int _amount; + private final boolean _winOnly; public OlympiadDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); _amount = holder.getRequiredCompletions(); + _winOnly = holder.getParams().getBoolean("winOnly", false); } @Override @@ -86,7 +88,7 @@ public class OlympiadDailyMissionHandler extends AbstractDailyMissionHandler } } - if (event.getLoser() != null) + if (!_winOnly && (event.getLoser() != null)) { final DailyMissionPlayerEntry loseEntry = getPlayerEntry(event.getLoser().getObjectId(), true); if (loseEntry.getStatus() == DailyMissionStatus.NOT_AVAILABLE) diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java index 860125c379..d41a921237 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java @@ -34,9 +34,14 @@ import org.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener; */ public class SiegeDailyMissionHandler extends AbstractDailyMissionHandler { + private final int _minLevel; + private final int _maxLevel; + public SiegeDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); + _minLevel = holder.getParams().getInt("minLevel", 0); + _maxLevel = holder.getParams().getInt("maxLevel", Byte.MAX_VALUE); } @Override @@ -75,6 +80,11 @@ public class SiegeDailyMissionHandler extends AbstractDailyMissionHandler { clan.getOnlineMembers(0).forEach(player -> { + if ((player.getLevel() < _minLevel) || (player.getLevel() > _maxLevel)) + { + return; + } + final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); entry.setStatus(DailyMissionStatus.AVAILABLE); storePlayerEntry(entry); diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/xsd/DailyMission.xsd b/L2J_Mobius_3.0_Helios/dist/game/data/xsd/DailyMission.xsd index 4a0c3294ed..82b0a15fe4 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/xsd/DailyMission.xsd +++ b/L2J_Mobius_3.0_Helios/dist/game/data/xsd/DailyMission.xsd @@ -18,7 +18,7 @@ - + diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java index ba11ba4bd5..345b7ec0ad 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java @@ -33,11 +33,15 @@ import org.l2jmobius.gameserver.network.serverpackets.fishing.ExFishingEnd.Fishi public class FishingDailyMissionHandler extends AbstractDailyMissionHandler { private final int _amount; + private final int _minLevel; + private final int _maxLevel; public FishingDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); _amount = holder.getRequiredCompletions(); + _minLevel = holder.getParams().getInt("minLevel", 0); + _maxLevel = holder.getParams().getInt("maxLevel", Byte.MAX_VALUE); } @Override @@ -75,6 +79,11 @@ public class FishingDailyMissionHandler extends AbstractDailyMissionHandler private void onPlayerFishing(OnPlayerFishing event) { final PlayerInstance player = event.getPlayer(); + if ((player.getLevel() < _minLevel) || (player.getLevel() > _maxLevel)) + { + return; + } + if (event.getReason() == FishingEndReason.WIN) { final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java index 1241df4aa5..ff1c3dab12 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java @@ -32,11 +32,13 @@ import org.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener; public class OlympiadDailyMissionHandler extends AbstractDailyMissionHandler { private final int _amount; + private final boolean _winOnly; public OlympiadDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); _amount = holder.getRequiredCompletions(); + _winOnly = holder.getParams().getBoolean("winOnly", false); } @Override @@ -86,7 +88,7 @@ public class OlympiadDailyMissionHandler extends AbstractDailyMissionHandler } } - if (event.getLoser() != null) + if (!_winOnly && (event.getLoser() != null)) { final DailyMissionPlayerEntry loseEntry = getPlayerEntry(event.getLoser().getObjectId(), true); if (loseEntry.getStatus() == DailyMissionStatus.NOT_AVAILABLE) diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java index 860125c379..d41a921237 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java @@ -34,9 +34,14 @@ import org.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener; */ public class SiegeDailyMissionHandler extends AbstractDailyMissionHandler { + private final int _minLevel; + private final int _maxLevel; + public SiegeDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); + _minLevel = holder.getParams().getInt("minLevel", 0); + _maxLevel = holder.getParams().getInt("maxLevel", Byte.MAX_VALUE); } @Override @@ -75,6 +80,11 @@ public class SiegeDailyMissionHandler extends AbstractDailyMissionHandler { clan.getOnlineMembers(0).forEach(player -> { + if ((player.getLevel() < _minLevel) || (player.getLevel() > _maxLevel)) + { + return; + } + final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); entry.setStatus(DailyMissionStatus.AVAILABLE); storePlayerEntry(entry); diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/xsd/DailyMission.xsd b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/xsd/DailyMission.xsd index b2f4826356..b201347d63 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/xsd/DailyMission.xsd +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/xsd/DailyMission.xsd @@ -18,7 +18,7 @@ - + diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java index ba11ba4bd5..345b7ec0ad 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java @@ -33,11 +33,15 @@ import org.l2jmobius.gameserver.network.serverpackets.fishing.ExFishingEnd.Fishi public class FishingDailyMissionHandler extends AbstractDailyMissionHandler { private final int _amount; + private final int _minLevel; + private final int _maxLevel; public FishingDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); _amount = holder.getRequiredCompletions(); + _minLevel = holder.getParams().getInt("minLevel", 0); + _maxLevel = holder.getParams().getInt("maxLevel", Byte.MAX_VALUE); } @Override @@ -75,6 +79,11 @@ public class FishingDailyMissionHandler extends AbstractDailyMissionHandler private void onPlayerFishing(OnPlayerFishing event) { final PlayerInstance player = event.getPlayer(); + if ((player.getLevel() < _minLevel) || (player.getLevel() > _maxLevel)) + { + return; + } + if (event.getReason() == FishingEndReason.WIN) { final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java index 1241df4aa5..ff1c3dab12 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java @@ -32,11 +32,13 @@ import org.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener; public class OlympiadDailyMissionHandler extends AbstractDailyMissionHandler { private final int _amount; + private final boolean _winOnly; public OlympiadDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); _amount = holder.getRequiredCompletions(); + _winOnly = holder.getParams().getBoolean("winOnly", false); } @Override @@ -86,7 +88,7 @@ public class OlympiadDailyMissionHandler extends AbstractDailyMissionHandler } } - if (event.getLoser() != null) + if (!_winOnly && (event.getLoser() != null)) { final DailyMissionPlayerEntry loseEntry = getPlayerEntry(event.getLoser().getObjectId(), true); if (loseEntry.getStatus() == DailyMissionStatus.NOT_AVAILABLE) diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java index 860125c379..d41a921237 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java @@ -34,9 +34,14 @@ import org.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener; */ public class SiegeDailyMissionHandler extends AbstractDailyMissionHandler { + private final int _minLevel; + private final int _maxLevel; + public SiegeDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); + _minLevel = holder.getParams().getInt("minLevel", 0); + _maxLevel = holder.getParams().getInt("maxLevel", Byte.MAX_VALUE); } @Override @@ -75,6 +80,11 @@ public class SiegeDailyMissionHandler extends AbstractDailyMissionHandler { clan.getOnlineMembers(0).forEach(player -> { + if ((player.getLevel() < _minLevel) || (player.getLevel() > _maxLevel)) + { + return; + } + final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); entry.setStatus(DailyMissionStatus.AVAILABLE); storePlayerEntry(entry); diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/xsd/DailyMission.xsd b/L2J_Mobius_5.0_Salvation/dist/game/data/xsd/DailyMission.xsd index b2f4826356..b201347d63 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/xsd/DailyMission.xsd +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/xsd/DailyMission.xsd @@ -18,7 +18,7 @@ - + diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java index ba11ba4bd5..345b7ec0ad 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java @@ -33,11 +33,15 @@ import org.l2jmobius.gameserver.network.serverpackets.fishing.ExFishingEnd.Fishi public class FishingDailyMissionHandler extends AbstractDailyMissionHandler { private final int _amount; + private final int _minLevel; + private final int _maxLevel; public FishingDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); _amount = holder.getRequiredCompletions(); + _minLevel = holder.getParams().getInt("minLevel", 0); + _maxLevel = holder.getParams().getInt("maxLevel", Byte.MAX_VALUE); } @Override @@ -75,6 +79,11 @@ public class FishingDailyMissionHandler extends AbstractDailyMissionHandler private void onPlayerFishing(OnPlayerFishing event) { final PlayerInstance player = event.getPlayer(); + if ((player.getLevel() < _minLevel) || (player.getLevel() > _maxLevel)) + { + return; + } + if (event.getReason() == FishingEndReason.WIN) { final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java index 1241df4aa5..ff1c3dab12 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java @@ -32,11 +32,13 @@ import org.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener; public class OlympiadDailyMissionHandler extends AbstractDailyMissionHandler { private final int _amount; + private final boolean _winOnly; public OlympiadDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); _amount = holder.getRequiredCompletions(); + _winOnly = holder.getParams().getBoolean("winOnly", false); } @Override @@ -86,7 +88,7 @@ public class OlympiadDailyMissionHandler extends AbstractDailyMissionHandler } } - if (event.getLoser() != null) + if (!_winOnly && (event.getLoser() != null)) { final DailyMissionPlayerEntry loseEntry = getPlayerEntry(event.getLoser().getObjectId(), true); if (loseEntry.getStatus() == DailyMissionStatus.NOT_AVAILABLE) diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java index 860125c379..d41a921237 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java @@ -34,9 +34,14 @@ import org.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener; */ public class SiegeDailyMissionHandler extends AbstractDailyMissionHandler { + private final int _minLevel; + private final int _maxLevel; + public SiegeDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); + _minLevel = holder.getParams().getInt("minLevel", 0); + _maxLevel = holder.getParams().getInt("maxLevel", Byte.MAX_VALUE); } @Override @@ -75,6 +80,11 @@ public class SiegeDailyMissionHandler extends AbstractDailyMissionHandler { clan.getOnlineMembers(0).forEach(player -> { + if ((player.getLevel() < _minLevel) || (player.getLevel() > _maxLevel)) + { + return; + } + final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); entry.setStatus(DailyMissionStatus.AVAILABLE); storePlayerEntry(entry); diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/xsd/DailyMission.xsd b/L2J_Mobius_5.5_EtinasFate/dist/game/data/xsd/DailyMission.xsd index b2f4826356..b201347d63 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/xsd/DailyMission.xsd +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/xsd/DailyMission.xsd @@ -18,7 +18,7 @@ - + diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java index ba11ba4bd5..345b7ec0ad 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java @@ -33,11 +33,15 @@ import org.l2jmobius.gameserver.network.serverpackets.fishing.ExFishingEnd.Fishi public class FishingDailyMissionHandler extends AbstractDailyMissionHandler { private final int _amount; + private final int _minLevel; + private final int _maxLevel; public FishingDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); _amount = holder.getRequiredCompletions(); + _minLevel = holder.getParams().getInt("minLevel", 0); + _maxLevel = holder.getParams().getInt("maxLevel", Byte.MAX_VALUE); } @Override @@ -75,6 +79,11 @@ public class FishingDailyMissionHandler extends AbstractDailyMissionHandler private void onPlayerFishing(OnPlayerFishing event) { final PlayerInstance player = event.getPlayer(); + if ((player.getLevel() < _minLevel) || (player.getLevel() > _maxLevel)) + { + return; + } + if (event.getReason() == FishingEndReason.WIN) { final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java index 1241df4aa5..ff1c3dab12 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java @@ -32,11 +32,13 @@ import org.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener; public class OlympiadDailyMissionHandler extends AbstractDailyMissionHandler { private final int _amount; + private final boolean _winOnly; public OlympiadDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); _amount = holder.getRequiredCompletions(); + _winOnly = holder.getParams().getBoolean("winOnly", false); } @Override @@ -86,7 +88,7 @@ public class OlympiadDailyMissionHandler extends AbstractDailyMissionHandler } } - if (event.getLoser() != null) + if (!_winOnly && (event.getLoser() != null)) { final DailyMissionPlayerEntry loseEntry = getPlayerEntry(event.getLoser().getObjectId(), true); if (loseEntry.getStatus() == DailyMissionStatus.NOT_AVAILABLE) diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java index 860125c379..d41a921237 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java @@ -34,9 +34,14 @@ import org.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener; */ public class SiegeDailyMissionHandler extends AbstractDailyMissionHandler { + private final int _minLevel; + private final int _maxLevel; + public SiegeDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); + _minLevel = holder.getParams().getInt("minLevel", 0); + _maxLevel = holder.getParams().getInt("maxLevel", Byte.MAX_VALUE); } @Override @@ -75,6 +80,11 @@ public class SiegeDailyMissionHandler extends AbstractDailyMissionHandler { clan.getOnlineMembers(0).forEach(player -> { + if ((player.getLevel() < _minLevel) || (player.getLevel() > _maxLevel)) + { + return; + } + final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); entry.setStatus(DailyMissionStatus.AVAILABLE); storePlayerEntry(entry); diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/xsd/DailyMission.xsd b/L2J_Mobius_6.0_Fafurion/dist/game/data/xsd/DailyMission.xsd index b2f4826356..b201347d63 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/xsd/DailyMission.xsd +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/xsd/DailyMission.xsd @@ -18,7 +18,7 @@ - + diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java index ba11ba4bd5..345b7ec0ad 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java @@ -33,11 +33,15 @@ import org.l2jmobius.gameserver.network.serverpackets.fishing.ExFishingEnd.Fishi public class FishingDailyMissionHandler extends AbstractDailyMissionHandler { private final int _amount; + private final int _minLevel; + private final int _maxLevel; public FishingDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); _amount = holder.getRequiredCompletions(); + _minLevel = holder.getParams().getInt("minLevel", 0); + _maxLevel = holder.getParams().getInt("maxLevel", Byte.MAX_VALUE); } @Override @@ -75,6 +79,11 @@ public class FishingDailyMissionHandler extends AbstractDailyMissionHandler private void onPlayerFishing(OnPlayerFishing event) { final PlayerInstance player = event.getPlayer(); + if ((player.getLevel() < _minLevel) || (player.getLevel() > _maxLevel)) + { + return; + } + if (event.getReason() == FishingEndReason.WIN) { final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java index 1241df4aa5..ff1c3dab12 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java @@ -32,11 +32,13 @@ import org.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener; public class OlympiadDailyMissionHandler extends AbstractDailyMissionHandler { private final int _amount; + private final boolean _winOnly; public OlympiadDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); _amount = holder.getRequiredCompletions(); + _winOnly = holder.getParams().getBoolean("winOnly", false); } @Override @@ -86,7 +88,7 @@ public class OlympiadDailyMissionHandler extends AbstractDailyMissionHandler } } - if (event.getLoser() != null) + if (!_winOnly && (event.getLoser() != null)) { final DailyMissionPlayerEntry loseEntry = getPlayerEntry(event.getLoser().getObjectId(), true); if (loseEntry.getStatus() == DailyMissionStatus.NOT_AVAILABLE) diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java index 860125c379..d41a921237 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java @@ -34,9 +34,14 @@ import org.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener; */ public class SiegeDailyMissionHandler extends AbstractDailyMissionHandler { + private final int _minLevel; + private final int _maxLevel; + public SiegeDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); + _minLevel = holder.getParams().getInt("minLevel", 0); + _maxLevel = holder.getParams().getInt("maxLevel", Byte.MAX_VALUE); } @Override @@ -75,6 +80,11 @@ public class SiegeDailyMissionHandler extends AbstractDailyMissionHandler { clan.getOnlineMembers(0).forEach(player -> { + if ((player.getLevel() < _minLevel) || (player.getLevel() > _maxLevel)) + { + return; + } + final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); entry.setStatus(DailyMissionStatus.AVAILABLE); storePlayerEntry(entry); diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/xsd/DailyMission.xsd b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/xsd/DailyMission.xsd index b2f4826356..b201347d63 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/xsd/DailyMission.xsd +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/xsd/DailyMission.xsd @@ -18,7 +18,7 @@ - + diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java index ba11ba4bd5..345b7ec0ad 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java @@ -33,11 +33,15 @@ import org.l2jmobius.gameserver.network.serverpackets.fishing.ExFishingEnd.Fishi public class FishingDailyMissionHandler extends AbstractDailyMissionHandler { private final int _amount; + private final int _minLevel; + private final int _maxLevel; public FishingDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); _amount = holder.getRequiredCompletions(); + _minLevel = holder.getParams().getInt("minLevel", 0); + _maxLevel = holder.getParams().getInt("maxLevel", Byte.MAX_VALUE); } @Override @@ -75,6 +79,11 @@ public class FishingDailyMissionHandler extends AbstractDailyMissionHandler private void onPlayerFishing(OnPlayerFishing event) { final PlayerInstance player = event.getPlayer(); + if ((player.getLevel() < _minLevel) || (player.getLevel() > _maxLevel)) + { + return; + } + if (event.getReason() == FishingEndReason.WIN) { final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java index 1241df4aa5..ff1c3dab12 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java @@ -32,11 +32,13 @@ import org.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener; public class OlympiadDailyMissionHandler extends AbstractDailyMissionHandler { private final int _amount; + private final boolean _winOnly; public OlympiadDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); _amount = holder.getRequiredCompletions(); + _winOnly = holder.getParams().getBoolean("winOnly", false); } @Override @@ -86,7 +88,7 @@ public class OlympiadDailyMissionHandler extends AbstractDailyMissionHandler } } - if (event.getLoser() != null) + if (!_winOnly && (event.getLoser() != null)) { final DailyMissionPlayerEntry loseEntry = getPlayerEntry(event.getLoser().getObjectId(), true); if (loseEntry.getStatus() == DailyMissionStatus.NOT_AVAILABLE) diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java index 860125c379..d41a921237 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java @@ -34,9 +34,14 @@ import org.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener; */ public class SiegeDailyMissionHandler extends AbstractDailyMissionHandler { + private final int _minLevel; + private final int _maxLevel; + public SiegeDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); + _minLevel = holder.getParams().getInt("minLevel", 0); + _maxLevel = holder.getParams().getInt("maxLevel", Byte.MAX_VALUE); } @Override @@ -75,6 +80,11 @@ public class SiegeDailyMissionHandler extends AbstractDailyMissionHandler { clan.getOnlineMembers(0).forEach(player -> { + if ((player.getLevel() < _minLevel) || (player.getLevel() > _maxLevel)) + { + return; + } + final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); entry.setStatus(DailyMissionStatus.AVAILABLE); storePlayerEntry(entry); diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/xsd/DailyMission.xsd b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/xsd/DailyMission.xsd index 4a0c3294ed..82b0a15fe4 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/xsd/DailyMission.xsd +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/xsd/DailyMission.xsd @@ -18,7 +18,7 @@ - + diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java index ba11ba4bd5..345b7ec0ad 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java @@ -33,11 +33,15 @@ import org.l2jmobius.gameserver.network.serverpackets.fishing.ExFishingEnd.Fishi public class FishingDailyMissionHandler extends AbstractDailyMissionHandler { private final int _amount; + private final int _minLevel; + private final int _maxLevel; public FishingDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); _amount = holder.getRequiredCompletions(); + _minLevel = holder.getParams().getInt("minLevel", 0); + _maxLevel = holder.getParams().getInt("maxLevel", Byte.MAX_VALUE); } @Override @@ -75,6 +79,11 @@ public class FishingDailyMissionHandler extends AbstractDailyMissionHandler private void onPlayerFishing(OnPlayerFishing event) { final PlayerInstance player = event.getPlayer(); + if ((player.getLevel() < _minLevel) || (player.getLevel() > _maxLevel)) + { + return; + } + if (event.getReason() == FishingEndReason.WIN) { final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java index 1241df4aa5..ff1c3dab12 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java @@ -32,11 +32,13 @@ import org.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener; public class OlympiadDailyMissionHandler extends AbstractDailyMissionHandler { private final int _amount; + private final boolean _winOnly; public OlympiadDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); _amount = holder.getRequiredCompletions(); + _winOnly = holder.getParams().getBoolean("winOnly", false); } @Override @@ -86,7 +88,7 @@ public class OlympiadDailyMissionHandler extends AbstractDailyMissionHandler } } - if (event.getLoser() != null) + if (!_winOnly && (event.getLoser() != null)) { final DailyMissionPlayerEntry loseEntry = getPlayerEntry(event.getLoser().getObjectId(), true); if (loseEntry.getStatus() == DailyMissionStatus.NOT_AVAILABLE) diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java index 860125c379..d41a921237 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java @@ -34,9 +34,14 @@ import org.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener; */ public class SiegeDailyMissionHandler extends AbstractDailyMissionHandler { + private final int _minLevel; + private final int _maxLevel; + public SiegeDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); + _minLevel = holder.getParams().getInt("minLevel", 0); + _maxLevel = holder.getParams().getInt("maxLevel", Byte.MAX_VALUE); } @Override @@ -75,6 +80,11 @@ public class SiegeDailyMissionHandler extends AbstractDailyMissionHandler { clan.getOnlineMembers(0).forEach(player -> { + if ((player.getLevel() < _minLevel) || (player.getLevel() > _maxLevel)) + { + return; + } + final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); entry.setStatus(DailyMissionStatus.AVAILABLE); storePlayerEntry(entry); diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/xsd/DailyMission.xsd b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/xsd/DailyMission.xsd index b2f4826356..b201347d63 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/xsd/DailyMission.xsd +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/xsd/DailyMission.xsd @@ -18,7 +18,7 @@ - + diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java index ba11ba4bd5..345b7ec0ad 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java @@ -33,11 +33,15 @@ import org.l2jmobius.gameserver.network.serverpackets.fishing.ExFishingEnd.Fishi public class FishingDailyMissionHandler extends AbstractDailyMissionHandler { private final int _amount; + private final int _minLevel; + private final int _maxLevel; public FishingDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); _amount = holder.getRequiredCompletions(); + _minLevel = holder.getParams().getInt("minLevel", 0); + _maxLevel = holder.getParams().getInt("maxLevel", Byte.MAX_VALUE); } @Override @@ -75,6 +79,11 @@ public class FishingDailyMissionHandler extends AbstractDailyMissionHandler private void onPlayerFishing(OnPlayerFishing event) { final PlayerInstance player = event.getPlayer(); + if ((player.getLevel() < _minLevel) || (player.getLevel() > _maxLevel)) + { + return; + } + if (event.getReason() == FishingEndReason.WIN) { final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java index 1241df4aa5..ff1c3dab12 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java @@ -32,11 +32,13 @@ import org.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener; public class OlympiadDailyMissionHandler extends AbstractDailyMissionHandler { private final int _amount; + private final boolean _winOnly; public OlympiadDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); _amount = holder.getRequiredCompletions(); + _winOnly = holder.getParams().getBoolean("winOnly", false); } @Override @@ -86,7 +88,7 @@ public class OlympiadDailyMissionHandler extends AbstractDailyMissionHandler } } - if (event.getLoser() != null) + if (!_winOnly && (event.getLoser() != null)) { final DailyMissionPlayerEntry loseEntry = getPlayerEntry(event.getLoser().getObjectId(), true); if (loseEntry.getStatus() == DailyMissionStatus.NOT_AVAILABLE) diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java index 860125c379..d41a921237 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java @@ -34,9 +34,14 @@ import org.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener; */ public class SiegeDailyMissionHandler extends AbstractDailyMissionHandler { + private final int _minLevel; + private final int _maxLevel; + public SiegeDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); + _minLevel = holder.getParams().getInt("minLevel", 0); + _maxLevel = holder.getParams().getInt("maxLevel", Byte.MAX_VALUE); } @Override @@ -75,6 +80,11 @@ public class SiegeDailyMissionHandler extends AbstractDailyMissionHandler { clan.getOnlineMembers(0).forEach(player -> { + if ((player.getLevel() < _minLevel) || (player.getLevel() > _maxLevel)) + { + return; + } + final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); entry.setStatus(DailyMissionStatus.AVAILABLE); storePlayerEntry(entry); diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/xsd/DailyMission.xsd b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/xsd/DailyMission.xsd index b2f4826356..b201347d63 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/xsd/DailyMission.xsd +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/xsd/DailyMission.xsd @@ -18,7 +18,7 @@ - + diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java index ba11ba4bd5..345b7ec0ad 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java @@ -33,11 +33,15 @@ import org.l2jmobius.gameserver.network.serverpackets.fishing.ExFishingEnd.Fishi public class FishingDailyMissionHandler extends AbstractDailyMissionHandler { private final int _amount; + private final int _minLevel; + private final int _maxLevel; public FishingDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); _amount = holder.getRequiredCompletions(); + _minLevel = holder.getParams().getInt("minLevel", 0); + _maxLevel = holder.getParams().getInt("maxLevel", Byte.MAX_VALUE); } @Override @@ -75,6 +79,11 @@ public class FishingDailyMissionHandler extends AbstractDailyMissionHandler private void onPlayerFishing(OnPlayerFishing event) { final PlayerInstance player = event.getPlayer(); + if ((player.getLevel() < _minLevel) || (player.getLevel() > _maxLevel)) + { + return; + } + if (event.getReason() == FishingEndReason.WIN) { final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java index 1241df4aa5..ff1c3dab12 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java @@ -32,11 +32,13 @@ import org.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener; public class OlympiadDailyMissionHandler extends AbstractDailyMissionHandler { private final int _amount; + private final boolean _winOnly; public OlympiadDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); _amount = holder.getRequiredCompletions(); + _winOnly = holder.getParams().getBoolean("winOnly", false); } @Override @@ -86,7 +88,7 @@ public class OlympiadDailyMissionHandler extends AbstractDailyMissionHandler } } - if (event.getLoser() != null) + if (!_winOnly && (event.getLoser() != null)) { final DailyMissionPlayerEntry loseEntry = getPlayerEntry(event.getLoser().getObjectId(), true); if (loseEntry.getStatus() == DailyMissionStatus.NOT_AVAILABLE) diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java index 860125c379..d41a921237 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java @@ -34,9 +34,14 @@ import org.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener; */ public class SiegeDailyMissionHandler extends AbstractDailyMissionHandler { + private final int _minLevel; + private final int _maxLevel; + public SiegeDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); + _minLevel = holder.getParams().getInt("minLevel", 0); + _maxLevel = holder.getParams().getInt("maxLevel", Byte.MAX_VALUE); } @Override @@ -75,6 +80,11 @@ public class SiegeDailyMissionHandler extends AbstractDailyMissionHandler { clan.getOnlineMembers(0).forEach(player -> { + if ((player.getLevel() < _minLevel) || (player.getLevel() > _maxLevel)) + { + return; + } + final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); entry.setStatus(DailyMissionStatus.AVAILABLE); storePlayerEntry(entry); diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/xsd/DailyMission.xsd b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/xsd/DailyMission.xsd index b2f4826356..b201347d63 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/xsd/DailyMission.xsd +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/xsd/DailyMission.xsd @@ -18,7 +18,7 @@ - + diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/DailyMission.xml b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/DailyMission.xml index d0f339de1a..5eeba4a82b 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/DailyMission.xml +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/DailyMission.xml @@ -1,6 +1,7 @@ - + + 2 @@ -8,7 +9,8 @@ - + + 3 @@ -16,15 +18,17 @@ - + + 4 - + - + + 5 @@ -32,7 +36,8 @@ - + + 6 @@ -40,7 +45,8 @@ - + + 7 @@ -48,7 +54,8 @@ - + + 8 @@ -56,15 +63,18 @@ - + + 9 + - + + 0 18 31 @@ -101,12 +111,13 @@ 10 - + - + + 7 22 35 @@ -133,12 +144,13 @@ 10 - + - + + 10 25 38 @@ -178,12 +190,13 @@ 10 - + - + + 11 @@ -191,7 +204,8 @@ - + + 12 @@ -199,7 +213,8 @@ - + + 13 @@ -207,7 +222,8 @@ - + + 14 @@ -215,7 +231,8 @@ - + + 15 @@ -223,7 +240,8 @@ - + + 16 @@ -231,7 +249,8 @@ - + + 17 @@ -239,7 +258,8 @@ - + + 0 18 31 @@ -279,7 +299,8 @@ - + + 7 22 35 @@ -309,7 +330,8 @@ - + + 10 25 38 @@ -352,26 +374,29 @@ - + + 19 - + - + + 20 - + - + + 21 @@ -379,7 +404,8 @@ - + + 22 @@ -387,7 +413,8 @@ - + + 0 18 31 @@ -427,7 +454,8 @@ - + + 7 22 35 @@ -451,13 +479,14 @@ 115 116 - 18 + 23 - + - + + 10 25 38 @@ -500,25 +529,27 @@ - + + 24 - - - + - + + 25 - + + - + + 26 @@ -526,7 +557,8 @@ - + + 27 @@ -534,7 +566,8 @@ - + + 0 18 31 @@ -574,7 +607,8 @@ - + + 7 22 35 @@ -604,7 +638,8 @@ - + + 10 25 38 @@ -647,17 +682,17 @@ - + + 29 - - - + - + + 30 @@ -665,7 +700,8 @@ - + + 31 @@ -673,7 +709,8 @@ - + + 32 @@ -681,7 +718,8 @@ - + + 33 @@ -689,17 +727,17 @@ - + + 34 - - - + - + + 35 @@ -707,7 +745,8 @@ - + + 36 @@ -715,7 +754,8 @@ - + + 37 @@ -723,7 +763,8 @@ - + + 0 18 31 @@ -763,7 +804,8 @@ - + + 7 22 35 @@ -793,7 +835,8 @@ - + + 10 25 38 @@ -836,17 +879,17 @@ - + + 39 - - - + - + + 40 @@ -854,7 +897,8 @@ - + + 41 @@ -862,7 +906,8 @@ - + + 42 @@ -870,7 +915,8 @@ - + + 0 18 31 @@ -910,42 +956,30 @@ - - 10 - 25 - 38 - 11 - 15 - 26 - 29 - 39 - 42 - 12 - 13 - 14 - 16 - 17 - 27 - 28 - 30 - 40 - 41 - 43 - 49 - 50 - 51 - 52 - 94 - 95 - 96 - 97 - 98 - 103 - 104 - 105 - 110 - 111 - 112 + + + 7 + 22 + 35 + 47 + 8 + 9 + 23 + 24 + 36 + 37 + 54 + 55 + 48 + 92 + 93 + 101 + 102 + 108 + 109 + 114 + 115 + 116 43 @@ -953,7 +987,8 @@ - + + 10 25 38 @@ -996,17 +1031,17 @@ - + + 44 - - - + - + + 45 @@ -1014,7 +1049,8 @@ - + + 46 @@ -1022,7 +1058,8 @@ - + + 47 @@ -1030,7 +1067,8 @@ - + + 0 18 31 @@ -1070,42 +1108,30 @@ - - 10 - 25 - 38 - 11 - 15 - 26 - 29 - 39 - 42 - 12 - 13 - 14 - 16 - 17 - 27 - 28 - 30 - 40 - 41 - 43 - 49 - 50 - 51 - 52 - 94 - 95 - 96 - 97 - 98 - 103 - 104 - 105 - 110 - 111 - 112 + + + 7 + 22 + 35 + 47 + 8 + 9 + 23 + 24 + 36 + 37 + 54 + 55 + 48 + 92 + 93 + 101 + 102 + 108 + 109 + 114 + 115 + 116 48 @@ -1113,7 +1139,8 @@ - + + 10 25 38 @@ -1156,36 +1183,40 @@ - + + 49 - + - + + 50 - + - + + 51 - + - + + 0 18 31 @@ -1222,13 +1253,48 @@ 52 - - + + - + + + 7 + 22 + 35 + 47 + 8 + 9 + 23 + 24 + 36 + 37 + 54 + 55 + 48 + 92 + 93 + 101 + 102 + 108 + 109 + 114 + 115 + 116 + + 52 + + + + + + + + + + 10 25 38 @@ -1268,432 +1334,680 @@ 52 - - - - - - 10 - 25 - 38 - 11 - 15 - 26 - 29 - 39 - 42 - 12 - 13 - 14 - 16 - 17 - 27 - 28 - 30 - 40 - 41 - 43 - 49 - 50 - 51 - 52 - 94 - 95 - 96 - 97 - 98 - 103 - 104 - 105 - 110 - 111 - 112 - - 52 - - + - - - - + + 53 - + - + + 54 - + - + + 55 - - + - + + 56 - + - + + 57 - + - + + 58 - + - + + 59 - + - + + 60 - - - + - + + + 0 + 18 + 31 + 44 + 53 + 1 + 4 + 19 + 32 + 45 + 56 + 2 + 3 + 5 + 6 + 20 + 21 + 33 + 34 + 46 + 57 + 88 + 89 + 90 + 91 + 99 + 100 + 106 + 107 + 113 + 117 + 118 61 - - + + - + + + 7 + 22 + 35 + 47 + 8 + 9 + 23 + 24 + 36 + 37 + 54 + 55 + 48 + 92 + 93 + 101 + 102 + 108 + 109 + 114 + 115 + 116 + + 61 + + + + + + + + + + + 10 + 25 + 38 + 11 + 15 + 26 + 29 + 39 + 42 + 12 + 13 + 14 + 16 + 17 + 27 + 28 + 30 + 40 + 41 + 43 + 49 + 50 + 51 + 52 + 94 + 95 + 96 + 97 + 98 + 103 + 104 + 105 + 110 + 111 + 112 + + 61 + + + + + + + + + + 62 - + - + + 63 - + - + + 64 - + - + + 65 - - + - + + 66 - + - + + 67 - + - + + 68 - + - + + 69 - + - + + 70 - - - + - + + 71 - + - + + 72 - + - + + 73 - + - + + 74 - + - + + 75 - - - + - + + + 0 + 18 + 31 + 44 + 53 + 1 + 4 + 19 + 32 + 45 + 56 + 2 + 3 + 5 + 6 + 20 + 21 + 33 + 34 + 46 + 57 + 88 + 89 + 90 + 91 + 99 + 100 + 106 + 107 + 113 + 117 + 118 76 - - - + - + + + 7 + 22 + 35 + 47 + 8 + 9 + 23 + 24 + 36 + 37 + 54 + 55 + 48 + 92 + 93 + 101 + 102 + 108 + 109 + 114 + 115 + 116 + + 76 + + + + + + + + + + + 10 + 25 + 38 + 11 + 15 + 26 + 29 + 39 + 42 + 12 + 13 + 14 + 16 + 17 + 27 + 28 + 30 + 40 + 41 + 43 + 49 + 50 + 51 + 52 + 94 + 95 + 96 + 97 + 98 + 103 + 104 + 105 + 110 + 111 + 112 + + 76 + + + + + + + + + + 77 - - - - + - + + 78 - - - - + - + + 79 - - - - + - + + 80 - - + - + + + + 81 + + + + + + + + + + + + 82 + + + + + + + + + + + 83 + + + + + + + + + + + 84 + + + + + + + + + - + - + + - + + - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + - - + + + + true + + 24025,24026,24027,24028,24029,24030,24031,24032,24033,24035,24039,24040 - + - + + 29022 @@ -1701,17 +2015,24 @@ - + + - + - - + + 1 20 @@ -1720,7 +2041,8 @@ - + + 21 40 @@ -1729,7 +2051,8 @@ - + + 41 50 @@ -1738,7 +2061,8 @@ - + + 51 60 @@ -1747,7 +2071,8 @@ - + + 61 70 @@ -1756,7 +2081,8 @@ - + + 71 75 @@ -1765,179 +2091,467 @@ - + + 76 + 99 - 1 20 + + + - + + 21 40 + + + - + + + + + 25794,25795,25796,25797,25798,25799,25800,25801,25802,25803,25804,25805,25806,25807,25808,25809,25810,25811,25812,25813 + 40 + 99 + + + + + + + + + 25794,25795,25796,25797,25798,25799,25800,25801,25802,25803,25804,25805,25806,25807,25808,25809,25810,25811,25812,25813 + 40 + 99 + + + + + + 21733,21734,21735,21736,21742,21743,21744,21745 - + - - + + + + + + 20651,20652,20654,20656,20657,20658,24015,24016,24021,24022,20655,20771 + 76 + 99 - + - + + 21737,21738,21739,21740,21741,21746,21747,21748,21749,21750,21752,21753 + 78 + 99 - + - + + 21869,21870,21871,21876,21877,21878,21879,21888 + 78 + 99 - + - + + 21854,21855,81856,21857,21866,21867 + 78 + 99 - + + 29105 + 76 + 99 + 29106 + 76 + 99 + 29107 + 76 + 99 + 29108 + 76 + 99 + 85 - - + + + + + 86 + + + + + + + + + + diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java index ba11ba4bd5..345b7ec0ad 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java @@ -33,11 +33,15 @@ import org.l2jmobius.gameserver.network.serverpackets.fishing.ExFishingEnd.Fishi public class FishingDailyMissionHandler extends AbstractDailyMissionHandler { private final int _amount; + private final int _minLevel; + private final int _maxLevel; public FishingDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); _amount = holder.getRequiredCompletions(); + _minLevel = holder.getParams().getInt("minLevel", 0); + _maxLevel = holder.getParams().getInt("maxLevel", Byte.MAX_VALUE); } @Override @@ -75,6 +79,11 @@ public class FishingDailyMissionHandler extends AbstractDailyMissionHandler private void onPlayerFishing(OnPlayerFishing event) { final PlayerInstance player = event.getPlayer(); + if ((player.getLevel() < _minLevel) || (player.getLevel() > _maxLevel)) + { + return; + } + if (event.getReason() == FishingEndReason.WIN) { final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java index 1241df4aa5..ff1c3dab12 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java @@ -32,11 +32,13 @@ import org.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener; public class OlympiadDailyMissionHandler extends AbstractDailyMissionHandler { private final int _amount; + private final boolean _winOnly; public OlympiadDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); _amount = holder.getRequiredCompletions(); + _winOnly = holder.getParams().getBoolean("winOnly", false); } @Override @@ -86,7 +88,7 @@ public class OlympiadDailyMissionHandler extends AbstractDailyMissionHandler } } - if (event.getLoser() != null) + if (!_winOnly && (event.getLoser() != null)) { final DailyMissionPlayerEntry loseEntry = getPlayerEntry(event.getLoser().getObjectId(), true); if (loseEntry.getStatus() == DailyMissionStatus.NOT_AVAILABLE) diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java index 860125c379..d41a921237 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java @@ -34,9 +34,14 @@ import org.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener; */ public class SiegeDailyMissionHandler extends AbstractDailyMissionHandler { + private final int _minLevel; + private final int _maxLevel; + public SiegeDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); + _minLevel = holder.getParams().getInt("minLevel", 0); + _maxLevel = holder.getParams().getInt("maxLevel", Byte.MAX_VALUE); } @Override @@ -75,6 +80,11 @@ public class SiegeDailyMissionHandler extends AbstractDailyMissionHandler { clan.getOnlineMembers(0).forEach(player -> { + if ((player.getLevel() < _minLevel) || (player.getLevel() > _maxLevel)) + { + return; + } + final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); entry.setStatus(DailyMissionStatus.AVAILABLE); storePlayerEntry(entry); diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/xsd/DailyMission.xsd b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/xsd/DailyMission.xsd index b2f4826356..b201347d63 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/xsd/DailyMission.xsd +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/xsd/DailyMission.xsd @@ -18,7 +18,7 @@ - + diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/DailyMission.xml b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/DailyMission.xml index d0f339de1a..48bb6f0169 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/DailyMission.xml +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/DailyMission.xml @@ -1,1943 +1,963 @@ - - - 2 + + + + 1 + 20 - + + - - - 3 + + + + 21 + 40 - + + + + - - - 4 + + + + 41 + 50 - + + - - - 5 + + + + 51 + 60 - + + - - - 6 + + + + 61 + 70 - + + - - - 7 + + + + 71 + 75 - + + - - - 8 + + + + 76 + 99 - + + - - - 9 + + + + 76 + 99 - + - - 0 - 18 - 31 - 44 - 53 - 1 - 4 - 19 - 32 - 45 - 56 - 2 - 3 - 5 - 6 - 20 - 21 - 33 - 34 - 46 - 57 - 88 - 89 - 90 - 91 - 99 - 100 - 106 - 107 - 113 - 117 - 118 - - 10 - - - - - - - - - 7 - 22 - 35 - 47 - 8 - 9 - 23 - 24 - 36 - 37 - 54 - 55 - 48 - 92 - 93 - 101 - 102 - 108 - 109 - 114 - 115 - 116 - - 10 - - - - - - - - - 10 - 25 - 38 - 11 - 15 - 26 - 29 - 39 - 42 - 12 - 13 - 14 - 16 - 17 - 27 - 28 - 30 - 40 - 41 - 43 - 49 - 50 - 51 - 52 - 94 - 95 - 96 - 97 - 98 - 103 - 104 - 105 - 110 - 111 - 112 - - 10 - - - - - - - - - - 11 - - - - - - - - 12 - - - - - - - - 13 - - - - - - - - 14 - - - - - - - - 15 - - - - - - - - 16 - - - - - - - - 17 - - - - - - - 0 - 18 - 31 - 44 - 53 - 1 - 4 - 19 - 32 - 45 - 56 - 2 - 3 - 5 - 6 - 20 - 21 - 33 - 34 - 46 - 57 - 88 - 89 - 90 - 91 - 99 - 100 - 106 - 107 - 113 - 117 - 118 - - 18 - - - - - - - 7 - 22 - 35 - 47 - 8 - 9 - 23 - 24 - 36 - 37 - 54 - 55 - 48 - 92 - 93 - 101 - 102 - 108 - 109 - 114 - 115 - 116 - - 18 - - - - - - - 10 - 25 - 38 - 11 - 15 - 26 - 29 - 39 - 42 - 12 - 13 - 14 - 16 - 17 - 27 - 28 - 30 - 40 - 41 - 43 - 49 - 50 - 51 - 52 - 94 - 95 - 96 - 97 - 98 - 103 - 104 - 105 - 110 - 111 - 112 - - 18 - - - - - - - - 19 - - - - - - - - 20 - - - - - - - - - - - 21 - - - - - - - - 22 - - - - - - - 0 - 18 - 31 - 44 - 53 - 1 - 4 - 19 - 32 - 45 - 56 - 2 - 3 - 5 - 6 - 20 - 21 - 33 - 34 - 46 - 57 - 88 - 89 - 90 - 91 - 99 - 100 - 106 - 107 - 113 - 117 - 118 - - 23 - - - - - - - 7 - 22 - 35 - 47 - 8 - 9 - 23 - 24 - 36 - 37 - 54 - 55 - 48 - 92 - 93 - 101 - 102 - 108 - 109 - 114 - 115 - 116 - - 18 - - - - - - - 10 - 25 - 38 - 11 - 15 - 26 - 29 - 39 - 42 - 12 - 13 - 14 - 16 - 17 - 27 - 28 - 30 - 40 - 41 - 43 - 49 - 50 - 51 - 52 - 94 - 95 - 96 - 97 - 98 - 103 - 104 - 105 - 110 - 111 - 112 - - 23 - - - - - - - - 24 - - - - - - - - - - 25 - - - - - - - - 26 - - - - - - - - 27 - - - - - - - 0 - 18 - 31 - 44 - 53 - 1 - 4 - 19 - 32 - 45 - 56 - 2 - 3 - 5 - 6 - 20 - 21 - 33 - 34 - 46 - 57 - 88 - 89 - 90 - 91 - 99 - 100 - 106 - 107 - 113 - 117 - 118 - - 28 - - - - - - - 7 - 22 - 35 - 47 - 8 - 9 - 23 - 24 - 36 - 37 - 54 - 55 - 48 - 92 - 93 - 101 - 102 - 108 - 109 - 114 - 115 - 116 - - 28 - - - - - - - 10 - 25 - 38 - 11 - 15 - 26 - 29 - 39 - 42 - 12 - 13 - 14 - 16 - 17 - 27 - 28 - 30 - 40 - 41 - 43 - 49 - 50 - 51 - 52 - 94 - 95 - 96 - 97 - 98 - 103 - 104 - 105 - 110 - 111 - 112 - - 28 - - - - - - - - 29 - - - - - - - - - - 30 - - - - - - - - 31 - - - - - - - - 32 - - - - - - - - 33 - - - - - - - - 34 - - - - - - - - - - 35 - - - - - - - - 36 - - - - - - - - 37 - - - - - - - 0 - 18 - 31 - 44 - 53 - 1 - 4 - 19 - 32 - 45 - 56 - 2 - 3 - 5 - 6 - 20 - 21 - 33 - 34 - 46 - 57 - 88 - 89 - 90 - 91 - 99 - 100 - 106 - 107 - 113 - 117 - 118 - - 38 - - - - - - - 7 - 22 - 35 - 47 - 8 - 9 - 23 - 24 - 36 - 37 - 54 - 55 - 48 - 92 - 93 - 101 - 102 - 108 - 109 - 114 - 115 - 116 - - 38 - - - - - - - 10 - 25 - 38 - 11 - 15 - 26 - 29 - 39 - 42 - 12 - 13 - 14 - 16 - 17 - 27 - 28 - 30 - 40 - 41 - 43 - 49 - 50 - 51 - 52 - 94 - 95 - 96 - 97 - 98 - 103 - 104 - 105 - 110 - 111 - 112 - - 38 - - - - - - - - 39 - - - - - - - - - - 40 - - - - - - - - 41 - - - - - - - - 42 - - - - - - - 0 - 18 - 31 - 44 - 53 - 1 - 4 - 19 - 32 - 45 - 56 - 2 - 3 - 5 - 6 - 20 - 21 - 33 - 34 - 46 - 57 - 88 - 89 - 90 - 91 - 99 - 100 - 106 - 107 - 113 - 117 - 118 - - 43 - - - - - - - 10 - 25 - 38 - 11 - 15 - 26 - 29 - 39 - 42 - 12 - 13 - 14 - 16 - 17 - 27 - 28 - 30 - 40 - 41 - 43 - 49 - 50 - 51 - 52 - 94 - 95 - 96 - 97 - 98 - 103 - 104 - 105 - 110 - 111 - 112 - - 43 - - - - - - - 10 - 25 - 38 - 11 - 15 - 26 - 29 - 39 - 42 - 12 - 13 - 14 - 16 - 17 - 27 - 28 - 30 - 40 - 41 - 43 - 49 - 50 - 51 - 52 - 94 - 95 - 96 - 97 - 98 - 103 - 104 - 105 - 110 - 111 - 112 - - 43 - - - - - - - - 44 - - - - - - - - - - 45 - - - - - - - - 46 - - - - - - - - 47 - - - - - - - 0 - 18 - 31 - 44 - 53 - 1 - 4 - 19 - 32 - 45 - 56 - 2 - 3 - 5 - 6 - 20 - 21 - 33 - 34 - 46 - 57 - 88 - 89 - 90 - 91 - 99 - 100 - 106 - 107 - 113 - 117 - 118 - - 48 - - - - - - - 10 - 25 - 38 - 11 - 15 - 26 - 29 - 39 - 42 - 12 - 13 - 14 - 16 - 17 - 27 - 28 - 30 - 40 - 41 - 43 - 49 - 50 - 51 - 52 - 94 - 95 - 96 - 97 - 98 - 103 - 104 - 105 - 110 - 111 - 112 - - 48 - - - - - - - 10 - 25 - 38 - 11 - 15 - 26 - 29 - 39 - 42 - 12 - 13 - 14 - 16 - 17 - 27 - 28 - 30 - 40 - 41 - 43 - 49 - 50 - 51 - 52 - 94 - 95 - 96 - 97 - 98 - 103 - 104 - 105 - 110 - 111 - 112 - - 48 - - - - - - - - 49 - - - - - - - - 50 - - - - - - - - - - 51 - - - - - - - - - - 0 - 18 - 31 - 44 - 53 - 1 - 4 - 19 - 32 - 45 - 56 - 2 - 3 - 5 - 6 - 20 - 21 - 33 - 34 - 46 - 57 - 88 - 89 - 90 - 91 - 99 - 100 - 106 - 107 - 113 - 117 - 118 - - 52 - - - - - - - - - - 10 - 25 - 38 - 11 - 15 - 26 - 29 - 39 - 42 - 12 - 13 - 14 - 16 - 17 - 27 - 28 - 30 - 40 - 41 - 43 - 49 - 50 - 51 - 52 - 94 - 95 - 96 - 97 - 98 - 103 - 104 - 105 - 110 - 111 - 112 - - 52 - - - - - - - - - - 10 - 25 - 38 - 11 - 15 - 26 - 29 - 39 - 42 - 12 - 13 - 14 - 16 - 17 - 27 - 28 - 30 - 40 - 41 - 43 - 49 - 50 - 51 - 52 - 94 - 95 - 96 - 97 - 98 - 103 - 104 - 105 - 110 - 111 - 112 - - 52 - - - - - - - - - - - 53 - - - - - - - - - - 54 - - - - - - - - - - 55 - - - - - - - - - - - - 56 - - - - - - - - - - 57 - - - - - - - - - - 58 - - - - - - - - - - 59 - - - - - - - - - - 60 - - - - - - - - - - - - - 61 - - - - - - - - - - - 62 - - - - - - - - - - 63 - - - - - - - - - - 64 - - - - - - - - - - 65 - - - - - - - - - - - - 66 - - - - - - - - - - 67 - - - - - - - - - - 68 - - - - - - - - - - 69 - - - - - - - - - - 70 - - - - - - - - - - - - - 71 - - - - - - - - - - 72 - - - - - - - - - - 73 - - - - - - - - - - 74 - - - - - - - - - - 75 - - - - - - - - - - - - - 76 - - - - - - - - - - - - - 77 - - - - - - - - - - - - - - 78 - - - - - - - - - - - - - - 79 - - - - - - - - - - - - - - 80 - - - - - - - - - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + 40 + 99 + - - - - - - - - - - - - - - - 24025,24026,24027,24028,24029,24030,24031,24032,24033,24035,24039,24040 + - + + - 1 - 20 + 25794,25795,25796,25797,25798,25799,25800,25801,25802,25803,25804,25805,25806,25807,25808,25809,25810,25811,25812,25813 + 40 + 99 - + - + + - 21 - 40 + 25794,25795,25796,25797,25798,25799,25800,25801,25802,25803,25804,25805,25806,25807,25808,25809,25810,25811,25812,25813 + 40 + 99 - + - + + + - - - 21733,21734,21735,21736,21742,21743,21744,21745 + 99 - + - - + + 20651,20652,20654,20656,20657,20658,24015,24016,24021,24022,20655,20771 + 76 + 99 - + - + + 21737,21738,21739,21740,21741,21746,21747,21748,21749,21750,21752,21753 + 78 + 99 - + - + + 21869,21870,21871,21876,21877,21878,21879,21888 + 78 + 99 - + - + + 21854,21855,81856,21857,21866,21867 + 78 + 99 - + + 29105 + 76 + 99 - + + 29106 + 76 + 99 - + + 29107 + 76 + 99 - + + 29108 + 76 + 99 - + + + + 1 + 20 + + + + + + + + + 21 + 40 + + + + + + + + + + + 41 + 50 + + + + + + + + + 51 + 60 + + + + + + + + + 61 + 70 + + + + + + + + + 71 + 75 + + + + + + + + + 76 + 99 + + + + + + + + + 1 + 20 + + + + + + + + + 21 + 40 + + + + + + + + + + + 41 + 50 + + + + + + + + + 51 + 60 + + + + + + + + + 61 + 70 + + + + + + + + + 71 + 75 + + + + + + + + + 76 + 99 + + + + + + + + + + 1 + 20 + + + + + + + + + 21 + 40 + + + + + + + + + + + 41 + 50 + + + + + + + + + 51 + 60 + + + + + + + + + 61 + 70 + + + + + + + + + 71 + 75 + + + + + + + + + 76 + 99 + + + + + + + + + 1 + 20 + + + + + + + + + 21 + 40 + + + + + + + + + + + 41 + 50 + + + + + + + + + 51 + 60 + + + + + + + + + 61 + 70 + + + + + + + + + 71 + 75 + + + + + + + + + 76 + 99 + + + + + + + + + + 10 + + + + + + + + + + + 20 + + + + + + + + + + + 30 + + + + + + + + + + + 40 + + + + + + + + + + 45 + + + + + + + + + + 50 + + + + + + + + + + 55 + + + + + + + + + + 60 + + + + + + + + + + 65 + + + + + + + + + + + 68 + + + + + + + + + + + 71 + + + + + + + + + + + 74 + + + + + + + + + + + 76 + + + + + + + + + + + 78 + + + + + + + + + + + 79 + + + + + + + + + + + 80 + + + + + + + + + + + 81 + + + + + + + + + + + 82 + + + + + + + + + + + 83 + + + + + + + + + + + 84 + + + + + + + + + 85 - - - - - + + + + + + + + + 86 + + + + + diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java index ba11ba4bd5..345b7ec0ad 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/dailymissionhandlers/FishingDailyMissionHandler.java @@ -33,11 +33,15 @@ import org.l2jmobius.gameserver.network.serverpackets.fishing.ExFishingEnd.Fishi public class FishingDailyMissionHandler extends AbstractDailyMissionHandler { private final int _amount; + private final int _minLevel; + private final int _maxLevel; public FishingDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); _amount = holder.getRequiredCompletions(); + _minLevel = holder.getParams().getInt("minLevel", 0); + _maxLevel = holder.getParams().getInt("maxLevel", Byte.MAX_VALUE); } @Override @@ -75,6 +79,11 @@ public class FishingDailyMissionHandler extends AbstractDailyMissionHandler private void onPlayerFishing(OnPlayerFishing event) { final PlayerInstance player = event.getPlayer(); + if ((player.getLevel() < _minLevel) || (player.getLevel() > _maxLevel)) + { + return; + } + if (event.getReason() == FishingEndReason.WIN) { final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java index 1241df4aa5..ff1c3dab12 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/dailymissionhandlers/OlympiadDailyMissionHandler.java @@ -32,11 +32,13 @@ import org.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener; public class OlympiadDailyMissionHandler extends AbstractDailyMissionHandler { private final int _amount; + private final boolean _winOnly; public OlympiadDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); _amount = holder.getRequiredCompletions(); + _winOnly = holder.getParams().getBoolean("winOnly", false); } @Override @@ -86,7 +88,7 @@ public class OlympiadDailyMissionHandler extends AbstractDailyMissionHandler } } - if (event.getLoser() != null) + if (!_winOnly && (event.getLoser() != null)) { final DailyMissionPlayerEntry loseEntry = getPlayerEntry(event.getLoser().getObjectId(), true); if (loseEntry.getStatus() == DailyMissionStatus.NOT_AVAILABLE) diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java index 860125c379..d41a921237 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/dailymissionhandlers/SiegeDailyMissionHandler.java @@ -34,9 +34,14 @@ import org.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener; */ public class SiegeDailyMissionHandler extends AbstractDailyMissionHandler { + private final int _minLevel; + private final int _maxLevel; + public SiegeDailyMissionHandler(DailyMissionDataHolder holder) { super(holder); + _minLevel = holder.getParams().getInt("minLevel", 0); + _maxLevel = holder.getParams().getInt("maxLevel", Byte.MAX_VALUE); } @Override @@ -75,6 +80,11 @@ public class SiegeDailyMissionHandler extends AbstractDailyMissionHandler { clan.getOnlineMembers(0).forEach(player -> { + if ((player.getLevel() < _minLevel) || (player.getLevel() > _maxLevel)) + { + return; + } + final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); entry.setStatus(DailyMissionStatus.AVAILABLE); storePlayerEntry(entry); diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/xsd/DailyMission.xsd b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/xsd/DailyMission.xsd index b2f4826356..b201347d63 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/xsd/DailyMission.xsd +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/xsd/DailyMission.xsd @@ -18,7 +18,7 @@ - +