Quellcode durchsuchen

BETA: Broadcast.toSelfAndKnownPlayersInRadius() method rework radius now is no longer ^2

Rumen Nikiforov vor 13 Jahren
Ursprung
Commit
6ff6110f99

+ 2 - 2
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/L2Npc.java

@@ -181,7 +181,7 @@ public class L2Npc extends L2Character
 			if (Rnd.get(100) <= getSoulShotChance())
 			{
 				_soulshotamount = _soulshotamount - 1;
-				Broadcast.toSelfAndKnownPlayersInRadius(this, new MagicSkillUse(this, this, 2154, 1, 0, 0), 360000);
+				Broadcast.toSelfAndKnownPlayersInRadius(this, new MagicSkillUse(this, this, 2154, 1, 0, 0), 600);
 				_soulshotcharged = true;
 			}
 		}
@@ -207,7 +207,7 @@ public class L2Npc extends L2Character
 			if (Rnd.get(100) <= getSpiritShotChance())
 			{
 				_spiritshotamount = _spiritshotamount - 1;
-				Broadcast.toSelfAndKnownPlayersInRadius(this, new MagicSkillUse(this, this, 2061, 1, 0, 0), 360000);
+				Broadcast.toSelfAndKnownPlayersInRadius(this, new MagicSkillUse(this, this, 2061, 1, 0, 0), 600);
 				_spiritshotcharged = true;
 			}
 		}

+ 4 - 10
L2J_Server_BETA/java/com/l2jserver/gameserver/util/Broadcast.java

@@ -163,25 +163,19 @@ public final class Broadcast
 	}
 	
 	// To improve performance we are comparing values of radius^2 instead of calculating sqrt all the time
-	public static void toSelfAndKnownPlayersInRadius(L2Character character, L2GameServerPacket mov, long radiusSq)
+	public static void toSelfAndKnownPlayersInRadius(L2Character character, L2GameServerPacket mov, int radius)
 	{
-		if (radiusSq < 0)
-		{
-			radiusSq = 360000;
-		}
+		if (radius < 0)
+			radius = 600;
 		
 		if (character instanceof L2PcInstance)
-		{
 			character.sendPacket(mov);
-		}
 		
 		Collection<L2PcInstance> plrs = character.getKnownList().getKnownPlayers().values();
 		for (L2PcInstance player : plrs)
 		{
-			if ((player != null) && (character.getDistanceSq(player) <= radiusSq))
-			{
+			if (player != null && Util.checkIfInRange(radius, character, player, false))
 				player.sendPacket(mov);
-			}
 		}
 	}