diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/xsd/TimedHuntingZoneData.xsd b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/xsd/TimedHuntingZoneData.xsd index d3aa0612e6..c5e156dddc 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/xsd/TimedHuntingZoneData.xsd +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/xsd/TimedHuntingZoneData.xsd @@ -16,6 +16,7 @@ + diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/data/xml/TimedHuntingZoneData.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/data/xml/TimedHuntingZoneData.java index c8a9863f02..9786b60219 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/data/xml/TimedHuntingZoneData.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/data/xml/TimedHuntingZoneData.java @@ -88,6 +88,7 @@ public class TimedHuntingZoneData implements IXmlReader int remainRefillTime = 3600; int refillTimeMax = 3600; int instanceId = 0; + boolean checkInstanceTime = true; boolean weekly = false; Location enterLocation = null; for (Node zoneNode = listNode.getFirstChild(); zoneNode != null; zoneNode = zoneNode.getNextSibling()) @@ -150,6 +151,11 @@ public class TimedHuntingZoneData implements IXmlReader instanceId = Integer.parseInt(zoneNode.getTextContent()); break; } + case "checkInstanceTime": + { + checkInstanceTime = Boolean.parseBoolean(zoneNode.getTextContent()); + break; + } case "weekly": { weekly = Boolean.parseBoolean(zoneNode.getTextContent()); @@ -157,7 +163,7 @@ public class TimedHuntingZoneData implements IXmlReader } } } - _timedHuntingZoneData.put(id, new TimedHuntingZoneHolder(id, name, initialTime, maxAddedTime, resetDelay, entryItemId, entryFee, minLevel, maxLevel, remainRefillTime, refillTimeMax, instanceId, weekly, enterLocation)); + _timedHuntingZoneData.put(id, new TimedHuntingZoneHolder(id, name, initialTime, maxAddedTime, resetDelay, entryItemId, entryFee, minLevel, maxLevel, remainRefillTime, refillTimeMax, instanceId, checkInstanceTime, weekly, enterLocation)); } } } diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/holders/TimedHuntingZoneHolder.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/holders/TimedHuntingZoneHolder.java index b487e8d74b..a32fa35710 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/holders/TimedHuntingZoneHolder.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/holders/TimedHuntingZoneHolder.java @@ -36,12 +36,13 @@ public class TimedHuntingZoneHolder private final int _remainRefillTime; private final int _refillTimeMax; private final int _instanceId; + private final boolean _checkInstanceTime; private final boolean _weekly; private final Location _enterLocation; private final int _mapX; private final int _mapY; - public TimedHuntingZoneHolder(int id, String name, int initialTime, int maximumAddedTime, int resetDelay, int entryItemId, int entryFee, int minLevel, int maxLevel, int remainRefillTime, int refillTimeMax, int instanceId, boolean weekly, Location enterLocation) + public TimedHuntingZoneHolder(int id, String name, int initialTime, int maximumAddedTime, int resetDelay, int entryItemId, int entryFee, int minLevel, int maxLevel, int remainRefillTime, int refillTimeMax, int instanceId, boolean checkInstanceTime, boolean weekly, Location enterLocation) { _id = id; _name = name; @@ -55,6 +56,7 @@ public class TimedHuntingZoneHolder _remainRefillTime = remainRefillTime; _refillTimeMax = refillTimeMax; _instanceId = instanceId; + _checkInstanceTime = checkInstanceTime; _weekly = weekly; _enterLocation = enterLocation; _mapX = ((_enterLocation.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN; @@ -121,6 +123,11 @@ public class TimedHuntingZoneHolder return _instanceId; } + public boolean checkInstanceTime() + { + return _checkInstanceTime; + } + public boolean isWeekly() { return _weekly; diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java index c8e62fd7e0..3d68d771ce 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java @@ -102,7 +102,7 @@ public class ExTimedHuntingZoneEnter implements IClientIncomingPacket } final int instanceId = holder.getInstanceId(); - if ((instanceId > 0) && (InstanceManager.getInstance().getInstanceTime(player, instanceId) > Chronos.currentTimeMillis())) + if ((instanceId > 0) && holder.checkInstanceTime() && (InstanceManager.getInstance().getInstanceTime(player, instanceId) > Chronos.currentTimeMillis())) { player.sendMessage("This transcendent instance has not reset yet."); return; diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/xsd/TimedHuntingZoneData.xsd b/L2J_Mobius_8.0_Homunculus/dist/game/data/xsd/TimedHuntingZoneData.xsd index d3aa0612e6..c5e156dddc 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/xsd/TimedHuntingZoneData.xsd +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/xsd/TimedHuntingZoneData.xsd @@ -16,6 +16,7 @@ + diff --git a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/data/xml/TimedHuntingZoneData.java b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/data/xml/TimedHuntingZoneData.java index c8a9863f02..9786b60219 100644 --- a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/data/xml/TimedHuntingZoneData.java +++ b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/data/xml/TimedHuntingZoneData.java @@ -88,6 +88,7 @@ public class TimedHuntingZoneData implements IXmlReader int remainRefillTime = 3600; int refillTimeMax = 3600; int instanceId = 0; + boolean checkInstanceTime = true; boolean weekly = false; Location enterLocation = null; for (Node zoneNode = listNode.getFirstChild(); zoneNode != null; zoneNode = zoneNode.getNextSibling()) @@ -150,6 +151,11 @@ public class TimedHuntingZoneData implements IXmlReader instanceId = Integer.parseInt(zoneNode.getTextContent()); break; } + case "checkInstanceTime": + { + checkInstanceTime = Boolean.parseBoolean(zoneNode.getTextContent()); + break; + } case "weekly": { weekly = Boolean.parseBoolean(zoneNode.getTextContent()); @@ -157,7 +163,7 @@ public class TimedHuntingZoneData implements IXmlReader } } } - _timedHuntingZoneData.put(id, new TimedHuntingZoneHolder(id, name, initialTime, maxAddedTime, resetDelay, entryItemId, entryFee, minLevel, maxLevel, remainRefillTime, refillTimeMax, instanceId, weekly, enterLocation)); + _timedHuntingZoneData.put(id, new TimedHuntingZoneHolder(id, name, initialTime, maxAddedTime, resetDelay, entryItemId, entryFee, minLevel, maxLevel, remainRefillTime, refillTimeMax, instanceId, checkInstanceTime, weekly, enterLocation)); } } } diff --git a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/holders/TimedHuntingZoneHolder.java b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/holders/TimedHuntingZoneHolder.java index b487e8d74b..a32fa35710 100644 --- a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/holders/TimedHuntingZoneHolder.java +++ b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/holders/TimedHuntingZoneHolder.java @@ -36,12 +36,13 @@ public class TimedHuntingZoneHolder private final int _remainRefillTime; private final int _refillTimeMax; private final int _instanceId; + private final boolean _checkInstanceTime; private final boolean _weekly; private final Location _enterLocation; private final int _mapX; private final int _mapY; - public TimedHuntingZoneHolder(int id, String name, int initialTime, int maximumAddedTime, int resetDelay, int entryItemId, int entryFee, int minLevel, int maxLevel, int remainRefillTime, int refillTimeMax, int instanceId, boolean weekly, Location enterLocation) + public TimedHuntingZoneHolder(int id, String name, int initialTime, int maximumAddedTime, int resetDelay, int entryItemId, int entryFee, int minLevel, int maxLevel, int remainRefillTime, int refillTimeMax, int instanceId, boolean checkInstanceTime, boolean weekly, Location enterLocation) { _id = id; _name = name; @@ -55,6 +56,7 @@ public class TimedHuntingZoneHolder _remainRefillTime = remainRefillTime; _refillTimeMax = refillTimeMax; _instanceId = instanceId; + _checkInstanceTime = checkInstanceTime; _weekly = weekly; _enterLocation = enterLocation; _mapX = ((_enterLocation.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN; @@ -121,6 +123,11 @@ public class TimedHuntingZoneHolder return _instanceId; } + public boolean checkInstanceTime() + { + return _checkInstanceTime; + } + public boolean isWeekly() { return _weekly; diff --git a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java index c8e62fd7e0..3d68d771ce 100644 --- a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java +++ b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java @@ -102,7 +102,7 @@ public class ExTimedHuntingZoneEnter implements IClientIncomingPacket } final int instanceId = holder.getInstanceId(); - if ((instanceId > 0) && (InstanceManager.getInstance().getInstanceTime(player, instanceId) > Chronos.currentTimeMillis())) + if ((instanceId > 0) && holder.checkInstanceTime() && (InstanceManager.getInstance().getInstanceTime(player, instanceId) > Chronos.currentTimeMillis())) { player.sendMessage("This transcendent instance has not reset yet."); return; diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/xsd/TimedHuntingZoneData.xsd b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/xsd/TimedHuntingZoneData.xsd index d3aa0612e6..c5e156dddc 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/xsd/TimedHuntingZoneData.xsd +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/xsd/TimedHuntingZoneData.xsd @@ -16,6 +16,7 @@ + diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/data/xml/TimedHuntingZoneData.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/data/xml/TimedHuntingZoneData.java index c8a9863f02..9786b60219 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/data/xml/TimedHuntingZoneData.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/data/xml/TimedHuntingZoneData.java @@ -88,6 +88,7 @@ public class TimedHuntingZoneData implements IXmlReader int remainRefillTime = 3600; int refillTimeMax = 3600; int instanceId = 0; + boolean checkInstanceTime = true; boolean weekly = false; Location enterLocation = null; for (Node zoneNode = listNode.getFirstChild(); zoneNode != null; zoneNode = zoneNode.getNextSibling()) @@ -150,6 +151,11 @@ public class TimedHuntingZoneData implements IXmlReader instanceId = Integer.parseInt(zoneNode.getTextContent()); break; } + case "checkInstanceTime": + { + checkInstanceTime = Boolean.parseBoolean(zoneNode.getTextContent()); + break; + } case "weekly": { weekly = Boolean.parseBoolean(zoneNode.getTextContent()); @@ -157,7 +163,7 @@ public class TimedHuntingZoneData implements IXmlReader } } } - _timedHuntingZoneData.put(id, new TimedHuntingZoneHolder(id, name, initialTime, maxAddedTime, resetDelay, entryItemId, entryFee, minLevel, maxLevel, remainRefillTime, refillTimeMax, instanceId, weekly, enterLocation)); + _timedHuntingZoneData.put(id, new TimedHuntingZoneHolder(id, name, initialTime, maxAddedTime, resetDelay, entryItemId, entryFee, minLevel, maxLevel, remainRefillTime, refillTimeMax, instanceId, checkInstanceTime, weekly, enterLocation)); } } } diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/holders/TimedHuntingZoneHolder.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/holders/TimedHuntingZoneHolder.java index b487e8d74b..a32fa35710 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/holders/TimedHuntingZoneHolder.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/holders/TimedHuntingZoneHolder.java @@ -36,12 +36,13 @@ public class TimedHuntingZoneHolder private final int _remainRefillTime; private final int _refillTimeMax; private final int _instanceId; + private final boolean _checkInstanceTime; private final boolean _weekly; private final Location _enterLocation; private final int _mapX; private final int _mapY; - public TimedHuntingZoneHolder(int id, String name, int initialTime, int maximumAddedTime, int resetDelay, int entryItemId, int entryFee, int minLevel, int maxLevel, int remainRefillTime, int refillTimeMax, int instanceId, boolean weekly, Location enterLocation) + public TimedHuntingZoneHolder(int id, String name, int initialTime, int maximumAddedTime, int resetDelay, int entryItemId, int entryFee, int minLevel, int maxLevel, int remainRefillTime, int refillTimeMax, int instanceId, boolean checkInstanceTime, boolean weekly, Location enterLocation) { _id = id; _name = name; @@ -55,6 +56,7 @@ public class TimedHuntingZoneHolder _remainRefillTime = remainRefillTime; _refillTimeMax = refillTimeMax; _instanceId = instanceId; + _checkInstanceTime = checkInstanceTime; _weekly = weekly; _enterLocation = enterLocation; _mapX = ((_enterLocation.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN; @@ -121,6 +123,11 @@ public class TimedHuntingZoneHolder return _instanceId; } + public boolean checkInstanceTime() + { + return _checkInstanceTime; + } + public boolean isWeekly() { return _weekly; diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java index c8e62fd7e0..3d68d771ce 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java @@ -102,7 +102,7 @@ public class ExTimedHuntingZoneEnter implements IClientIncomingPacket } final int instanceId = holder.getInstanceId(); - if ((instanceId > 0) && (InstanceManager.getInstance().getInstanceTime(player, instanceId) > Chronos.currentTimeMillis())) + if ((instanceId > 0) && holder.checkInstanceTime() && (InstanceManager.getInstance().getInstanceTime(player, instanceId) > Chronos.currentTimeMillis())) { player.sendMessage("This transcendent instance has not reset yet."); return; diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/xsd/TimedHuntingZoneData.xsd b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/xsd/TimedHuntingZoneData.xsd index d3aa0612e6..c5e156dddc 100644 --- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/xsd/TimedHuntingZoneData.xsd +++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/xsd/TimedHuntingZoneData.xsd @@ -16,6 +16,7 @@ + diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/data/xml/TimedHuntingZoneData.java b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/data/xml/TimedHuntingZoneData.java index ba14a592d3..01c84fe7fb 100644 --- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/data/xml/TimedHuntingZoneData.java +++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/data/xml/TimedHuntingZoneData.java @@ -88,6 +88,7 @@ public class TimedHuntingZoneData implements IXmlReader int remainRefillTime = 3600; int refillTimeMax = 3600; int instanceId = 0; + boolean checkInstanceTime = true; boolean weekly = false; Location enterLocation = null; for (Node zoneNode = listNode.getFirstChild(); zoneNode != null; zoneNode = zoneNode.getNextSibling()) @@ -150,6 +151,11 @@ public class TimedHuntingZoneData implements IXmlReader instanceId = Integer.parseInt(zoneNode.getTextContent()); break; } + case "checkInstanceTime": + { + checkInstanceTime = Boolean.parseBoolean(zoneNode.getTextContent()); + break; + } case "weekly": { weekly = Boolean.parseBoolean(zoneNode.getTextContent()); @@ -157,7 +163,7 @@ public class TimedHuntingZoneData implements IXmlReader } } } - _timedHuntingZoneData.put(id, new TimedHuntingZoneHolder(id, name, initialTime, maxAddedTime, resetDelay, entryItemId, entryFee, minLevel, maxLevel, remainRefillTime, refillTimeMax, instanceId, weekly, enterLocation)); + _timedHuntingZoneData.put(id, new TimedHuntingZoneHolder(id, name, initialTime, maxAddedTime, resetDelay, entryItemId, entryFee, minLevel, maxLevel, remainRefillTime, refillTimeMax, instanceId, checkInstanceTime, weekly, enterLocation)); } } } diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/holders/TimedHuntingZoneHolder.java b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/holders/TimedHuntingZoneHolder.java index b487e8d74b..a32fa35710 100644 --- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/holders/TimedHuntingZoneHolder.java +++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/holders/TimedHuntingZoneHolder.java @@ -36,12 +36,13 @@ public class TimedHuntingZoneHolder private final int _remainRefillTime; private final int _refillTimeMax; private final int _instanceId; + private final boolean _checkInstanceTime; private final boolean _weekly; private final Location _enterLocation; private final int _mapX; private final int _mapY; - public TimedHuntingZoneHolder(int id, String name, int initialTime, int maximumAddedTime, int resetDelay, int entryItemId, int entryFee, int minLevel, int maxLevel, int remainRefillTime, int refillTimeMax, int instanceId, boolean weekly, Location enterLocation) + public TimedHuntingZoneHolder(int id, String name, int initialTime, int maximumAddedTime, int resetDelay, int entryItemId, int entryFee, int minLevel, int maxLevel, int remainRefillTime, int refillTimeMax, int instanceId, boolean checkInstanceTime, boolean weekly, Location enterLocation) { _id = id; _name = name; @@ -55,6 +56,7 @@ public class TimedHuntingZoneHolder _remainRefillTime = remainRefillTime; _refillTimeMax = refillTimeMax; _instanceId = instanceId; + _checkInstanceTime = checkInstanceTime; _weekly = weekly; _enterLocation = enterLocation; _mapX = ((_enterLocation.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN; @@ -121,6 +123,11 @@ public class TimedHuntingZoneHolder return _instanceId; } + public boolean checkInstanceTime() + { + return _checkInstanceTime; + } + public boolean isWeekly() { return _weekly; diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java index 4a2232ae48..3d8b6c3663 100644 --- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java +++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java @@ -102,7 +102,7 @@ public class ExTimedHuntingZoneEnter implements IClientIncomingPacket } final int instanceId = holder.getInstanceId(); - if ((instanceId > 0) && (InstanceManager.getInstance().getInstanceTime(player, instanceId) > Chronos.currentTimeMillis())) + if ((instanceId > 0) && holder.checkInstanceTime() && (InstanceManager.getInstance().getInstanceTime(player, instanceId) > Chronos.currentTimeMillis())) { player.sendMessage("This transcendent instance has not reset yet."); return; diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/xsd/TimedHuntingZoneData.xsd b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/xsd/TimedHuntingZoneData.xsd index d3aa0612e6..c5e156dddc 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/xsd/TimedHuntingZoneData.xsd +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/xsd/TimedHuntingZoneData.xsd @@ -16,6 +16,7 @@ + diff --git a/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/data/xml/TimedHuntingZoneData.java b/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/data/xml/TimedHuntingZoneData.java index ba14a592d3..01c84fe7fb 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/data/xml/TimedHuntingZoneData.java +++ b/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/data/xml/TimedHuntingZoneData.java @@ -88,6 +88,7 @@ public class TimedHuntingZoneData implements IXmlReader int remainRefillTime = 3600; int refillTimeMax = 3600; int instanceId = 0; + boolean checkInstanceTime = true; boolean weekly = false; Location enterLocation = null; for (Node zoneNode = listNode.getFirstChild(); zoneNode != null; zoneNode = zoneNode.getNextSibling()) @@ -150,6 +151,11 @@ public class TimedHuntingZoneData implements IXmlReader instanceId = Integer.parseInt(zoneNode.getTextContent()); break; } + case "checkInstanceTime": + { + checkInstanceTime = Boolean.parseBoolean(zoneNode.getTextContent()); + break; + } case "weekly": { weekly = Boolean.parseBoolean(zoneNode.getTextContent()); @@ -157,7 +163,7 @@ public class TimedHuntingZoneData implements IXmlReader } } } - _timedHuntingZoneData.put(id, new TimedHuntingZoneHolder(id, name, initialTime, maxAddedTime, resetDelay, entryItemId, entryFee, minLevel, maxLevel, remainRefillTime, refillTimeMax, instanceId, weekly, enterLocation)); + _timedHuntingZoneData.put(id, new TimedHuntingZoneHolder(id, name, initialTime, maxAddedTime, resetDelay, entryItemId, entryFee, minLevel, maxLevel, remainRefillTime, refillTimeMax, instanceId, checkInstanceTime, weekly, enterLocation)); } } } diff --git a/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/holders/TimedHuntingZoneHolder.java b/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/holders/TimedHuntingZoneHolder.java index b487e8d74b..a32fa35710 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/holders/TimedHuntingZoneHolder.java +++ b/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/holders/TimedHuntingZoneHolder.java @@ -36,12 +36,13 @@ public class TimedHuntingZoneHolder private final int _remainRefillTime; private final int _refillTimeMax; private final int _instanceId; + private final boolean _checkInstanceTime; private final boolean _weekly; private final Location _enterLocation; private final int _mapX; private final int _mapY; - public TimedHuntingZoneHolder(int id, String name, int initialTime, int maximumAddedTime, int resetDelay, int entryItemId, int entryFee, int minLevel, int maxLevel, int remainRefillTime, int refillTimeMax, int instanceId, boolean weekly, Location enterLocation) + public TimedHuntingZoneHolder(int id, String name, int initialTime, int maximumAddedTime, int resetDelay, int entryItemId, int entryFee, int minLevel, int maxLevel, int remainRefillTime, int refillTimeMax, int instanceId, boolean checkInstanceTime, boolean weekly, Location enterLocation) { _id = id; _name = name; @@ -55,6 +56,7 @@ public class TimedHuntingZoneHolder _remainRefillTime = remainRefillTime; _refillTimeMax = refillTimeMax; _instanceId = instanceId; + _checkInstanceTime = checkInstanceTime; _weekly = weekly; _enterLocation = enterLocation; _mapX = ((_enterLocation.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN; @@ -121,6 +123,11 @@ public class TimedHuntingZoneHolder return _instanceId; } + public boolean checkInstanceTime() + { + return _checkInstanceTime; + } + public boolean isWeekly() { return _weekly; diff --git a/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java b/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java index 4a2232ae48..3d8b6c3663 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java +++ b/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java @@ -102,7 +102,7 @@ public class ExTimedHuntingZoneEnter implements IClientIncomingPacket } final int instanceId = holder.getInstanceId(); - if ((instanceId > 0) && (InstanceManager.getInstance().getInstanceTime(player, instanceId) > Chronos.currentTimeMillis())) + if ((instanceId > 0) && holder.checkInstanceTime() && (InstanceManager.getInstance().getInstanceTime(player, instanceId) > Chronos.currentTimeMillis())) { player.sendMessage("This transcendent instance has not reset yet."); return; diff --git a/L2J_Mobius_Essence_5.5_FrostLord/dist/game/data/xsd/TimedHuntingZoneData.xsd b/L2J_Mobius_Essence_5.5_FrostLord/dist/game/data/xsd/TimedHuntingZoneData.xsd index d3aa0612e6..c5e156dddc 100644 --- a/L2J_Mobius_Essence_5.5_FrostLord/dist/game/data/xsd/TimedHuntingZoneData.xsd +++ b/L2J_Mobius_Essence_5.5_FrostLord/dist/game/data/xsd/TimedHuntingZoneData.xsd @@ -16,6 +16,7 @@ + diff --git a/L2J_Mobius_Essence_5.5_FrostLord/java/org/l2jmobius/gameserver/data/xml/TimedHuntingZoneData.java b/L2J_Mobius_Essence_5.5_FrostLord/java/org/l2jmobius/gameserver/data/xml/TimedHuntingZoneData.java index ba14a592d3..01c84fe7fb 100644 --- a/L2J_Mobius_Essence_5.5_FrostLord/java/org/l2jmobius/gameserver/data/xml/TimedHuntingZoneData.java +++ b/L2J_Mobius_Essence_5.5_FrostLord/java/org/l2jmobius/gameserver/data/xml/TimedHuntingZoneData.java @@ -88,6 +88,7 @@ public class TimedHuntingZoneData implements IXmlReader int remainRefillTime = 3600; int refillTimeMax = 3600; int instanceId = 0; + boolean checkInstanceTime = true; boolean weekly = false; Location enterLocation = null; for (Node zoneNode = listNode.getFirstChild(); zoneNode != null; zoneNode = zoneNode.getNextSibling()) @@ -150,6 +151,11 @@ public class TimedHuntingZoneData implements IXmlReader instanceId = Integer.parseInt(zoneNode.getTextContent()); break; } + case "checkInstanceTime": + { + checkInstanceTime = Boolean.parseBoolean(zoneNode.getTextContent()); + break; + } case "weekly": { weekly = Boolean.parseBoolean(zoneNode.getTextContent()); @@ -157,7 +163,7 @@ public class TimedHuntingZoneData implements IXmlReader } } } - _timedHuntingZoneData.put(id, new TimedHuntingZoneHolder(id, name, initialTime, maxAddedTime, resetDelay, entryItemId, entryFee, minLevel, maxLevel, remainRefillTime, refillTimeMax, instanceId, weekly, enterLocation)); + _timedHuntingZoneData.put(id, new TimedHuntingZoneHolder(id, name, initialTime, maxAddedTime, resetDelay, entryItemId, entryFee, minLevel, maxLevel, remainRefillTime, refillTimeMax, instanceId, checkInstanceTime, weekly, enterLocation)); } } } diff --git a/L2J_Mobius_Essence_5.5_FrostLord/java/org/l2jmobius/gameserver/model/holders/TimedHuntingZoneHolder.java b/L2J_Mobius_Essence_5.5_FrostLord/java/org/l2jmobius/gameserver/model/holders/TimedHuntingZoneHolder.java index b487e8d74b..a32fa35710 100644 --- a/L2J_Mobius_Essence_5.5_FrostLord/java/org/l2jmobius/gameserver/model/holders/TimedHuntingZoneHolder.java +++ b/L2J_Mobius_Essence_5.5_FrostLord/java/org/l2jmobius/gameserver/model/holders/TimedHuntingZoneHolder.java @@ -36,12 +36,13 @@ public class TimedHuntingZoneHolder private final int _remainRefillTime; private final int _refillTimeMax; private final int _instanceId; + private final boolean _checkInstanceTime; private final boolean _weekly; private final Location _enterLocation; private final int _mapX; private final int _mapY; - public TimedHuntingZoneHolder(int id, String name, int initialTime, int maximumAddedTime, int resetDelay, int entryItemId, int entryFee, int minLevel, int maxLevel, int remainRefillTime, int refillTimeMax, int instanceId, boolean weekly, Location enterLocation) + public TimedHuntingZoneHolder(int id, String name, int initialTime, int maximumAddedTime, int resetDelay, int entryItemId, int entryFee, int minLevel, int maxLevel, int remainRefillTime, int refillTimeMax, int instanceId, boolean checkInstanceTime, boolean weekly, Location enterLocation) { _id = id; _name = name; @@ -55,6 +56,7 @@ public class TimedHuntingZoneHolder _remainRefillTime = remainRefillTime; _refillTimeMax = refillTimeMax; _instanceId = instanceId; + _checkInstanceTime = checkInstanceTime; _weekly = weekly; _enterLocation = enterLocation; _mapX = ((_enterLocation.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN; @@ -121,6 +123,11 @@ public class TimedHuntingZoneHolder return _instanceId; } + public boolean checkInstanceTime() + { + return _checkInstanceTime; + } + public boolean isWeekly() { return _weekly; diff --git a/L2J_Mobius_Essence_5.5_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java b/L2J_Mobius_Essence_5.5_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java index 4a2232ae48..3d8b6c3663 100644 --- a/L2J_Mobius_Essence_5.5_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java +++ b/L2J_Mobius_Essence_5.5_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java @@ -102,7 +102,7 @@ public class ExTimedHuntingZoneEnter implements IClientIncomingPacket } final int instanceId = holder.getInstanceId(); - if ((instanceId > 0) && (InstanceManager.getInstance().getInstanceTime(player, instanceId) > Chronos.currentTimeMillis())) + if ((instanceId > 0) && holder.checkInstanceTime() && (InstanceManager.getInstance().getInstanceTime(player, instanceId) > Chronos.currentTimeMillis())) { player.sendMessage("This transcendent instance has not reset yet."); return;