2
0
Эх сурвалжийг харах

BETA: Continuing with [5751].
* Core support for [DP9390]
* Support for random respawn time into instance's spawn definition

VlLight 12 жил өмнө
parent
commit
56c32afd77

+ 2 - 3
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/RaidBossSpawnManager.java

@@ -97,10 +97,9 @@ public class RaidBossSpawnManager
 					spawnDat.setLocz(rset.getInt("loc_z"));
 					spawnDat.setAmount(rset.getInt("amount"));
 					spawnDat.setHeading(rset.getInt("heading"));
-					spawnDat.setRespawnMinDelay(rset.getInt("respawn_min_delay") * 1000L);
-					spawnDat.setRespawnMaxDelay(rset.getInt("respawn_max_delay") * 1000L);
+					spawnDat.setRespawnDelay(rset.getInt("respawn_delay"), rset.getInt("respawn_random"));
 					respawnTime = rset.getLong("respawn_time");
-					
+
 					addNewSpawn(spawnDat, respawnTime, rset.getDouble("currentHP"), rset.getDouble("currentMP"), false);
 				}
 				else

+ 7 - 11
L2J_Server_BETA/java/com/l2jserver/gameserver/model/entity/Instance.java

@@ -520,7 +520,7 @@ public class Instance
 						List<L2Spawn> manualSpawn = new ArrayList<>();
 						for (Node d = group.getFirstChild(); d != null; d = d.getNextSibling())
 						{
-							int npcId = 0, x = 0, y = 0, z = 0, respawn = 0, heading = 0, delay = -1;
+							int npcId = 0, x = 0, y = 0, z = 0, heading = 0, respawn = 0, respawnRandom = 0, delay = -1;
 							
 							if ("spawn".equalsIgnoreCase(d.getNodeName()))
 							{
@@ -535,7 +535,11 @@ public class Instance
 								{
 									delay = Integer.parseInt(d.getAttributes().getNamedItem("onKillDelay").getNodeValue());
 								}
-								
+								if (d.getAttributes().getNamedItem("respawnRandom") != null)
+								{
+									respawnRandom = Integer.parseInt(d.getAttributes().getNamedItem("respawnRandom").getNodeValue());
+								}
+
 								npcTemplate = NpcTable.getInstance().getTemplate(npcId);
 								if (npcTemplate != null)
 								{
@@ -545,15 +549,7 @@ public class Instance
 									spawnDat.setLocz(z);
 									spawnDat.setAmount(1);
 									spawnDat.setHeading(heading);
-									spawnDat.setRespawnDelay(respawn);
-									if (respawn == 0)
-									{
-										spawnDat.stopRespawn();
-									}
-									else
-									{
-										spawnDat.startRespawn();
-									}
+									spawnDat.setRespawnDelay(respawn, respawnRandom);
 									spawnDat.setInstanceId(getId());
 									if (spawnGroup.equals("general"))
 									{