diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Antharas.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Antharas.java
index 3806191026bf9799e0d88fe61cb2a541dbc426c4..fa7b7b66bea9791911eac7342426dc57d9b8c038 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Antharas.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Antharas.java
@@ -939,8 +939,8 @@ public class Antharas extends AbstractNpcAI
 			npc.broadcastPacket(new PlaySound(1, "BS01_D", 1, npc.getObjectId(), npc.getX(), npc.getY(), npc.getZ()));
 			_cubeSpawnTask = ThreadPoolManager.getInstance().scheduleGeneral(new CubeSpawn(0), 10000);
 			GrandBossManager.getInstance().setBossStatus(npc.getNpcId(), DEAD);
-			// Respawn time is 264 Hours - 72 Random Hours
-			long respawnTime = (long) Config.Interval_Of_Antharas_Spawn - getRandom(Config.Random_Of_Antharas_Spawn);
+			// Calculate Min and Max respawn times randomly.
+			long respawnTime = getRandom((Config.Interval_Of_Antharas_Spawn - Config.Random_Of_Antharas_Spawn), (Config.Interval_Of_Antharas_Spawn + Config.Random_Of_Antharas_Spawn));
 			ThreadPoolManager.getInstance().scheduleGeneral(new UnlockAntharas(npc.getNpcId()), respawnTime);
 			// also save the respawn time so that the info is maintained past reboots
 			StatsSet info = GrandBossManager.getInstance().getStatsSet(npc.getNpcId());
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Baium.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Baium.java
index 4d93d75bc24afcc27f78e66739efa4ab85470346..0f8f2aba1403cd6e83c5e3402c3335e77174ee83 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Baium.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Baium.java
@@ -471,8 +471,8 @@ public class Baium extends AbstractNpcAI
 		npc.broadcastPacket(new PlaySound(1, "BS01_D", 1, npc.getObjectId(), npc.getX(), npc.getY(), npc.getZ()));
 		// spawn the "Teleportation Cubic" for 15 minutes (to allow players to exit the lair)
 		addSpawn(TELEPORT_CUBIC, 115017, 15549, 10090, 0, false, 900000);
-		// Respawn time is 168 Hours - 48 Random Hours
-		long respawnTime = (long) Config.Interval_Of_Baium_Spawn - getRandom(Config.Random_Of_Baium_Spawn);
+		// Calculate Min and Max respawn times randomly.
+		long respawnTime = getRandom((Config.Interval_Of_Baium_Spawn - Config.Random_Of_Baium_Spawn), (Config.Interval_Of_Baium_Spawn + Config.Random_Of_Baium_Spawn));
 		GrandBossManager.getInstance().setBossStatus(LIVE_BAIUM, DEAD);
 		startQuestTimer("baium_unlock", respawnTime, null, null);
 		// also save the respawn time so that the info is maintained past reboots
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Beleth.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Beleth.java
index 734f790e8fc76bfdd0a2ae6cff9f4e5f09718a62..6c20050d30da3ad8046737516b57f4ba6f84b988 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Beleth.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Beleth.java
@@ -407,8 +407,8 @@ public class Beleth extends AbstractNpcAI
 		{
 			setBelethKiller(1, killer);
 			GrandBossManager.getInstance().setBossStatus(29118, 3);
-			// Respawn time is 192 Hours - 148 Random Hours
-			long respawnTime = (long) Config.INTERVAL_OF_BELETH_SPAWN - getRandom(Config.RANDOM_OF_BELETH_SPAWN);
+			// Calculate Min and Max respawn times randomly.
+			long respawnTime = getRandom((Config.INTERVAL_OF_BELETH_SPAWN - Config.RANDOM_OF_BELETH_SPAWN), (Config.INTERVAL_OF_BELETH_SPAWN + Config.RANDOM_OF_BELETH_SPAWN));
 			StatsSet info = GrandBossManager.getInstance().getStatsSet(29118);
 			info.set("respawn_time", System.currentTimeMillis() + respawnTime);
 			GrandBossManager.getInstance().setStatsSet(29118, info);
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Core.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Core.java
index 38a3ebf9659c6d14b03e17eccd9d29772275ec14..cd523914098c239fe3852d6727da89d4235d1433 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Core.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Core.java
@@ -199,8 +199,8 @@ public class Core extends AbstractNpcAI
 			npc.broadcastPacket(new NpcSay(objId, Say2.NPC_ALL, npcId, NpcStringId.DOT_DOT_DOT_DOT_DOT_DOT));
 			_FirstAttacked = false;
 			GrandBossManager.getInstance().setBossStatus(CORE, DEAD);
-			// Respawn time is 60 Hours - 24 Random Hours
-			long respawnTime = (long) Config.Interval_Of_Core_Spawn - getRandom(Config.Random_Of_Core_Spawn);
+			// Calculate Min and Max respawn times randomly.
+			long respawnTime = getRandom((Config.Interval_Of_Core_Spawn - Config.Random_Of_Core_Spawn), (Config.Interval_Of_Core_Spawn + Config.Random_Of_Core_Spawn));
 			startQuestTimer("core_unlock", respawnTime, null, null);
 			// also save the respawn time so that the info is maintained past reboots
 			StatsSet info = GrandBossManager.getInstance().getStatsSet(CORE);
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Orfen.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Orfen.java
index eab6df8de80378547850eeabc8bd26a1de373674..61a0319e6f2becdb1ff4ac8298ccb3bba28fb404 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Orfen.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Orfen.java
@@ -325,8 +325,8 @@ public class Orfen extends AbstractNpcAI
 		{
 			npc.broadcastPacket(new PlaySound(1, "BS02_D", 1, npc.getObjectId(), npc.getX(), npc.getY(), npc.getZ()));
 			GrandBossManager.getInstance().setBossStatus(ORFEN, DEAD);
-			// Respawn time is 48 Hours - 20 Random Hours
-			long respawnTime = (long) Config.Interval_Of_Orfen_Spawn - getRandom(Config.Random_Of_Orfen_Spawn);
+			// Calculate Min and Max respawn times randomly.
+			long respawnTime = getRandom((Config.Interval_Of_Orfen_Spawn - Config.Random_Of_Orfen_Spawn), (Config.Interval_Of_Orfen_Spawn + Config.Random_Of_Orfen_Spawn));
 			startQuestTimer("orfen_unlock", respawnTime, null, null);
 			// also save the respawn time so that the info is maintained past reboots
 			StatsSet info = GrandBossManager.getInstance().getStatsSet(ORFEN);
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/QueenAnt.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/QueenAnt.java
index 783e2cffddbcb60c330eaa4a764f36a4ce8e87b5..2a92380f9fa81bd31bcddee491d76d24e698ab59 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/QueenAnt.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/QueenAnt.java
@@ -325,8 +325,8 @@ public class QueenAnt extends AbstractNpcAI
 		{
 			npc.broadcastPacket(new PlaySound(1, "BS02_D", 1, npc.getObjectId(), npc.getX(), npc.getY(), npc.getZ()));
 			GrandBossManager.getInstance().setBossStatus(QUEEN, DEAD);
-			// Respawn time is 36 Hours - 17 Random Hours
-			long respawnTime = (long) Config.Interval_Of_QueenAnt_Spawn - getRandom(Config.Random_Of_QueenAnt_Spawn);
+			// Calculate Min and Max respawn times randomly.
+			long respawnTime = getRandom((Config.Interval_Of_QueenAnt_Spawn - Config.Random_Of_QueenAnt_Spawn), (Config.Interval_Of_QueenAnt_Spawn + Config.Random_Of_QueenAnt_Spawn));
 			startQuestTimer("queen_unlock", respawnTime, null, null);
 			cancelQuestTimer("action", npc, null);
 			cancelQuestTimer("heal", null, null);
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Valakas.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Valakas.java
index 196dcc8ded0744d7a36eac81500303ac5a33a6a6..aea14cf90375fcaee3d3a0b3924631646a1f5733 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Valakas.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Valakas.java
@@ -440,10 +440,9 @@ public class Valakas extends AbstractNpcAI
 		startQuestTimer("die_8", 16500, npc, null); // 2500
 		
 		GrandBossManager.getInstance().setBossStatus(VALAKAS, DEAD);
-		
-		long respawnTime = (long) Config.Interval_Of_Valakas_Spawn + getRandom(Config.Random_Of_Valakas_Spawn);
+		// Calculate Min and Max respawn times randomly.
+		long respawnTime = getRandom((Config.Interval_Of_Valakas_Spawn - Config.Random_Of_Valakas_Spawn), (Config.Interval_Of_Valakas_Spawn + Config.Random_Of_Valakas_Spawn));
 		startQuestTimer("valakas_unlock", respawnTime, null, null);
-		
 		// also save the respawn time so that the info is maintained past reboots
 		StatsSet info = GrandBossManager.getInstance().getStatsSet(VALAKAS);
 		info.set("respawn_time", (System.currentTimeMillis() + respawnTime));
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Zaken.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Zaken.java
index 94f714cb9908d878abf69367a53ba48eacb65d41..21c641092e05f42c40de5ae6123d88194a7c7141 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Zaken.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Zaken.java
@@ -877,8 +877,8 @@ public class Zaken extends AbstractNpcAI
 		{
 			npc.broadcastPacket(new PlaySound(1, "BS02_D", 1, npc.getObjectId(), npc.getX(), npc.getY(), npc.getZ()));
 			GrandBossManager.getInstance().setBossStatus(ZAKEN, DEAD);
-			// Respawn time is 60 Hours - 20 Random Hours
-			long respawnTime = (long) Config.Interval_Of_Zaken_Spawn - getRandom(Config.Random_Of_Zaken_Spawn);
+			// Calculate Min and Max respawn times randomly.
+			long respawnTime = getRandom((Config.Interval_Of_Zaken_Spawn - Config.Random_Of_Zaken_Spawn), (Config.Interval_Of_Zaken_Spawn + Config.Random_Of_Zaken_Spawn));
 			startQuestTimer("zaken_unlock", respawnTime, null, null);
 			cancelQuestTimer("1001", npc, null);
 			cancelQuestTimer("1003", npc, null);