-Dropped Javolution.
-Removal of Q00344_1000YearsTheEndOfLamentation. -Fixed starting conditions for Q00144_PailakaInjuredDragon. -Fixed starting conditions for last Seven Sign quests. -Added missing MonasteryOfSilence.xml instance spawns and doors. -Removed many catacomb spawns.
This commit is contained in:
parent
141cdc5efa
commit
012eb3ed65
@ -2,7 +2,6 @@
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||
<classpathentry kind="lib" path="dist/libs/c3p0-0.9.5.jar"/>
|
||||
<classpathentry kind="lib" path="dist/libs/javolution-5.5.1.jar" sourcepath="dist/libs/javolution-5.5.1-src.zip"/>
|
||||
<classpathentry kind="lib" path="dist/libs/mysql-connector-java-5.1.34-bin.jar"/>
|
||||
<classpathentry kind="lib" path="dist/libs/ecj-4.4.jar"/>
|
||||
<classpathentry kind="lib" path="dist/libs/mchange-commons-java-0.2.9.jar"/>
|
||||
|
@ -90,7 +90,7 @@
|
||||
<attribute name="Built-By" value="${user.name}" />
|
||||
<attribute name="Built-Date" value="${time.stamp}" />
|
||||
<attribute name="Implementation-URL" value="http://www.l2jserver.com/" />
|
||||
<attribute name="Class-Path" value="../libs/c3p0-0.9.5.jar ../libs/javolution-5.5.1.jar ../libs/mysql-connector-java-5.1.34-bin.jar" />
|
||||
<attribute name="Class-Path" value="../libs/c3p0-0.9.5.jar ../libs/mysql-connector-java-5.1.34-bin.jar" />
|
||||
<attribute name="Main-Class" value="com.l2jserver.loginserver.L2LoginServer" />
|
||||
</manifest>
|
||||
</jar>
|
||||
|
@ -5,6 +5,29 @@
|
||||
<emptyDestroyTime val="1" />
|
||||
<spawnPoint spawnX="115983" spawnY="-87351" spawnZ="-3397" />
|
||||
<removeBuffs type="ALL" />
|
||||
<doorlist>
|
||||
<door doorId="21100001" /><!-- opened="true"-->
|
||||
<door doorId="21100002" /><!-- opened="true"-->
|
||||
<door doorId="21100003" /><!-- opened="true"-->
|
||||
<door doorId="21100004" /><!-- opened="true"-->
|
||||
<door doorId="21100005" /><!-- opened="true"-->
|
||||
<door doorId="21100006" /><!-- opened="true"-->
|
||||
<door doorId="21100007" /><!-- opened="true"-->
|
||||
<door doorId="21100008" /><!-- opened="true"-->
|
||||
<door doorId="21100009" /><!-- opened="true"-->
|
||||
<door doorId="21100010" /><!-- opened="true"-->
|
||||
<door doorId="21100011" /><!-- opened="true"-->
|
||||
<door doorId="21100012" /><!-- opened="true"-->
|
||||
<door doorId="21100013" /><!-- opened="true"-->
|
||||
<door doorId="21100014" /><!-- opened="true"-->
|
||||
<door doorId="21100015" /><!-- opened="true"-->
|
||||
<door doorId="21100016" /><!-- opened="true"-->
|
||||
<door doorId="21100018" /><!-- opened="false"-->
|
||||
<door doorId="21100101" /><!-- opened="false"-->
|
||||
<door doorId="21100102" /><!-- opened="false"-->
|
||||
<door doorId="21100103" /><!-- opened="false"-->
|
||||
<door doorId="21100104" /><!-- opened="false"-->
|
||||
</doorlist>
|
||||
<spawnlist>
|
||||
<group name="general">
|
||||
<!-- Eris's Evil Thoughts -->
|
||||
@ -38,6 +61,91 @@
|
||||
<spawn npcId="32834" x="86888" y="-246734" z="-8320" heading="0" respawn="0" />
|
||||
<spawn npcId="32835" x="85793" y="-245640" z="-8320" heading="0" respawn="0" />
|
||||
<spawn npcId="32836" x="84705" y="-246730" z="-8320" heading="0" respawn="0" />
|
||||
<!-- Spawn: Seven Signs, Solina's Tomb -->
|
||||
<spawn npcId="18949" x="76625" y="-240824" z="-10832" heading="0" respawn="0"/>
|
||||
<spawn npcId="18956" x="55498" y="-252781" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="18957" x="55520" y="-252160" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="18958" x="56635" y="-252776" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="18959" x="56672" y="-252156" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27407" x="44269" y="-251082" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27407" x="43811" y="-248086" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27407" x="44314" y="-250726" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27407" x="44246" y="-248658" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27407" x="44197" y="-251121" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27407" x="44371" y="-248136" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27407" x="44314" y="-250726" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27407" x="44210" y="-248554" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27409" x="46844" y="-248629" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27409" x="46933" y="-248040" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27410" x="46412" y="-248590" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27410" x="46376" y="-248447" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27410" x="46952" y="-248499" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27410" x="47053" y="-248080" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27410" x="46933" y="-248180" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27410" x="46613" y="-248050" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27412" x="43590" y="-249404" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27412" x="45280" y="-251316" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27412" x="45285" y="-247479" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27412" x="43584" y="-249935" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27412" x="45469" y="-247502" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27412" x="45584" y="-251289" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27412" x="47438" y="-249349" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27412" x="43356" y="-249461" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27412" x="45218" y="-251733" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27412" x="47142" y="-249793" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27412" x="45183" y="-247956" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27412" x="43254" y="-249948" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27412" x="45548" y="-251690" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27412" x="47582" y="-249770" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27412" x="45533" y="-247983" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27413" x="47224" y="-249486" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27413" x="43710" y="-249384" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27413" x="45220" y="-251386" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27413" x="45255" y="-247569" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27413" x="45554" y="-251309" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27413" x="47458" y="-249439" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27413" x="45519" y="-247442" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27413" x="43326" y="-249451" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27413" x="45258" y="-251763" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27413" x="47222" y="-249823" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27413" x="45203" y="-247896" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27413" x="45568" y="-251690" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27413" x="47522" y="-249920" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27413" x="45563" y="-247923" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27413" x="43724" y="-249935" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27413" x="43214" y="-249908" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27414" x="44125" y="-251134" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27414" x="43945" y="-251134" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27414" x="44331" y="-248096" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27414" x="44211" y="-248106" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27414" x="43994" y="-250706" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27414" x="44154" y="-250736" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27414" x="44210" y="-250736" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27417" x="47005" y="-250679" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27417" x="46365" y="-250819" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27417" x="46872" y="-251280" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27417" x="46368" y="-251176" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27418" x="46405" y="-250739" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27418" x="46725" y="-250809" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27418" x="46728" y="-251267" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="27418" x="46512" y="-251072" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="32793" x="56097" y="-250576" z="-6757" heading="0" respawn="0"/>
|
||||
<spawn npcId="32794" x="56430" y="-239226" z="-7224" heading="0" respawn="0"/>
|
||||
<spawn npcId="32795" x="56379" y="-239233" z="-7224" heading="0" respawn="0"/>
|
||||
<spawn npcId="32796" x="56495" y="-239445" z="-7224" heading="0" respawn="0"/>
|
||||
<spawn npcId="32797" x="56347" y="-239448" z="-7224" heading="0" respawn="0"/>
|
||||
<spawn npcId="32820" x="85792" y="-248739" z="-8296" heading="0" respawn="0"/>
|
||||
<spawn npcId="32837" x="45398" y="-249639" z="-6728" heading="0" respawn="0"/>
|
||||
<spawn npcId="32838" x="45413" y="-251556" z="-6744" heading="0" respawn="0"/>
|
||||
<spawn npcId="32839" x="47333" y="-249648" z="-6744" heading="0" respawn="0"/>
|
||||
<spawn npcId="32840" x="45392" y="-247720" z="-6744" heading="0" respawn="0"/>
|
||||
<spawn npcId="32841" x="43472" y="-249632" z="-6744" heading="0" respawn="0"/>
|
||||
<spawn npcId="32842" x="56080" y="-251648" z="-6760" heading="0" respawn="0"/>
|
||||
<spawn npcId="32843" x="56116" y="-252480" z="-6736" heading="0" respawn="0"/>
|
||||
<spawn npcId="32857" x="44123" y="-248367" z="-6720" heading="0" respawn="0"/>
|
||||
<spawn npcId="32858" x="46672" y="-248368" z="-6720" heading="0" respawn="0"/>
|
||||
<spawn npcId="32859" x="44114" y="-250912" z="-6720" heading="0" respawn="0"/>
|
||||
<spawn npcId="32860" x="46672" y="-250915" z="-6720" heading="0" respawn="0"/>
|
||||
</group>
|
||||
</spawnlist>
|
||||
</instance>
|
@ -19,9 +19,9 @@
|
||||
package ai.fantasy_isle;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javolution.util.FastMap;
|
||||
import ai.npc.AbstractNpcAI;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
@ -166,8 +166,8 @@ public class MC_Show extends AbstractNpcAI
|
||||
}
|
||||
}
|
||||
|
||||
private static Map<String, ShoutInfo> talks = new FastMap<>();
|
||||
private static Map<String, WalkInfo> walks = new FastMap<>();
|
||||
private static Map<String, ShoutInfo> talks = new HashMap<>();
|
||||
private static Map<String, WalkInfo> walks = new HashMap<>();
|
||||
|
||||
private MC_Show()
|
||||
{
|
||||
|
@ -19,10 +19,9 @@
|
||||
package ai.fantasy_isle;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Iterator;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
|
||||
import javolution.util.FastList;
|
||||
import ai.npc.AbstractNpcAI;
|
||||
|
||||
import com.l2jserver.gameserver.GameTimeController;
|
||||
@ -118,16 +117,15 @@ public class Parade extends AbstractNpcAI
|
||||
private final int[][] START5 = {{-57233, -53554, -2015, 57344},{-57290, -53610, -2015, 57344},{-57346, -53667, -2015, 57344}};
|
||||
private final int[][] GOAL5 = {{-55338, -55435, -2015, 57344},{-55395, -55491, -2015, 57344},{-55451, -55547, -2015, 57344}};
|
||||
|
||||
protected final int[][][] START = {START1, START2, START3, START4, START5};
|
||||
protected final int[][][] GOAL = {GOAL1, GOAL2, GOAL3, GOAL4, GOAL5};
|
||||
final int[][][] START = {START1, START2, START3, START4, START5};
|
||||
final int[][][] GOAL = {GOAL1, GOAL2, GOAL3, GOAL4, GOAL5};
|
||||
// @formatter:on
|
||||
|
||||
protected ScheduledFuture<?> spawnTask;
|
||||
protected ScheduledFuture<?> deleteTask;
|
||||
protected ScheduledFuture<?> cleanTask;
|
||||
|
||||
protected int npcIndex;
|
||||
protected FastList<L2Npc> spawns;
|
||||
int npcIndex;
|
||||
CopyOnWriteArrayList<L2Npc> spawns;
|
||||
ScheduledFuture<?> spawnTask;
|
||||
ScheduledFuture<?> deleteTask;
|
||||
ScheduledFuture<?> cleanTask;
|
||||
|
||||
public Parade()
|
||||
{
|
||||
@ -148,7 +146,7 @@ public class Parade extends AbstractNpcAI
|
||||
protected void load()
|
||||
{
|
||||
npcIndex = 0;
|
||||
spawns = new FastList<L2Npc>().shared();
|
||||
spawns = new CopyOnWriteArrayList<>();
|
||||
}
|
||||
|
||||
protected void clean()
|
||||
@ -220,15 +218,14 @@ public class Parade extends AbstractNpcAI
|
||||
{
|
||||
if (spawns.size() > 0)
|
||||
{
|
||||
for (Iterator<L2Npc> it = spawns.iterator(); it.hasNext();)
|
||||
for (L2Npc actor : spawns)
|
||||
{
|
||||
L2Npc actor = it.next();
|
||||
if (actor != null)
|
||||
{
|
||||
if (actor.calculateDistance(actor.getXdestination(), actor.getYdestination(), 0, false, true) < (100 * 100))
|
||||
{
|
||||
actor.deleteMe();
|
||||
it.remove();
|
||||
spawns.remove(actor);
|
||||
}
|
||||
else if (!actor.isMoving())
|
||||
{
|
||||
|
@ -19,10 +19,10 @@
|
||||
package ai.group_template;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javolution.util.FastMap;
|
||||
import quests.Q00020_BringUpWithLove.Q00020_BringUpWithLove;
|
||||
import ai.npc.AbstractNpcAI;
|
||||
|
||||
@ -104,8 +104,8 @@ public final class BeastFarm extends AbstractNpcAI
|
||||
18900
|
||||
};
|
||||
|
||||
private static Map<Integer, Integer> _FeedInfo = new FastMap<>();
|
||||
private static Map<Integer, GrowthCapableMob> _GrowthCapableMobs = new FastMap<>();
|
||||
private static Map<Integer, Integer> _FeedInfo = new HashMap<>();
|
||||
private static Map<Integer, GrowthCapableMob> _GrowthCapableMobs = new HashMap<>();
|
||||
private static List<TamedBeast> TAMED_BEAST_DATA = new ArrayList<>();
|
||||
|
||||
private BeastFarm()
|
||||
@ -395,7 +395,7 @@ public final class BeastFarm extends AbstractNpcAI
|
||||
private final int _chance;
|
||||
private final int _growthLevel;
|
||||
private final int _tameNpcId;
|
||||
private final Map<Integer, Integer> _skillSuccessNpcIdList = new FastMap<>();
|
||||
private final Map<Integer, Integer> _skillSuccessNpcIdList = new HashMap<>();
|
||||
|
||||
public GrowthCapableMob(int chance, int growthLevel, int tameNpcId)
|
||||
{
|
||||
|
@ -18,9 +18,9 @@
|
||||
*/
|
||||
package ai.group_template;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javolution.util.FastMap;
|
||||
import quests.Q00020_BringUpWithLove.Q00020_BringUpWithLove;
|
||||
import quests.Q00655_AGrandPlanForTamingWildBeasts.Q00655_AGrandPlanForTamingWildBeasts;
|
||||
import ai.npc.AbstractNpcAI;
|
||||
@ -76,7 +76,7 @@ public final class FeedableBeasts extends AbstractNpcAI
|
||||
};
|
||||
// @formatter:on
|
||||
|
||||
private static final Map<Integer, Integer> MAD_COW_POLYMORPH = new FastMap<>();
|
||||
private static final Map<Integer, Integer> MAD_COW_POLYMORPH = new HashMap<>();
|
||||
static
|
||||
{
|
||||
MAD_COW_POLYMORPH.put(21824, 21468);
|
||||
@ -129,8 +129,8 @@ public final class FeedableBeasts extends AbstractNpcAI
|
||||
NpcStringId.ANIMALS_NEED_LOVE_TOO
|
||||
};
|
||||
|
||||
private static Map<Integer, Integer> _FeedInfo = new FastMap<>();
|
||||
private static Map<Integer, GrowthCapableMob> _GrowthCapableMobs = new FastMap<>();
|
||||
private static Map<Integer, Integer> _FeedInfo = new HashMap<>();
|
||||
private static Map<Integer, GrowthCapableMob> _GrowthCapableMobs = new HashMap<>();
|
||||
|
||||
// all mobs that grow by eating
|
||||
private static class GrowthCapableMob
|
||||
@ -138,7 +138,7 @@ public final class FeedableBeasts extends AbstractNpcAI
|
||||
private final int _growthLevel;
|
||||
private final int _chance;
|
||||
|
||||
private final Map<Integer, int[][]> _spiceToMob = new FastMap<>();
|
||||
private final Map<Integer, int[][]> _spiceToMob = new HashMap<>();
|
||||
|
||||
public GrowthCapableMob(int growthLevel, int chance)
|
||||
{
|
||||
|
@ -18,9 +18,9 @@
|
||||
*/
|
||||
package ai.group_template;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javolution.util.FastMap;
|
||||
import ai.npc.AbstractNpcAI;
|
||||
|
||||
import com.l2jserver.gameserver.model.actor.L2Attackable;
|
||||
@ -32,7 +32,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
*/
|
||||
public final class PolymorphingAngel extends AbstractNpcAI
|
||||
{
|
||||
private static final Map<Integer, Integer> ANGELSPAWNS = new FastMap<>();
|
||||
private static final Map<Integer, Integer> ANGELSPAWNS = new HashMap<>();
|
||||
static
|
||||
{
|
||||
ANGELSPAWNS.put(20830, 20859);
|
||||
|
@ -18,9 +18,9 @@
|
||||
*/
|
||||
package ai.group_template;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javolution.util.FastMap;
|
||||
import ai.npc.AbstractNpcAI;
|
||||
|
||||
import com.l2jserver.gameserver.ThreadPoolManager;
|
||||
@ -33,7 +33,7 @@ import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
*/
|
||||
public final class RandomSpawn extends AbstractNpcAI
|
||||
{
|
||||
private static Map<Integer, Location[]> SPAWN_POINTS = new FastMap<>();
|
||||
private static Map<Integer, Location[]> SPAWN_POINTS = new HashMap<>();
|
||||
static
|
||||
{
|
||||
// Keltas
|
||||
|
@ -18,9 +18,9 @@
|
||||
*/
|
||||
package ai.individual;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javolution.util.FastList;
|
||||
import ai.npc.AbstractNpcAI;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
@ -56,7 +56,7 @@ public final class Core extends AbstractNpcAI
|
||||
|
||||
private static boolean _FirstAttacked;
|
||||
|
||||
private final List<L2Attackable> Minions = new FastList<>();
|
||||
private final List<L2Attackable> Minions = new ArrayList<>();
|
||||
|
||||
private Core()
|
||||
{
|
||||
|
@ -18,11 +18,11 @@
|
||||
*/
|
||||
package ai.individual;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import javolution.util.FastSet;
|
||||
import ai.npc.AbstractNpcAI;
|
||||
|
||||
import com.l2jserver.gameserver.ai.CtrlIntention;
|
||||
@ -43,8 +43,8 @@ public final class DarkWaterDragon extends AbstractNpcAI
|
||||
private static final int FAFURION = 18482;
|
||||
private static final int DETRACTOR1 = 22270;
|
||||
private static final int DETRACTOR2 = 22271;
|
||||
private static Set<Integer> SECOND_SPAWN = new FastSet<>(); // Used to track if second Shades were already spawned
|
||||
private static Set<Integer> MY_TRACKING_SET = new FastSet<>(); // Used to track instances of npcs
|
||||
private static Set<Integer> SECOND_SPAWN = new HashSet<>(); // Used to track if second Shades were already spawned
|
||||
private static Set<Integer> MY_TRACKING_SET = new HashSet<>(); // Used to track instances of npcs
|
||||
private static Map<Integer, L2PcInstance> ID_MAP = new ConcurrentHashMap<>(); // Used to track instances of npcs
|
||||
|
||||
private DarkWaterDragon()
|
||||
|
@ -18,9 +18,9 @@
|
||||
*/
|
||||
package ai.individual;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javolution.util.FastList;
|
||||
import ai.npc.AbstractNpcAI;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
@ -72,7 +72,7 @@ public final class Orfen extends AbstractNpcAI
|
||||
private static final int RIBA_IREN = 29018;
|
||||
|
||||
private static boolean _IsTeleported;
|
||||
private static List<L2Attackable> _Minions = new FastList<>();
|
||||
private static List<L2Attackable> _Minions = new ArrayList<>();
|
||||
private static L2BossZone ZONE;
|
||||
|
||||
private static final byte ALIVE = 0;
|
||||
|
@ -18,10 +18,10 @@
|
||||
*/
|
||||
package ai.individual;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
|
||||
import javolution.util.FastList;
|
||||
import ai.npc.AbstractNpcAI;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
@ -83,7 +83,7 @@ public final class QueenAnt extends AbstractNpcAI
|
||||
|
||||
L2MonsterInstance _queen = null;
|
||||
private L2MonsterInstance _larva = null;
|
||||
private final List<L2MonsterInstance> _nurses = new FastList<>(5);
|
||||
private final List<L2MonsterInstance> _nurses = new ArrayList<>(5);
|
||||
ScheduledFuture<?> _task = null;
|
||||
|
||||
private QueenAnt()
|
||||
|
@ -22,9 +22,9 @@ import static com.l2jserver.gameserver.ai.CtrlIntention.AI_INTENTION_ATTACK;
|
||||
import static com.l2jserver.gameserver.ai.CtrlIntention.AI_INTENTION_FOLLOW;
|
||||
import static com.l2jserver.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
|
||||
import javolution.util.FastList;
|
||||
import ai.npc.AbstractNpcAI;
|
||||
|
||||
import com.l2jserver.gameserver.GeoData;
|
||||
@ -217,7 +217,7 @@ public class ScarletVanHalisha extends AbstractNpcAI
|
||||
private L2Character getRandomTarget(L2Npc npc)
|
||||
{
|
||||
Collection<L2Object> objs = npc.getKnownList().getKnownObjects().values();
|
||||
FastList<L2Character> result = new FastList<>();
|
||||
ArrayList<L2Character> result = new ArrayList<>();
|
||||
{
|
||||
for (L2Object obj : objs)
|
||||
{
|
||||
|
@ -18,9 +18,9 @@
|
||||
*/
|
||||
package ai.individual;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javolution.util.FastMap;
|
||||
import ai.npc.AbstractNpcAI;
|
||||
|
||||
import com.l2jserver.gameserver.enums.ChatType;
|
||||
@ -54,7 +54,7 @@ public final class SinWardens extends AbstractNpcAI
|
||||
22438
|
||||
};
|
||||
|
||||
private final Map<Integer, Integer> killedMinionsCount = new FastMap<>();
|
||||
private final Map<Integer, Integer> killedMinionsCount = new HashMap<>();
|
||||
|
||||
private SinWardens()
|
||||
{
|
||||
|
@ -20,10 +20,9 @@ package ai.npc.ForgeOfTheGods;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
|
||||
import javolution.util.FastList;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
@ -192,7 +191,7 @@ public class TarBeetleSpawn implements IXmlReader
|
||||
private final class SpawnZone
|
||||
{
|
||||
private final List<Zone> _zones = new ArrayList<>();
|
||||
private final List<L2Npc> _spawn = new FastList<>();
|
||||
private final List<L2Npc> _spawn = new CopyOnWriteArrayList<>();
|
||||
private final int _maxNpcCount;
|
||||
private final int _index;
|
||||
|
||||
|
@ -18,9 +18,9 @@
|
||||
*/
|
||||
package ai.npc.Teleports.NewbieTravelToken;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javolution.util.FastMap;
|
||||
import ai.npc.AbstractNpcAI;
|
||||
|
||||
import com.l2jserver.gameserver.model.Location;
|
||||
@ -39,7 +39,7 @@ public final class NewbieTravelToken extends AbstractNpcAI
|
||||
// Item
|
||||
private static final int NEWBIE_TRAVEL_TOKEN = 8542;
|
||||
// NPC Id - Teleport Location
|
||||
private static final Map<Integer, Location> DATA = new FastMap<>();
|
||||
private static final Map<Integer, Location> DATA = new HashMap<>();
|
||||
|
||||
private NewbieTravelToken()
|
||||
{
|
||||
|
@ -18,9 +18,10 @@
|
||||
*/
|
||||
package gracia.AI;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import javolution.util.FastMap;
|
||||
import ai.npc.AbstractNpcAI;
|
||||
|
||||
import com.l2jserver.gameserver.ThreadPoolManager;
|
||||
@ -53,8 +54,8 @@ public class EnergySeeds extends AbstractNpcAI
|
||||
private static final int RATE = 1;
|
||||
private static final int RESPAWN = 480000;
|
||||
private static final int RANDOM_RESPAWN_OFFSET = 180000;
|
||||
private static Map<Integer, ESSpawn> _spawns = new FastMap<>();
|
||||
protected static Map<L2Npc, Integer> _spawnedNpcs = new FastMap<L2Npc, Integer>().shared();
|
||||
private static Map<Integer, ESSpawn> _spawns = new HashMap<>();
|
||||
protected static Map<L2Npc, Integer> _spawnedNpcs = new ConcurrentHashMap<>();
|
||||
|
||||
private static final int TEMPORARY_TELEPORTER = 32602;
|
||||
// @formatter:off
|
||||
@ -711,8 +712,7 @@ public class EnergySeeds extends AbstractNpcAI
|
||||
|
||||
public void scheduleRespawn(long waitTime)
|
||||
{
|
||||
ThreadPoolManager.getInstance().scheduleGeneral(() ->
|
||||
{
|
||||
ThreadPoolManager.getInstance().scheduleGeneral(() -> {
|
||||
// if the AI is inactive, do not spawn the NPC
|
||||
if (isSeedActive(_seedId))
|
||||
{
|
||||
|
@ -19,9 +19,9 @@
|
||||
package gracia.AI.SeedOfAnnihilation;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javolution.util.FastMap;
|
||||
import ai.npc.AbstractNpcAI;
|
||||
|
||||
import com.l2jserver.gameserver.datatables.SkillData;
|
||||
@ -41,7 +41,7 @@ import com.l2jserver.gameserver.util.Util;
|
||||
*/
|
||||
public class SeedOfAnnihilation extends AbstractNpcAI
|
||||
{
|
||||
private static final Map<Integer, Location> _teleportZones = new FastMap<>();
|
||||
private static final Map<Integer, Location> _teleportZones = new HashMap<>();
|
||||
private static final int ANNIHILATION_FURNACE = 18928;
|
||||
|
||||
// Strength, Agility, Wisdom
|
||||
|
@ -21,8 +21,6 @@ package handlers.admincommandhandlers;
|
||||
import java.util.StringTokenizer;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javolution.text.TextBuilder;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.gameserver.data.xml.impl.AdminData;
|
||||
import com.l2jserver.gameserver.enums.ChatType;
|
||||
@ -429,7 +427,7 @@ public class AdminAdmin implements IAdminCommandHandler
|
||||
public void showConfigPage(L2PcInstance activeChar)
|
||||
{
|
||||
final NpcHtmlMessage adminReply = new NpcHtmlMessage();
|
||||
TextBuilder replyMSG = new TextBuilder("<html><title>L2J :: Config</title><body>");
|
||||
StringBuilder replyMSG = new StringBuilder("<html><title>L2J :: Config</title><body>");
|
||||
replyMSG.append("<center><table width=270><tr><td width=60><button value=\"Main\" action=\"bypass -h admin_admin\" width=60 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td width=150>Config Server Panel</td><td width=60><button value=\"Back\" action=\"bypass -h admin_admin4\" width=60 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr></table></center><br>");
|
||||
replyMSG.append("<center><table width=260><tr><td width=140></td><td width=40></td><td width=40></td></tr>");
|
||||
replyMSG.append("<tr><td><font color=\"00AA00\">Drop:</font></td><td></td><td></td></tr>");
|
||||
|
@ -26,8 +26,6 @@ import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import javolution.text.TextBuilder;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.gameserver.GameServer;
|
||||
import com.l2jserver.gameserver.GameTimeController;
|
||||
@ -103,7 +101,7 @@ public class AdminServerInfo implements IAdminCommandHandler
|
||||
|
||||
private String buildTheardInfo(String category)
|
||||
{
|
||||
final TextBuilder tb = new TextBuilder();
|
||||
final StringBuilder tb = new StringBuilder();
|
||||
|
||||
tb.append("<table width=\"270\" border=\"0\" bgcolor=\"444444\">");
|
||||
for (Entry<String, Object> info : ThreadPoolManager.getInstance().getStats(category).getSet().entrySet())
|
||||
|
@ -23,8 +23,6 @@ import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javolution.text.TextBuilder;
|
||||
|
||||
import com.l2jserver.L2DatabaseFactory;
|
||||
import com.l2jserver.gameserver.handler.IAdminCommandHandler;
|
||||
import com.l2jserver.gameserver.instancemanager.QuestManager;
|
||||
@ -158,7 +156,7 @@ public class AdminShowQuests implements IAdminCommandHandler
|
||||
|
||||
private static void showFirstQuestMenu(L2PcInstance target, L2PcInstance actor)
|
||||
{
|
||||
TextBuilder replyMSG = new TextBuilder("<html><body><table width=270><tr><td width=45><button value=\"Main\" action=\"bypass -h admin_admin\" width=45 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td width=180><center>Player: " + target.getName() + "</center></td><td width=45><button value=\"Back\" action=\"bypass -h admin_admin6\" width=45 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr></table>");
|
||||
StringBuilder replyMSG = new StringBuilder("<html><body><table width=270><tr><td width=45><button value=\"Main\" action=\"bypass -h admin_admin\" width=45 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td width=180><center>Player: " + target.getName() + "</center></td><td width=45><button value=\"Back\" action=\"bypass -h admin_admin6\" width=45 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr></table>");
|
||||
final NpcHtmlMessage adminReply = new NpcHtmlMessage();
|
||||
int ID = target.getObjectId();
|
||||
|
||||
@ -182,7 +180,7 @@ public class AdminShowQuests implements IAdminCommandHandler
|
||||
PreparedStatement req;
|
||||
int ID = target.getObjectId();
|
||||
|
||||
TextBuilder replyMSG = new TextBuilder("<html><body>");
|
||||
StringBuilder replyMSG = new StringBuilder("<html><body>");
|
||||
final NpcHtmlMessage adminReply = new NpcHtmlMessage();
|
||||
|
||||
switch (val[0])
|
||||
|
@ -22,19 +22,11 @@ import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.OutputStreamWriter;
|
||||
import java.io.PrintWriter;
|
||||
import java.lang.management.ManagementFactory;
|
||||
import java.lang.management.ThreadInfo;
|
||||
import java.lang.management.ThreadMXBean;
|
||||
import java.net.Socket;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.StringTokenizer;
|
||||
|
||||
import javolution.util.FastComparator;
|
||||
import javolution.util.FastTable;
|
||||
|
||||
import com.l2jserver.gameserver.GameTimeController;
|
||||
import com.l2jserver.gameserver.LoginServerThread;
|
||||
import com.l2jserver.gameserver.ThreadPoolManager;
|
||||
@ -202,76 +194,6 @@ public class DebugHandler implements ITelnetHandler
|
||||
sb.append('\n');
|
||||
}
|
||||
|
||||
sb.append('\n');
|
||||
sb.append("## Threads Information ##\n");
|
||||
Map<Thread, StackTraceElement[]> allThread = Thread.getAllStackTraces();
|
||||
|
||||
FastTable<Entry<Thread, StackTraceElement[]>> entries = new FastTable<>();
|
||||
entries.setValueComparator(new FastComparator<Entry<Thread, StackTraceElement[]>>()
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
public boolean areEqual(Entry<Thread, StackTraceElement[]> e1, Entry<Thread, StackTraceElement[]> e2)
|
||||
{
|
||||
return e1.getKey().getName().equals(e2.getKey().getName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compare(Entry<Thread, StackTraceElement[]> e1, Entry<Thread, StackTraceElement[]> e2)
|
||||
{
|
||||
return e1.getKey().getName().compareTo(e2.getKey().getName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCodeOf(Entry<Thread, StackTraceElement[]> e)
|
||||
{
|
||||
return e.hashCode();
|
||||
}
|
||||
|
||||
});
|
||||
entries.addAll(allThread.entrySet());
|
||||
entries.sort();
|
||||
for (Entry<Thread, StackTraceElement[]> entry : entries)
|
||||
{
|
||||
StackTraceElement[] stes = entry.getValue();
|
||||
Thread t = entry.getKey();
|
||||
sb.append("--------------\n");
|
||||
sb.append(t.toString() + " (" + t.getId() + ")\n");
|
||||
sb.append("State: " + t.getState() + '\n');
|
||||
sb.append("isAlive: " + t.isAlive() + " | isDaemon: " + t.isDaemon() + " | isInterrupted: " + t.isInterrupted() + '\n');
|
||||
sb.append('\n');
|
||||
for (StackTraceElement ste : stes)
|
||||
{
|
||||
sb.append(ste.toString());
|
||||
sb.append('\n');
|
||||
}
|
||||
sb.append('\n');
|
||||
}
|
||||
|
||||
sb.append('\n');
|
||||
ThreadMXBean mbean = ManagementFactory.getThreadMXBean();
|
||||
long[] ids = findDeadlockedThreads(mbean);
|
||||
if ((ids != null) && (ids.length > 0))
|
||||
{
|
||||
Thread[] threads = new Thread[ids.length];
|
||||
for (int i = 0; i < threads.length; i++)
|
||||
{
|
||||
threads[i] = findMatchingThread(mbean.getThreadInfo(ids[i]));
|
||||
}
|
||||
sb.append("Deadlocked Threads:\n");
|
||||
sb.append("-------------------\n");
|
||||
for (Thread thread : threads)
|
||||
{
|
||||
System.err.println(thread);
|
||||
for (StackTraceElement ste : thread.getStackTrace())
|
||||
{
|
||||
sb.append("\t" + ste);
|
||||
sb.append('\n');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sb.append("\n\n## Thread Pool Manager Statistics ##\n");
|
||||
for (String line : ThreadPoolManager.getInstance().getStats())
|
||||
{
|
||||
@ -330,29 +252,6 @@ public class DebugHandler implements ITelnetHandler
|
||||
return false;
|
||||
}
|
||||
|
||||
private long[] findDeadlockedThreads(ThreadMXBean mbean)
|
||||
{
|
||||
// JDK 1.5 only supports the findMonitorDeadlockedThreads()
|
||||
// method, so you need to comment out the following three lines
|
||||
if (mbean.isSynchronizerUsageSupported())
|
||||
{
|
||||
return mbean.findDeadlockedThreads();
|
||||
}
|
||||
return mbean.findMonitorDeadlockedThreads();
|
||||
}
|
||||
|
||||
private Thread findMatchingThread(ThreadInfo inf)
|
||||
{
|
||||
for (Thread thread : Thread.getAllStackTraces().keySet())
|
||||
{
|
||||
if (thread.getId() == inf.getThreadId())
|
||||
{
|
||||
return thread;
|
||||
}
|
||||
}
|
||||
throw new IllegalStateException("Deadlocked Thread not found");
|
||||
}
|
||||
|
||||
public String getServerStatus()
|
||||
{
|
||||
int playerCount = 0, objectCount = 0;
|
||||
|
@ -18,9 +18,9 @@
|
||||
*/
|
||||
package hellbound.AI;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javolution.util.FastMap;
|
||||
import ai.npc.AbstractNpcAI;
|
||||
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
@ -46,7 +46,7 @@ public final class DemonPrince extends AbstractNpcAI
|
||||
new SkillHolder(5376, 6),
|
||||
};
|
||||
|
||||
private static final Map<Integer, Boolean> ATTACK_STATE = new FastMap<>();
|
||||
private static final Map<Integer, Boolean> ATTACK_STATE = new HashMap<>();
|
||||
|
||||
public DemonPrince()
|
||||
{
|
||||
|
@ -19,8 +19,8 @@
|
||||
package hellbound.AI;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.CopyOnWriteArraySet;
|
||||
|
||||
import javolution.util.FastSet;
|
||||
import ai.npc.AbstractNpcAI;
|
||||
|
||||
import com.l2jserver.gameserver.enums.ChatType;
|
||||
@ -42,7 +42,7 @@ public final class Ranku extends AbstractNpcAI
|
||||
private static final int MINION = 32305;
|
||||
private static final int MINION_2 = 25543;
|
||||
// Misc
|
||||
private static final Set<Integer> MY_TRACKING_SET = new FastSet<Integer>().shared();
|
||||
private static final Set<Integer> MY_TRACKING_SET = new CopyOnWriteArraySet<>();
|
||||
|
||||
public Ranku()
|
||||
{
|
||||
|
@ -20,9 +20,9 @@ package hellbound.AI.Zones.AnomicFoundry;
|
||||
|
||||
import hellbound.HellboundEngine;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javolution.util.FastMap;
|
||||
import ai.npc.AbstractNpcAI;
|
||||
|
||||
import com.l2jserver.gameserver.ai.CtrlIntention;
|
||||
@ -49,7 +49,7 @@ public final class AnomicFoundry extends AbstractNpcAI
|
||||
private static int LESSER_EVIL = 22398;
|
||||
private static int GREATER_EVIL = 22399;
|
||||
// Misc
|
||||
private final Map<Integer, Integer> _atkIndex = new FastMap<>();
|
||||
private final Map<Integer, Integer> _atkIndex = new HashMap<>();
|
||||
// npcId, x, y, z, heading, max count
|
||||
//@formatter:off
|
||||
private static int[][] SPAWNS =
|
||||
|
@ -18,9 +18,9 @@
|
||||
*/
|
||||
package hellbound.AI.Zones.BaseTower;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javolution.util.FastMap;
|
||||
import ai.npc.AbstractNpcAI;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.impl.DoorData;
|
||||
@ -42,7 +42,7 @@ public final class BaseTower extends AbstractNpcAI
|
||||
// Skills
|
||||
private static final SkillHolder DEATH_WORD = new SkillHolder(5256, 1);
|
||||
// Misc
|
||||
private static final Map<Integer, L2PcInstance> BODY_DESTROYER_TARGET_LIST = new FastMap<>();
|
||||
private static final Map<Integer, L2PcInstance> BODY_DESTROYER_TARGET_LIST = new HashMap<>();
|
||||
|
||||
public BaseTower()
|
||||
{
|
||||
|
@ -18,14 +18,14 @@
|
||||
*/
|
||||
package hellbound.AI.Zones.TowerOfNaia;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
|
||||
import javolution.util.FastList;
|
||||
import javolution.util.FastMap;
|
||||
import ai.npc.AbstractNpcAI;
|
||||
|
||||
import com.l2jserver.gameserver.ThreadPoolManager;
|
||||
@ -157,9 +157,9 @@ public final class TowerOfNaia extends AbstractNpcAI
|
||||
private int _challengeState;
|
||||
private int _winIndex;
|
||||
|
||||
private final Map<Integer, Boolean> _activeRooms = new FastMap<>();
|
||||
private final Map<Integer, List<L2Npc>> _spawns = new FastMap<>();
|
||||
private final FastList<L2Npc> _sporeSpawn = new FastList<L2Npc>().shared();
|
||||
private final Map<Integer, Boolean> _activeRooms = new HashMap<>();
|
||||
private final Map<Integer, List<L2Npc>> _spawns = new HashMap<>();
|
||||
private final CopyOnWriteArrayList<L2Npc> _sporeSpawn = new CopyOnWriteArrayList<>();
|
||||
static
|
||||
{
|
||||
// Format: entrance_door, exit_door
|
||||
@ -902,7 +902,7 @@ public final class TowerOfNaia extends AbstractNpcAI
|
||||
if (SPAWNS.containsKey(managerId))
|
||||
{
|
||||
int[][] spawnList = SPAWNS.get(managerId);
|
||||
List<L2Npc> spawned = new FastList<>();
|
||||
List<L2Npc> spawned = new ArrayList<>();
|
||||
for (int[] spawn : spawnList)
|
||||
{
|
||||
L2Npc spawnedNpc = addSpawn(spawn[0], spawn[1], spawn[2], spawn[3], spawn[4], false, 0, false);
|
||||
|
@ -18,15 +18,15 @@
|
||||
*/
|
||||
package hellbound.AI.Zones.TullyWorkshop;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
|
||||
import javolution.util.FastList;
|
||||
import javolution.util.FastMap;
|
||||
import ai.npc.AbstractNpcAI;
|
||||
|
||||
import com.l2jserver.gameserver.ThreadPoolManager;
|
||||
@ -111,8 +111,8 @@ public final class TullyWorkshop extends AbstractNpcAI
|
||||
22383
|
||||
};
|
||||
|
||||
private static final Map<Integer, int[]> TULLY_DOORLIST = new FastMap<>();
|
||||
private static final Map<Integer, Location[]> TELE_COORDS = new FastMap<>();
|
||||
private static final Map<Integer, int[]> TULLY_DOORLIST = new HashMap<>();
|
||||
private static final Map<Integer, Location[]> TELE_COORDS = new HashMap<>();
|
||||
|
||||
protected int countdownTime;
|
||||
private int nextServantIdx = 0;
|
||||
@ -125,14 +125,14 @@ public final class TullyWorkshop extends AbstractNpcAI
|
||||
protected ScheduledFuture<?> _countdown = null;
|
||||
|
||||
// NPC's, spawned after Tully's death are stored here
|
||||
protected static List<L2Npc> postMortemSpawn = new FastList<>();
|
||||
protected static List<L2Npc> postMortemSpawn = new ArrayList<>();
|
||||
// TODO: Zoey76: Not thread-safe, probably will lead to problems.
|
||||
protected static Set<Integer> brokenContraptions = new HashSet<>();
|
||||
protected static Set<Integer> rewardedContraptions = new HashSet<>();
|
||||
protected static Set<Integer> talkedContraptions = new HashSet<>();
|
||||
|
||||
private final List<L2MonsterInstance> spawnedFollowers = new FastList<>();
|
||||
private final List<L2MonsterInstance> spawnedFollowerMinions = new FastList<>();
|
||||
private final List<L2MonsterInstance> spawnedFollowers = new ArrayList<>();
|
||||
private final List<L2MonsterInstance> spawnedFollowerMinions = new ArrayList<>();
|
||||
private L2Npc spawnedAgent = null;
|
||||
private L2Spawn pillarSpawn = null;
|
||||
|
||||
|
@ -20,12 +20,11 @@ package instances.CrystalCaverns;
|
||||
|
||||
import instances.AbstractInstance;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javolution.util.FastList;
|
||||
import javolution.util.FastMap;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.gameserver.GeoData;
|
||||
import com.l2jserver.gameserver.ai.CtrlIntention;
|
||||
@ -84,15 +83,15 @@ public final class CrystalCaverns extends AbstractInstance
|
||||
|
||||
private class CCWorld extends InstanceWorld
|
||||
{
|
||||
public Map<L2Npc, Boolean> npcList1 = new FastMap<>();
|
||||
public Map<L2Npc, Boolean> npcList1 = new HashMap<>();
|
||||
public L2Npc tears;
|
||||
public boolean isUsedInvulSkill = false;
|
||||
public long dragonScaleStart = 0;
|
||||
public int dragonScaleNeed = 0;
|
||||
public int cleanedRooms = 0;
|
||||
public long endTime = 0;
|
||||
public List<L2Npc> copys = new FastList<>();
|
||||
public Map<L2Npc, CrystalGolem> crystalGolems = new FastMap<>();
|
||||
public List<L2Npc> copys = new ArrayList<>();
|
||||
public Map<L2Npc, CrystalGolem> crystalGolems = new HashMap<>();
|
||||
public int correctGolems = 0;
|
||||
public boolean[] OracleTriggered =
|
||||
{
|
||||
@ -108,18 +107,18 @@ public final class CrystalCaverns extends AbstractInstance
|
||||
0,
|
||||
0
|
||||
}; // 0: not spawned, 1: spawned, 2: cleared
|
||||
public Map<L2DoorInstance, L2PcInstance> openedDoors = new FastMap<>();
|
||||
public Map<Integer, Map<L2Npc, Boolean>> npcList2 = new FastMap<>();
|
||||
public Map<L2Npc, L2Npc> oracles = new FastMap<>();
|
||||
public List<L2Npc> keyKeepers = new FastList<>();
|
||||
public List<L2Npc> guards = new FastList<>();
|
||||
public List<L2Npc> oracle = new FastList<>();
|
||||
public Map<L2DoorInstance, L2PcInstance> openedDoors = new HashMap<>();
|
||||
public Map<Integer, Map<L2Npc, Boolean>> npcList2 = new HashMap<>();
|
||||
public Map<L2Npc, L2Npc> oracles = new HashMap<>();
|
||||
public List<L2Npc> keyKeepers = new ArrayList<>();
|
||||
public List<L2Npc> guards = new ArrayList<>();
|
||||
public List<L2Npc> oracle = new ArrayList<>();
|
||||
// baylor variables
|
||||
protected final List<L2PcInstance> _raiders = new FastList<>();
|
||||
protected final List<L2PcInstance> _raiders = new ArrayList<>();
|
||||
protected int _raidStatus = 0;
|
||||
protected long _dragonClawStart = 0;
|
||||
protected int _dragonClawNeed = 0;
|
||||
protected final List<L2Npc> _animationMobs = new FastList<>();
|
||||
protected final List<L2Npc> _animationMobs = new ArrayList<>();
|
||||
protected L2Npc _camera = null;
|
||||
protected L2Npc _baylor = null;
|
||||
protected L2Npc _alarm = null;
|
||||
@ -800,7 +799,7 @@ public final class CrystalCaverns extends AbstractInstance
|
||||
{
|
||||
world.setStatus(3);
|
||||
|
||||
Map<L2Npc, Boolean> spawnList = new FastMap<>();
|
||||
Map<L2Npc, Boolean> spawnList = new HashMap<>();
|
||||
for (int[] spawn : EMERALD_SPAWNS)
|
||||
{
|
||||
L2Npc mob = addSpawn(spawn[0], spawn[1], spawn[2], spawn[3], spawn[4], false, 0, false, world.getInstanceId());
|
||||
@ -811,7 +810,7 @@ public final class CrystalCaverns extends AbstractInstance
|
||||
|
||||
protected void runEmeraldRooms(CCWorld world, int[][] spawnList, int room)
|
||||
{
|
||||
Map<L2Npc, Boolean> spawned = new FastMap<>();
|
||||
Map<L2Npc, Boolean> spawned = new HashMap<>();
|
||||
for (int[] spawn : spawnList)
|
||||
{
|
||||
L2Npc mob = addSpawn(spawn[0], spawn[1], spawn[2], spawn[3], spawn[4], false, 0, false, world.getInstanceId());
|
||||
@ -839,7 +838,7 @@ public final class CrystalCaverns extends AbstractInstance
|
||||
{
|
||||
world.setStatus(status);
|
||||
|
||||
Map<L2Npc, Boolean> spawned = new FastMap<>();
|
||||
Map<L2Npc, Boolean> spawned = new HashMap<>();
|
||||
for (int[] spawn : spawnList)
|
||||
{
|
||||
L2Npc mob = addSpawn(spawn[0], spawn[1], spawn[2], spawn[3], spawn[4], false, 0, false, world.getInstanceId());
|
||||
@ -1380,7 +1379,7 @@ public final class CrystalCaverns extends AbstractInstance
|
||||
return "";
|
||||
}
|
||||
CrystalGolem cryGolem = world.crystalGolems.get(npc);
|
||||
List<L2Object> crystals = new FastList<>();
|
||||
List<L2Object> crystals = new ArrayList<>();
|
||||
for (L2Object object : L2World.getInstance().getVisibleObjects(npc, 300))
|
||||
{
|
||||
if ((object instanceof L2ItemInstance) && (object.getId() == CRYSTALFOOD))
|
||||
|
@ -19,8 +19,9 @@
|
||||
package instances.DarkCloudMansion;
|
||||
|
||||
import instances.AbstractInstance;
|
||||
import javolution.util.FastList;
|
||||
import javolution.util.FastMap;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
||||
import com.l2jserver.gameserver.enums.ChatType;
|
||||
import com.l2jserver.gameserver.instancemanager.InstanceManager;
|
||||
@ -45,7 +46,7 @@ public final class DarkCloudMansion extends AbstractInstance
|
||||
{
|
||||
protected class DMCWorld extends InstanceWorld
|
||||
{
|
||||
protected FastMap<String, DMCRoom> rooms = new FastMap<>();
|
||||
protected HashMap<String, DMCRoom> rooms = new HashMap<>();
|
||||
}
|
||||
|
||||
// NPCs
|
||||
@ -229,7 +230,7 @@ public final class DarkCloudMansion extends AbstractInstance
|
||||
|
||||
protected static class DMCRoom
|
||||
{
|
||||
public FastList<DMCNpc> npcList = new FastList<>();
|
||||
public ArrayList<DMCNpc> npcList = new ArrayList<>();
|
||||
public int counter = 0;
|
||||
public int reset = 0;
|
||||
public int founded = 0;
|
||||
|
@ -20,10 +20,10 @@ package instances.DisciplesNecropolisPast;
|
||||
|
||||
import instances.AbstractInstance;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javolution.util.FastList;
|
||||
import quests.Q00196_SevenSignsSealOfTheEmperor.Q00196_SevenSignsSealOfTheEmperor;
|
||||
|
||||
import com.l2jserver.gameserver.enums.ChatType;
|
||||
@ -47,8 +47,8 @@ public final class DisciplesNecropolisPast extends AbstractInstance
|
||||
{
|
||||
protected class DNPWorld extends InstanceWorld
|
||||
{
|
||||
protected final FastList<L2Npc> anakimGroup = new FastList<>();
|
||||
protected final FastList<L2Npc> lilithGroup = new FastList<>();
|
||||
protected final ArrayList<L2Npc> anakimGroup = new ArrayList<>();
|
||||
protected final ArrayList<L2Npc> lilithGroup = new ArrayList<>();
|
||||
protected int countKill = 0;
|
||||
}
|
||||
|
||||
@ -180,7 +180,7 @@ public final class DisciplesNecropolisPast extends AbstractInstance
|
||||
teleportPlayer(player, ENTER, world.getInstanceId());
|
||||
}
|
||||
|
||||
private void makeCast(L2Npc npc, FastList<L2Npc> targets)
|
||||
private void makeCast(L2Npc npc, ArrayList<L2Npc> targets)
|
||||
{
|
||||
npc.setTarget(targets.get(getRandom(targets.size())));
|
||||
if (SKILLS.containsKey(npc.getId()))
|
||||
|
@ -21,9 +21,11 @@ package instances.FinalEmperialTomb;
|
||||
import instances.AbstractInstance;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
import java.util.concurrent.locks.Lock;
|
||||
import java.util.concurrent.locks.ReentrantLock;
|
||||
@ -31,9 +33,6 @@ import java.util.logging.Level;
|
||||
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
|
||||
import javolution.util.FastList;
|
||||
import javolution.util.FastMap;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
@ -86,7 +85,7 @@ public final class FinalEmperialTomb extends AbstractInstance
|
||||
private class FETWorld extends InstanceWorld
|
||||
{
|
||||
protected Lock lock = new ReentrantLock();
|
||||
protected FastList<L2Npc> npcList = new FastList<>();
|
||||
protected CopyOnWriteArrayList<L2Npc> npcList = new CopyOnWriteArrayList<>();
|
||||
protected int darkChoirPlayerCount = 0;
|
||||
protected FrintezzaSong OnSong = null;
|
||||
protected ScheduledFuture<?> songTask = null;
|
||||
@ -99,8 +98,8 @@ public final class FinalEmperialTomb extends AbstractInstance
|
||||
protected L2Npc scarletDummy = null;
|
||||
protected L2GrandBossInstance frintezza = null;
|
||||
protected L2GrandBossInstance activeScarlet = null;
|
||||
protected List<L2MonsterInstance> demons = new FastList<>();
|
||||
protected Map<L2MonsterInstance, Integer> portraits = new FastMap<>();
|
||||
protected List<L2MonsterInstance> demons = new ArrayList<>();
|
||||
protected Map<L2MonsterInstance, Integer> portraits = new HashMap<>();
|
||||
protected int scarlet_x = 0;
|
||||
protected int scarlet_y = 0;
|
||||
protected int scarlet_z = 0;
|
||||
@ -109,7 +108,6 @@ public final class FinalEmperialTomb extends AbstractInstance
|
||||
|
||||
protected FETWorld()
|
||||
{
|
||||
npcList.shared();
|
||||
}
|
||||
}
|
||||
|
||||
@ -196,7 +194,7 @@ public final class FinalEmperialTomb extends AbstractInstance
|
||||
private static final boolean debug = false;
|
||||
private final Map<Integer, L2Territory> _spawnZoneList = new HashMap<>();
|
||||
private final Map<Integer, List<FETSpawn>> _spawnList = new HashMap<>();
|
||||
private final List<Integer> _mustKillMobsId = new FastList<>();
|
||||
private final List<Integer> _mustKillMobsId = new ArrayList<>();
|
||||
protected static final int[] FIRST_ROOM_DOORS =
|
||||
{
|
||||
17130051,
|
||||
@ -303,7 +301,7 @@ public final class FinalEmperialTomb extends AbstractInstance
|
||||
int flag = Integer.parseInt(attrs.getNamedItem("flag").getNodeValue());
|
||||
if (!_spawnList.containsKey(flag))
|
||||
{
|
||||
_spawnList.put(flag, new FastList<FETSpawn>());
|
||||
_spawnList.put(flag, new ArrayList<FETSpawn>());
|
||||
}
|
||||
|
||||
for (Node cd = d.getFirstChild(); cd != null; cd = cd.getNextSibling())
|
||||
@ -850,7 +848,7 @@ public final class FinalEmperialTomb extends AbstractInstance
|
||||
|
||||
if ((_world.frintezza != null) && !_world.frintezza.isDead() && (_world.activeScarlet != null) && !_world.activeScarlet.isDead())
|
||||
{
|
||||
List<L2Character> targetList = new FastList<>();
|
||||
List<L2Character> targetList = new ArrayList<>();
|
||||
if (skill.hasEffectType(L2EffectType.STUN) || skill.isDebuff())
|
||||
{
|
||||
for (int objId : _world.getAllowed())
|
||||
@ -867,8 +865,7 @@ public final class FinalEmperialTomb extends AbstractInstance
|
||||
{
|
||||
targetList.add(pet);
|
||||
}
|
||||
player.getServitors().values().forEach(s ->
|
||||
{
|
||||
player.getServitors().values().forEach(s -> {
|
||||
if (!s.isDead())
|
||||
{
|
||||
targetList.add(s);
|
||||
|
@ -18,10 +18,10 @@
|
||||
*/
|
||||
package instances.MonasteryOfSilence2;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import javolution.util.FastList;
|
||||
import javolution.util.FastMap;
|
||||
import quests.Q10294_SevenSignsToTheMonasteryOfSilence.Q10294_SevenSignsToTheMonasteryOfSilence;
|
||||
import quests.Q10295_SevenSignsSolinasTomb.Q10295_SevenSignsSolinasTomb;
|
||||
import quests.Q10296_SevenSignsPowerOfTheSeal.Q10296_SevenSignsPowerOfTheSeal;
|
||||
@ -196,11 +196,11 @@ public class MonasteryOfSilence2 extends AbstractNpcAI
|
||||
6717
|
||||
};
|
||||
|
||||
private final FastMap<Integer, InstanceHolder> instanceWorlds = new FastMap<>();
|
||||
private final HashMap<Integer, InstanceHolder> instanceWorlds = new HashMap<>();
|
||||
|
||||
public static class InstanceHolder
|
||||
{
|
||||
List<L2Npc> mobs = new FastList<>();
|
||||
List<L2Npc> mobs = new ArrayList<>();
|
||||
}
|
||||
|
||||
private class MoSWorld2 extends InstanceWorld
|
||||
|
@ -18,13 +18,12 @@
|
||||
*/
|
||||
package quests.Q00144_PailakaInjuredDragon;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javolution.util.FastList;
|
||||
import javolution.util.FastMap;
|
||||
|
||||
import com.l2jserver.gameserver.ai.CtrlEvent;
|
||||
import com.l2jserver.gameserver.ai.CtrlIntention;
|
||||
import com.l2jserver.gameserver.datatables.SkillData;
|
||||
@ -66,7 +65,7 @@ public class Q00144_PailakaInjuredDragon extends Quest
|
||||
|
||||
// @formatter:off
|
||||
// NO EXIT ZONES
|
||||
private static final Map<Integer, int[]> NOEXIT_ZONES = new FastMap<>();
|
||||
private static final Map<Integer, int[]> NOEXIT_ZONES = new HashMap<>();
|
||||
static
|
||||
{
|
||||
NOEXIT_ZONES.put(200001, new int[]{123167, -45743, -3023});
|
||||
@ -204,7 +203,7 @@ public class Q00144_PailakaInjuredDragon extends Quest
|
||||
{4347,6} // Blessed Body Lv6
|
||||
};
|
||||
|
||||
private static final FastList<PailakaDrop> DROPLIST = new FastList<>();
|
||||
private static final ArrayList<PailakaDrop> DROPLIST = new ArrayList<>();
|
||||
static
|
||||
{
|
||||
DROPLIST.add(new PailakaDrop(HEAL_POTION, 80));
|
||||
@ -257,10 +256,10 @@ public class Q00144_PailakaInjuredDragon extends Quest
|
||||
@Override
|
||||
public final String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = player.getQuestState(getName());
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return getNoQuestMsg(player);
|
||||
return null;
|
||||
}
|
||||
|
||||
final int cond = qs.getCond();
|
||||
@ -420,10 +419,11 @@ public class Q00144_PailakaInjuredDragon extends Quest
|
||||
@Override
|
||||
public final String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = player.getQuestState(getName());
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
if (qs == null)
|
||||
{
|
||||
return getNoQuestMsg(player);
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
final int cond = qs.getCond();
|
||||
|
@ -1,6 +0,0 @@
|
||||
<html><body>Duelist Kaien:<br>
|
||||
This is the first I've heard of that! I'm so sorry, obviously you've gone to a great deal of trouble for nothing... Wait a moment~<br>
|
||||
Could I take a closer look at that? This design is remarkably similar to the one engraved on a scabbard that I received from my father... I am beginning to believe you now.<br>
|
||||
I come from a long line of dualists! It has been a tradition in my family for over a thousand years! Charming, no?<br>
|
||||
Thank you, I will accept this... I wish I had more to offer you in return! Please accept these worthless trinkets as a token of my appreciation!
|
||||
</body></html>
|
@ -1,3 +0,0 @@
|
||||
<html><body>Duelist Kaien:<br>
|
||||
Your hilt has been taken to a Dwarven craftsman who will fashion a suitable blade for it... Aren't you excited?!
|
||||
</body></html>
|
@ -1,5 +0,0 @@
|
||||
<html><body>High Prefect Gavarentz:<br>
|
||||
This necklace and statue prove that what you say is true. Last night I dreamed of an Orc. His large body was covered with scars and he was drenched in what must have been his enemy's blood. He gave me this necklace...<br>
|
||||
Thank you, young traveler. Now I shall give the necklace to you. Use it carefully.
|
||||
</body></html>
|
||||
|
@ -1,3 +0,0 @@
|
||||
<html><body>High Prefect Gavarentz:<br>
|
||||
I have entrusted the amulet necklace to my daughter, who I have sent north to the Orc Fortress. She will wear the necklace in battle. I pray the mighty spirit of her ancestor will watch over her.
|
||||
</body></html>
|
@ -1,5 +0,0 @@
|
||||
<html><body>Antharas Watchman Gilmore:<br>
|
||||
I've not left Dragon Valley since I led my men here so many years ago to battle Antharas...<br>
|
||||
I have accepted the inevitability of my eternal responsibility to watch over the beast. But my heart goes out to the loyal soldiers who lost their lives due to my stubborn ignorance. I have no other wish than to see their remains returned to their hometowns, but I fear that you are not up to the task...<br>
|
||||
(This quest can only be undertaken by a character of level 48 or above.)
|
||||
</body></html>
|
@ -1,5 +0,0 @@
|
||||
<html><body>Antharas Watchman Gilmore:<br>
|
||||
I've not left Dragon Valley since I led my men here so many years ago to battle Antharas...<br>
|
||||
I have accepted the inevitability of my eternal responsibility to watch over the beast. But my heart goes out to the loyal soldiers who lost their lives due to my stubborn ignorance. I have no other wish than to see their remains returned to their hometowns so they can rest in peace.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00344_1000YearsTheEndOfLamentation 30754-03.htm">"I will help you."</Button>
|
||||
</body></html>
|
@ -1,4 +0,0 @@
|
||||
<html><body>Watcher of Antharas Gilmore:<br>
|
||||
I buried my former subordinates in a corner of this Valley in a region called the <font color="LEVEL">Watcher's Tomb</font>. However, they strangely came back from the dead after Antharas and Desparion used their magic. My mind is still strong, but they turned into monsters after blood and death... These friends... creatures... are now called... 'Cave Servants'...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00344_1000YearsTheEndOfLamentation 30754-04.htm">"Carry on."</Button>
|
||||
</body></html>
|
@ -1,3 +0,0 @@
|
||||
<html><body>Watcher of Antharas Gilmore:<br>
|
||||
You probably know as well, but there were many, many people that tried to kill Antharas. None were able, but their death was not the end for all. While some were undoubtedly held by Shilen's grasp, others become Cave Servants. Right now, I don't even know how many Cave Servants exist in the <font color="LEVEL">Watcher's Tomb</font>. What I can ask of you is to destroy as many Cave Servants as possible. <font color="LEVEL">Cave Servant, Archer, Warrior, Chief... Anything that has Cave in the name</font>. Kill them and collect their relics, then bring them to me. I will reward you appropriately.
|
||||
</body></html>
|
@ -1,3 +0,0 @@
|
||||
<html><body>Antharas Watchman Gilmore:<br>
|
||||
Is there something keeping you here? Why aren't you out killing cave servants? Bring me back any relics they leave behind.
|
||||
</body></html>
|
@ -1,4 +0,0 @@
|
||||
<html><body>Antharas Watchman Gilmore:<br>
|
||||
Believe it or not we gave our lives willingly to save Giran! But we never counted on being here for eternity, let alone looking like this! It's been a thousand years and still I long for my mortal life...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00344_1000YearsTheEndOfLamentation 30754-08.html">Give him the relics.</Button>
|
||||
</body></html>
|
@ -1,3 +0,0 @@
|
||||
<html><body>Antharas Watchman Gilmore:<br>
|
||||
What's that? Oh, for some reason, I was sure that you had brought back relics. You should be out killing cave servants. You must do whatever you can to release my men from their endless torment.
|
||||
</body></html>
|
@ -1,5 +0,0 @@
|
||||
<html><body>Antharas Watchman Gilmore:<br>
|
||||
Thank you! Please take this as a token of my appreciation. Thanks to you the noble soldiers can finally rest in peace... I am afraid that there are many more, however, who still wander this valley. Would you be willing to continue doing this for a while?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00344_1000YearsTheEndOfLamentation 30754-16.html">"I will continue the work."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00344_1000YearsTheEndOfLamentation 30754-17.html">"I quit."</Button>
|
||||
</body></html>
|
@ -1,4 +0,0 @@
|
||||
<html><body>Antharas Watchman Gilmore:<br>
|
||||
Could it be? If my eyes aren't deceiving me this used to belong to a friend of mine...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00344_1000YearsTheEndOfLamentation relic_info">"Tell me more, Gilmore."</Button>
|
||||
</body></html>
|
@ -1,5 +0,0 @@
|
||||
<html><body>Antharas Watchman Gilmore:<br>
|
||||
My personal aide wore this key around his neck. He stood by my side during the battle with Antharas 1,000 years ago. He was the first-born son in his family... This key was very important to him.<br>
|
||||
I believe one of his descendants is living in <font color="LEVEL">the Town of Giran</font>. He has the family name of <font color="LEVEL">Rodemai</font>.<br>
|
||||
I am bound to this valley so cannot go myself. Would you please take the key to Rodemai in the Town of Giran? I will pay you for your trouble.
|
||||
</body></html>
|
@ -1,5 +0,0 @@
|
||||
<html><body>Antharas Watchman Gilmore:<br>
|
||||
This sword belonged to one of my aides who fought alongside me against Antharas 1,000 years ago. In the intervening years the blade must have rusted away and only this hilt is left. He was a swordsman without parallel...<br>
|
||||
It is said that one of his descendants is living in <font color="LEVEL">the Town of Oren</font>. It is likely that he is following the family tradition of being a <font color="LEVEL">Duelist</font>.<br>
|
||||
I am unable to leave this valley or I would take this relic to him. Would you please do this for me? I will pay you for your trouble.
|
||||
</body></html>
|
@ -1,5 +0,0 @@
|
||||
<html><body>Antharas Watchman Gilmore:<br>
|
||||
This necklace belonged to a soldier that served under my command in the battle against Antharas. He was the finest Orc I've ever known, a true intellectual. Seriously! I'm fairly certain he was of aristocratic birth.<br>
|
||||
Come to think of it, I've seen that necklace elsewhere. It was worn by an Orc who was a <font color="LEVEL">High Prefect</font> from <font color="LEVEL">Hunters Village</font>.<br>
|
||||
I would take the necklace to him if I was able to leave this valley, but alas, I cannot. Would you please take it to him? I will compensate you well for your trouble.
|
||||
</body></html>
|
@ -1,5 +0,0 @@
|
||||
<html><body>Antharas Watchman Gilmore:<br>
|
||||
This crucifix belonged to one of the brave young soldiers who accompanied me here 1,000 years ago to battle the beast Antharas. At that time it shone like the sun. Now it looks so old and weathered...<br>
|
||||
He worshipped in a temple that stood where Aden Castle stands now. Please go to <font color="LEVEL">the Town of Aden</font> and take this crucifix to the temple of Einhasad. Show it to a <font color="LEVEL">High Priest</font> at the temple, he will know what to do with it.<br>
|
||||
Even if I could leave the valley to travel there, an undead such as myself could never enter the temple. If you will do this for me I will pay you well.
|
||||
</body></html>
|
@ -1,3 +0,0 @@
|
||||
<html><body>Antharas Watchman Gilmore:<br>
|
||||
Please go ahead and deliver the relic I gave you. You can come back and resume dispatching the cave servants afterwards.
|
||||
</body></html>
|
@ -1,6 +0,0 @@
|
||||
<html><body>Watcher of Antharas Gilmore:<br>
|
||||
Oh, you're back? Perhaps I should reward for your good work, hmm?<br>
|
||||
Now, while you're here, I'd like to ask you to help with the same task in your future endeavours, as there are other friends of mine who still cannot rest in the watcher's tomb. Would you do this for me again in a while?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00344_1000YearsTheEndOfLamentation 30754-16.html">"Yes."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00344_1000YearsTheEndOfLamentation 30754-17.html">"Sorry, I can't."</Button>
|
||||
</body></html>
|
@ -1,3 +0,0 @@
|
||||
<html><body>Antharas Watchman Gilmore:<br>
|
||||
Oh, thank you! I knew I could depend on you. This could go on for a while. There seems to be no end of cave servants in this cursed valley.
|
||||
</body></html>
|
@ -1,3 +0,0 @@
|
||||
<html><body>Antharas Watchman Gilmore:<br>
|
||||
Oh, well, you have done much good. I knew you wouldn't stay here forever, as I and my soldiers must do. Thank you for helping me and my men. Goodbye...
|
||||
</body></html>
|
@ -1,5 +0,0 @@
|
||||
<html><body>Sir Kristof Rodemai:<br>
|
||||
Really! So the ancestors of the Rodemai family participated in the expedition to fight Antharas during the Elmoreden Empire?<br>
|
||||
Yes, that does sound familiar. My family has always been a self-sacrificing lot... This key proves it. So, how about that?<br>
|
||||
I appreciate your bringing me something so precious! Here, take this as a token of my appreciation for your hard work.
|
||||
</body></html>
|
@ -1,3 +0,0 @@
|
||||
<html><body>Sir Kristof Rodemai:<br>
|
||||
The recovery of this key has restored the honor of the Rodemai family. It actually traces our ancestry back to the time of the ancient empire! I hope that you will continue working for us...
|
||||
</body></html>
|
@ -1,5 +0,0 @@
|
||||
<html><body>High Priest Orven:<br>
|
||||
This looks like a badge from our temple...? Don't tell me... Could it be a relic from the battle against Antharas 1,000 years ago? How could it be?<br>
|
||||
I have always feared that our efforts to slay Antharas have been in vain. This old badge tells me that our responsibilities cannot be avoided, no matter the cost.<br>
|
||||
Thank you, young traveler. Please take this small token of appreciation from our temple.
|
||||
</body></html>
|
@ -1,3 +0,0 @@
|
||||
<html><body>High Priest Orven:<br>
|
||||
The badge is safe with other sacred relics deep within the temple. Many fail to grasp the significance of this old piece of metal, but I hear it calling me to my duty...
|
||||
</body></html>
|
@ -1,380 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2015 L2J DataPack
|
||||
*
|
||||
* This file is part of L2J DataPack.
|
||||
*
|
||||
* L2J DataPack is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* L2J DataPack is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package quests.Q00344_1000YearsTheEndOfLamentation;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.holders.ItemHolder;
|
||||
import com.l2jserver.gameserver.model.quest.Quest;
|
||||
import com.l2jserver.gameserver.model.quest.QuestState;
|
||||
|
||||
/**
|
||||
* 1000 years, the End of Lamentation (344)
|
||||
* @author Pandragon
|
||||
*/
|
||||
public final class Q00344_1000YearsTheEndOfLamentation extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int KAIEN = 30623;
|
||||
private static final int GARVARENTZ = 30704;
|
||||
private static final int GILMORE = 30754;
|
||||
private static final int RODEMAI = 30756;
|
||||
private static final int ORVEN = 30857;
|
||||
// Items
|
||||
private static final int ARTICLES = 4269;
|
||||
private static final ItemHolder OLD_KEY = new ItemHolder(4270, 1);
|
||||
private static final ItemHolder OLD_HILT = new ItemHolder(4271, 1);
|
||||
private static final ItemHolder TOTEM_NECKLACE = new ItemHolder(4272, 1);
|
||||
private static final ItemHolder CRUCIFIX = new ItemHolder(4273, 1);
|
||||
// Monsters
|
||||
private static final Map<Integer, Double> MONSTER_CHANCES = new HashMap<>();
|
||||
{
|
||||
MONSTER_CHANCES.put(20236, 0.58); // Cave Servant
|
||||
MONSTER_CHANCES.put(20238, 0.75); // Cave Servant Warrior
|
||||
MONSTER_CHANCES.put(20237, 0.78); // Cave Servant Archer
|
||||
MONSTER_CHANCES.put(20239, 0.79); // Cave Servant Captain
|
||||
MONSTER_CHANCES.put(20240, 0.85); // Royal Cave Servant
|
||||
MONSTER_CHANCES.put(20272, 0.58); // Cave Servant
|
||||
MONSTER_CHANCES.put(20273, 0.78); // Cave Servant Archer
|
||||
MONSTER_CHANCES.put(20274, 0.75); // Cave Servant Warrior
|
||||
MONSTER_CHANCES.put(20275, 0.79); // Cave Servant Captain
|
||||
MONSTER_CHANCES.put(20276, 0.85); // Royal Cave Servant
|
||||
}
|
||||
// Rewards
|
||||
private static final ItemHolder ORIHARUKON_ORE = new ItemHolder(1874, 25);
|
||||
private static final ItemHolder VARNISH_OF_PURITY = new ItemHolder(1887, 10);
|
||||
private static final ItemHolder SCROLL_EWC = new ItemHolder(951, 1);
|
||||
private static final ItemHolder RAID_SWORD = new ItemHolder(133, 1);
|
||||
private static final ItemHolder COKES = new ItemHolder(1879, 55);
|
||||
private static final ItemHolder RING_OF_AGES = new ItemHolder(885, 1);
|
||||
private static final ItemHolder LEATHER = new ItemHolder(1882, 70);
|
||||
private static final ItemHolder COARSE_BONE_POWDER = new ItemHolder(1881, 50);
|
||||
private static final ItemHolder HEAVY_DOOM_HAMMER = new ItemHolder(191, 1);
|
||||
private static final ItemHolder STONE_OF_PURITY = new ItemHolder(1875, 19);
|
||||
private static final ItemHolder SCROLL_EAC = new ItemHolder(952, 5);
|
||||
private static final ItemHolder DRAKE_LEATHER_BOOTS = new ItemHolder(2437, 1);
|
||||
// Misc
|
||||
private static final int MIN_LVL = 48;
|
||||
|
||||
public Q00344_1000YearsTheEndOfLamentation()
|
||||
{
|
||||
super(344, Q00344_1000YearsTheEndOfLamentation.class.getSimpleName(), "1000 years, the End of Lamentation");
|
||||
addStartNpc(GILMORE);
|
||||
addTalkId(KAIEN, GARVARENTZ, GILMORE, RODEMAI, ORVEN);
|
||||
addKillId(MONSTER_CHANCES.keySet());
|
||||
registerQuestItems(ARTICLES, OLD_KEY.getId(), OLD_HILT.getId(), TOTEM_NECKLACE.getId(), CRUCIFIX.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
String htmltext = null;
|
||||
if (qs == null)
|
||||
{
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
switch (event)
|
||||
{
|
||||
case "30754-03.htm":
|
||||
case "30754-16.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "30754-04.htm":
|
||||
{
|
||||
if (qs.isCreated())
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "30754-08.html":
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
final long count = getQuestItemsCount(player, ARTICLES);
|
||||
if (count < 1)
|
||||
{
|
||||
htmltext = "30754-07.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
takeItems(player, ARTICLES, -1);
|
||||
if (getRandom(1000) >= count)
|
||||
{
|
||||
giveAdena(player, count * 60, true);
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
switch (getRandom(4))
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
qs.setMemoState(1);
|
||||
giveItems(player, OLD_HILT);
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
{
|
||||
qs.setMemoState(2);
|
||||
giveItems(player, OLD_KEY);
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
qs.setMemoState(3);
|
||||
giveItems(player, TOTEM_NECKLACE);
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
qs.setMemoState(4);
|
||||
giveItems(player, CRUCIFIX);
|
||||
break;
|
||||
}
|
||||
}
|
||||
htmltext = "30754-09.html";
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "30754-17.html":
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = event;
|
||||
qs.exitQuest(true, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "relic_info":
|
||||
{
|
||||
switch (qs.getMemoState())
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
htmltext = "30754-10.html";
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
htmltext = "30754-11.html";
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
htmltext = "30754-12.html";
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
htmltext = "30754-13.html";
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance talker)
|
||||
{
|
||||
final QuestState qs = getQuestState(talker, true);
|
||||
String htmltext = getNoQuestMsg(talker);
|
||||
switch (npc.getId())
|
||||
{
|
||||
case GILMORE:
|
||||
{
|
||||
if (qs.isCreated())
|
||||
{
|
||||
htmltext = (talker.getLevel() >= MIN_LVL) ? "30754-02.htm" : "30754-01.htm";
|
||||
}
|
||||
else if (qs.isStarted())
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = (hasQuestItems(talker, ARTICLES)) ? "30754-06.html" : "30754-05.html";
|
||||
}
|
||||
else if (hasItem(talker, OLD_KEY) || hasItem(talker, OLD_HILT) || hasItem(talker, TOTEM_NECKLACE) || hasItem(talker, CRUCIFIX))
|
||||
{
|
||||
htmltext = "30754-14.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
qs.setCond(1);
|
||||
htmltext = "30754-15.html";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(talker);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case KAIEN:
|
||||
{
|
||||
if (qs.getMemoState() == 1)
|
||||
{
|
||||
if (hasItem(talker, OLD_HILT))
|
||||
{
|
||||
takeItems(talker, OLD_HILT.getId(), -1);
|
||||
final int rand = getRandom(100);
|
||||
if (rand <= 52)
|
||||
{
|
||||
rewardItems(talker, ORIHARUKON_ORE);
|
||||
}
|
||||
else if (rand <= 76)
|
||||
{
|
||||
rewardItems(talker, VARNISH_OF_PURITY);
|
||||
}
|
||||
else if (rand <= 98)
|
||||
{
|
||||
rewardItems(talker, SCROLL_EWC);
|
||||
}
|
||||
else
|
||||
{
|
||||
rewardItems(talker, RAID_SWORD);
|
||||
}
|
||||
qs.setCond(1);
|
||||
htmltext = "30623-01.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "30623-02.html";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case RODEMAI:
|
||||
{
|
||||
if (qs.getMemoState() == 2)
|
||||
{
|
||||
if (hasItem(talker, OLD_KEY))
|
||||
{
|
||||
takeItems(talker, OLD_KEY.getId(), -1);
|
||||
final int rand = getRandom(100);
|
||||
if (rand <= 39)
|
||||
{
|
||||
rewardItems(talker, COKES);
|
||||
}
|
||||
else if (rand <= 89)
|
||||
{
|
||||
rewardItems(talker, SCROLL_EWC);
|
||||
}
|
||||
else
|
||||
{
|
||||
rewardItems(talker, RING_OF_AGES);
|
||||
}
|
||||
qs.setCond(1);
|
||||
htmltext = "30756-01.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "30756-02.html";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case GARVARENTZ:
|
||||
{
|
||||
if (qs.getMemoState() == 3)
|
||||
{
|
||||
if (hasItem(talker, TOTEM_NECKLACE))
|
||||
{
|
||||
takeItems(talker, TOTEM_NECKLACE.getId(), -1);
|
||||
final int rand = getRandom(100);
|
||||
if (rand <= 47)
|
||||
{
|
||||
rewardItems(talker, LEATHER);
|
||||
}
|
||||
else if (rand <= 97)
|
||||
{
|
||||
rewardItems(talker, COARSE_BONE_POWDER);
|
||||
}
|
||||
else
|
||||
{
|
||||
rewardItems(talker, HEAVY_DOOM_HAMMER);
|
||||
}
|
||||
qs.setCond(1);
|
||||
htmltext = "30704-01.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "30704-02.html";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case ORVEN:
|
||||
{
|
||||
if (qs.getMemoState() == 4)
|
||||
{
|
||||
if (hasItem(talker, CRUCIFIX))
|
||||
{
|
||||
takeItems(talker, CRUCIFIX.getId(), -1);
|
||||
final int rand = getRandom(100);
|
||||
if (rand <= 49)
|
||||
{
|
||||
rewardItems(talker, STONE_OF_PURITY);
|
||||
}
|
||||
else if (rand <= 69)
|
||||
{
|
||||
rewardItems(talker, SCROLL_EAC);
|
||||
}
|
||||
else
|
||||
{
|
||||
rewardItems(talker, DRAKE_LEATHER_BOOTS);
|
||||
}
|
||||
qs.setCond(1);
|
||||
htmltext = "30857-01.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "30857-02.html";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getRandomPartyMemberState(killer, 1, 3, npc);
|
||||
if (qs != null)
|
||||
{
|
||||
giveItemRandomly(qs.getPlayer(), npc, ARTICLES, 1, 0, MONSTER_CHANCES.get(npc.getId()), true);
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
<html><body>Elmore-Aden's Saintess Solina:<br>
|
||||
<EFBFBD><br><br>
|
||||
<br><br>
|
||||
This phantom looks like Solina, Elmore-Aden's Saintess. The phantom appears to be trying to say something. It looks like she doesn't intend to harm us...
|
||||
</body></html>
|
@ -327,7 +327,12 @@ public final class Q10295_SevenSignsSolinasTomb extends Quest
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
QuestState st = player.getQuestState(getName());
|
||||
final QuestState st = getQuestState(player, true);
|
||||
if (st == null)
|
||||
{
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
int cond = st.getInt("cond");
|
||||
int npcId = npc.getId();
|
||||
switch (st.getState())
|
||||
|
@ -51,12 +51,13 @@ public final class Q10296_SevenSignsPowerOfTheSeal extends Quest
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
String htmltext = event;
|
||||
QuestState st = player.getQuestState(getName());
|
||||
final QuestState st = getQuestState(player, false);
|
||||
if (st == null)
|
||||
{
|
||||
return getNoQuestMsg(player);
|
||||
return null;
|
||||
}
|
||||
|
||||
String htmltext = event;
|
||||
switch (event)
|
||||
{
|
||||
case "32792-04.html":
|
||||
@ -96,11 +97,12 @@ public final class Q10296_SevenSignsPowerOfTheSeal extends Quest
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
QuestState st = player.getQuestState(getName());
|
||||
final QuestState st = getQuestState(player, true);
|
||||
if (st == null)
|
||||
{
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
switch (npc.getId())
|
||||
{
|
||||
case ErissEvilThoughts:
|
||||
|
@ -99,7 +99,6 @@ import quests.Q00300_HuntingLetoLizardman.Q00300_HuntingLetoLizardman;
|
||||
import quests.Q00307_ControlDeviceOfTheGiants.Q00307_ControlDeviceOfTheGiants;
|
||||
import quests.Q00310_OnlyWhatRemains.Q00310_OnlyWhatRemains;
|
||||
import quests.Q00326_VanquishRemnants.Q00326_VanquishRemnants;
|
||||
import quests.Q00344_1000YearsTheEndOfLamentation.Q00344_1000YearsTheEndOfLamentation;
|
||||
import quests.Q00350_EnhanceYourWeapon.Q00350_EnhanceYourWeapon;
|
||||
import quests.Q00357_WarehouseKeepersAmbition.Q00357_WarehouseKeepersAmbition;
|
||||
import quests.Q00359_ForASleeplessDeadman.Q00359_ForASleeplessDeadman;
|
||||
@ -296,7 +295,6 @@ public class QuestMasterHandler
|
||||
Q00307_ControlDeviceOfTheGiants.class,
|
||||
Q00310_OnlyWhatRemains.class,
|
||||
Q00326_VanquishRemnants.class,
|
||||
Q00344_1000YearsTheEndOfLamentation.class,
|
||||
Q00350_EnhanceYourWeapon.class,
|
||||
Q00357_WarehouseKeepersAmbition.class,
|
||||
Q00359_ForASleeplessDeadman.class,
|
||||
|
BIN
trunk/dist/libs/javolution-5.5.1-src.zip
vendored
BIN
trunk/dist/libs/javolution-5.5.1-src.zip
vendored
Binary file not shown.
BIN
trunk/dist/libs/javolution-5.5.1.jar
vendored
BIN
trunk/dist/libs/javolution-5.5.1.jar
vendored
Binary file not shown.
24
trunk/dist/tools/sql/game/spawnlist.sql
vendored
24
trunk/dist/tools/sql/game/spawnlist.sql
vendored
@ -42273,6 +42273,30 @@ DELETE FROM `spawnlist` WHERE (npc_templateid='20151' AND locx='-106766' AND loc
|
||||
-- Remove old Altar Npcs
|
||||
DELETE FROM spawnlist WHERE npc_templateid in(4324, 4325, 4327, 4328);
|
||||
|
||||
-- Remove Catacomb Ziggurats
|
||||
DELETE FROM spawnlist WHERE npc_templateid in(
|
||||
31095, 31096, 31097, 31098, 31099, 31100, 31101,
|
||||
31102, 31103, 31104, 31105, 31106, 31107, 31108,
|
||||
31109, 31110, 31114, 31115, 31116, 31117, 31118,
|
||||
31119, 31120, 31121, 31122, 31123, 31124, 31125);
|
||||
|
||||
-- Remove Catacomb Monsters
|
||||
DELETE FROM spawnlist WHERE npc_templateid in(
|
||||
21144, 21156, 21208, 21209, 21210, 21211, 21213,
|
||||
21214, 21215, 21217, 21218, 21219, 21221, 21222,
|
||||
21223, 21224, 21225, 21226, 21227, 21228, 21229,
|
||||
21230, 21231, 21236, 21237, 21238, 21239, 21240,
|
||||
21241, 21242, 21243, 21244, 21245, 21246, 21247,
|
||||
21248, 21249, 21250, 21251, 21252, 21253, 21254,
|
||||
21255, 21161, 21204, 21183, 21162, 21205, 21184,
|
||||
21181, 21158, 21202, 21200, 21179, 21201, 21180,
|
||||
21198, 21166, 21154, 21155, 21174, 21195, 21148,
|
||||
21187, 21188, 21167, 21185, 21206, 21163, 21165,
|
||||
21207, 21186, 21164, 21157, 21182, 21203, 21159,
|
||||
21176, 21197, 21177, 21153, 21178, 21199, 21152,
|
||||
21194, 21173, 21151, 21150, 21169, 21190, 21192,
|
||||
21143, 21171, 21145, 21172, 21146, 21193, 21170, 21191);
|
||||
|
||||
-- TI NPC Walkers
|
||||
INSERT INTO `spawnlist` VALUES ('OldManAndBoy', '1', '33578', '-113894', '257318', '-1131', '0', '0', '58997', '0', '0', '0', '0');
|
||||
INSERT INTO `spawnlist` VALUES ('Hera', '1', '33208', '-114263', '257326', '-1131', '0', '0', '58070', '0', '0', '0', '0');
|
||||
|
@ -19,8 +19,7 @@
|
||||
package com.l2jserver.gameserver;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javolution.util.FastList;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.gameserver.enums.ItemLocation;
|
||||
@ -30,7 +29,7 @@ import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
|
||||
|
||||
public final class ItemsAutoDestroy
|
||||
{
|
||||
private final List<L2ItemInstance> _items = new FastList<>();
|
||||
private final List<L2ItemInstance> _items = new CopyOnWriteArrayList<>();
|
||||
|
||||
protected ItemsAutoDestroy()
|
||||
{
|
||||
|
@ -37,13 +37,11 @@ import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.LogRecord;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javolution.util.FastList;
|
||||
import javolution.util.FastMap;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.L2DatabaseFactory;
|
||||
import com.l2jserver.gameserver.model.L2World;
|
||||
@ -106,7 +104,7 @@ public class LoginServerThread extends Thread
|
||||
private final boolean _reserveHost;
|
||||
private int _maxPlayer;
|
||||
private final List<WaitingClient> _waitingClients;
|
||||
private final FastMap<String, L2GameClient> _accountsInGameServer = new FastMap<>();
|
||||
private final ConcurrentHashMap<String, L2GameClient> _accountsInGameServer = new ConcurrentHashMap<>();
|
||||
private int _status;
|
||||
private String _serverName;
|
||||
private final List<String> _subnets;
|
||||
@ -135,8 +133,7 @@ public class LoginServerThread extends Thread
|
||||
_reserveHost = Config.RESERVE_HOST_ON_LOGIN;
|
||||
_subnets = Config.GAME_SERVER_SUBNETS;
|
||||
_hosts = Config.GAME_SERVER_HOSTS;
|
||||
_waitingClients = new FastList<>();
|
||||
_accountsInGameServer.shared();
|
||||
_waitingClients = new ArrayList<>();
|
||||
_maxPlayer = Config.MAXIMUM_ONLINE_USERS;
|
||||
}
|
||||
|
||||
|
@ -21,10 +21,9 @@ package com.l2jserver.gameserver;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javolution.util.FastMap;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.gameserver.data.xml.impl.RecipeData;
|
||||
import com.l2jserver.gameserver.datatables.ItemTable;
|
||||
@ -57,11 +56,10 @@ import com.l2jserver.util.Rnd;
|
||||
|
||||
public class RecipeController
|
||||
{
|
||||
protected static final FastMap<Integer, RecipeItemMaker> _activeMakers = new FastMap<>();
|
||||
protected static final ConcurrentHashMap<Integer, RecipeItemMaker> _activeMakers = new ConcurrentHashMap<>();
|
||||
|
||||
protected RecipeController()
|
||||
{
|
||||
_activeMakers.shared();
|
||||
}
|
||||
|
||||
public void requestBookOpen(L2PcInstance player, boolean isDwarvenCraft)
|
||||
|
@ -30,10 +30,6 @@ import java.util.concurrent.atomic.AtomicInteger;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javolution.util.FastList;
|
||||
import javolution.util.FastMap;
|
||||
import javolution.util.FastSet;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.gameserver.model.StatsSet;
|
||||
import com.l2jserver.util.StringUtil;
|
||||
@ -616,11 +612,6 @@ public class ThreadPoolManager
|
||||
" |- PoolSize: " + _eventThreadPool.getPoolSize(),
|
||||
" |- CompletedTasks: " + _eventThreadPool.getCompletedTaskCount(),
|
||||
" |- QueuedTasks: " + _eventThreadPool.getQueue().size(),
|
||||
" | -------",
|
||||
" + Javolution stats:",
|
||||
" |- FastList: " + FastList.report(),
|
||||
" |- FastMap: " + FastMap.report(),
|
||||
" |- FastSet: " + FastSet.report(),
|
||||
" | -------"
|
||||
};
|
||||
}
|
||||
|
@ -28,10 +28,9 @@ import static com.l2jserver.gameserver.ai.CtrlIntention.AI_INTENTION_MOVE_TO;
|
||||
import static com.l2jserver.gameserver.ai.CtrlIntention.AI_INTENTION_PICK_UP;
|
||||
import static com.l2jserver.gameserver.ai.CtrlIntention.AI_INTENTION_REST;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javolution.util.FastList;
|
||||
|
||||
import com.l2jserver.gameserver.GameTimeController;
|
||||
import com.l2jserver.gameserver.GeoData;
|
||||
import com.l2jserver.gameserver.ThreadPoolManager;
|
||||
@ -1205,19 +1204,19 @@ public class L2CharacterAI extends AbstractAI
|
||||
public boolean isHealer = false;
|
||||
public boolean isFighter = false;
|
||||
public boolean cannotMoveOnLand = false;
|
||||
public List<Skill> generalSkills = new FastList<>();
|
||||
public List<Skill> buffSkills = new FastList<>();
|
||||
public List<Skill> generalSkills = new ArrayList<>();
|
||||
public List<Skill> buffSkills = new ArrayList<>();
|
||||
public int lastBuffTick = 0;
|
||||
public List<Skill> debuffSkills = new FastList<>();
|
||||
public List<Skill> debuffSkills = new ArrayList<>();
|
||||
public int lastDebuffTick = 0;
|
||||
public List<Skill> cancelSkills = new FastList<>();
|
||||
public List<Skill> healSkills = new FastList<>();
|
||||
// public List<L2Skill> trickSkills = new FastList<>();
|
||||
public List<Skill> generalDisablers = new FastList<>();
|
||||
public List<Skill> sleepSkills = new FastList<>();
|
||||
public List<Skill> rootSkills = new FastList<>();
|
||||
public List<Skill> muteSkills = new FastList<>();
|
||||
public List<Skill> resurrectSkills = new FastList<>();
|
||||
public List<Skill> cancelSkills = new ArrayList<>();
|
||||
public List<Skill> healSkills = new ArrayList<>();
|
||||
// public List<L2Skill> trickSkills = new ArrayList<>();
|
||||
public List<Skill> generalDisablers = new ArrayList<>();
|
||||
public List<Skill> sleepSkills = new ArrayList<>();
|
||||
public List<Skill> rootSkills = new ArrayList<>();
|
||||
public List<Skill> muteSkills = new ArrayList<>();
|
||||
public List<Skill> resurrectSkills = new ArrayList<>();
|
||||
public boolean hasHealOrResurrect = false;
|
||||
public boolean hasLongRangeSkills = false;
|
||||
public boolean hasLongRangeDamageSkills = false;
|
||||
|
@ -21,11 +21,10 @@ package com.l2jserver.gameserver.ai;
|
||||
import static com.l2jserver.gameserver.ai.CtrlIntention.AI_INTENTION_ACTIVE;
|
||||
import static com.l2jserver.gameserver.ai.CtrlIntention.AI_INTENTION_ATTACK;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
import javolution.util.FastList;
|
||||
|
||||
import com.l2jserver.gameserver.model.L2Object;
|
||||
import com.l2jserver.gameserver.model.MobGroup;
|
||||
import com.l2jserver.gameserver.model.MobGroupTable;
|
||||
@ -447,7 +446,7 @@ public final class L2ControllableMobAI extends L2AttackableAI
|
||||
double dy, dx;
|
||||
double dblAggroRange = aggroRange * aggroRange;
|
||||
|
||||
List<L2Character> potentialTarget = new FastList<>();
|
||||
List<L2Character> potentialTarget = new ArrayList<>();
|
||||
|
||||
Collection<L2Object> objs = npc.getKnownList().getKnownObjects().values();
|
||||
for (L2Object obj : objs)
|
||||
|
@ -21,14 +21,13 @@ package com.l2jserver.gameserver.communitybbs.BB;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javolution.util.FastList;
|
||||
import javolution.util.FastMap;
|
||||
|
||||
import com.l2jserver.L2DatabaseFactory;
|
||||
import com.l2jserver.gameserver.communitybbs.Manager.ForumsBBSManager;
|
||||
import com.l2jserver.gameserver.communitybbs.Manager.TopicBBSManager;
|
||||
@ -69,8 +68,8 @@ public class Forum
|
||||
{
|
||||
_forumId = Forumid;
|
||||
_fParent = FParent;
|
||||
_children = new FastList<>();
|
||||
_topic = new FastMap<>();
|
||||
_children = new ArrayList<>();
|
||||
_topic = new HashMap<>();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -89,8 +88,8 @@ public class Forum
|
||||
_forumPerm = perm;
|
||||
_fParent = parent;
|
||||
_ownerID = OwnerID;
|
||||
_children = new FastList<>();
|
||||
_topic = new FastMap<>();
|
||||
_children = new ArrayList<>();
|
||||
_topic = new HashMap<>();
|
||||
parent._children.add(this);
|
||||
ForumsBBSManager.getInstance().addForum(this);
|
||||
_loaded = true;
|
||||
|
@ -21,12 +21,11 @@ package com.l2jserver.gameserver.communitybbs.BB;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javolution.util.FastList;
|
||||
|
||||
import com.l2jserver.L2DatabaseFactory;
|
||||
import com.l2jserver.gameserver.communitybbs.Manager.PostBBSManager;
|
||||
|
||||
@ -60,7 +59,7 @@ public class Post
|
||||
*/
|
||||
public Post(String _PostOwner, int _PostOwnerID, long date, int tid, int _PostForumID, String txt)
|
||||
{
|
||||
_post = new FastList<>();
|
||||
_post = new ArrayList<>();
|
||||
CPost cp = new CPost();
|
||||
cp.postId = 0;
|
||||
cp.postOwner = _PostOwner;
|
||||
@ -96,7 +95,7 @@ public class Post
|
||||
|
||||
public Post(Topic t)
|
||||
{
|
||||
_post = new FastList<>();
|
||||
_post = new ArrayList<>();
|
||||
load(t);
|
||||
}
|
||||
|
||||
|
@ -18,10 +18,9 @@
|
||||
*/
|
||||
package com.l2jserver.gameserver.communitybbs.Manager;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javolution.util.FastList;
|
||||
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ShowBoard;
|
||||
|
||||
@ -59,7 +58,7 @@ public abstract class BaseBBSManager
|
||||
*/
|
||||
protected void send1002(L2PcInstance activeChar, String string, String string2, String string3)
|
||||
{
|
||||
List<String> _arg = new FastList<>();
|
||||
List<String> _arg = new ArrayList<>();
|
||||
_arg.add("0");
|
||||
_arg.add("0");
|
||||
_arg.add("0");
|
||||
|
@ -21,12 +21,11 @@ package com.l2jserver.gameserver.communitybbs.Manager;
|
||||
import java.sql.Connection;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.Statement;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javolution.util.FastList;
|
||||
|
||||
import com.l2jserver.L2DatabaseFactory;
|
||||
import com.l2jserver.gameserver.communitybbs.BB.Forum;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
@ -42,7 +41,7 @@ public class ForumsBBSManager extends BaseBBSManager
|
||||
*/
|
||||
protected ForumsBBSManager()
|
||||
{
|
||||
_table = new FastList<>();
|
||||
_table = new ArrayList<>();
|
||||
try (Connection con = L2DatabaseFactory.getInstance().getConnection();
|
||||
Statement s = con.createStatement();
|
||||
ResultSet rs = s.executeQuery("SELECT forum_id FROM forums WHERE forum_type = 0"))
|
||||
|
@ -20,12 +20,11 @@ package com.l2jserver.gameserver.communitybbs.Manager;
|
||||
|
||||
import java.text.DateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.StringTokenizer;
|
||||
|
||||
import javolution.util.FastMap;
|
||||
|
||||
import com.l2jserver.gameserver.communitybbs.BB.Forum;
|
||||
import com.l2jserver.gameserver.communitybbs.BB.Post;
|
||||
import com.l2jserver.gameserver.communitybbs.BB.Post.CPost;
|
||||
@ -36,7 +35,7 @@ import com.l2jserver.util.StringUtil;
|
||||
|
||||
public class PostBBSManager extends BaseBBSManager
|
||||
{
|
||||
private final Map<Topic, Post> _postByTopic = new FastMap<>();
|
||||
private final Map<Topic, Post> _postByTopic = new HashMap<>();
|
||||
|
||||
public Post getGPosttByTopic(Topic t)
|
||||
{
|
||||
|
@ -19,14 +19,13 @@
|
||||
package com.l2jserver.gameserver.communitybbs.Manager;
|
||||
|
||||
import java.text.DateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.StringTokenizer;
|
||||
|
||||
import javolution.util.FastList;
|
||||
import javolution.util.FastMap;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import com.l2jserver.gameserver.communitybbs.BB.Forum;
|
||||
import com.l2jserver.gameserver.communitybbs.BB.Post;
|
||||
@ -43,8 +42,8 @@ public class TopicBBSManager extends BaseBBSManager
|
||||
|
||||
protected TopicBBSManager()
|
||||
{
|
||||
_table = new FastList<>();
|
||||
_maxId = new FastMap<Forum, Integer>().shared();
|
||||
_table = new ArrayList<>();
|
||||
_maxId = new ConcurrentHashMap<>();
|
||||
}
|
||||
|
||||
public void addTopic(Topic tt)
|
||||
|
@ -23,10 +23,9 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.logging.Level;
|
||||
|
||||
import javolution.util.FastMap;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
@ -48,7 +47,7 @@ public final class AdminData implements IXmlReader
|
||||
{
|
||||
private final Map<Integer, L2AccessLevel> _accessLevels = new HashMap<>();
|
||||
private final Map<String, L2AdminCommandAccessRight> _adminCommandAccessRights = new HashMap<>();
|
||||
private final Map<L2PcInstance, Boolean> _gmList = new FastMap<L2PcInstance, Boolean>().shared();
|
||||
private final Map<L2PcInstance, Boolean> _gmList = new ConcurrentHashMap<>();
|
||||
private int _highestLevel = 0;
|
||||
|
||||
protected AdminData()
|
||||
|
@ -78,7 +78,7 @@ import com.l2jserver.gameserver.model.skills.Skill;
|
||||
*/
|
||||
public final class SkillTreesData implements IXmlReader
|
||||
{
|
||||
// ClassId, FastMap of Skill Hash Code, L2SkillLearn
|
||||
// ClassId, HashMap of Skill Hash Code, L2SkillLearn
|
||||
private static final Map<ClassId, Map<Integer, L2SkillLearn>> _classSkillTrees = new HashMap<>();
|
||||
private static final Map<ClassId, Map<Integer, L2SkillLearn>> _transferSkillTrees = new HashMap<>();
|
||||
private static final Map<Race, Map<Integer, L2SkillLearn>> _raceSkillTree = new HashMap<>();
|
||||
|
@ -18,11 +18,10 @@
|
||||
*/
|
||||
package com.l2jserver.gameserver.datatables;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import javolution.util.FastList;
|
||||
|
||||
import com.l2jserver.gameserver.script.DateRange;
|
||||
import com.l2jserver.gameserver.script.EventDrop;
|
||||
|
||||
@ -37,7 +36,7 @@ public class EventDroplist
|
||||
/**
|
||||
* The table containing all DataDrop object
|
||||
*/
|
||||
private static final List<DateDrop> _allNpcDateDrops = new FastList<>();
|
||||
private static final List<DateDrop> _allNpcDateDrops = new ArrayList<>();
|
||||
|
||||
public static class DateDrop
|
||||
{
|
||||
@ -106,7 +105,7 @@ public class EventDroplist
|
||||
*/
|
||||
public List<DateDrop> getAllDrops()
|
||||
{
|
||||
final List<DateDrop> list = new FastList<>();
|
||||
final List<DateDrop> list = new ArrayList<>();
|
||||
final Date currentDate = new Date();
|
||||
for (DateDrop drop : _allNpcDateDrops)
|
||||
{
|
||||
|
@ -23,6 +23,7 @@ import static com.l2jserver.gameserver.model.itemcontainer.Inventory.ADENA_ID;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
@ -30,8 +31,6 @@ import java.util.logging.Level;
|
||||
import java.util.logging.LogRecord;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javolution.util.FastMap;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.L2DatabaseFactory;
|
||||
import com.l2jserver.gameserver.ThreadPoolManager;
|
||||
@ -61,7 +60,7 @@ public class ItemTable
|
||||
private static Logger LOGGER = Logger.getLogger(ItemTable.class.getName());
|
||||
private static Logger LOGGER_ITEMS = Logger.getLogger("item");
|
||||
|
||||
public static final Map<String, Integer> _slots = new FastMap<>();
|
||||
public static final Map<String, Integer> _slots = new HashMap<>();
|
||||
|
||||
private L2Item[] _allTemplates;
|
||||
private final Map<Integer, L2EtcItem> _etcItems;
|
||||
@ -120,9 +119,9 @@ public class ItemTable
|
||||
|
||||
protected ItemTable()
|
||||
{
|
||||
_etcItems = new FastMap<>();
|
||||
_armors = new FastMap<>();
|
||||
_weapons = new FastMap<>();
|
||||
_etcItems = new HashMap<>();
|
||||
_armors = new HashMap<>();
|
||||
_weapons = new HashMap<>();
|
||||
load();
|
||||
}
|
||||
|
||||
|
@ -20,6 +20,7 @@ package com.l2jserver.gameserver.datatables;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
@ -27,8 +28,6 @@ import java.util.logging.Logger;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
|
||||
import javolution.util.FastMap;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Node;
|
||||
import org.xml.sax.SAXException;
|
||||
@ -54,7 +53,7 @@ public class MerchantPriceConfigTable implements InstanceListManager
|
||||
|
||||
private static final String MPCS_FILE = "MerchantPriceConfig.xml";
|
||||
|
||||
private final Map<Integer, MerchantPriceConfig> _mpcs = new FastMap<>();
|
||||
private final Map<Integer, MerchantPriceConfig> _mpcs = new HashMap<>();
|
||||
private MerchantPriceConfig _defaultMpc;
|
||||
|
||||
public MerchantPriceConfig getMerchantPriceConfig(L2MerchantInstance npc)
|
||||
|
@ -26,13 +26,12 @@ import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.CopyOnWriteArraySet;
|
||||
import java.util.function.Function;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javolution.util.FastMap;
|
||||
import javolution.util.FastSet;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
@ -58,7 +57,7 @@ public final class SpawnTable implements IXmlReader
|
||||
private static final String SELECT_SPAWNS = "SELECT count, npc_templateid, locx, locy, locz, heading, respawn_delay, respawn_random, loc_id, periodOfDay FROM spawnlist";
|
||||
private static final String SELECT_CUSTOM_SPAWNS = "SELECT count, npc_templateid, locx, locy, locz, heading, respawn_delay, respawn_random, loc_id, periodOfDay FROM custom_spawnlist";
|
||||
|
||||
private static final Map<Integer, Set<L2Spawn>> _spawnTable = new FastMap<Integer, Set<L2Spawn>>().shared();
|
||||
private static final Map<Integer, Set<L2Spawn>> _spawnTable = new ConcurrentHashMap<>();
|
||||
|
||||
private int _xmlSpawnCount = 0;
|
||||
|
||||
@ -463,7 +462,7 @@ public final class SpawnTable implements IXmlReader
|
||||
{
|
||||
if (!_spawnTable.containsKey(spawn.getId()))
|
||||
{
|
||||
_spawnTable.put(spawn.getId(), new FastSet<L2Spawn>().shared());
|
||||
_spawnTable.put(spawn.getId(), new CopyOnWriteArraySet<L2Spawn>());
|
||||
}
|
||||
_spawnTable.get(spawn.getId()).add(spawn);
|
||||
}
|
||||
|
@ -20,6 +20,7 @@ package com.l2jserver.gameserver.engines;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -30,8 +31,6 @@ import java.util.logging.Logger;
|
||||
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
|
||||
import javolution.util.FastMap;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
@ -154,7 +153,7 @@ public abstract class DocumentBase
|
||||
protected DocumentBase(File pFile)
|
||||
{
|
||||
_file = pFile;
|
||||
_tables = new FastMap<>();
|
||||
_tables = new HashMap<>();
|
||||
}
|
||||
|
||||
public Document parse()
|
||||
@ -185,7 +184,7 @@ public abstract class DocumentBase
|
||||
|
||||
protected void resetTable()
|
||||
{
|
||||
_tables = new FastMap<>();
|
||||
_tables = new HashMap<>();
|
||||
}
|
||||
|
||||
protected void setTable(String name, String[] table)
|
||||
|
@ -19,12 +19,11 @@
|
||||
package com.l2jserver.gameserver.engines;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javolution.util.FastList;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.gameserver.datatables.SkillData;
|
||||
import com.l2jserver.gameserver.engines.items.DocumentItem;
|
||||
@ -40,8 +39,8 @@ public class DocumentEngine
|
||||
{
|
||||
private static final Logger _log = Logger.getLogger(DocumentEngine.class.getName());
|
||||
|
||||
private final List<File> _itemFiles = new FastList<>();
|
||||
private final List<File> _skillFiles = new FastList<>();
|
||||
private final List<File> _itemFiles = new ArrayList<>();
|
||||
private final List<File> _skillFiles = new ArrayList<>();
|
||||
|
||||
public static DocumentEngine getInstance()
|
||||
{
|
||||
@ -114,7 +113,7 @@ public class DocumentEngine
|
||||
*/
|
||||
public List<L2Item> loadItems()
|
||||
{
|
||||
List<L2Item> list = new FastList<>();
|
||||
List<L2Item> list = new ArrayList<>();
|
||||
for (File f : _itemFiles)
|
||||
{
|
||||
DocumentItem document = new DocumentItem(f);
|
||||
|
@ -21,11 +21,10 @@ package com.l2jserver.gameserver.engines.items;
|
||||
import java.io.File;
|
||||
import java.lang.reflect.Constructor;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.logging.Level;
|
||||
|
||||
import javolution.util.FastList;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
@ -40,7 +39,7 @@ import com.l2jserver.gameserver.model.items.L2Item;
|
||||
public final class DocumentItem extends DocumentBase
|
||||
{
|
||||
private Item _currentItem = null;
|
||||
private final List<L2Item> _itemsInFile = new FastList<>();
|
||||
private final List<L2Item> _itemsInFile = new ArrayList<>();
|
||||
|
||||
/**
|
||||
* @param file
|
||||
|
@ -19,11 +19,10 @@
|
||||
package com.l2jserver.gameserver.engines.skills;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.logging.Level;
|
||||
|
||||
import javolution.util.FastList;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
@ -54,12 +53,12 @@ public class DocumentSkill extends DocumentBase
|
||||
public StatsSet[] enchsets7;
|
||||
public StatsSet[] enchsets8;
|
||||
public int currentLevel;
|
||||
public List<Skill> skills = new FastList<>();
|
||||
public List<Skill> currentSkills = new FastList<>();
|
||||
public List<Skill> skills = new ArrayList<>();
|
||||
public List<Skill> currentSkills = new ArrayList<>();
|
||||
}
|
||||
|
||||
private SkillInfo _currentSkill;
|
||||
private final List<Skill> _skillsInFile = new FastList<>();
|
||||
private final List<Skill> _skillsInFile = new ArrayList<>();
|
||||
|
||||
public DocumentSkill(File file)
|
||||
{
|
||||
@ -1491,7 +1490,7 @@ public class DocumentSkill extends DocumentBase
|
||||
private void makeSkills()
|
||||
{
|
||||
int count = 0;
|
||||
_currentSkill.currentSkills = new FastList<>(_currentSkill.sets.length + _currentSkill.enchsets1.length + _currentSkill.enchsets2.length + _currentSkill.enchsets3.length + _currentSkill.enchsets4.length + _currentSkill.enchsets5.length + _currentSkill.enchsets6.length + _currentSkill.enchsets7.length + _currentSkill.enchsets8.length);
|
||||
_currentSkill.currentSkills = new ArrayList<>(_currentSkill.sets.length + _currentSkill.enchsets1.length + _currentSkill.enchsets2.length + _currentSkill.enchsets3.length + _currentSkill.enchsets4.length + _currentSkill.enchsets5.length + _currentSkill.enchsets6.length + _currentSkill.enchsets7.length + _currentSkill.enchsets8.length);
|
||||
StatsSet set;
|
||||
for (int i = 0; i < _currentSkill.sets.length; i++)
|
||||
{
|
||||
|
@ -18,10 +18,9 @@
|
||||
*/
|
||||
package com.l2jserver.gameserver.instancemanager;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javolution.util.FastMap;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.gameserver.idfactory.IdFactory;
|
||||
import com.l2jserver.gameserver.model.L2World;
|
||||
@ -34,7 +33,7 @@ import com.l2jserver.gameserver.network.serverpackets.L2GameServerPacket;
|
||||
|
||||
public class BoatManager
|
||||
{
|
||||
private final Map<Integer, L2BoatInstance> _boats = new FastMap<>();
|
||||
private final Map<Integer, L2BoatInstance> _boats = new HashMap<>();
|
||||
private final boolean[] _docksBusy = new boolean[3];
|
||||
|
||||
public static final int TALKING_ISLAND = 1;
|
||||
|
@ -21,11 +21,10 @@ package com.l2jserver.gameserver.instancemanager;
|
||||
import java.sql.Connection;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.Statement;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javolution.util.FastMap;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.L2DatabaseFactory;
|
||||
import com.l2jserver.gameserver.model.L2Clan;
|
||||
@ -46,7 +45,7 @@ public final class CHSiegeManager
|
||||
private static final Logger _log = Logger.getLogger(CHSiegeManager.class.getName());
|
||||
private static final String SQL_LOAD_HALLS = "SELECT * FROM siegable_clanhall";
|
||||
|
||||
private final FastMap<Integer, SiegableHall> _siegableHalls = new FastMap<>();
|
||||
private final HashMap<Integer, SiegableHall> _siegableHalls = new HashMap<>();
|
||||
|
||||
protected CHSiegeManager()
|
||||
{
|
||||
@ -87,7 +86,7 @@ public final class CHSiegeManager
|
||||
}
|
||||
}
|
||||
|
||||
public FastMap<Integer, SiegableHall> getConquerableHalls()
|
||||
public HashMap<Integer, SiegableHall> getConquerableHalls()
|
||||
{
|
||||
return _siegableHalls;
|
||||
}
|
||||
|
@ -22,14 +22,13 @@ import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.Statement;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javolution.util.FastList;
|
||||
|
||||
import com.l2jserver.L2DatabaseFactory;
|
||||
import com.l2jserver.gameserver.InstanceListManager;
|
||||
import com.l2jserver.gameserver.model.L2Clan;
|
||||
@ -181,7 +180,7 @@ public final class CastleManager implements InstanceListManager
|
||||
{
|
||||
if (_castles == null)
|
||||
{
|
||||
_castles = new FastList<>();
|
||||
_castles = new ArrayList<>();
|
||||
}
|
||||
return _castles;
|
||||
}
|
||||
|
@ -21,12 +21,11 @@ package com.l2jserver.gameserver.instancemanager;
|
||||
import java.sql.Connection;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.Statement;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javolution.util.FastMap;
|
||||
|
||||
import com.l2jserver.L2DatabaseFactory;
|
||||
import com.l2jserver.gameserver.data.sql.impl.ClanTable;
|
||||
import com.l2jserver.gameserver.model.L2Clan;
|
||||
@ -48,7 +47,7 @@ public final class ClanHallManager
|
||||
private final Map<Integer, AuctionableHall> _clanHall;
|
||||
private final Map<Integer, AuctionableHall> _freeClanHall;
|
||||
private final Map<Integer, AuctionableHall> _allAuctionableClanHalls;
|
||||
private static Map<Integer, ClanHall> _allClanHalls = new FastMap<>();
|
||||
private static Map<Integer, ClanHall> _allClanHalls = new HashMap<>();
|
||||
private boolean _loaded = false;
|
||||
|
||||
public boolean loaded()
|
||||
@ -58,9 +57,9 @@ public final class ClanHallManager
|
||||
|
||||
protected ClanHallManager()
|
||||
{
|
||||
_clanHall = new FastMap<>();
|
||||
_freeClanHall = new FastMap<>();
|
||||
_allAuctionableClanHalls = new FastMap<>();
|
||||
_clanHall = new HashMap<>();
|
||||
_freeClanHall = new HashMap<>();
|
||||
_allAuctionableClanHalls = new HashMap<>();
|
||||
load();
|
||||
}
|
||||
|
||||
|
@ -21,11 +21,10 @@ package com.l2jserver.gameserver.instancemanager;
|
||||
import java.sql.Connection;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.Statement;
|
||||
import java.util.ArrayList;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javolution.util.FastList;
|
||||
|
||||
import com.l2jserver.L2DatabaseFactory;
|
||||
import com.l2jserver.gameserver.model.L2World;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
@ -38,7 +37,7 @@ public final class CoupleManager
|
||||
{
|
||||
private static final Logger _log = Logger.getLogger(CoupleManager.class.getName());
|
||||
|
||||
private FastList<Couple> _couples;
|
||||
private ArrayList<Couple> _couples;
|
||||
|
||||
protected CoupleManager()
|
||||
{
|
||||
@ -139,11 +138,11 @@ public final class CoupleManager
|
||||
return -1;
|
||||
}
|
||||
|
||||
public final FastList<Couple> getCouples()
|
||||
public final ArrayList<Couple> getCouples()
|
||||
{
|
||||
if (_couples == null)
|
||||
{
|
||||
_couples = new FastList<>();
|
||||
_couples = new ArrayList<>();
|
||||
}
|
||||
return _couples;
|
||||
}
|
||||
|
@ -19,13 +19,12 @@
|
||||
package com.l2jserver.gameserver.instancemanager;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javolution.util.FastMap;
|
||||
|
||||
import com.l2jserver.gameserver.GameTimeController;
|
||||
import com.l2jserver.gameserver.model.L2Spawn;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
@ -54,7 +53,7 @@ public final class DayNightSpawnManager
|
||||
{
|
||||
_dayCreatures = new ArrayList<>();
|
||||
_nightCreatures = new ArrayList<>();
|
||||
_bosses = new FastMap<>();
|
||||
_bosses = new HashMap<>();
|
||||
}
|
||||
|
||||
public void addDayCreature(L2Spawn spawnDat)
|
||||
|
@ -18,10 +18,9 @@
|
||||
*/
|
||||
package com.l2jserver.gameserver.instancemanager;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javolution.util.FastList;
|
||||
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.entity.Duel;
|
||||
import com.l2jserver.gameserver.model.skills.Skill;
|
||||
@ -34,7 +33,7 @@ public final class DuelManager
|
||||
|
||||
protected DuelManager()
|
||||
{
|
||||
_duels = new FastList<>();
|
||||
_duels = new ArrayList<>();
|
||||
}
|
||||
|
||||
private int getNextDuelId()
|
||||
|
@ -21,12 +21,11 @@ package com.l2jserver.gameserver.instancemanager;
|
||||
import java.sql.Connection;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.Statement;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javolution.util.FastList;
|
||||
|
||||
import com.l2jserver.L2DatabaseFactory;
|
||||
import com.l2jserver.gameserver.InstanceListManager;
|
||||
import com.l2jserver.gameserver.model.L2Clan;
|
||||
@ -159,7 +158,7 @@ public final class FortManager implements InstanceListManager
|
||||
{
|
||||
if (_forts == null)
|
||||
{
|
||||
_forts = new FastList<>();
|
||||
_forts = new ArrayList<>();
|
||||
}
|
||||
return _forts;
|
||||
}
|
||||
|
@ -21,12 +21,11 @@ package com.l2jserver.gameserver.instancemanager;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javolution.util.FastList;
|
||||
import javolution.util.FastMap;
|
||||
|
||||
import com.l2jserver.L2DatabaseFactory;
|
||||
import com.l2jserver.gameserver.data.xml.impl.NpcData;
|
||||
import com.l2jserver.gameserver.model.L2Spawn;
|
||||
@ -38,7 +37,7 @@ public final class FortSiegeGuardManager
|
||||
private static final Logger _log = Logger.getLogger(FortSiegeGuardManager.class.getName());
|
||||
|
||||
private final Fort _fort;
|
||||
private final FastMap<Integer, FastList<L2Spawn>> _siegeGuards = new FastMap<>();
|
||||
private final HashMap<Integer, ArrayList<L2Spawn>> _siegeGuards = new HashMap<>();
|
||||
|
||||
public FortSiegeGuardManager(Fort fort)
|
||||
{
|
||||
@ -52,7 +51,7 @@ public final class FortSiegeGuardManager
|
||||
{
|
||||
try
|
||||
{
|
||||
final FastList<L2Spawn> monsterList = getSiegeGuardSpawn().get(getFort().getResidenceId());
|
||||
final ArrayList<L2Spawn> monsterList = getSiegeGuardSpawn().get(getFort().getResidenceId());
|
||||
if (monsterList != null)
|
||||
{
|
||||
for (L2Spawn spawnDat : monsterList)
|
||||
@ -82,7 +81,7 @@ public final class FortSiegeGuardManager
|
||||
{
|
||||
try
|
||||
{
|
||||
final FastList<L2Spawn> monsterList = getSiegeGuardSpawn().get(getFort().getResidenceId());
|
||||
final ArrayList<L2Spawn> monsterList = getSiegeGuardSpawn().get(getFort().getResidenceId());
|
||||
|
||||
if (monsterList != null)
|
||||
{
|
||||
@ -115,7 +114,7 @@ public final class FortSiegeGuardManager
|
||||
ps.setInt(1, fortId);
|
||||
try (ResultSet rs = ps.executeQuery())
|
||||
{
|
||||
FastList<L2Spawn> siegeGuardSpawns = new FastList<>();
|
||||
ArrayList<L2Spawn> siegeGuardSpawns = new ArrayList<>();
|
||||
while (rs.next())
|
||||
{
|
||||
L2NpcTemplate template = NpcData.getInstance().getTemplate(rs.getInt("npcId"));
|
||||
@ -151,7 +150,7 @@ public final class FortSiegeGuardManager
|
||||
return _fort;
|
||||
}
|
||||
|
||||
public final FastMap<Integer, FastList<L2Spawn>> getSiegeGuardSpawn()
|
||||
public final HashMap<Integer, ArrayList<L2Spawn>> getSiegeGuardSpawn()
|
||||
{
|
||||
return _siegeGuards;
|
||||
}
|
||||
|
@ -24,15 +24,14 @@ import java.io.InputStream;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Properties;
|
||||
import java.util.StringTokenizer;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javolution.util.FastList;
|
||||
import javolution.util.FastMap;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.L2DatabaseFactory;
|
||||
import com.l2jserver.gameserver.model.CombatFlag;
|
||||
@ -54,8 +53,8 @@ public final class FortSiegeManager
|
||||
private int _attackerMaxClans = 500; // Max number of clans
|
||||
|
||||
// Fort Siege settings
|
||||
private FastMap<Integer, FastList<FortSiegeSpawn>> _commanderSpawnList;
|
||||
private FastMap<Integer, FastList<CombatFlag>> _flagList;
|
||||
private HashMap<Integer, ArrayList<FortSiegeSpawn>> _commanderSpawnList;
|
||||
private HashMap<Integer, ArrayList<CombatFlag>> _flagList;
|
||||
private boolean _justToTerritory = true; // Changeable in fortsiege.properties
|
||||
private int _flagMaxCount = 1; // Changeable in fortsiege.properties
|
||||
private int _siegeClanMinLevel = 4; // Changeable in fortsiege.properties
|
||||
@ -138,13 +137,13 @@ public final class FortSiegeManager
|
||||
_suspiciousMerchantRespawnDelay = Integer.decode(siegeSettings.getProperty("SuspiciousMerchantRespawnDelay", "180"));
|
||||
|
||||
// Siege spawns settings
|
||||
_commanderSpawnList = new FastMap<>();
|
||||
_flagList = new FastMap<>();
|
||||
_commanderSpawnList = new HashMap<>();
|
||||
_flagList = new HashMap<>();
|
||||
|
||||
for (Fort fort : FortManager.getInstance().getForts())
|
||||
{
|
||||
FastList<FortSiegeSpawn> _commanderSpawns = new FastList<>();
|
||||
FastList<CombatFlag> _flagSpawns = new FastList<>();
|
||||
ArrayList<FortSiegeSpawn> _commanderSpawns = new ArrayList<>();
|
||||
ArrayList<CombatFlag> _flagSpawns = new ArrayList<>();
|
||||
for (int i = 1; i < 5; i++)
|
||||
{
|
||||
final String _spawnParams = siegeSettings.getProperty(fort.getName().replace(" ", "") + "Commander" + i, "");
|
||||
@ -199,7 +198,7 @@ public final class FortSiegeManager
|
||||
}
|
||||
}
|
||||
|
||||
public final FastList<FortSiegeSpawn> getCommanderSpawnList(int _fortId)
|
||||
public final ArrayList<FortSiegeSpawn> getCommanderSpawnList(int _fortId)
|
||||
{
|
||||
if (_commanderSpawnList.containsKey(_fortId))
|
||||
{
|
||||
@ -208,7 +207,7 @@ public final class FortSiegeManager
|
||||
return null;
|
||||
}
|
||||
|
||||
public final FastList<CombatFlag> getFlagList(int _fortId)
|
||||
public final ArrayList<CombatFlag> getFlagList(int _fortId)
|
||||
{
|
||||
if (_flagList.containsKey(_fortId))
|
||||
{
|
||||
@ -273,7 +272,7 @@ public final class FortSiegeManager
|
||||
{
|
||||
if (_sieges == null)
|
||||
{
|
||||
_sieges = new FastList<>();
|
||||
_sieges = new ArrayList<>();
|
||||
}
|
||||
return _sieges;
|
||||
}
|
||||
@ -282,7 +281,7 @@ public final class FortSiegeManager
|
||||
{
|
||||
if (_sieges == null)
|
||||
{
|
||||
_sieges = new FastList<>();
|
||||
_sieges = new ArrayList<>();
|
||||
}
|
||||
_sieges.add(fortSiege);
|
||||
}
|
||||
@ -301,7 +300,7 @@ public final class FortSiegeManager
|
||||
|
||||
final Fort fort = FortManager.getInstance().getFort(player);
|
||||
|
||||
final FastList<CombatFlag> fcf = _flagList.get(fort.getResidenceId());
|
||||
final ArrayList<CombatFlag> fcf = _flagList.get(fort.getResidenceId());
|
||||
for (CombatFlag cf : fcf)
|
||||
{
|
||||
if (cf.getCombatFlagInstance() == item)
|
||||
@ -349,7 +348,7 @@ public final class FortSiegeManager
|
||||
{
|
||||
final Fort fort = FortManager.getInstance().getFortById(fortId);
|
||||
|
||||
final FastList<CombatFlag> fcf = _flagList.get(fort.getResidenceId());
|
||||
final ArrayList<CombatFlag> fcf = _flagList.get(fort.getResidenceId());
|
||||
|
||||
for (CombatFlag cf : fcf)
|
||||
{
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user