Sync with L2jServer HighFive Mar 25th 2015.

This commit is contained in:
MobiusDev
2015-03-25 06:48:51 +00:00
parent e0c66b1412
commit 82606870c0
194 changed files with 2619 additions and 2869 deletions

View File

@@ -27,6 +27,7 @@ import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.ScheduledFuture;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -220,9 +221,9 @@ public class Siege implements Siegable
}
// must support Concurrent Modifications
private final List<L2SiegeClan> _attackerClans = new ArrayList<>();
private final List<L2SiegeClan> _defenderClans = new ArrayList<>();
private final List<L2SiegeClan> _defenderWaitingClans = new ArrayList<>();
private final List<L2SiegeClan> _attackerClans = new CopyOnWriteArrayList<>();
private final List<L2SiegeClan> _defenderClans = new CopyOnWriteArrayList<>();
private final List<L2SiegeClan> _defenderWaitingClans = new CopyOnWriteArrayList<>();
// Castle setting
private final List<L2ControlTowerInstance> _controlTowers = new ArrayList<>();
@@ -550,10 +551,7 @@ public class Siege implements Siegable
L2Clan clan = ClanTable.getInstance().getClan(siegeClans.getClanId());
for (L2PcInstance member : clan.getOnlineMembers(0))
{
if (member != null)
{
member.sendPacket(message);
}
member.sendPacket(message);
}
}
@@ -586,11 +584,6 @@ public class Siege implements Siegable
clan = ClanTable.getInstance().getClan(siegeclan.getClanId());
for (L2PcInstance member : clan.getOnlineMembers(0))
{
if (member == null)
{
continue;
}
if (clear)
{
member.setSiegeState((byte) 0);
@@ -833,11 +826,6 @@ public class Siege implements Siegable
clan = ClanTable.getInstance().getClan(siegeclan.getClanId());
for (L2PcInstance player : clan.getOnlineMembers(0))
{
if (player == null)
{
continue;
}
if (player.isInSiege())
{
players.add(player);
@@ -871,11 +859,6 @@ public class Siege implements Siegable
}
for (L2PcInstance player : clan.getOnlineMembers(0))
{
if (player == null)
{
continue;
}
if (player.isInSiege())
{
players.add(player);
@@ -1596,41 +1579,35 @@ public class Siege implements Siegable
// Register guard to the closest Control Tower
// When CT dies, so do all the guards that it controls
if (!getSiegeGuardManager().getSiegeGuardSpawn().isEmpty())
for (L2Spawn spawn : getSiegeGuardManager().getSiegeGuardSpawn())
{
L2ControlTowerInstance closestCt;
double distance;
double distanceClosest = 0;
for (L2Spawn spawn : getSiegeGuardManager().getSiegeGuardSpawn())
if (spawn == null)
{
if (spawn == null)
continue;
}
L2ControlTowerInstance closestCt = null;
double distanceClosest = Integer.MAX_VALUE;
for (L2ControlTowerInstance ct : _controlTowers)
{
if (ct == null)
{
continue;
}
closestCt = null;
distanceClosest = Integer.MAX_VALUE;
double distance = ct.calculateDistance(spawn, true, true);
for (L2ControlTowerInstance ct : _controlTowers)
if (distance < distanceClosest)
{
if (ct == null)
{
continue;
}
distance = ct.calculateDistance(spawn, true, true);
if (distance < distanceClosest)
{
closestCt = ct;
distanceClosest = distance;
}
}
if (closestCt != null)
{
closestCt.registerGuard(spawn);
closestCt = ct;
distanceClosest = distance;
}
}
if (closestCt != null)
{
closestCt.registerGuard(spawn);
}
}
}