Index: 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 (used to determine castle ground) */
- 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 tempArena = new ArrayList();
ArrayList tempArenaSpawn = new ArrayList();
ArrayList tempCastleArea = new ArrayList();
ArrayList tempTown = new ArrayList();
+ ArrayList tempAgit = new ArrayList();
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
+ * //pledge [pledge_name|level]
+ * //agit 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();