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 @@
-
+