All pastes #41943 Raw Edit

Anonymous

public java v1 · immutable
#41943 ·published 2006-02-17 14:53 UTC
rendered paste body
Index: C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/model/actor/instance/L2SiegeFlagInstance.java===================================================================--- C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/model/actor/instance/L2SiegeFlagInstance.java	(revision 1508)+++ C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/model/actor/instance/L2SiegeFlagInstance.java	(working copy)@@ -59,13 +59,7 @@         L2SiegeClan sc = _Siege.getAttackerClan(_Player.getClan());         if (sc != null)         {-        	Integer size = new Integer(sc.getFlag().size());-    		String string = size.toString();-            if (sc.removeFlag(this))-        	{        	-            	size = new Integer(sc.getFlag().size());-        		string = size.toString();-        	}+            sc.removeFlag(getObjectId());         }         super.doDie(killer);     }Index: C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/model/L2SiegeClan.java===================================================================--- C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/model/L2SiegeClan.java	(revision 1508)+++ C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/model/L2SiegeClan.java	(working copy)@@ -31,7 +31,7 @@     // ===============================================================     // Data Field 	private int _ClanId                = 0;-	private List<L2NpcInstance> _Flag  = new FastList<L2NpcInstance>();+	private List<Integer> _FlagList  = new FastList<Integer>();     private int _TypeId                = 0; // -1 = owner, 0 = defender, 1 = attacker, 2 = defender pending     private int _numFlagsAdded = 0; 	// =========================================================@@ -52,55 +52,30 @@     public void addFlag(L2NpcInstance flag)      {	     	_numFlagsAdded++;-    	getFlag().add(flag);+    	getFlagList().add(flag.getObjectId());     } -    public boolean removeFlag(L2NpcInstance flag)+    public void removeFlag(Integer flagId) 	{-	    if (flag == null) return false;-        boolean ret = getFlag().remove(flag);-        //flag.deleteMe();-         //check if null objects or dups remain in the list.-         //for some reason, this might be happenning sometimes...- 		// delete false dupplicates: if this flag got deleted, delete its copies too.- 		if (ret)- 			while (getFlag().remove(flag)) ;- 		- 		// now delete nulls- 		int n;- 		boolean more = true;- 		while (more)- 		{- 			more = false;- 			n = getFlag().size();- 			if (n>0)- 				for(int i=0; i<n;i++)- 					if(getFlag().get(i)==null)- 					{- 						getFlag().remove(i);- 						more = true;- 						break;- 					}- 		}- - 		flag.deleteMe();-        return ret;+        getFlagList().remove(flagId);+        L2World.getInstance().findObject(flagId).decayMe(); 	}  	public void removeFlags() 	{-        for (L2NpcInstance flag: getFlag())-            removeFlag(flag);+        for (Integer flagId: getFlagList())+        {+            removeFlag(flagId);+        } 	}     	// =========================================================    	// Proeprty 	public final int getClanId() { return _ClanId; } -	public final List<L2NpcInstance> getFlag()+	public final List<Integer> getFlagList() 	{-        if (_Flag == null) _Flag  = new FastList<L2NpcInstance>();-	    return _Flag;+	    return _FlagList; 	}      public final int getTypeId() { return _TypeId; }Index: C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/model/entity/Siege.java===================================================================--- C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/model/entity/Siege.java	(revision 1508)+++ C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/model/entity/Siege.java	(working copy)@@ -547,7 +547,7 @@         if (flag == null) return;         for (int i = 0; i < getAttackerClans().size(); i++)         {-    	    if (getAttackerClan(i).removeFlag(flag)) return;+    	    getAttackerClan(i).removeFlag(flag.getObjectId());         }     } @@ -1155,12 +1155,12 @@    	    	public final Calendar getSiegeDate() { return _SiegeDate; } -    public List<L2NpcInstance> getFlag(L2Clan clan)+    public List<Integer> getFlag(L2Clan clan)     {         if (clan != null)         {             L2SiegeClan sc = getAttackerClan(clan);-            if (sc != null) return sc.getFlag();+            if (sc != null) return sc.getFlagList();         }         return null;     }Index: C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/skills/Formulas.java===================================================================--- C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/skills/Formulas.java	(revision 1508)+++ C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/skills/Formulas.java	(working copy)@@ -21,22 +21,23 @@ import java.util.logging.Logger;  import net.sf.l2j.Config;-import net.sf.l2j.gameserver.instancemanager.SiegeManager; import net.sf.l2j.gameserver.SevenSigns; import net.sf.l2j.gameserver.SevenSignsFestival; import net.sf.l2j.gameserver.SkillTable;+import net.sf.l2j.gameserver.instancemanager.SiegeManager; import net.sf.l2j.gameserver.lib.Rnd;-import net.sf.l2j.gameserver.model.entity.Siege; import net.sf.l2j.gameserver.model.L2Character;+import net.sf.l2j.gameserver.model.L2SiegeClan;+import net.sf.l2j.gameserver.model.L2Skill;+import net.sf.l2j.gameserver.model.L2Summon;+import net.sf.l2j.gameserver.model.L2World;+import net.sf.l2j.gameserver.model.L2Skill.SkillType; import net.sf.l2j.gameserver.model.actor.instance.L2DoorInstance; import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.model.actor.instance.L2RaidBossInstance; import net.sf.l2j.gameserver.model.actor.instance.L2SiegeGuardInstance;-import net.sf.l2j.gameserver.model.L2SiegeClan;-import net.sf.l2j.gameserver.model.L2Skill;-import net.sf.l2j.gameserver.model.L2Summon;-import net.sf.l2j.gameserver.model.L2Skill.SkillType;+import net.sf.l2j.gameserver.model.entity.Siege; import net.sf.l2j.gameserver.skills.ConditionPlayerState.CheckPlayerState; import net.sf.l2j.gameserver.templates.L2PcTemplate; import net.sf.l2j.gameserver.templates.L2Weapon;@@ -840,7 +841,9 @@         if (siege == null || !siege.getIsInProgress()) return 0;          L2SiegeClan siegeClan = siege.getAttackerClan(activeChar.getClan().getClanId());-        if (siegeClan == null || siegeClan.getFlag().size() == 0 || !Util.checkIfInRange(200, activeChar, siegeClan.getFlag().get(0), true)) return 0;++        if (siegeClan == null || siegeClan.getFlagList().size() == 0+        		|| !Util.checkIfInRange(200, activeChar, L2World.getInstance().findObject(siegeClan.getFlagList().get(0)), true)) return 0;                  return 1.5; // If all is true, then modifer will be 50% more     }Index: C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/handler/skillhandlers/SiegeFlag.java===================================================================--- C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/handler/skillhandlers/SiegeFlag.java	(revision 1508)+++ C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/handler/skillhandlers/SiegeFlag.java	(working copy)@@ -70,7 +70,7 @@             flag.setCurrentHpMp(flag.getMaxHp(), flag.getMaxMp());             flag.setHeading(player.getHeading());             flag.spawnMe(player.getX(), player.getY(), player.getZ() + 50);-            castle.getSiege().getFlag(player.getClan()).add(flag);+            castle.getSiege().getFlag(player.getClan()).add(flag.getObjectId());         }         catch (Exception e)         {Index: C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/serverpackets/Die.java===================================================================--- C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/serverpackets/Die.java	(revision 1508)+++ C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/serverpackets/Die.java	(working copy)@@ -99,7 +99,7 @@             writeD(_clan.getHasHideout() > 0 ? 0x01 : 0x00);            // 6d 01 00 00 00 - to hide away             writeD(_clan.getHasCastle() > 0 ? 0x01 : 0x00);             // 6d 02 00 00 00 - to castle             writeD(siegeClan != null &&-                   siegeClan.getFlag().size() > 0 ? 0x01 : 0x00);       // 6d 03 00 00 00 - to siege HQ+                   siegeClan.getFlagList().size() > 0 ? 0x01 : 0x00);       // 6d 03 00 00 00 - to siege HQ         }         else          {Index: C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/MapRegionTable.java===================================================================--- C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/MapRegionTable.java	(revision 1508)+++ C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/MapRegionTable.java	(working copy)@@ -31,6 +31,7 @@ import net.sf.l2j.gameserver.instancemanager.TownManager; import net.sf.l2j.gameserver.instancemanager.ZoneManager; import net.sf.l2j.gameserver.model.L2Character;+import net.sf.l2j.gameserver.model.L2World; import net.sf.l2j.gameserver.model.Location; import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;@@ -246,11 +247,11 @@             		if (teleportWhere == TeleportWhereType.SiegeFlag && castle.getSiege().getIsInProgress())                     {                         // Check if player's clan is attacker-                        List<L2NpcInstance> flags = castle.getSiege().getFlag(player.getClan());+                        List<Integer> flags = castle.getSiege().getFlag(player.getClan());                         if (flags != null && flags.size() > 0)                         {                             // Spawn to flag - Need more work to get player to the nearest flag-                            L2NpcInstance flag = flags.get(0);+                            L2Character flag = (L2Character)L2World.getInstance().findObject(flags.get(0));                             return new Location(flag.getX(), flag.getY(), flag.getZ());                         }                     }