From 29ef08c3250b0a38c51c9faaef7ae2439482cecf Mon Sep 17 00:00:00 2001
From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com>
Date: Thu, 27 Oct 2022 00:07:38 +0000
Subject: [PATCH] Separated Training Zone and Transcendent Instance Zone
instance locks. Thanks to petryxa.
---
.../dist/game/data/TimedHuntingZoneData.xml | 2 +-
.../dist/game/data/instances/TrainingZone.xml | 36 +++++++++----------
.../instances/TrainingZone/TrainingZone.java | 2 +-
.../huntingzones/ExTimedHuntingZoneEnter.java | 20 ++++++++---
.../dist/game/data/TimedHuntingZoneData.xml | 2 +-
.../dist/game/data/instances/TrainingZone.xml | 36 +++++++++----------
.../instances/TrainingZone/TrainingZone.java | 2 +-
.../huntingzones/ExTimedHuntingZoneEnter.java | 20 ++++++++---
8 files changed, 70 insertions(+), 50 deletions(-)
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/TimedHuntingZoneData.xml b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/TimedHuntingZoneData.xml
index 6cae6edaa5..2057edce11 100644
--- a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/TimedHuntingZoneData.xml
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/TimedHuntingZoneData.xml
@@ -136,7 +136,7 @@
3600
3600
10000
- 80
+ 76
999
224
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/instances/TrainingZone.xml b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/instances/TrainingZone.xml
index c42f64e40f..9f20e1b208 100644
--- a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/instances/TrainingZone.xml
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/instances/TrainingZone.xml
@@ -1,6 +1,6 @@
-
+
@@ -15,12 +15,12 @@
-
+
-
+
@@ -244,21 +244,21 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/instances/TrainingZone/TrainingZone.java b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/instances/TrainingZone/TrainingZone.java
index f3a6662010..c238524274 100644
--- a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/instances/TrainingZone/TrainingZone.java
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/instances/TrainingZone/TrainingZone.java
@@ -812,7 +812,7 @@ public class TrainingZone extends AbstractInstance
public void onInstanceEnter(Player player, Instance instance)
{
instance.setParameter("BATTLEZONE", false);
- player.sendPacket(new ExSendUIEvent(player, false, false, (int) (instance.getRemainingTime() / 1000), 0, NpcStringId.TIME_LEFT));
+ player.sendPacket(new ExSendUIEvent(player, false, false, Math.min(3600, (int) (instance.getRemainingTime() / 1000)), 0, NpcStringId.TIME_LEFT));
}
@Override
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java
index 0b1edf5712..f76d0be668 100644
--- a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java
+++ b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java
@@ -107,20 +107,30 @@ public class ExTimedHuntingZoneEnter implements IClientIncomingPacket
return;
}
+ // TODO: Move shared instance cooldown to XML.
final long currentTime = System.currentTimeMillis();
final int instanceId = holder.getInstanceId();
if ((instanceId > 0) && holder.isSoloInstance())
{
- // Shared cooldown for all Transcendent instances.
- // TODO: Move shared instance cooldown to XML.
- for (int instId = 208; instId <= 213; instId++)
+ if (instanceId == 224) // Cooldown for Training Zone instance.
{
- if (InstanceManager.getInstance().getInstanceTime(player, instId) > currentTime)
+ if (InstanceManager.getInstance().getInstanceTime(player, instanceId) > currentTime)
{
- player.sendMessage("The transcendent instance has not reset yet.");
+ player.sendMessage("The training zone has not reset yet.");
return;
}
}
+ else // Shared cooldown for all Transcendent instances.
+ {
+ for (int instId = 208; instId <= 213; instId++)
+ {
+ if (InstanceManager.getInstance().getInstanceTime(player, instId) > currentTime)
+ {
+ player.sendMessage("The transcendent instance has not reset yet.");
+ return;
+ }
+ }
+ }
}
long endTime = currentTime + player.getTimedHuntingZoneRemainingTime(_zoneId);
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/TimedHuntingZoneData.xml b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/TimedHuntingZoneData.xml
index 6cae6edaa5..2057edce11 100644
--- a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/TimedHuntingZoneData.xml
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/TimedHuntingZoneData.xml
@@ -136,7 +136,7 @@
3600
3600
10000
- 80
+ 76
999
224
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/instances/TrainingZone.xml b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/instances/TrainingZone.xml
index c42f64e40f..9f20e1b208 100644
--- a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/instances/TrainingZone.xml
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/instances/TrainingZone.xml
@@ -1,6 +1,6 @@
-
+
@@ -15,12 +15,12 @@
-
+
-
+
@@ -244,21 +244,21 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/instances/TrainingZone/TrainingZone.java b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/instances/TrainingZone/TrainingZone.java
index f3a6662010..c238524274 100644
--- a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/instances/TrainingZone/TrainingZone.java
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/instances/TrainingZone/TrainingZone.java
@@ -812,7 +812,7 @@ public class TrainingZone extends AbstractInstance
public void onInstanceEnter(Player player, Instance instance)
{
instance.setParameter("BATTLEZONE", false);
- player.sendPacket(new ExSendUIEvent(player, false, false, (int) (instance.getRemainingTime() / 1000), 0, NpcStringId.TIME_LEFT));
+ player.sendPacket(new ExSendUIEvent(player, false, false, Math.min(3600, (int) (instance.getRemainingTime() / 1000)), 0, NpcStringId.TIME_LEFT));
}
@Override
diff --git a/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java b/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java
index 0b1edf5712..f76d0be668 100644
--- a/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java
+++ b/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/network/clientpackets/huntingzones/ExTimedHuntingZoneEnter.java
@@ -107,20 +107,30 @@ public class ExTimedHuntingZoneEnter implements IClientIncomingPacket
return;
}
+ // TODO: Move shared instance cooldown to XML.
final long currentTime = System.currentTimeMillis();
final int instanceId = holder.getInstanceId();
if ((instanceId > 0) && holder.isSoloInstance())
{
- // Shared cooldown for all Transcendent instances.
- // TODO: Move shared instance cooldown to XML.
- for (int instId = 208; instId <= 213; instId++)
+ if (instanceId == 224) // Cooldown for Training Zone instance.
{
- if (InstanceManager.getInstance().getInstanceTime(player, instId) > currentTime)
+ if (InstanceManager.getInstance().getInstanceTime(player, instanceId) > currentTime)
{
- player.sendMessage("The transcendent instance has not reset yet.");
+ player.sendMessage("The training zone has not reset yet.");
return;
}
}
+ else // Shared cooldown for all Transcendent instances.
+ {
+ for (int instId = 208; instId <= 213; instId++)
+ {
+ if (InstanceManager.getInstance().getInstanceTime(player, instId) > currentTime)
+ {
+ player.sendMessage("The transcendent instance has not reset yet.");
+ return;
+ }
+ }
+ }
}
long endTime = currentTime + player.getTimedHuntingZoneRemainingTime(_zoneId);