TerritoryWarManager endTerritoryWar method should not be interrupted.

This commit is contained in:
MobiusDev
2018-09-03 17:49:30 +00:00
parent 69fd1ac954
commit dd2356293c

View File

@@ -942,10 +942,7 @@ public final class TerritoryWarManager implements Siegable
}
_isTWInProgress = true;
if (!updatePlayerTWStateFlags(false))
{
return;
}
updatePlayerTWStateFlags(false);
// teleportPlayer(Siege.TeleportWhoType.Attacker, MapRegionTable.TeleportWhereType.Town); // Teleport to the closest town
for (Territory t : activeTerritoryList)
@@ -1035,15 +1032,7 @@ public final class TerritoryWarManager implements Siegable
}
}
if (activeTerritoryList.size() < 2)
{
return;
}
if (!updatePlayerTWStateFlags(true))
{
return;
}
updatePlayerTWStateFlags(true);
for (TerritoryWard twWard : _territoryWards)
{
@@ -1052,6 +1041,8 @@ public final class TerritoryWarManager implements Siegable
_territoryWards.clear();
// teleportPlayer(Siege.TeleportWhoType.Attacker, MapRegionTable.TeleportWhereType.Town); // Teleport to the closest town
if (activeTerritoryList.size() > 1)
{
for (Territory t : activeTerritoryList)
{
final Castle castle = CastleManager.getInstance().getCastleById(t.getCastleId());
@@ -1102,6 +1093,8 @@ public final class TerritoryWarManager implements Siegable
}
}
}
}
for (L2SiegeFlagInstance flag : _clanFlags.values())
{
flag.deleteMe();
@@ -1115,6 +1108,7 @@ public final class TerritoryWarManager implements Siegable
changeRegistration(castleId, clan.getId(), true);
}
}
for (Integer castleId : _registeredMercenaries.keySet())
{
for (Integer pl_objId : _registeredMercenaries.get(castleId))
@@ -1122,19 +1116,20 @@ public final class TerritoryWarManager implements Siegable
changeRegistration(castleId, pl_objId, true);
}
}
// change next TW date
final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.TERRITORY_WAR_HAS_ENDED);
Broadcast.toAllOnlinePlayers(sm);
}
protected boolean updatePlayerTWStateFlags(boolean clear)
protected void updatePlayerTWStateFlags(boolean clear)
{
final Quest twQuest = QuestManager.getInstance().getQuest(qn);
if (twQuest == null)
if (twQuest != null)
{
LOGGER.warning(getClass().getSimpleName() + ": missing main Quest!");
return false;
twQuest.setOnEnterWorld(_isTWInProgress);
}
for (int castleId : _registeredClans.keySet())
{
for (L2Clan clan : _registeredClans.get(castleId))
@@ -1227,8 +1222,6 @@ public final class TerritoryWarManager implements Siegable
}
}
}
twQuest.setOnEnterWorld(_isTWInProgress);
return true;
}
protected class RewardOnlineParticipants implements Runnable