Bladeren bron

BETA: FlagWar synthetic access fix.

Zoey76 13 jaren geleden
bovenliggende
commit
ca5e981cbc
1 gewijzigde bestanden met toevoegingen van 26 en 10 verwijderingen
  1. 26 10
      L2J_DataPack_BETA/dist/game/data/scripts/conquerablehalls/flagwar/FlagWar.java

+ 26 - 10
L2J_DataPack_BETA/dist/game/data/scripts/conquerablehalls/flagwar/FlagWar.java

@@ -41,6 +41,7 @@ import com.l2jserver.gameserver.model.Location;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
+import com.l2jserver.gameserver.model.entity.Siegable;
 import com.l2jserver.gameserver.model.entity.clanhall.ClanHallSiegeEngine;
 import com.l2jserver.gameserver.model.entity.clanhall.SiegeStatus;
 import com.l2jserver.gameserver.model.zone.type.L2ResidenceHallTeleportZone;
@@ -432,19 +433,34 @@ public abstract class FlagWar extends ClanHallSiegeEngine
 		}
 		
 		// Schedule open doors closement and siege start in 2 minutes
-		ThreadPoolManager.getInstance().scheduleGeneral(new Runnable()
+		ThreadPoolManager.getInstance().scheduleGeneral(new CloseOutterDoorsTask(FlagWar.super), 300000);
+	}
+	
+	/**
+	 * Runnable class to schedule doors closing and siege start.
+	 * @author Zoey76
+	 */
+	protected class CloseOutterDoorsTask implements Runnable
+	{
+		private Siegable _siegable;
+		
+		protected CloseOutterDoorsTask(Siegable clanHallSiege)
+		{
+			_siegable = clanHallSiege;
+		}
+		
+		@Override
+		public void run()
 		{
-			@Override
-			public void run()
+			for(int door : OUTTER_DOORS_TO_OPEN)
 			{
-				for(int door : OUTTER_DOORS_TO_OPEN)
-					_hall.openCloseDoor(door, false);
-				
-				_hall.getZone().banishNonSiegeParticipants();
-				
-				FlagWar.super.startSiege();
+				_hall.openCloseDoor(door, false);
 			}
-		}, 300000);
+			
+			_hall.getZone().banishNonSiegeParticipants();
+			
+			_siegable.startSiege();
+		}
 	}
 	
 	@Override