rendered paste bodyIndex: C:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/L2World.java===================================================================--- C:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/L2World.java (revision 1315)+++ C:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/L2World.java (working copy)@@ -82,8 +82,10 @@ /** Area where to spawn for arena */ public static int[][] arenaspawn; /** Area of castle <I>(used to determine castle ground)</I> */- public static int[][] castles; -+ public static int[][] castles;+ /** Area of Clanhalls, id,x1,y1,x2,y2 */+ public static int[][] agitarea; + public static int[][] castlespawns = { {-14272,116545,-3095}, //Gludio attackers {-18105,110303,-2146}, //Gludio defenders@@ -146,11 +148,13 @@ String typeNameArenaSpawn = "Arena Spawn"; String typeNameCastleArea = "Castle Area"; String typeNameTown = "Town";+ String typeNameAgit = "Agit"; ArrayList<int[]> tempArena = new ArrayList<int[]>(); ArrayList<int[]> tempArenaSpawn = new ArrayList<int[]>(); ArrayList<int[]> tempCastleArea = new ArrayList<int[]>(); ArrayList<int[]> tempTown = new ArrayList<int[]>();+ ArrayList<int[]> tempAgit = new ArrayList<int[]>(); while (rs.next()) { if (rs.getString(columnNameType).equalsIgnoreCase(typeNameArena))@@ -161,6 +165,8 @@ tempCastleArea.add(new int[]{rs.getInt(columnNameX1), rs.getInt(columnNameY1), rs.getInt(columnNameX2), rs.getInt(columnNameY2)}); else if (rs.getString(columnNameType).equalsIgnoreCase(typeNameTown)) tempTown.add(new int[]{rs.getInt(columnNameX1), rs.getInt(columnNameY1), rs.getInt(columnNameX2), rs.getInt(columnNameY2)});+ else if (rs.getString(columnNameType).equalsIgnoreCase(typeNameAgit))+ tempAgit.add(new int[]{rs.getInt("id"),rs.getInt(columnNameX1), rs.getInt(columnNameY1), rs.getInt(columnNameX2), rs.getInt(columnNameY2)}); } statement.close(); @@ -183,6 +189,11 @@ for (int i = 0; i < tempTown.size(); i++) zones[i] = tempTown.get(i); _log.info("L2World: Loaded " + zones.length + " town zones");+ + agitarea = new int[tempAgit.size()][];+ for(int i=0;i < tempAgit.size(); i++)+ agitarea[i] = tempAgit.get(i);+ _log.info("L2World: Loaded " + agitarea.length + " agit zones"); } catch (Exception e) {Index: C:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/ScrollOfEscape.java===================================================================--- C:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/ScrollOfEscape.java (revision 1315)+++ C:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/ScrollOfEscape.java (working copy)@@ -20,10 +20,10 @@ import net.sf.l2j.gameserver.ClientScheduler; import net.sf.l2j.gameserver.MapRegionTable;-import net.sf.l2j.gameserver.SevenSignsFestival; import net.sf.l2j.gameserver.SkillTable; import net.sf.l2j.gameserver.ai.CtrlIntention; import net.sf.l2j.gameserver.handler.IItemHandler;+import net.sf.l2j.gameserver.model.L2AgitInstance; import net.sf.l2j.gameserver.model.L2Clan; import net.sf.l2j.gameserver.model.L2ItemInstance; import net.sf.l2j.gameserver.model.L2PcInstance;@@ -109,10 +109,14 @@ _activeChar.enableAllSkills(); try { L2Clan playersClan = _activeChar.getClan();- if ((playersClan == null)||(_itemId != 1830))+ if ((playersClan == null)) { escapeToTown(); }+ else if((_itemId == 5858 || _itemId == 1829) && playersClan.getHasHideout() > 0)+ {+ escapeToClanhall();+ } else if (playersClan.getHasCastle() > 0) // escape to castle if has a castle { escapeToCastle(playersClan.getHasCastle()-1);@@ -126,6 +130,19 @@ } } + private void escapeToClanhall()+ {+ StopMove sm = new StopMove(_activeChar);+ _activeChar.broadcastPacket(sm);+ + ActionFailed af = new ActionFailed();+ _activeChar.sendPacket(af);+ + int coords[] = L2AgitInstance.getInstance().getAgitRespawn(_activeChar.getClan().getHasHideout());+ _activeChar.teleToLocation(coords[0],coords[1],coords[2]);+ }++ private void escapeToCastle(int castleNum) { StopMove sm = new StopMove(_activeChar);Index: C:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminPledge.java===================================================================--- C:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminPledge.java (revision 1315)+++ C:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminPledge.java (working copy)@@ -8,6 +8,7 @@ import net.sf.l2j.L2DatabaseFactory; import net.sf.l2j.gameserver.ClanTable; import net.sf.l2j.gameserver.handler.IAdminCommandHandler;+import net.sf.l2j.gameserver.model.L2AgitInstance; import net.sf.l2j.gameserver.model.L2Clan; import net.sf.l2j.gameserver.model.L2PcInstance; import net.sf.l2j.gameserver.model.L2Siege;@@ -18,11 +19,12 @@ /** * Pledge Manipulation- * //pledge <create|dismiss|setlevel>+ * //pledge <create|dismiss|setlevel> [pledge_name|level]+ * //agit <setowner|setfree> agit_id */ public class AdminPledge implements IAdminCommandHandler {- private static String[] _adminCommands = {"admin_pledge"};+ private static String[] _adminCommands = {"admin_pledge","admin_agit"}; private static Logger _log = Logger.getLogger(AdminPledge.class.getName()); public boolean useAdminCommand(String command, L2PcInstance activeChar)@@ -180,6 +182,29 @@ } } }+ else if(command.startsWith("admin_agit"))+ {+ StringTokenizer st = new StringTokenizer(command);+ st.nextToken();+ + String action = st.nextToken(); // create|dismiss|setlevel+ + if(action.equals("setowner"))+ {+ if(activeChar.getTarget() != null && activeChar.getTarget() instanceof L2PcInstance)+ {+ int agitId = Integer.parseInt(st.nextToken());+ L2AgitInstance.getInstance().setAgitOwner(agitId,target.getClanId());+ activeChar.sendMessage("Agit owner changed!");+ target.sendMessage("GM gave agit "+agitId+" to ur clan");+ target.getClan().setHasHideout(agitId);+ }+ }+ else if(action.equals("setfree"))+ {+ int agitId = Integer.parseInt(st.nextToken());+ }+ } return false; }Index: C:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/GameServer.java===================================================================--- C:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/GameServer.java (revision 1315)+++ C:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/GameServer.java (working copy)@@ -118,6 +118,7 @@ import net.sf.l2j.gameserver.idfactory.IdFactory; import net.sf.l2j.gameserver.lib.JBForth; import net.sf.l2j.gameserver.model.AutoChatHandler;+import net.sf.l2j.gameserver.model.L2AgitInstance; import net.sf.l2j.gameserver.model.L2Castle; import net.sf.l2j.gameserver.model.L2World; import net.sf.l2j.gameserver.model.RandomSpawnHandler;@@ -170,6 +171,7 @@ private final EventDroplist _eventDroplist; private final DoorTable _doorTable; private final StaticObjects _staticObjects;+ private static L2AgitInstance _agitData; private final SevenSigns _sevenSignsEngine; private final SevenSignsFestival _sevenSignsFestival;@@ -310,6 +312,7 @@ //_monsterRace.newRace(); _doorTable = DoorTable.getInstance(); _staticObjects = StaticObjects.getInstance();+ _agitData = L2AgitInstance.getInstance(); _sevenSignsEngine = SevenSigns.getInstance(); _sevenSignsFestival = SevenSignsFestival.getInstance(); _randomSpawnHandler = RandomSpawnHandler.getInstance();