Sync with L2jServer HighFive Mar 25th 2015.
This commit is contained in:
parent
e0c66b1412
commit
82606870c0
@ -166,8 +166,8 @@ public class MC_Show extends AbstractNpcAI
|
||||
}
|
||||
}
|
||||
|
||||
private static Map<String, ShoutInfo> talks = new HashMap<>();
|
||||
private static Map<String, WalkInfo> walks = new HashMap<>();
|
||||
private static final Map<String, ShoutInfo> TALKS = new HashMap<>();
|
||||
private static final Map<String, WalkInfo> WALKS = new HashMap<>();
|
||||
|
||||
private MC_Show()
|
||||
{
|
||||
@ -180,112 +180,112 @@ public class MC_Show extends AbstractNpcAI
|
||||
private void load()
|
||||
{
|
||||
// TODO put this stuff in Routes.xml
|
||||
talks.put("1", new ShoutInfo(MESSAGES[1], "2", 1000));
|
||||
talks.put("2", new ShoutInfo(MESSAGES[2], "3", 6000));
|
||||
talks.put("3", new ShoutInfo(MESSAGES[3], "4", 4000));
|
||||
talks.put("4", new ShoutInfo(MESSAGES[4], "5", 5000));
|
||||
talks.put("5", new ShoutInfo(MESSAGES[5], "6", 3000));
|
||||
talks.put("8", new ShoutInfo(MESSAGES[9], "9", 5000));
|
||||
talks.put("9", new ShoutInfo(MESSAGES[10], "10", 5000));
|
||||
talks.put("12", new ShoutInfo(MESSAGES[12], "13", 5000));
|
||||
talks.put("13", new ShoutInfo(MESSAGES[13], "14", 5000));
|
||||
talks.put("15", new ShoutInfo(MESSAGES[14], "16", 5000));
|
||||
talks.put("16", new ShoutInfo(MESSAGES[15], "17", 5000));
|
||||
talks.put("18", new ShoutInfo(MESSAGES[17], "19", 5000));
|
||||
talks.put("19", new ShoutInfo(MESSAGES[18], "20", 5000));
|
||||
talks.put("21", new ShoutInfo(MESSAGES[19], "22", 5000));
|
||||
talks.put("22", new ShoutInfo(MESSAGES[20], "23", 400));
|
||||
talks.put("25", new ShoutInfo(MESSAGES[21], "26", 5000));
|
||||
talks.put("26", new ShoutInfo(MESSAGES[22], "27", 5400));
|
||||
TALKS.put("1", new ShoutInfo(MESSAGES[1], "2", 1000));
|
||||
TALKS.put("2", new ShoutInfo(MESSAGES[2], "3", 6000));
|
||||
TALKS.put("3", new ShoutInfo(MESSAGES[3], "4", 4000));
|
||||
TALKS.put("4", new ShoutInfo(MESSAGES[4], "5", 5000));
|
||||
TALKS.put("5", new ShoutInfo(MESSAGES[5], "6", 3000));
|
||||
TALKS.put("8", new ShoutInfo(MESSAGES[9], "9", 5000));
|
||||
TALKS.put("9", new ShoutInfo(MESSAGES[10], "10", 5000));
|
||||
TALKS.put("12", new ShoutInfo(MESSAGES[12], "13", 5000));
|
||||
TALKS.put("13", new ShoutInfo(MESSAGES[13], "14", 5000));
|
||||
TALKS.put("15", new ShoutInfo(MESSAGES[14], "16", 5000));
|
||||
TALKS.put("16", new ShoutInfo(MESSAGES[15], "17", 5000));
|
||||
TALKS.put("18", new ShoutInfo(MESSAGES[17], "19", 5000));
|
||||
TALKS.put("19", new ShoutInfo(MESSAGES[18], "20", 5000));
|
||||
TALKS.put("21", new ShoutInfo(MESSAGES[19], "22", 5000));
|
||||
TALKS.put("22", new ShoutInfo(MESSAGES[20], "23", 400));
|
||||
TALKS.put("25", new ShoutInfo(MESSAGES[21], "26", 5000));
|
||||
TALKS.put("26", new ShoutInfo(MESSAGES[22], "27", 5400));
|
||||
|
||||
walks.put("npc1_1", new WalkInfo(new Location(-56546, -56384, -2008, 0), "npc1_2", 1200));
|
||||
walks.put("npc1_2", new WalkInfo(new Location(-56597, -56384, -2008, 0), "npc1_3", 1200));
|
||||
walks.put("npc1_3", new WalkInfo(new Location(-56596, -56428, -2008, 0), "npc1_4", 1200));
|
||||
walks.put("npc1_4", new WalkInfo(new Location(-56593, -56474, -2008, 0), "npc1_5", 1000));
|
||||
walks.put("npc1_5", new WalkInfo(new Location(-56542, -56474, -2008, 0), "npc1_6", 1000));
|
||||
walks.put("npc1_6", new WalkInfo(new Location(-56493, -56473, -2008, 0), "npc1_7", 2000));
|
||||
walks.put("npc1_7", new WalkInfo(new Location(-56495, -56425, -2008, 0), "npc1_1", 4000));
|
||||
walks.put("npc2_1", new WalkInfo(new Location(-56550, -56291, -2008, 0), "npc2_2", 1200));
|
||||
walks.put("npc2_2", new WalkInfo(new Location(-56601, -56293, -2008, 0), "npc2_3", 1200));
|
||||
walks.put("npc2_3", new WalkInfo(new Location(-56603, -56247, -2008, 0), "npc2_4", 1200));
|
||||
walks.put("npc2_4", new WalkInfo(new Location(-56605, -56203, -2008, 0), "npc2_5", 1000));
|
||||
walks.put("npc2_5", new WalkInfo(new Location(-56553, -56202, -2008, 0), "npc2_6", 1100));
|
||||
walks.put("npc2_6", new WalkInfo(new Location(-56504, -56200, -2008, 0), "npc2_7", 2000));
|
||||
walks.put("npc2_7", new WalkInfo(new Location(-56503, -56243, -2008, 0), "npc2_1", 4000));
|
||||
walks.put("npc3_1", new WalkInfo(new Location(-56500, -56290, -2008, 0), "npc3_2", 1200));
|
||||
walks.put("npc3_2", new WalkInfo(new Location(-56551, -56313, -2008, 0), "npc3_3", 1200));
|
||||
walks.put("npc3_3", new WalkInfo(new Location(-56601, -56293, -2008, 0), "npc3_4", 1200));
|
||||
walks.put("npc3_4", new WalkInfo(new Location(-56651, -56294, -2008, 0), "npc3_5", 1200));
|
||||
walks.put("npc3_5", new WalkInfo(new Location(-56653, -56250, -2008, 0), "npc3_6", 1200));
|
||||
walks.put("npc3_6", new WalkInfo(new Location(-56654, -56204, -2008, 0), "npc3_7", 1200));
|
||||
walks.put("npc3_7", new WalkInfo(new Location(-56605, -56203, -2008, 0), "npc3_8", 1200));
|
||||
walks.put("npc3_8", new WalkInfo(new Location(-56554, -56202, -2008, 0), "npc3_9", 1200));
|
||||
walks.put("npc3_9", new WalkInfo(new Location(-56503, -56200, -2008, 0), "npc3_10", 1200));
|
||||
walks.put("npc3_10", new WalkInfo(new Location(-56502, -56244, -2008, 0), "npc3_1", 900));
|
||||
walks.put("npc4_1", new WalkInfo(new Location(-56495, -56381, -2008, 0), "npc4_2", 1200));
|
||||
walks.put("npc4_2", new WalkInfo(new Location(-56548, -56383, -2008, 0), "npc4_3", 1200));
|
||||
walks.put("npc4_3", new WalkInfo(new Location(-56597, -56383, -2008, 0), "npc4_4", 1200));
|
||||
walks.put("npc4_4", new WalkInfo(new Location(-56643, -56385, -2008, 0), "npc4_5", 1200));
|
||||
walks.put("npc4_5", new WalkInfo(new Location(-56639, -56436, -2008, 0), "npc4_6", 1200));
|
||||
walks.put("npc4_6", new WalkInfo(new Location(-56639, -56473, -2008, 0), "npc4_7", 1200));
|
||||
walks.put("npc4_7", new WalkInfo(new Location(-56589, -56473, -2008, 0), "npc4_8", 1200));
|
||||
walks.put("npc4_8", new WalkInfo(new Location(-56541, -56473, -2008, 0), "npc4_9", 1200));
|
||||
walks.put("npc4_9", new WalkInfo(new Location(-56496, -56473, -2008, 0), "npc4_10", 1200));
|
||||
walks.put("npc4_10", new WalkInfo(new Location(-56496, -56429, -2008, 0), "npc4_1", 900));
|
||||
walks.put("npc5_1", new WalkInfo(new Location(-56549, -56335, -2008, 0), "npc5_2", 1000));
|
||||
walks.put("npc5_2", new WalkInfo(new Location(-56599, -56337, -2008, 0), "npc5_3", 2000));
|
||||
walks.put("npc5_3", new WalkInfo(new Location(-56649, -56341, -2008, 0), "npc5_4", 26000));
|
||||
walks.put("npc5_4", new WalkInfo(new Location(-56600, -56341, -2008, 0), "npc5_5", 1000));
|
||||
walks.put("npc5_5", new WalkInfo(new Location(-56553, -56341, -2008, 0), "npc5_6", 1000));
|
||||
walks.put("npc5_6", new WalkInfo(new Location(-56508, -56331, -2008, 0), "npc5_2", 8000));
|
||||
walks.put("npc6_1", new WalkInfo(new Location(-56595, -56428, -2008, 0), "npc6_2", 1000));
|
||||
walks.put("npc6_2", new WalkInfo(new Location(-56596, -56383, -2008, 0), "npc6_3", 1000));
|
||||
walks.put("npc6_3", new WalkInfo(new Location(-56648, -56384, -2008, 0), "npc6_4", 1000));
|
||||
walks.put("npc6_4", new WalkInfo(new Location(-56645, -56429, -2008, 0), "npc6_5", 1000));
|
||||
walks.put("npc6_5", new WalkInfo(new Location(-56644, -56475, -2008, 0), "npc6_6", 1000));
|
||||
walks.put("npc6_6", new WalkInfo(new Location(-56595, -56473, -2008, 0), "npc6_7", 1000));
|
||||
walks.put("npc6_7", new WalkInfo(new Location(-56542, -56473, -2008, 0), "npc6_8", 1000));
|
||||
walks.put("npc6_8", new WalkInfo(new Location(-56492, -56472, -2008, 0), "npc6_9", 1200));
|
||||
walks.put("npc6_9", new WalkInfo(new Location(-56495, -56426, -2008, 0), "npc6_10", 2000));
|
||||
walks.put("npc6_10", new WalkInfo(new Location(-56540, -56426, -2008, 0), "npc6_1", 3000));
|
||||
walks.put("npc7_1", new WalkInfo(new Location(-56603, -56249, -2008, 0), "npc7_2", 1000));
|
||||
walks.put("npc7_2", new WalkInfo(new Location(-56601, -56294, -2008, 0), "npc7_3", 1000));
|
||||
walks.put("npc7_3", new WalkInfo(new Location(-56651, -56295, -2008, 0), "npc7_4", 1000));
|
||||
walks.put("npc7_4", new WalkInfo(new Location(-56653, -56248, -2008, 0), "npc7_5", 1000));
|
||||
walks.put("npc7_5", new WalkInfo(new Location(-56605, -56203, -2008, 0), "npc7_6", 1000));
|
||||
walks.put("npc7_6", new WalkInfo(new Location(-56554, -56202, -2008, 0), "npc7_7", 1000));
|
||||
walks.put("npc7_7", new WalkInfo(new Location(-56504, -56201, -2008, 0), "npc7_8", 1000));
|
||||
walks.put("npc7_8", new WalkInfo(new Location(-56502, -56247, -2008, 0), "npc7_9", 1200));
|
||||
walks.put("npc7_9", new WalkInfo(new Location(-56549, -56248, -2008, 0), "npc7_10", 2000));
|
||||
walks.put("npc7_10", new WalkInfo(new Location(-56549, -56248, -2008, 0), "npc7_1", 3000));
|
||||
walks.put("npc8_1", new WalkInfo(new Location(-56493, -56426, -2008, 0), "npc8_2", 1000));
|
||||
walks.put("npc8_2", new WalkInfo(new Location(-56497, -56381, -2008, 0), "npc8_3", 1200));
|
||||
walks.put("npc8_3", new WalkInfo(new Location(-56544, -56381, -2008, 0), "npc8_4", 1200));
|
||||
walks.put("npc8_4", new WalkInfo(new Location(-56596, -56383, -2008, 0), "npc8_5", 1200));
|
||||
walks.put("npc8_5", new WalkInfo(new Location(-56594, -56428, -2008, 0), "npc8_6", 900));
|
||||
walks.put("npc8_6", new WalkInfo(new Location(-56645, -56429, -2008, 0), "npc8_7", 1200));
|
||||
walks.put("npc8_7", new WalkInfo(new Location(-56647, -56384, -2008, 0), "npc8_8", 1200));
|
||||
walks.put("npc8_8", new WalkInfo(new Location(-56649, -56362, -2008, 0), "npc8_9", 9200));
|
||||
walks.put("npc8_9", new WalkInfo(new Location(-56654, -56429, -2008, 0), "npc8_10", 1200));
|
||||
walks.put("npc8_10", new WalkInfo(new Location(-56644, -56474, -2008, 0), "npc8_11", 900));
|
||||
walks.put("npc8_11", new WalkInfo(new Location(-56593, -56473, -2008, 0), "npc8_12", 1100));
|
||||
walks.put("npc8_12", new WalkInfo(new Location(-56543, -56472, -2008, 0), "npc8_13", 1200));
|
||||
walks.put("npc8_13", new WalkInfo(new Location(-56491, -56471, -2008, 0), "npc8_1", 1200));
|
||||
walks.put("npc9_1", new WalkInfo(new Location(-56505, -56246, -2008, 0), "npc9_2", 1000));
|
||||
walks.put("npc9_2", new WalkInfo(new Location(-56504, -56291, -2008, 0), "npc9_3", 1200));
|
||||
walks.put("npc9_3", new WalkInfo(new Location(-56550, -56291, -2008, 0), "npc9_4", 1200));
|
||||
walks.put("npc9_4", new WalkInfo(new Location(-56600, -56292, -2008, 0), "npc9_5", 1200));
|
||||
walks.put("npc9_5", new WalkInfo(new Location(-56603, -56248, -2008, 0), "npc9_6", 900));
|
||||
walks.put("npc9_6", new WalkInfo(new Location(-56653, -56249, -2008, 0), "npc9_7", 1200));
|
||||
walks.put("npc9_7", new WalkInfo(new Location(-56651, -56294, -2008, 0), "npc9_8", 1200));
|
||||
walks.put("npc9_8", new WalkInfo(new Location(-56650, -56316, -2008, 0), "npc9_9", 9200));
|
||||
walks.put("npc9_9", new WalkInfo(new Location(-56660, -56250, -2008, 0), "npc9_10", 1200));
|
||||
walks.put("npc9_10", new WalkInfo(new Location(-56656, -56205, -2008, 0), "npc9_11", 900));
|
||||
walks.put("npc9_11", new WalkInfo(new Location(-56606, -56204, -2008, 0), "npc9_12", 1100));
|
||||
walks.put("npc9_12", new WalkInfo(new Location(-56554, -56203, -2008, 0), "npc9_13", 1200));
|
||||
walks.put("npc9_13", new WalkInfo(new Location(-56506, -56203, -2008, 0), "npc9_1", 1200));
|
||||
walks.put("24", new WalkInfo(new Location(-56730, -56340, -2008, 0), "25", 1800));
|
||||
walks.put("27", new WalkInfo(new Location(-56702, -56340, -2008, 0), "29", 1800));
|
||||
WALKS.put("npc1_1", new WalkInfo(new Location(-56546, -56384, -2008, 0), "npc1_2", 1200));
|
||||
WALKS.put("npc1_2", new WalkInfo(new Location(-56597, -56384, -2008, 0), "npc1_3", 1200));
|
||||
WALKS.put("npc1_3", new WalkInfo(new Location(-56596, -56428, -2008, 0), "npc1_4", 1200));
|
||||
WALKS.put("npc1_4", new WalkInfo(new Location(-56593, -56474, -2008, 0), "npc1_5", 1000));
|
||||
WALKS.put("npc1_5", new WalkInfo(new Location(-56542, -56474, -2008, 0), "npc1_6", 1000));
|
||||
WALKS.put("npc1_6", new WalkInfo(new Location(-56493, -56473, -2008, 0), "npc1_7", 2000));
|
||||
WALKS.put("npc1_7", new WalkInfo(new Location(-56495, -56425, -2008, 0), "npc1_1", 4000));
|
||||
WALKS.put("npc2_1", new WalkInfo(new Location(-56550, -56291, -2008, 0), "npc2_2", 1200));
|
||||
WALKS.put("npc2_2", new WalkInfo(new Location(-56601, -56293, -2008, 0), "npc2_3", 1200));
|
||||
WALKS.put("npc2_3", new WalkInfo(new Location(-56603, -56247, -2008, 0), "npc2_4", 1200));
|
||||
WALKS.put("npc2_4", new WalkInfo(new Location(-56605, -56203, -2008, 0), "npc2_5", 1000));
|
||||
WALKS.put("npc2_5", new WalkInfo(new Location(-56553, -56202, -2008, 0), "npc2_6", 1100));
|
||||
WALKS.put("npc2_6", new WalkInfo(new Location(-56504, -56200, -2008, 0), "npc2_7", 2000));
|
||||
WALKS.put("npc2_7", new WalkInfo(new Location(-56503, -56243, -2008, 0), "npc2_1", 4000));
|
||||
WALKS.put("npc3_1", new WalkInfo(new Location(-56500, -56290, -2008, 0), "npc3_2", 1200));
|
||||
WALKS.put("npc3_2", new WalkInfo(new Location(-56551, -56313, -2008, 0), "npc3_3", 1200));
|
||||
WALKS.put("npc3_3", new WalkInfo(new Location(-56601, -56293, -2008, 0), "npc3_4", 1200));
|
||||
WALKS.put("npc3_4", new WalkInfo(new Location(-56651, -56294, -2008, 0), "npc3_5", 1200));
|
||||
WALKS.put("npc3_5", new WalkInfo(new Location(-56653, -56250, -2008, 0), "npc3_6", 1200));
|
||||
WALKS.put("npc3_6", new WalkInfo(new Location(-56654, -56204, -2008, 0), "npc3_7", 1200));
|
||||
WALKS.put("npc3_7", new WalkInfo(new Location(-56605, -56203, -2008, 0), "npc3_8", 1200));
|
||||
WALKS.put("npc3_8", new WalkInfo(new Location(-56554, -56202, -2008, 0), "npc3_9", 1200));
|
||||
WALKS.put("npc3_9", new WalkInfo(new Location(-56503, -56200, -2008, 0), "npc3_10", 1200));
|
||||
WALKS.put("npc3_10", new WalkInfo(new Location(-56502, -56244, -2008, 0), "npc3_1", 900));
|
||||
WALKS.put("npc4_1", new WalkInfo(new Location(-56495, -56381, -2008, 0), "npc4_2", 1200));
|
||||
WALKS.put("npc4_2", new WalkInfo(new Location(-56548, -56383, -2008, 0), "npc4_3", 1200));
|
||||
WALKS.put("npc4_3", new WalkInfo(new Location(-56597, -56383, -2008, 0), "npc4_4", 1200));
|
||||
WALKS.put("npc4_4", new WalkInfo(new Location(-56643, -56385, -2008, 0), "npc4_5", 1200));
|
||||
WALKS.put("npc4_5", new WalkInfo(new Location(-56639, -56436, -2008, 0), "npc4_6", 1200));
|
||||
WALKS.put("npc4_6", new WalkInfo(new Location(-56639, -56473, -2008, 0), "npc4_7", 1200));
|
||||
WALKS.put("npc4_7", new WalkInfo(new Location(-56589, -56473, -2008, 0), "npc4_8", 1200));
|
||||
WALKS.put("npc4_8", new WalkInfo(new Location(-56541, -56473, -2008, 0), "npc4_9", 1200));
|
||||
WALKS.put("npc4_9", new WalkInfo(new Location(-56496, -56473, -2008, 0), "npc4_10", 1200));
|
||||
WALKS.put("npc4_10", new WalkInfo(new Location(-56496, -56429, -2008, 0), "npc4_1", 900));
|
||||
WALKS.put("npc5_1", new WalkInfo(new Location(-56549, -56335, -2008, 0), "npc5_2", 1000));
|
||||
WALKS.put("npc5_2", new WalkInfo(new Location(-56599, -56337, -2008, 0), "npc5_3", 2000));
|
||||
WALKS.put("npc5_3", new WalkInfo(new Location(-56649, -56341, -2008, 0), "npc5_4", 26000));
|
||||
WALKS.put("npc5_4", new WalkInfo(new Location(-56600, -56341, -2008, 0), "npc5_5", 1000));
|
||||
WALKS.put("npc5_5", new WalkInfo(new Location(-56553, -56341, -2008, 0), "npc5_6", 1000));
|
||||
WALKS.put("npc5_6", new WalkInfo(new Location(-56508, -56331, -2008, 0), "npc5_2", 8000));
|
||||
WALKS.put("npc6_1", new WalkInfo(new Location(-56595, -56428, -2008, 0), "npc6_2", 1000));
|
||||
WALKS.put("npc6_2", new WalkInfo(new Location(-56596, -56383, -2008, 0), "npc6_3", 1000));
|
||||
WALKS.put("npc6_3", new WalkInfo(new Location(-56648, -56384, -2008, 0), "npc6_4", 1000));
|
||||
WALKS.put("npc6_4", new WalkInfo(new Location(-56645, -56429, -2008, 0), "npc6_5", 1000));
|
||||
WALKS.put("npc6_5", new WalkInfo(new Location(-56644, -56475, -2008, 0), "npc6_6", 1000));
|
||||
WALKS.put("npc6_6", new WalkInfo(new Location(-56595, -56473, -2008, 0), "npc6_7", 1000));
|
||||
WALKS.put("npc6_7", new WalkInfo(new Location(-56542, -56473, -2008, 0), "npc6_8", 1000));
|
||||
WALKS.put("npc6_8", new WalkInfo(new Location(-56492, -56472, -2008, 0), "npc6_9", 1200));
|
||||
WALKS.put("npc6_9", new WalkInfo(new Location(-56495, -56426, -2008, 0), "npc6_10", 2000));
|
||||
WALKS.put("npc6_10", new WalkInfo(new Location(-56540, -56426, -2008, 0), "npc6_1", 3000));
|
||||
WALKS.put("npc7_1", new WalkInfo(new Location(-56603, -56249, -2008, 0), "npc7_2", 1000));
|
||||
WALKS.put("npc7_2", new WalkInfo(new Location(-56601, -56294, -2008, 0), "npc7_3", 1000));
|
||||
WALKS.put("npc7_3", new WalkInfo(new Location(-56651, -56295, -2008, 0), "npc7_4", 1000));
|
||||
WALKS.put("npc7_4", new WalkInfo(new Location(-56653, -56248, -2008, 0), "npc7_5", 1000));
|
||||
WALKS.put("npc7_5", new WalkInfo(new Location(-56605, -56203, -2008, 0), "npc7_6", 1000));
|
||||
WALKS.put("npc7_6", new WalkInfo(new Location(-56554, -56202, -2008, 0), "npc7_7", 1000));
|
||||
WALKS.put("npc7_7", new WalkInfo(new Location(-56504, -56201, -2008, 0), "npc7_8", 1000));
|
||||
WALKS.put("npc7_8", new WalkInfo(new Location(-56502, -56247, -2008, 0), "npc7_9", 1200));
|
||||
WALKS.put("npc7_9", new WalkInfo(new Location(-56549, -56248, -2008, 0), "npc7_10", 2000));
|
||||
WALKS.put("npc7_10", new WalkInfo(new Location(-56549, -56248, -2008, 0), "npc7_1", 3000));
|
||||
WALKS.put("npc8_1", new WalkInfo(new Location(-56493, -56426, -2008, 0), "npc8_2", 1000));
|
||||
WALKS.put("npc8_2", new WalkInfo(new Location(-56497, -56381, -2008, 0), "npc8_3", 1200));
|
||||
WALKS.put("npc8_3", new WalkInfo(new Location(-56544, -56381, -2008, 0), "npc8_4", 1200));
|
||||
WALKS.put("npc8_4", new WalkInfo(new Location(-56596, -56383, -2008, 0), "npc8_5", 1200));
|
||||
WALKS.put("npc8_5", new WalkInfo(new Location(-56594, -56428, -2008, 0), "npc8_6", 900));
|
||||
WALKS.put("npc8_6", new WalkInfo(new Location(-56645, -56429, -2008, 0), "npc8_7", 1200));
|
||||
WALKS.put("npc8_7", new WalkInfo(new Location(-56647, -56384, -2008, 0), "npc8_8", 1200));
|
||||
WALKS.put("npc8_8", new WalkInfo(new Location(-56649, -56362, -2008, 0), "npc8_9", 9200));
|
||||
WALKS.put("npc8_9", new WalkInfo(new Location(-56654, -56429, -2008, 0), "npc8_10", 1200));
|
||||
WALKS.put("npc8_10", new WalkInfo(new Location(-56644, -56474, -2008, 0), "npc8_11", 900));
|
||||
WALKS.put("npc8_11", new WalkInfo(new Location(-56593, -56473, -2008, 0), "npc8_12", 1100));
|
||||
WALKS.put("npc8_12", new WalkInfo(new Location(-56543, -56472, -2008, 0), "npc8_13", 1200));
|
||||
WALKS.put("npc8_13", new WalkInfo(new Location(-56491, -56471, -2008, 0), "npc8_1", 1200));
|
||||
WALKS.put("npc9_1", new WalkInfo(new Location(-56505, -56246, -2008, 0), "npc9_2", 1000));
|
||||
WALKS.put("npc9_2", new WalkInfo(new Location(-56504, -56291, -2008, 0), "npc9_3", 1200));
|
||||
WALKS.put("npc9_3", new WalkInfo(new Location(-56550, -56291, -2008, 0), "npc9_4", 1200));
|
||||
WALKS.put("npc9_4", new WalkInfo(new Location(-56600, -56292, -2008, 0), "npc9_5", 1200));
|
||||
WALKS.put("npc9_5", new WalkInfo(new Location(-56603, -56248, -2008, 0), "npc9_6", 900));
|
||||
WALKS.put("npc9_6", new WalkInfo(new Location(-56653, -56249, -2008, 0), "npc9_7", 1200));
|
||||
WALKS.put("npc9_7", new WalkInfo(new Location(-56651, -56294, -2008, 0), "npc9_8", 1200));
|
||||
WALKS.put("npc9_8", new WalkInfo(new Location(-56650, -56316, -2008, 0), "npc9_9", 9200));
|
||||
WALKS.put("npc9_9", new WalkInfo(new Location(-56660, -56250, -2008, 0), "npc9_10", 1200));
|
||||
WALKS.put("npc9_10", new WalkInfo(new Location(-56656, -56205, -2008, 0), "npc9_11", 900));
|
||||
WALKS.put("npc9_11", new WalkInfo(new Location(-56606, -56204, -2008, 0), "npc9_12", 1100));
|
||||
WALKS.put("npc9_12", new WalkInfo(new Location(-56554, -56203, -2008, 0), "npc9_13", 1200));
|
||||
WALKS.put("npc9_13", new WalkInfo(new Location(-56506, -56203, -2008, 0), "npc9_1", 1200));
|
||||
WALKS.put("24", new WalkInfo(new Location(-56730, -56340, -2008, 0), "25", 1800));
|
||||
WALKS.put("27", new WalkInfo(new Location(-56702, -56340, -2008, 0), "29", 1800));
|
||||
}
|
||||
|
||||
private void scheduleTimer()
|
||||
@ -487,18 +487,18 @@ public class MC_Show extends AbstractNpcAI
|
||||
}
|
||||
else
|
||||
{
|
||||
if (talks.containsKey(event))
|
||||
if (TALKS.containsKey(event))
|
||||
{
|
||||
final ShoutInfo si = talks.get(event);
|
||||
final ShoutInfo si = TALKS.get(event);
|
||||
if (si != null)
|
||||
{
|
||||
autoChat(npc, si.getNpcStringId(), ChatType.NPC_SHOUT);
|
||||
startQuestTimer(si.getNextEvent(), si.getTime(), npc, null);
|
||||
}
|
||||
}
|
||||
else if (walks.containsKey(event))
|
||||
else if (WALKS.containsKey(event))
|
||||
{
|
||||
final WalkInfo wi = walks.get(event);
|
||||
final WalkInfo wi = WALKS.get(event);
|
||||
if (wi != null)
|
||||
{
|
||||
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, wi.getCharPos());
|
||||
|
@ -22,6 +22,7 @@ import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import quests.Q00020_BringUpWithLove.Q00020_BringUpWithLove;
|
||||
import ai.npc.AbstractNpcAI;
|
||||
@ -104,8 +105,8 @@ public final class BeastFarm extends AbstractNpcAI
|
||||
18900
|
||||
};
|
||||
|
||||
private static Map<Integer, Integer> _FeedInfo = new HashMap<>();
|
||||
private static Map<Integer, GrowthCapableMob> _GrowthCapableMobs = new HashMap<>();
|
||||
private static final Map<Integer, Integer> FEED_INFO = new ConcurrentHashMap<>();
|
||||
private static final Map<Integer, GrowthCapableMob> GROWTH_CAPABLE_MONSTERS = new HashMap<>();
|
||||
private static List<TamedBeast> TAMED_BEAST_DATA = new ArrayList<>();
|
||||
|
||||
private BeastFarm()
|
||||
@ -124,23 +125,23 @@ public final class BeastFarm extends AbstractNpcAI
|
||||
temp.addNpcIdForSkillId(SKILL_BLESSED_CRYSTAL_SPICE, 18869);
|
||||
temp.addNpcIdForSkillId(SKILL_SGRADE_GOLDEN_SPICE, 18878);
|
||||
temp.addNpcIdForSkillId(SKILL_SGRADE_CRYSTAL_SPICE, 18879);
|
||||
_GrowthCapableMobs.put(18873, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(18873, temp);
|
||||
|
||||
temp = new GrowthCapableMob(40, 1, 18869);
|
||||
temp.addNpcIdForSkillId(SKILL_GOLDEN_SPICE, 18876);
|
||||
_GrowthCapableMobs.put(18874, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(18874, temp);
|
||||
|
||||
temp = new GrowthCapableMob(40, 1, 18869);
|
||||
temp.addNpcIdForSkillId(SKILL_CRYSTAL_SPICE, 18877);
|
||||
_GrowthCapableMobs.put(18875, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(18875, temp);
|
||||
|
||||
temp = new GrowthCapableMob(25, 2, 18869);
|
||||
temp.addNpcIdForSkillId(SKILL_GOLDEN_SPICE, 18878);
|
||||
_GrowthCapableMobs.put(18876, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(18876, temp);
|
||||
|
||||
temp = new GrowthCapableMob(25, 2, 18869);
|
||||
temp.addNpcIdForSkillId(SKILL_CRYSTAL_SPICE, 18879);
|
||||
_GrowthCapableMobs.put(18877, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(18877, temp);
|
||||
|
||||
// Cougar
|
||||
temp = new GrowthCapableMob(100, 0, 18870);
|
||||
@ -150,23 +151,23 @@ public final class BeastFarm extends AbstractNpcAI
|
||||
temp.addNpcIdForSkillId(SKILL_BLESSED_CRYSTAL_SPICE, 18870);
|
||||
temp.addNpcIdForSkillId(SKILL_SGRADE_GOLDEN_SPICE, 18885);
|
||||
temp.addNpcIdForSkillId(SKILL_SGRADE_CRYSTAL_SPICE, 18886);
|
||||
_GrowthCapableMobs.put(18880, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(18880, temp);
|
||||
|
||||
temp = new GrowthCapableMob(40, 1, 18870);
|
||||
temp.addNpcIdForSkillId(SKILL_GOLDEN_SPICE, 18883);
|
||||
_GrowthCapableMobs.put(18881, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(18881, temp);
|
||||
|
||||
temp = new GrowthCapableMob(40, 1, 18870);
|
||||
temp.addNpcIdForSkillId(SKILL_CRYSTAL_SPICE, 18884);
|
||||
_GrowthCapableMobs.put(18882, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(18882, temp);
|
||||
|
||||
temp = new GrowthCapableMob(25, 2, 18870);
|
||||
temp.addNpcIdForSkillId(SKILL_GOLDEN_SPICE, 18885);
|
||||
_GrowthCapableMobs.put(18883, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(18883, temp);
|
||||
|
||||
temp = new GrowthCapableMob(25, 2, 18870);
|
||||
temp.addNpcIdForSkillId(SKILL_CRYSTAL_SPICE, 18886);
|
||||
_GrowthCapableMobs.put(18884, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(18884, temp);
|
||||
|
||||
// Buffalo
|
||||
temp = new GrowthCapableMob(100, 0, 18871);
|
||||
@ -176,23 +177,23 @@ public final class BeastFarm extends AbstractNpcAI
|
||||
temp.addNpcIdForSkillId(SKILL_BLESSED_CRYSTAL_SPICE, 18871);
|
||||
temp.addNpcIdForSkillId(SKILL_SGRADE_GOLDEN_SPICE, 18892);
|
||||
temp.addNpcIdForSkillId(SKILL_SGRADE_CRYSTAL_SPICE, 18893);
|
||||
_GrowthCapableMobs.put(18887, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(18887, temp);
|
||||
|
||||
temp = new GrowthCapableMob(40, 1, 18871);
|
||||
temp.addNpcIdForSkillId(SKILL_GOLDEN_SPICE, 18890);
|
||||
_GrowthCapableMobs.put(18888, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(18888, temp);
|
||||
|
||||
temp = new GrowthCapableMob(40, 1, 18871);
|
||||
temp.addNpcIdForSkillId(SKILL_CRYSTAL_SPICE, 18891);
|
||||
_GrowthCapableMobs.put(18889, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(18889, temp);
|
||||
|
||||
temp = new GrowthCapableMob(25, 2, 18871);
|
||||
temp.addNpcIdForSkillId(SKILL_GOLDEN_SPICE, 18892);
|
||||
_GrowthCapableMobs.put(18890, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(18890, temp);
|
||||
|
||||
temp = new GrowthCapableMob(25, 2, 18871);
|
||||
temp.addNpcIdForSkillId(SKILL_CRYSTAL_SPICE, 18893);
|
||||
_GrowthCapableMobs.put(18891, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(18891, temp);
|
||||
|
||||
// Grendel
|
||||
temp = new GrowthCapableMob(100, 0, 18872);
|
||||
@ -202,23 +203,23 @@ public final class BeastFarm extends AbstractNpcAI
|
||||
temp.addNpcIdForSkillId(SKILL_BLESSED_CRYSTAL_SPICE, 18872);
|
||||
temp.addNpcIdForSkillId(SKILL_SGRADE_GOLDEN_SPICE, 18899);
|
||||
temp.addNpcIdForSkillId(SKILL_SGRADE_CRYSTAL_SPICE, 18900);
|
||||
_GrowthCapableMobs.put(18894, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(18894, temp);
|
||||
|
||||
temp = new GrowthCapableMob(40, 1, 18872);
|
||||
temp.addNpcIdForSkillId(SKILL_GOLDEN_SPICE, 18897);
|
||||
_GrowthCapableMobs.put(18895, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(18895, temp);
|
||||
|
||||
temp = new GrowthCapableMob(40, 1, 18872);
|
||||
temp.addNpcIdForSkillId(SKILL_CRYSTAL_SPICE, 18898);
|
||||
_GrowthCapableMobs.put(18896, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(18896, temp);
|
||||
|
||||
temp = new GrowthCapableMob(25, 2, 18872);
|
||||
temp.addNpcIdForSkillId(SKILL_GOLDEN_SPICE, 18899);
|
||||
_GrowthCapableMobs.put(18897, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(18897, temp);
|
||||
|
||||
temp = new GrowthCapableMob(25, 2, 18872);
|
||||
temp.addNpcIdForSkillId(SKILL_CRYSTAL_SPICE, 18900);
|
||||
_GrowthCapableMobs.put(18898, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(18898, temp);
|
||||
|
||||
// Tamed beasts data
|
||||
TAMED_BEAST_DATA.add(new TamedBeast("%name% of Focus", new SkillHolder(6432, 1), new SkillHolder(6668, 1)));
|
||||
@ -232,11 +233,11 @@ public final class BeastFarm extends AbstractNpcAI
|
||||
public void spawnNext(L2Npc npc, L2PcInstance player, int nextNpcId, int food)
|
||||
{
|
||||
// remove the feedinfo of the mob that got despawned, if any
|
||||
if (_FeedInfo.containsKey(npc.getObjectId()))
|
||||
if (FEED_INFO.containsKey(npc.getObjectId()))
|
||||
{
|
||||
if (_FeedInfo.get(npc.getObjectId()) == player.getObjectId())
|
||||
if (FEED_INFO.get(npc.getObjectId()) == player.getObjectId())
|
||||
{
|
||||
_FeedInfo.remove(npc.getObjectId());
|
||||
FEED_INFO.remove(npc.getObjectId());
|
||||
}
|
||||
}
|
||||
// despawn the old mob
|
||||
@ -289,7 +290,7 @@ public final class BeastFarm extends AbstractNpcAI
|
||||
L2Attackable nextNpc = (L2Attackable) addSpawn(nextNpcId, npc);
|
||||
|
||||
// register the player in the feedinfo for the mob that just spawned
|
||||
_FeedInfo.put(nextNpc.getObjectId(), player.getObjectId());
|
||||
FEED_INFO.put(nextNpc.getObjectId(), player.getObjectId());
|
||||
nextNpc.setRunning();
|
||||
nextNpc.addDamageHate(player, 0, 99999);
|
||||
nextNpc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player);
|
||||
@ -319,19 +320,19 @@ public final class BeastFarm extends AbstractNpcAI
|
||||
// first gather some values on local variables
|
||||
int objectId = npc.getObjectId();
|
||||
int growthLevel = 3; // if a mob is in FEEDABLE_BEASTS but not in _GrowthCapableMobs, then it's at max growth (3)
|
||||
if (_GrowthCapableMobs.containsKey(npcId))
|
||||
if (GROWTH_CAPABLE_MONSTERS.containsKey(npcId))
|
||||
{
|
||||
growthLevel = _GrowthCapableMobs.get(npcId).getGrowthLevel();
|
||||
growthLevel = GROWTH_CAPABLE_MONSTERS.get(npcId).getGrowthLevel();
|
||||
}
|
||||
|
||||
// prevent exploit which allows 2 players to simultaneously raise the same 0-growth beast
|
||||
// If the mob is at 0th level (when it still listens to all feeders) lock it to the first feeder!
|
||||
if ((growthLevel == 0) && _FeedInfo.containsKey(objectId))
|
||||
if ((growthLevel == 0) && FEED_INFO.containsKey(objectId))
|
||||
{
|
||||
return super.onSkillSee(npc, caster, skill, targets, isSummon);
|
||||
}
|
||||
|
||||
_FeedInfo.put(objectId, caster.getObjectId());
|
||||
FEED_INFO.put(objectId, caster.getObjectId());
|
||||
|
||||
// display the social action of the beast eating the food.
|
||||
npc.broadcastSocialAction(2);
|
||||
@ -347,22 +348,22 @@ public final class BeastFarm extends AbstractNpcAI
|
||||
}
|
||||
|
||||
// if this pet can't grow, it's all done.
|
||||
if (_GrowthCapableMobs.containsKey(npcId))
|
||||
if (GROWTH_CAPABLE_MONSTERS.containsKey(npcId))
|
||||
{
|
||||
// do nothing if this mob doesn't eat the specified food (food gets consumed but has no effect).
|
||||
int newNpcId = _GrowthCapableMobs.get(npcId).getLeveledNpcId(skillId);
|
||||
int newNpcId = GROWTH_CAPABLE_MONSTERS.get(npcId).getLeveledNpcId(skillId);
|
||||
if (newNpcId == -1)
|
||||
{
|
||||
if (growthLevel == 0)
|
||||
{
|
||||
_FeedInfo.remove(objectId);
|
||||
FEED_INFO.remove(objectId);
|
||||
npc.setRunning();
|
||||
((L2Attackable) npc).addDamageHate(caster, 0, 1);
|
||||
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, caster);
|
||||
}
|
||||
return super.onSkillSee(npc, caster, skill, targets, isSummon);
|
||||
}
|
||||
else if ((growthLevel > 0) && (_FeedInfo.get(objectId) != caster.getObjectId()))
|
||||
else if ((growthLevel > 0) && (FEED_INFO.get(objectId) != caster.getObjectId()))
|
||||
{
|
||||
// check if this is the same player as the one who raised it from growth 0.
|
||||
// if no, then do not allow a chance to raise the pet (food gets consumed but has no effect).
|
||||
@ -382,9 +383,9 @@ public final class BeastFarm extends AbstractNpcAI
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
// remove the feedinfo of the mob that got killed, if any
|
||||
if (_FeedInfo.containsKey(npc.getObjectId()))
|
||||
if (FEED_INFO.containsKey(npc.getObjectId()))
|
||||
{
|
||||
_FeedInfo.remove(npc.getObjectId());
|
||||
FEED_INFO.remove(npc.getObjectId());
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
@ -20,6 +20,7 @@ package ai.group_template;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import quests.Q00020_BringUpWithLove.Q00020_BringUpWithLove;
|
||||
import quests.Q00655_AGrandPlanForTamingWildBeasts.Q00655_AGrandPlanForTamingWildBeasts;
|
||||
@ -129,8 +130,8 @@ public final class FeedableBeasts extends AbstractNpcAI
|
||||
NpcStringId.ANIMALS_NEED_LOVE_TOO
|
||||
};
|
||||
|
||||
private static Map<Integer, Integer> _FeedInfo = new HashMap<>();
|
||||
private static Map<Integer, GrowthCapableMob> _GrowthCapableMobs = new HashMap<>();
|
||||
private static final Map<Integer, Integer> FEED_INFO = new ConcurrentHashMap<>();
|
||||
private static final Map<Integer, GrowthCapableMob> GROWTH_CAPABLE_MONSTERS = new HashMap<>();
|
||||
|
||||
// all mobs that grow by eating
|
||||
private static class GrowthCapableMob
|
||||
@ -221,139 +222,139 @@ public final class FeedableBeasts extends AbstractNpcAI
|
||||
temp = new GrowthCapableMob(0, 100);
|
||||
temp.addMobs(GOLDEN_SPICE, Kookabura_0_Gold);
|
||||
temp.addMobs(CRYSTAL_SPICE, Kookabura_0_Crystal);
|
||||
_GrowthCapableMobs.put(21451, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21451, temp);
|
||||
|
||||
temp = new GrowthCapableMob(1, 40);
|
||||
temp.addMobs(GOLDEN_SPICE, Kookabura_1_Gold_1);
|
||||
_GrowthCapableMobs.put(21452, temp);
|
||||
_GrowthCapableMobs.put(21454, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21452, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21454, temp);
|
||||
|
||||
temp = new GrowthCapableMob(1, 40);
|
||||
temp.addMobs(GOLDEN_SPICE, Kookabura_1_Gold_2);
|
||||
_GrowthCapableMobs.put(21453, temp);
|
||||
_GrowthCapableMobs.put(21455, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21453, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21455, temp);
|
||||
|
||||
temp = new GrowthCapableMob(1, 40);
|
||||
temp.addMobs(CRYSTAL_SPICE, Kookabura_1_Crystal_1);
|
||||
_GrowthCapableMobs.put(21456, temp);
|
||||
_GrowthCapableMobs.put(21458, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21456, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21458, temp);
|
||||
|
||||
temp = new GrowthCapableMob(1, 40);
|
||||
temp.addMobs(CRYSTAL_SPICE, Kookabura_1_Crystal_2);
|
||||
_GrowthCapableMobs.put(21457, temp);
|
||||
_GrowthCapableMobs.put(21459, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21457, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21459, temp);
|
||||
|
||||
temp = new GrowthCapableMob(2, 25);
|
||||
temp.addMobs(GOLDEN_SPICE, Kookabura_2_1);
|
||||
_GrowthCapableMobs.put(21460, temp);
|
||||
_GrowthCapableMobs.put(21462, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21460, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21462, temp);
|
||||
|
||||
temp = new GrowthCapableMob(2, 25);
|
||||
temp.addMobs(GOLDEN_SPICE, Kookabura_2_2);
|
||||
_GrowthCapableMobs.put(21461, temp);
|
||||
_GrowthCapableMobs.put(21463, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21461, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21463, temp);
|
||||
|
||||
temp = new GrowthCapableMob(2, 25);
|
||||
temp.addMobs(CRYSTAL_SPICE, Kookabura_2_1);
|
||||
_GrowthCapableMobs.put(21464, temp);
|
||||
_GrowthCapableMobs.put(21466, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21464, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21466, temp);
|
||||
|
||||
temp = new GrowthCapableMob(2, 25);
|
||||
temp.addMobs(CRYSTAL_SPICE, Kookabura_2_2);
|
||||
_GrowthCapableMobs.put(21465, temp);
|
||||
_GrowthCapableMobs.put(21467, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21465, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21467, temp);
|
||||
|
||||
// Alpen Buffalo
|
||||
temp = new GrowthCapableMob(0, 100);
|
||||
temp.addMobs(GOLDEN_SPICE, Buffalo_0_Gold);
|
||||
temp.addMobs(CRYSTAL_SPICE, Buffalo_0_Crystal);
|
||||
_GrowthCapableMobs.put(21470, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21470, temp);
|
||||
|
||||
temp = new GrowthCapableMob(1, 40);
|
||||
temp.addMobs(GOLDEN_SPICE, Buffalo_1_Gold_1);
|
||||
_GrowthCapableMobs.put(21471, temp);
|
||||
_GrowthCapableMobs.put(21473, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21471, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21473, temp);
|
||||
|
||||
temp = new GrowthCapableMob(1, 40);
|
||||
temp.addMobs(GOLDEN_SPICE, Buffalo_1_Gold_2);
|
||||
_GrowthCapableMobs.put(21472, temp);
|
||||
_GrowthCapableMobs.put(21474, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21472, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21474, temp);
|
||||
|
||||
temp = new GrowthCapableMob(1, 40);
|
||||
temp.addMobs(CRYSTAL_SPICE, Buffalo_1_Crystal_1);
|
||||
_GrowthCapableMobs.put(21475, temp);
|
||||
_GrowthCapableMobs.put(21477, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21475, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21477, temp);
|
||||
|
||||
temp = new GrowthCapableMob(1, 40);
|
||||
temp.addMobs(CRYSTAL_SPICE, Buffalo_1_Crystal_2);
|
||||
_GrowthCapableMobs.put(21476, temp);
|
||||
_GrowthCapableMobs.put(21478, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21476, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21478, temp);
|
||||
|
||||
temp = new GrowthCapableMob(2, 25);
|
||||
temp.addMobs(GOLDEN_SPICE, Buffalo_2_1);
|
||||
_GrowthCapableMobs.put(21479, temp);
|
||||
_GrowthCapableMobs.put(21481, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21479, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21481, temp);
|
||||
|
||||
temp = new GrowthCapableMob(2, 25);
|
||||
temp.addMobs(GOLDEN_SPICE, Buffalo_2_2);
|
||||
_GrowthCapableMobs.put(21480, temp);
|
||||
_GrowthCapableMobs.put(21482, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21480, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21482, temp);
|
||||
|
||||
temp = new GrowthCapableMob(2, 25);
|
||||
temp.addMobs(CRYSTAL_SPICE, Buffalo_2_1);
|
||||
_GrowthCapableMobs.put(21483, temp);
|
||||
_GrowthCapableMobs.put(21485, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21483, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21485, temp);
|
||||
|
||||
temp = new GrowthCapableMob(2, 25);
|
||||
temp.addMobs(CRYSTAL_SPICE, Buffalo_2_2);
|
||||
_GrowthCapableMobs.put(21484, temp);
|
||||
_GrowthCapableMobs.put(21486, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21484, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21486, temp);
|
||||
|
||||
// Alpen Cougar
|
||||
temp = new GrowthCapableMob(0, 100);
|
||||
temp.addMobs(GOLDEN_SPICE, Cougar_0_Gold);
|
||||
temp.addMobs(CRYSTAL_SPICE, Cougar_0_Crystal);
|
||||
_GrowthCapableMobs.put(21489, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21489, temp);
|
||||
|
||||
temp = new GrowthCapableMob(1, 40);
|
||||
temp.addMobs(GOLDEN_SPICE, Cougar_1_Gold_1);
|
||||
_GrowthCapableMobs.put(21490, temp);
|
||||
_GrowthCapableMobs.put(21492, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21490, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21492, temp);
|
||||
|
||||
temp = new GrowthCapableMob(1, 40);
|
||||
temp.addMobs(GOLDEN_SPICE, Cougar_1_Gold_2);
|
||||
_GrowthCapableMobs.put(21491, temp);
|
||||
_GrowthCapableMobs.put(21493, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21491, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21493, temp);
|
||||
|
||||
temp = new GrowthCapableMob(1, 40);
|
||||
temp.addMobs(CRYSTAL_SPICE, Cougar_1_Crystal_1);
|
||||
_GrowthCapableMobs.put(21494, temp);
|
||||
_GrowthCapableMobs.put(21496, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21494, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21496, temp);
|
||||
|
||||
temp = new GrowthCapableMob(1, 40);
|
||||
temp.addMobs(CRYSTAL_SPICE, Cougar_1_Crystal_2);
|
||||
_GrowthCapableMobs.put(21495, temp);
|
||||
_GrowthCapableMobs.put(21497, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21495, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21497, temp);
|
||||
|
||||
temp = new GrowthCapableMob(2, 25);
|
||||
temp.addMobs(GOLDEN_SPICE, Cougar_2_1);
|
||||
_GrowthCapableMobs.put(21498, temp);
|
||||
_GrowthCapableMobs.put(21500, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21498, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21500, temp);
|
||||
|
||||
temp = new GrowthCapableMob(2, 25);
|
||||
temp.addMobs(GOLDEN_SPICE, Cougar_2_2);
|
||||
_GrowthCapableMobs.put(21499, temp);
|
||||
_GrowthCapableMobs.put(21501, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21499, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21501, temp);
|
||||
|
||||
temp = new GrowthCapableMob(2, 25);
|
||||
temp.addMobs(CRYSTAL_SPICE, Cougar_2_1);
|
||||
_GrowthCapableMobs.put(21502, temp);
|
||||
_GrowthCapableMobs.put(21504, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21502, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21504, temp);
|
||||
|
||||
temp = new GrowthCapableMob(2, 25);
|
||||
temp.addMobs(CRYSTAL_SPICE, Cougar_2_2);
|
||||
_GrowthCapableMobs.put(21503, temp);
|
||||
_GrowthCapableMobs.put(21505, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21503, temp);
|
||||
GROWTH_CAPABLE_MONSTERS.put(21505, temp);
|
||||
}
|
||||
|
||||
private void spawnNext(L2Npc npc, int growthLevel, L2PcInstance player, int food)
|
||||
@ -369,11 +370,11 @@ public final class FeedableBeasts extends AbstractNpcAI
|
||||
{
|
||||
if (player.getClassId().isMage())
|
||||
{
|
||||
nextNpcId = _GrowthCapableMobs.get(npcId).getMob(food, 1, 1);
|
||||
nextNpcId = GROWTH_CAPABLE_MONSTERS.get(npcId).getMob(food, 1, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
nextNpcId = _GrowthCapableMobs.get(npcId).getMob(food, 1, 0);
|
||||
nextNpcId = GROWTH_CAPABLE_MONSTERS.get(npcId).getMob(food, 1, 0);
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -382,26 +383,26 @@ public final class FeedableBeasts extends AbstractNpcAI
|
||||
// that is a stronger-than-normal animal that attacks its feeder
|
||||
if (getRandom(5) == 0)
|
||||
{
|
||||
nextNpcId = _GrowthCapableMobs.get(npcId).getMob(food, 0, 1);
|
||||
nextNpcId = GROWTH_CAPABLE_MONSTERS.get(npcId).getMob(food, 0, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
nextNpcId = _GrowthCapableMobs.get(npcId).getMob(food, 0, 0);
|
||||
nextNpcId = GROWTH_CAPABLE_MONSTERS.get(npcId).getMob(food, 0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// all other levels of growth are straight-forward
|
||||
nextNpcId = _GrowthCapableMobs.get(npcId).getRandomMob(food);
|
||||
nextNpcId = GROWTH_CAPABLE_MONSTERS.get(npcId).getRandomMob(food);
|
||||
}
|
||||
|
||||
// remove the feedinfo of the mob that got despawned, if any
|
||||
if (_FeedInfo.containsKey(npc.getObjectId()))
|
||||
if (FEED_INFO.containsKey(npc.getObjectId()))
|
||||
{
|
||||
if (_FeedInfo.get(npc.getObjectId()) == player.getObjectId())
|
||||
if (FEED_INFO.get(npc.getObjectId()) == player.getObjectId())
|
||||
{
|
||||
_FeedInfo.remove(npc.getObjectId());
|
||||
FEED_INFO.remove(npc.getObjectId());
|
||||
}
|
||||
}
|
||||
// despawn the old mob
|
||||
@ -476,7 +477,7 @@ public final class FeedableBeasts extends AbstractNpcAI
|
||||
}
|
||||
|
||||
// register the player in the feedinfo for the mob that just spawned
|
||||
_FeedInfo.put(nextNpc.getObjectId(), player.getObjectId());
|
||||
FEED_INFO.put(nextNpc.getObjectId(), player.getObjectId());
|
||||
nextNpc.setRunning();
|
||||
nextNpc.addDamageHate(player, 0, 99999);
|
||||
nextNpc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player);
|
||||
@ -491,9 +492,9 @@ public final class FeedableBeasts extends AbstractNpcAI
|
||||
if (MAD_COW_POLYMORPH.containsKey(npc.getId()))
|
||||
{
|
||||
// remove the feed info from the previous mob
|
||||
if (_FeedInfo.get(npc.getObjectId()) == player.getObjectId())
|
||||
if (FEED_INFO.get(npc.getObjectId()) == player.getObjectId())
|
||||
{
|
||||
_FeedInfo.remove(npc.getObjectId());
|
||||
FEED_INFO.remove(npc.getObjectId());
|
||||
}
|
||||
// despawn the mad cow
|
||||
npc.deleteMe();
|
||||
@ -501,7 +502,7 @@ public final class FeedableBeasts extends AbstractNpcAI
|
||||
L2Attackable nextNpc = (L2Attackable) addSpawn(MAD_COW_POLYMORPH.get(npc.getId()), npc);
|
||||
|
||||
// register the player in the feedinfo for the mob that just spawned
|
||||
_FeedInfo.put(nextNpc.getObjectId(), player.getObjectId());
|
||||
FEED_INFO.put(nextNpc.getObjectId(), player.getObjectId());
|
||||
nextNpc.setRunning();
|
||||
nextNpc.addDamageHate(player, 0, 99999);
|
||||
nextNpc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player);
|
||||
@ -531,19 +532,19 @@ public final class FeedableBeasts extends AbstractNpcAI
|
||||
// first gather some values on local variables
|
||||
int objectId = npc.getObjectId();
|
||||
int growthLevel = 3; // if a mob is in FEEDABLE_BEASTS but not in _GrowthCapableMobs, then it's at max growth (3)
|
||||
if (_GrowthCapableMobs.containsKey(npcId))
|
||||
if (GROWTH_CAPABLE_MONSTERS.containsKey(npcId))
|
||||
{
|
||||
growthLevel = _GrowthCapableMobs.get(npcId).getGrowthLevel();
|
||||
growthLevel = GROWTH_CAPABLE_MONSTERS.get(npcId).getGrowthLevel();
|
||||
}
|
||||
|
||||
// prevent exploit which allows 2 players to simultaneously raise the same 0-growth beast
|
||||
// If the mob is at 0th level (when it still listens to all feeders) lock it to the first feeder!
|
||||
if ((growthLevel == 0) && _FeedInfo.containsKey(objectId))
|
||||
if ((growthLevel == 0) && FEED_INFO.containsKey(objectId))
|
||||
{
|
||||
return super.onSkillSee(npc, caster, skill, targets, isSummon);
|
||||
}
|
||||
|
||||
_FeedInfo.put(objectId, caster.getObjectId());
|
||||
FEED_INFO.put(objectId, caster.getObjectId());
|
||||
|
||||
int food = 0;
|
||||
if (skillId == SKILL_GOLDEN_SPICE)
|
||||
@ -559,10 +560,10 @@ public final class FeedableBeasts extends AbstractNpcAI
|
||||
npc.broadcastSocialAction(2);
|
||||
|
||||
// if this pet can't grow, it's all done.
|
||||
if (_GrowthCapableMobs.containsKey(npcId))
|
||||
if (GROWTH_CAPABLE_MONSTERS.containsKey(npcId))
|
||||
{
|
||||
// do nothing if this mob doesn't eat the specified food (food gets consumed but has no effect).
|
||||
if (_GrowthCapableMobs.get(npcId).getMob(food, 0, 0) == null)
|
||||
if (GROWTH_CAPABLE_MONSTERS.get(npcId).getMob(food, 0, 0) == null)
|
||||
{
|
||||
return super.onSkillSee(npc, caster, skill, targets, isSummon);
|
||||
}
|
||||
@ -579,7 +580,7 @@ public final class FeedableBeasts extends AbstractNpcAI
|
||||
npc.broadcastPacket(packet);
|
||||
}
|
||||
|
||||
if ((growthLevel > 0) && (_FeedInfo.get(objectId) != caster.getObjectId()))
|
||||
if ((growthLevel > 0) && (FEED_INFO.get(objectId) != caster.getObjectId()))
|
||||
{
|
||||
// check if this is the same player as the one who raised it from growth 0.
|
||||
// if no, then do not allow a chance to raise the pet (food gets consumed but has no effect).
|
||||
@ -587,7 +588,7 @@ public final class FeedableBeasts extends AbstractNpcAI
|
||||
}
|
||||
|
||||
// Polymorph the mob, with a certain chance, given its current growth level
|
||||
if (getRandom(100) < _GrowthCapableMobs.get(npcId).getChance())
|
||||
if (getRandom(100) < GROWTH_CAPABLE_MONSTERS.get(npcId).getChance())
|
||||
{
|
||||
spawnNext(npc, growthLevel, caster, food);
|
||||
}
|
||||
@ -614,9 +615,9 @@ public final class FeedableBeasts extends AbstractNpcAI
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
// remove the feedinfo of the mob that got killed, if any
|
||||
if (_FeedInfo.containsKey(npc.getObjectId()))
|
||||
if (FEED_INFO.containsKey(npc.getObjectId()))
|
||||
{
|
||||
_FeedInfo.remove(npc.getObjectId());
|
||||
FEED_INFO.remove(npc.getObjectId());
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
@ -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 HashMap<>();
|
||||
private static final Map<Integer, Location[]> SPAWN_POINTS = new HashMap<>();
|
||||
static
|
||||
{
|
||||
// Keltas
|
||||
|
1103
trunk/dist/game/data/scripts/ai/individual/Beleth.java
vendored
1103
trunk/dist/game/data/scripts/ai/individual/Beleth.java
vendored
File diff suppressed because it is too large
Load Diff
@ -18,7 +18,6 @@
|
||||
*/
|
||||
package ai.individual;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
@ -43,8 +42,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 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 final Set<Integer> SECOND_SPAWN = ConcurrentHashMap.newKeySet(); // Used to track if second Shades were already spawned
|
||||
private static Set<Integer> MY_TRACKING_SET = ConcurrentHashMap.newKeySet(); // Used to track instances of npcs
|
||||
private static Map<Integer, L2PcInstance> ID_MAP = new ConcurrentHashMap<>(); // Used to track instances of npcs
|
||||
|
||||
private DarkWaterDragon()
|
||||
|
@ -18,8 +18,8 @@
|
||||
*/
|
||||
package ai.individual;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
|
||||
import ai.npc.AbstractNpcAI;
|
||||
|
||||
@ -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 ArrayList<>();
|
||||
private static final List<L2Attackable> MINIONS = new CopyOnWriteArrayList<>();
|
||||
private static L2BossZone ZONE;
|
||||
|
||||
private static final byte ALIVE = 0;
|
||||
@ -158,16 +158,16 @@ public final class Orfen extends AbstractNpcAI
|
||||
L2Attackable mob;
|
||||
mob = (L2Attackable) addSpawn(RAIKEL_LEOS, x + 100, y + 100, npc.getZ(), 0, false, 0);
|
||||
mob.setIsRaidMinion(true);
|
||||
_Minions.add(mob);
|
||||
MINIONS.add(mob);
|
||||
mob = (L2Attackable) addSpawn(RAIKEL_LEOS, x + 100, y - 100, npc.getZ(), 0, false, 0);
|
||||
mob.setIsRaidMinion(true);
|
||||
_Minions.add(mob);
|
||||
MINIONS.add(mob);
|
||||
mob = (L2Attackable) addSpawn(RAIKEL_LEOS, x - 100, y + 100, npc.getZ(), 0, false, 0);
|
||||
mob.setIsRaidMinion(true);
|
||||
_Minions.add(mob);
|
||||
MINIONS.add(mob);
|
||||
mob = (L2Attackable) addSpawn(RAIKEL_LEOS, x - 100, y - 100, npc.getZ(), 0, false, 0);
|
||||
mob.setIsRaidMinion(true);
|
||||
_Minions.add(mob);
|
||||
MINIONS.add(mob);
|
||||
startQuestTimer("check_minion_loc", 10000, npc, null, true);
|
||||
}
|
||||
|
||||
@ -208,9 +208,9 @@ public final class Orfen extends AbstractNpcAI
|
||||
}
|
||||
else if (event.equalsIgnoreCase("check_minion_loc"))
|
||||
{
|
||||
for (int i = 0; i < _Minions.size(); i++)
|
||||
for (int i = 0; i < MINIONS.size(); i++)
|
||||
{
|
||||
L2Attackable mob = _Minions.get(i);
|
||||
L2Attackable mob = MINIONS.get(i);
|
||||
if (!npc.isInsideRadius(mob, 3000, false, false))
|
||||
{
|
||||
mob.teleToLocation(npc.getLocation());
|
||||
@ -221,21 +221,21 @@ public final class Orfen extends AbstractNpcAI
|
||||
}
|
||||
else if (event.equalsIgnoreCase("despawn_minions"))
|
||||
{
|
||||
for (int i = 0; i < _Minions.size(); i++)
|
||||
for (int i = 0; i < MINIONS.size(); i++)
|
||||
{
|
||||
L2Attackable mob = _Minions.get(i);
|
||||
L2Attackable mob = MINIONS.get(i);
|
||||
if (mob != null)
|
||||
{
|
||||
mob.decayMe();
|
||||
}
|
||||
}
|
||||
_Minions.clear();
|
||||
MINIONS.clear();
|
||||
}
|
||||
else if (event.equalsIgnoreCase("spawn_minion"))
|
||||
{
|
||||
L2Attackable mob = (L2Attackable) addSpawn(RAIKEL_LEOS, npc.getX(), npc.getY(), npc.getZ(), 0, false, 0);
|
||||
mob.setIsRaidMinion(true);
|
||||
_Minions.add(mob);
|
||||
MINIONS.add(mob);
|
||||
}
|
||||
return super.onAdvEvent(event, npc, player);
|
||||
}
|
||||
@ -344,7 +344,7 @@ public final class Orfen extends AbstractNpcAI
|
||||
}
|
||||
else if ((GrandBossManager.getInstance().getBossStatus(ORFEN) == ALIVE) && (npc.getId() == RAIKEL_LEOS))
|
||||
{
|
||||
_Minions.remove(npc);
|
||||
MINIONS.remove(npc);
|
||||
startQuestTimer("spawn_minion", 360000, npc, null);
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
|
@ -18,8 +18,8 @@
|
||||
*/
|
||||
package ai.individual;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
|
||||
import ai.npc.AbstractNpcAI;
|
||||
@ -83,7 +83,7 @@ public final class QueenAnt extends AbstractNpcAI
|
||||
|
||||
L2MonsterInstance _queen = null;
|
||||
private L2MonsterInstance _larva = null;
|
||||
private final List<L2MonsterInstance> _nurses = new ArrayList<>(5);
|
||||
private final List<L2MonsterInstance> _nurses = new CopyOnWriteArrayList<>();
|
||||
ScheduledFuture<?> _task = null;
|
||||
|
||||
private QueenAnt()
|
||||
|
@ -18,8 +18,8 @@
|
||||
*/
|
||||
package ai.individual;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import ai.npc.AbstractNpcAI;
|
||||
|
||||
@ -54,7 +54,7 @@ public final class SinWardens extends AbstractNpcAI
|
||||
22438
|
||||
};
|
||||
|
||||
private final Map<Integer, Integer> killedMinionsCount = new HashMap<>();
|
||||
private final Map<Integer, Integer> killedMinionsCount = new ConcurrentHashMap<>();
|
||||
|
||||
private SinWardens()
|
||||
{
|
||||
|
@ -29,12 +29,12 @@ import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.GeoData;
|
||||
import com.l2jserver.gameserver.ThreadPoolManager;
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.model.L2Spawn;
|
||||
import com.l2jserver.gameserver.model.L2Territory;
|
||||
import com.l2jserver.gameserver.model.Location;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.util.Rnd;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* Tar Beetle zone spawn
|
||||
|
@ -29,7 +29,6 @@ import org.w3c.dom.Node;
|
||||
import ai.npc.AbstractNpcAI;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.enums.CategoryType;
|
||||
import com.l2jserver.gameserver.enums.MailType;
|
||||
import com.l2jserver.gameserver.instancemanager.MailManager;
|
||||
@ -57,6 +56,7 @@ import com.l2jserver.gameserver.network.SystemMessageId;
|
||||
import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
|
||||
import com.l2jserver.gameserver.network.serverpackets.mentoring.ExMentorList;
|
||||
import com.l2jserver.gameserver.util.Util;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* Mentor Guide.
|
||||
|
@ -28,8 +28,8 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.model.StatsSet;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* @author UnAfraid
|
||||
|
@ -30,8 +30,7 @@ import com.l2jserver.gameserver.network.SystemMessageId;
|
||||
import com.l2jserver.gameserver.util.Util;
|
||||
|
||||
/**
|
||||
* Newbie Travel Token AI.<br>
|
||||
* Original Jython script by DrLecter.
|
||||
* Newbie Travel Token AI.
|
||||
* @author Plim
|
||||
*/
|
||||
public final class NewbieTravelToken extends AbstractNpcAI
|
||||
|
@ -53,8 +53,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 HashMap<>();
|
||||
protected static Map<L2Npc, Integer> _spawnedNpcs = new ConcurrentHashMap<>();
|
||||
private static final Map<Integer, ESSpawn> SPAWNS = new HashMap<>();
|
||||
protected static final Map<L2Npc, Integer> _spawnedNpcs = new ConcurrentHashMap<>();
|
||||
|
||||
private static final int TEMPORARY_TELEPORTER = 32602;
|
||||
// @formatter:off
|
||||
@ -128,9 +128,9 @@ public class EnergySeeds extends AbstractNpcAI
|
||||
|
||||
npc.deleteMe();
|
||||
|
||||
if (_spawnedNpcs.containsKey(npc) && _spawns.containsKey(_spawnedNpcs.get(npc)))
|
||||
if (_spawnedNpcs.containsKey(npc) && SPAWNS.containsKey(_spawnedNpcs.get(npc)))
|
||||
{
|
||||
ESSpawn spawn = _spawns.get(_spawnedNpcs.get(npc));
|
||||
ESSpawn spawn = SPAWNS.get(_spawnedNpcs.get(npc));
|
||||
spawn.scheduleRespawn(RESPAWN + getRandom(RANDOM_RESPAWN_OFFSET));
|
||||
_spawnedNpcs.remove(npc);
|
||||
if (isSeedActive(spawn._seedId))
|
||||
@ -239,9 +239,9 @@ public class EnergySeeds extends AbstractNpcAI
|
||||
@Override
|
||||
public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
|
||||
{
|
||||
if (_spawnedNpcs.containsKey(npc) && _spawns.containsKey(_spawnedNpcs.get(npc)))
|
||||
if (_spawnedNpcs.containsKey(npc) && SPAWNS.containsKey(_spawnedNpcs.get(npc)))
|
||||
{
|
||||
_spawns.get(_spawnedNpcs.get(npc)).scheduleRespawn(RESPAWN + getRandom(RANDOM_RESPAWN_OFFSET));
|
||||
SPAWNS.get(_spawnedNpcs.get(npc)).scheduleRespawn(RESPAWN + getRandom(RANDOM_RESPAWN_OFFSET));
|
||||
_spawnedNpcs.remove(npc);
|
||||
}
|
||||
return super.onKill(npc, player, isSummon);
|
||||
@ -273,7 +273,7 @@ public class EnergySeeds extends AbstractNpcAI
|
||||
public void startAI()
|
||||
{
|
||||
// spawn all NPCs
|
||||
for (ESSpawn spawn : _spawns.values())
|
||||
for (ESSpawn spawn : SPAWNS.values())
|
||||
{
|
||||
if (isSeedActive(spawn._seedId))
|
||||
{
|
||||
@ -285,7 +285,7 @@ public class EnergySeeds extends AbstractNpcAI
|
||||
public void startAI(GraciaSeeds type)
|
||||
{
|
||||
// spawn all NPCs
|
||||
for (ESSpawn spawn : _spawns.values())
|
||||
for (ESSpawn spawn : SPAWNS.values())
|
||||
{
|
||||
if (spawn._seedId == type)
|
||||
{
|
||||
@ -298,7 +298,7 @@ public class EnergySeeds extends AbstractNpcAI
|
||||
{
|
||||
for (L2Npc seed : _spawnedNpcs.keySet())
|
||||
{
|
||||
if (type == _spawns.get(_spawnedNpcs.get(seed))._seedId)
|
||||
if (type == SPAWNS.get(_spawnedNpcs.get(seed))._seedId)
|
||||
{
|
||||
seed.deleteMe();
|
||||
}
|
||||
@ -361,336 +361,336 @@ public class EnergySeeds extends AbstractNpcAI
|
||||
// Seed of Destruction
|
||||
// Temporary Teleporters
|
||||
//@formatter:off
|
||||
_spawns.put(1, new ESSpawn(1, GraciaSeeds.DESTRUCTION, new Location(-245790,220320,-12104), new int[]{TEMPORARY_TELEPORTER}));
|
||||
_spawns.put(2, new ESSpawn(2, GraciaSeeds.DESTRUCTION, new Location(-249770,207300,-11952), new int[]{TEMPORARY_TELEPORTER}));
|
||||
SPAWNS.put(1, new ESSpawn(1, GraciaSeeds.DESTRUCTION, new Location(-245790,220320,-12104), new int[]{TEMPORARY_TELEPORTER}));
|
||||
SPAWNS.put(2, new ESSpawn(2, GraciaSeeds.DESTRUCTION, new Location(-249770,207300,-11952), new int[]{TEMPORARY_TELEPORTER}));
|
||||
//Energy Seeds
|
||||
_spawns.put(3, new ESSpawn(3, GraciaSeeds.DESTRUCTION, new Location(-248360,219272,-12448), new int[]{18678,18679,18680}));
|
||||
_spawns.put(4, new ESSpawn(4, GraciaSeeds.DESTRUCTION, new Location(-249448,219256,-12448), new int[]{18678,18679,18680}));
|
||||
_spawns.put(5, new ESSpawn(5, GraciaSeeds.DESTRUCTION, new Location(-249432,220872,-12448), new int[]{18678,18679,18680}));
|
||||
_spawns.put(6, new ESSpawn(6, GraciaSeeds.DESTRUCTION, new Location(-248360,220888,-12448), new int[]{18678,18679,18680}));
|
||||
SPAWNS.put(3, new ESSpawn(3, GraciaSeeds.DESTRUCTION, new Location(-248360,219272,-12448), new int[]{18678,18679,18680}));
|
||||
SPAWNS.put(4, new ESSpawn(4, GraciaSeeds.DESTRUCTION, new Location(-249448,219256,-12448), new int[]{18678,18679,18680}));
|
||||
SPAWNS.put(5, new ESSpawn(5, GraciaSeeds.DESTRUCTION, new Location(-249432,220872,-12448), new int[]{18678,18679,18680}));
|
||||
SPAWNS.put(6, new ESSpawn(6, GraciaSeeds.DESTRUCTION, new Location(-248360,220888,-12448), new int[]{18678,18679,18680}));
|
||||
|
||||
_spawns.put(7, new ESSpawn(7, GraciaSeeds.DESTRUCTION, new Location(-250088,219256,-12448), new int[]{18681,18682}));
|
||||
_spawns.put(8, new ESSpawn(8, GraciaSeeds.DESTRUCTION, new Location(-250600,219272,-12448), new int[]{18681,18682}));
|
||||
_spawns.put(9, new ESSpawn(9, GraciaSeeds.DESTRUCTION, new Location(-250584,220904,-12448), new int[]{18681,18682}));
|
||||
_spawns.put(10, new ESSpawn(10, GraciaSeeds.DESTRUCTION, new Location(-250072,220888,-12448), new int[]{18681,18682}));
|
||||
SPAWNS.put(7, new ESSpawn(7, GraciaSeeds.DESTRUCTION, new Location(-250088,219256,-12448), new int[]{18681,18682}));
|
||||
SPAWNS.put(8, new ESSpawn(8, GraciaSeeds.DESTRUCTION, new Location(-250600,219272,-12448), new int[]{18681,18682}));
|
||||
SPAWNS.put(9, new ESSpawn(9, GraciaSeeds.DESTRUCTION, new Location(-250584,220904,-12448), new int[]{18681,18682}));
|
||||
SPAWNS.put(10, new ESSpawn(10, GraciaSeeds.DESTRUCTION, new Location(-250072,220888,-12448), new int[]{18681,18682}));
|
||||
|
||||
_spawns.put(11, new ESSpawn(11, GraciaSeeds.DESTRUCTION, new Location(-253096,217704,-12296), new int[]{18683,18678}));
|
||||
_spawns.put(12, new ESSpawn(12, GraciaSeeds.DESTRUCTION, new Location(-253112,217048,-12288), new int[]{18683,18678}));
|
||||
_spawns.put(13, new ESSpawn(13, GraciaSeeds.DESTRUCTION, new Location(-251448,217032,-12288), new int[]{18683,18678}));
|
||||
_spawns.put(14, new ESSpawn(14, GraciaSeeds.DESTRUCTION, new Location(-251416,217672,-12296), new int[]{18683,18678}));
|
||||
SPAWNS.put(11, new ESSpawn(11, GraciaSeeds.DESTRUCTION, new Location(-253096,217704,-12296), new int[]{18683,18678}));
|
||||
SPAWNS.put(12, new ESSpawn(12, GraciaSeeds.DESTRUCTION, new Location(-253112,217048,-12288), new int[]{18683,18678}));
|
||||
SPAWNS.put(13, new ESSpawn(13, GraciaSeeds.DESTRUCTION, new Location(-251448,217032,-12288), new int[]{18683,18678}));
|
||||
SPAWNS.put(14, new ESSpawn(14, GraciaSeeds.DESTRUCTION, new Location(-251416,217672,-12296), new int[]{18683,18678}));
|
||||
|
||||
_spawns.put(15, new ESSpawn(15, GraciaSeeds.DESTRUCTION, new Location(-251416,217672,-12296), new int[]{18679,18680}));
|
||||
_spawns.put(16, new ESSpawn(16, GraciaSeeds.DESTRUCTION, new Location(-251416,217016,-12280), new int[]{18679,18680}));
|
||||
_spawns.put(17, new ESSpawn(17, GraciaSeeds.DESTRUCTION, new Location(-249752,217016,-12280), new int[]{18679,18680}));
|
||||
_spawns.put(18, new ESSpawn(18, GraciaSeeds.DESTRUCTION, new Location(-249736,217688,-12296), new int[]{18679,18680}));
|
||||
SPAWNS.put(15, new ESSpawn(15, GraciaSeeds.DESTRUCTION, new Location(-251416,217672,-12296), new int[]{18679,18680}));
|
||||
SPAWNS.put(16, new ESSpawn(16, GraciaSeeds.DESTRUCTION, new Location(-251416,217016,-12280), new int[]{18679,18680}));
|
||||
SPAWNS.put(17, new ESSpawn(17, GraciaSeeds.DESTRUCTION, new Location(-249752,217016,-12280), new int[]{18679,18680}));
|
||||
SPAWNS.put(18, new ESSpawn(18, GraciaSeeds.DESTRUCTION, new Location(-249736,217688,-12296), new int[]{18679,18680}));
|
||||
|
||||
_spawns.put(19, new ESSpawn(19, GraciaSeeds.DESTRUCTION, new Location(-252472,215208,-12120), new int[]{18681,18682}));
|
||||
_spawns.put(20, new ESSpawn(20, GraciaSeeds.DESTRUCTION, new Location(-252552,216760,-12248), new int[]{18681,18682}));
|
||||
_spawns.put(21, new ESSpawn(21, GraciaSeeds.DESTRUCTION, new Location(-253160,216744,-12248), new int[]{18681,18682}));
|
||||
_spawns.put(22, new ESSpawn(22, GraciaSeeds.DESTRUCTION, new Location(-253128,215160,-12096), new int[]{18681,18682}));
|
||||
SPAWNS.put(19, new ESSpawn(19, GraciaSeeds.DESTRUCTION, new Location(-252472,215208,-12120), new int[]{18681,18682}));
|
||||
SPAWNS.put(20, new ESSpawn(20, GraciaSeeds.DESTRUCTION, new Location(-252552,216760,-12248), new int[]{18681,18682}));
|
||||
SPAWNS.put(21, new ESSpawn(21, GraciaSeeds.DESTRUCTION, new Location(-253160,216744,-12248), new int[]{18681,18682}));
|
||||
SPAWNS.put(22, new ESSpawn(22, GraciaSeeds.DESTRUCTION, new Location(-253128,215160,-12096), new int[]{18681,18682}));
|
||||
|
||||
_spawns.put(23, new ESSpawn(23, GraciaSeeds.DESTRUCTION, new Location(-250392,215208,-12120), new int[]{18683,18678}));
|
||||
_spawns.put(24, new ESSpawn(24, GraciaSeeds.DESTRUCTION, new Location(-250264,216744,-12248), new int[]{18683,18678}));
|
||||
_spawns.put(25, new ESSpawn(25, GraciaSeeds.DESTRUCTION, new Location(-249720,216744,-12248), new int[]{18683,18678}));
|
||||
_spawns.put(26, new ESSpawn(26, GraciaSeeds.DESTRUCTION, new Location(-249752,215128,-12096), new int[]{18683,18678}));
|
||||
SPAWNS.put(23, new ESSpawn(23, GraciaSeeds.DESTRUCTION, new Location(-250392,215208,-12120), new int[]{18683,18678}));
|
||||
SPAWNS.put(24, new ESSpawn(24, GraciaSeeds.DESTRUCTION, new Location(-250264,216744,-12248), new int[]{18683,18678}));
|
||||
SPAWNS.put(25, new ESSpawn(25, GraciaSeeds.DESTRUCTION, new Location(-249720,216744,-12248), new int[]{18683,18678}));
|
||||
SPAWNS.put(26, new ESSpawn(26, GraciaSeeds.DESTRUCTION, new Location(-249752,215128,-12096), new int[]{18683,18678}));
|
||||
|
||||
_spawns.put(27, new ESSpawn(27, GraciaSeeds.DESTRUCTION, new Location(-250280,216760,-12248), new int[]{18679,18680,18681}));
|
||||
_spawns.put(28, new ESSpawn(28, GraciaSeeds.DESTRUCTION, new Location(-250344,216152,-12248), new int[]{18679,18680,18681}));
|
||||
_spawns.put(29, new ESSpawn(29, GraciaSeeds.DESTRUCTION, new Location(-252504,216152,-12248), new int[]{18679,18680,18681}));
|
||||
_spawns.put(30, new ESSpawn(30, GraciaSeeds.DESTRUCTION, new Location(-252520,216792,-12248), new int[]{18679,18680,18681}));
|
||||
SPAWNS.put(27, new ESSpawn(27, GraciaSeeds.DESTRUCTION, new Location(-250280,216760,-12248), new int[]{18679,18680,18681}));
|
||||
SPAWNS.put(28, new ESSpawn(28, GraciaSeeds.DESTRUCTION, new Location(-250344,216152,-12248), new int[]{18679,18680,18681}));
|
||||
SPAWNS.put(29, new ESSpawn(29, GraciaSeeds.DESTRUCTION, new Location(-252504,216152,-12248), new int[]{18679,18680,18681}));
|
||||
SPAWNS.put(30, new ESSpawn(30, GraciaSeeds.DESTRUCTION, new Location(-252520,216792,-12248), new int[]{18679,18680,18681}));
|
||||
|
||||
_spawns.put(31, new ESSpawn(31, GraciaSeeds.DESTRUCTION, new Location(-242520,217272,-12384), new int[]{18681,18682,18683}));
|
||||
_spawns.put(32, new ESSpawn(32, GraciaSeeds.DESTRUCTION, new Location(-241432,217288,-12384), new int[]{18681,18682,18683}));
|
||||
_spawns.put(33, new ESSpawn(33, GraciaSeeds.DESTRUCTION, new Location(-241432,218936,-12384), new int[]{18681,18682,18683}));
|
||||
_spawns.put(34, new ESSpawn(34, GraciaSeeds.DESTRUCTION, new Location(-242536,218936,-12384), new int[]{18681,18682,18683}));
|
||||
SPAWNS.put(31, new ESSpawn(31, GraciaSeeds.DESTRUCTION, new Location(-242520,217272,-12384), new int[]{18681,18682,18683}));
|
||||
SPAWNS.put(32, new ESSpawn(32, GraciaSeeds.DESTRUCTION, new Location(-241432,217288,-12384), new int[]{18681,18682,18683}));
|
||||
SPAWNS.put(33, new ESSpawn(33, GraciaSeeds.DESTRUCTION, new Location(-241432,218936,-12384), new int[]{18681,18682,18683}));
|
||||
SPAWNS.put(34, new ESSpawn(34, GraciaSeeds.DESTRUCTION, new Location(-242536,218936,-12384), new int[]{18681,18682,18683}));
|
||||
|
||||
_spawns.put(35, new ESSpawn(35, GraciaSeeds.DESTRUCTION, new Location(-240808,217272,-12384), new int[]{18678,18679}));
|
||||
_spawns.put(36, new ESSpawn(36, GraciaSeeds.DESTRUCTION, new Location(-240280,217272,-12384), new int[]{18678,18679}));
|
||||
_spawns.put(37, new ESSpawn(37, GraciaSeeds.DESTRUCTION, new Location(-240280,218952,-12384), new int[]{18678,18679}));
|
||||
_spawns.put(38, new ESSpawn(38, GraciaSeeds.DESTRUCTION, new Location(-240792,218936,-12384), new int[]{18678,18679}));
|
||||
SPAWNS.put(35, new ESSpawn(35, GraciaSeeds.DESTRUCTION, new Location(-240808,217272,-12384), new int[]{18678,18679}));
|
||||
SPAWNS.put(36, new ESSpawn(36, GraciaSeeds.DESTRUCTION, new Location(-240280,217272,-12384), new int[]{18678,18679}));
|
||||
SPAWNS.put(37, new ESSpawn(37, GraciaSeeds.DESTRUCTION, new Location(-240280,218952,-12384), new int[]{18678,18679}));
|
||||
SPAWNS.put(38, new ESSpawn(38, GraciaSeeds.DESTRUCTION, new Location(-240792,218936,-12384), new int[]{18678,18679}));
|
||||
|
||||
_spawns.put(39, new ESSpawn(39, GraciaSeeds.DESTRUCTION, new Location(-239576,217240,-12640), new int[]{18680,18681,18682}));
|
||||
_spawns.put(40, new ESSpawn(40, GraciaSeeds.DESTRUCTION, new Location(-239560,216168,-12640), new int[]{18680,18681,18682}));
|
||||
_spawns.put(41, new ESSpawn(41, GraciaSeeds.DESTRUCTION, new Location(-237896,216152,-12640), new int[]{18680,18681,18682}));
|
||||
_spawns.put(42, new ESSpawn(42, GraciaSeeds.DESTRUCTION, new Location(-237912,217256,-12640), new int[]{18680,18681,18682}));
|
||||
SPAWNS.put(39, new ESSpawn(39, GraciaSeeds.DESTRUCTION, new Location(-239576,217240,-12640), new int[]{18680,18681,18682}));
|
||||
SPAWNS.put(40, new ESSpawn(40, GraciaSeeds.DESTRUCTION, new Location(-239560,216168,-12640), new int[]{18680,18681,18682}));
|
||||
SPAWNS.put(41, new ESSpawn(41, GraciaSeeds.DESTRUCTION, new Location(-237896,216152,-12640), new int[]{18680,18681,18682}));
|
||||
SPAWNS.put(42, new ESSpawn(42, GraciaSeeds.DESTRUCTION, new Location(-237912,217256,-12640), new int[]{18680,18681,18682}));
|
||||
|
||||
_spawns.put(43, new ESSpawn(43, GraciaSeeds.DESTRUCTION, new Location(-237896,215528,-12640), new int[]{18683,18678}));
|
||||
_spawns.put(44, new ESSpawn(44, GraciaSeeds.DESTRUCTION, new Location(-239560,215528,-12640), new int[]{18683,18678}));
|
||||
_spawns.put(45, new ESSpawn(45, GraciaSeeds.DESTRUCTION, new Location(-239560,214984,-12640), new int[]{18683,18678}));
|
||||
_spawns.put(46, new ESSpawn(46, GraciaSeeds.DESTRUCTION, new Location(-237896,215000,-12640), new int[]{18683,18678}));
|
||||
SPAWNS.put(43, new ESSpawn(43, GraciaSeeds.DESTRUCTION, new Location(-237896,215528,-12640), new int[]{18683,18678}));
|
||||
SPAWNS.put(44, new ESSpawn(44, GraciaSeeds.DESTRUCTION, new Location(-239560,215528,-12640), new int[]{18683,18678}));
|
||||
SPAWNS.put(45, new ESSpawn(45, GraciaSeeds.DESTRUCTION, new Location(-239560,214984,-12640), new int[]{18683,18678}));
|
||||
SPAWNS.put(46, new ESSpawn(46, GraciaSeeds.DESTRUCTION, new Location(-237896,215000,-12640), new int[]{18683,18678}));
|
||||
|
||||
_spawns.put(47, new ESSpawn(47, GraciaSeeds.DESTRUCTION, new Location(-237896,213640,-12768), new int[]{18678,18679,18680}));
|
||||
_spawns.put(48, new ESSpawn(48, GraciaSeeds.DESTRUCTION, new Location(-239560,213640,-12768), new int[]{18678,18679,18680}));
|
||||
_spawns.put(49, new ESSpawn(49, GraciaSeeds.DESTRUCTION, new Location(-239544,212552,-12768), new int[]{18678,18679,18680}));
|
||||
_spawns.put(50, new ESSpawn(50, GraciaSeeds.DESTRUCTION, new Location(-237912,212552,-12768), new int[]{18678,18679,18680}));
|
||||
SPAWNS.put(47, new ESSpawn(47, GraciaSeeds.DESTRUCTION, new Location(-237896,213640,-12768), new int[]{18678,18679,18680}));
|
||||
SPAWNS.put(48, new ESSpawn(48, GraciaSeeds.DESTRUCTION, new Location(-239560,213640,-12768), new int[]{18678,18679,18680}));
|
||||
SPAWNS.put(49, new ESSpawn(49, GraciaSeeds.DESTRUCTION, new Location(-239544,212552,-12768), new int[]{18678,18679,18680}));
|
||||
SPAWNS.put(50, new ESSpawn(50, GraciaSeeds.DESTRUCTION, new Location(-237912,212552,-12768), new int[]{18678,18679,18680}));
|
||||
|
||||
_spawns.put(51, new ESSpawn(51, GraciaSeeds.DESTRUCTION, new Location(-237912,211912,-12768), new int[]{18681,18682}));
|
||||
_spawns.put(52, new ESSpawn(52, GraciaSeeds.DESTRUCTION, new Location(-237912,211400,-12768), new int[]{18681,18682}));
|
||||
_spawns.put(53, new ESSpawn(53, GraciaSeeds.DESTRUCTION, new Location(-239560,211400,-12768), new int[]{18681,18682}));
|
||||
_spawns.put(54, new ESSpawn(54, GraciaSeeds.DESTRUCTION, new Location(-239560,211912,-12768), new int[]{18681,18682}));
|
||||
SPAWNS.put(51, new ESSpawn(51, GraciaSeeds.DESTRUCTION, new Location(-237912,211912,-12768), new int[]{18681,18682}));
|
||||
SPAWNS.put(52, new ESSpawn(52, GraciaSeeds.DESTRUCTION, new Location(-237912,211400,-12768), new int[]{18681,18682}));
|
||||
SPAWNS.put(53, new ESSpawn(53, GraciaSeeds.DESTRUCTION, new Location(-239560,211400,-12768), new int[]{18681,18682}));
|
||||
SPAWNS.put(54, new ESSpawn(54, GraciaSeeds.DESTRUCTION, new Location(-239560,211912,-12768), new int[]{18681,18682}));
|
||||
|
||||
_spawns.put(55, new ESSpawn(55, GraciaSeeds.DESTRUCTION, new Location(-241960,214536,-12512), new int[]{18683,18678,18679}));
|
||||
_spawns.put(56, new ESSpawn(56, GraciaSeeds.DESTRUCTION, new Location(-241976,213448,-12512), new int[]{18683,18678,18679}));
|
||||
_spawns.put(57, new ESSpawn(57, GraciaSeeds.DESTRUCTION, new Location(-243624,213448,-12512), new int[]{18683,18678,18679}));
|
||||
_spawns.put(58, new ESSpawn(58, GraciaSeeds.DESTRUCTION, new Location(-243624,214520,-12512), new int[]{18683,18678,18679}));
|
||||
SPAWNS.put(55, new ESSpawn(55, GraciaSeeds.DESTRUCTION, new Location(-241960,214536,-12512), new int[]{18683,18678,18679}));
|
||||
SPAWNS.put(56, new ESSpawn(56, GraciaSeeds.DESTRUCTION, new Location(-241976,213448,-12512), new int[]{18683,18678,18679}));
|
||||
SPAWNS.put(57, new ESSpawn(57, GraciaSeeds.DESTRUCTION, new Location(-243624,213448,-12512), new int[]{18683,18678,18679}));
|
||||
SPAWNS.put(58, new ESSpawn(58, GraciaSeeds.DESTRUCTION, new Location(-243624,214520,-12512), new int[]{18683,18678,18679}));
|
||||
|
||||
_spawns.put(59, new ESSpawn(59, GraciaSeeds.DESTRUCTION, new Location(-241976,212808,-12504), new int[]{18680,18681}));
|
||||
_spawns.put(60, new ESSpawn(60, GraciaSeeds.DESTRUCTION, new Location(-241960,212280,-12504), new int[]{18680,18681}));
|
||||
_spawns.put(61, new ESSpawn(61, GraciaSeeds.DESTRUCTION, new Location(-243624,212264,-12504), new int[]{18680,18681}));
|
||||
_spawns.put(62, new ESSpawn(62, GraciaSeeds.DESTRUCTION, new Location(-243624,212792,-12504), new int[]{18680,18681}));
|
||||
SPAWNS.put(59, new ESSpawn(59, GraciaSeeds.DESTRUCTION, new Location(-241976,212808,-12504), new int[]{18680,18681}));
|
||||
SPAWNS.put(60, new ESSpawn(60, GraciaSeeds.DESTRUCTION, new Location(-241960,212280,-12504), new int[]{18680,18681}));
|
||||
SPAWNS.put(61, new ESSpawn(61, GraciaSeeds.DESTRUCTION, new Location(-243624,212264,-12504), new int[]{18680,18681}));
|
||||
SPAWNS.put(62, new ESSpawn(62, GraciaSeeds.DESTRUCTION, new Location(-243624,212792,-12504), new int[]{18680,18681}));
|
||||
|
||||
_spawns.put(63, new ESSpawn(63, GraciaSeeds.DESTRUCTION, new Location(-243640,210920,-12640), new int[]{18682,18683,18678}));
|
||||
_spawns.put(64, new ESSpawn(64, GraciaSeeds.DESTRUCTION, new Location(-243624,209832,-12640), new int[]{18682,18683,18678}));
|
||||
_spawns.put(65, new ESSpawn(65, GraciaSeeds.DESTRUCTION, new Location(-241976,209832,-12640), new int[]{18682,18683,18678}));
|
||||
_spawns.put(66, new ESSpawn(66, GraciaSeeds.DESTRUCTION, new Location(-241976,210920,-12640), new int[]{18682,18683,18678}));
|
||||
SPAWNS.put(63, new ESSpawn(63, GraciaSeeds.DESTRUCTION, new Location(-243640,210920,-12640), new int[]{18682,18683,18678}));
|
||||
SPAWNS.put(64, new ESSpawn(64, GraciaSeeds.DESTRUCTION, new Location(-243624,209832,-12640), new int[]{18682,18683,18678}));
|
||||
SPAWNS.put(65, new ESSpawn(65, GraciaSeeds.DESTRUCTION, new Location(-241976,209832,-12640), new int[]{18682,18683,18678}));
|
||||
SPAWNS.put(66, new ESSpawn(66, GraciaSeeds.DESTRUCTION, new Location(-241976,210920,-12640), new int[]{18682,18683,18678}));
|
||||
|
||||
_spawns.put(67, new ESSpawn(67, GraciaSeeds.DESTRUCTION, new Location(-241976,209192,-12640), new int[]{18679,18680}));
|
||||
_spawns.put(68, new ESSpawn(68, GraciaSeeds.DESTRUCTION, new Location(-241976,208664,-12640), new int[]{18679,18680}));
|
||||
_spawns.put(69, new ESSpawn(69, GraciaSeeds.DESTRUCTION, new Location(-243624,208664,-12640), new int[]{18679,18680}));
|
||||
_spawns.put(70, new ESSpawn(70, GraciaSeeds.DESTRUCTION, new Location(-243624,209192,-12640), new int[]{18679,18680}));
|
||||
SPAWNS.put(67, new ESSpawn(67, GraciaSeeds.DESTRUCTION, new Location(-241976,209192,-12640), new int[]{18679,18680}));
|
||||
SPAWNS.put(68, new ESSpawn(68, GraciaSeeds.DESTRUCTION, new Location(-241976,208664,-12640), new int[]{18679,18680}));
|
||||
SPAWNS.put(69, new ESSpawn(69, GraciaSeeds.DESTRUCTION, new Location(-243624,208664,-12640), new int[]{18679,18680}));
|
||||
SPAWNS.put(70, new ESSpawn(70, GraciaSeeds.DESTRUCTION, new Location(-243624,209192,-12640), new int[]{18679,18680}));
|
||||
|
||||
_spawns.put(71, new ESSpawn(71, GraciaSeeds.DESTRUCTION, new Location(-241256,208664,-12896), new int[]{18681,18682,18683}));
|
||||
_spawns.put(72, new ESSpawn(72, GraciaSeeds.DESTRUCTION, new Location(-240168,208648,-12896), new int[]{18681,18682,18683}));
|
||||
_spawns.put(73, new ESSpawn(73, GraciaSeeds.DESTRUCTION, new Location(-240168,207000,-12896), new int[]{18681,18682,18683}));
|
||||
_spawns.put(74, new ESSpawn(74, GraciaSeeds.DESTRUCTION, new Location(-241256,207000,-12896), new int[]{18681,18682,18683}));
|
||||
SPAWNS.put(71, new ESSpawn(71, GraciaSeeds.DESTRUCTION, new Location(-241256,208664,-12896), new int[]{18681,18682,18683}));
|
||||
SPAWNS.put(72, new ESSpawn(72, GraciaSeeds.DESTRUCTION, new Location(-240168,208648,-12896), new int[]{18681,18682,18683}));
|
||||
SPAWNS.put(73, new ESSpawn(73, GraciaSeeds.DESTRUCTION, new Location(-240168,207000,-12896), new int[]{18681,18682,18683}));
|
||||
SPAWNS.put(74, new ESSpawn(74, GraciaSeeds.DESTRUCTION, new Location(-241256,207000,-12896), new int[]{18681,18682,18683}));
|
||||
|
||||
_spawns.put(75, new ESSpawn(75, GraciaSeeds.DESTRUCTION, new Location(-239528,208648,-12896), new int[]{18678,18679}));
|
||||
_spawns.put(76, new ESSpawn(76, GraciaSeeds.DESTRUCTION, new Location(-238984,208664,-12896), new int[]{18678,18679}));
|
||||
_spawns.put(77, new ESSpawn(77, GraciaSeeds.DESTRUCTION, new Location(-239000,207000,-12896), new int[]{18678,18679}));
|
||||
_spawns.put(78, new ESSpawn(78, GraciaSeeds.DESTRUCTION, new Location(-239512,207000,-12896), new int[]{18678,18679}));
|
||||
SPAWNS.put(75, new ESSpawn(75, GraciaSeeds.DESTRUCTION, new Location(-239528,208648,-12896), new int[]{18678,18679}));
|
||||
SPAWNS.put(76, new ESSpawn(76, GraciaSeeds.DESTRUCTION, new Location(-238984,208664,-12896), new int[]{18678,18679}));
|
||||
SPAWNS.put(77, new ESSpawn(77, GraciaSeeds.DESTRUCTION, new Location(-239000,207000,-12896), new int[]{18678,18679}));
|
||||
SPAWNS.put(78, new ESSpawn(78, GraciaSeeds.DESTRUCTION, new Location(-239512,207000,-12896), new int[]{18678,18679}));
|
||||
|
||||
_spawns.put(79, new ESSpawn(79, GraciaSeeds.DESTRUCTION, new Location(-245064,213144,-12384), new int[]{18680,18681,18682}));
|
||||
_spawns.put(80, new ESSpawn(80, GraciaSeeds.DESTRUCTION, new Location(-245064,212072,-12384), new int[]{18680,18681,18682}));
|
||||
_spawns.put(81, new ESSpawn(81, GraciaSeeds.DESTRUCTION, new Location(-246696,212072,-12384), new int[]{18680,18681,18682}));
|
||||
_spawns.put(82, new ESSpawn(82, GraciaSeeds.DESTRUCTION, new Location(-246696,213160,-12384), new int[]{18680,18681,18682}));
|
||||
SPAWNS.put(79, new ESSpawn(79, GraciaSeeds.DESTRUCTION, new Location(-245064,213144,-12384), new int[]{18680,18681,18682}));
|
||||
SPAWNS.put(80, new ESSpawn(80, GraciaSeeds.DESTRUCTION, new Location(-245064,212072,-12384), new int[]{18680,18681,18682}));
|
||||
SPAWNS.put(81, new ESSpawn(81, GraciaSeeds.DESTRUCTION, new Location(-246696,212072,-12384), new int[]{18680,18681,18682}));
|
||||
SPAWNS.put(82, new ESSpawn(82, GraciaSeeds.DESTRUCTION, new Location(-246696,213160,-12384), new int[]{18680,18681,18682}));
|
||||
|
||||
_spawns.put(83, new ESSpawn(83, GraciaSeeds.DESTRUCTION, new Location(-245064,211416,-12384), new int[]{18683,18678}));
|
||||
_spawns.put(84, new ESSpawn(84, GraciaSeeds.DESTRUCTION, new Location(-245048,210904,-12384), new int[]{18683,18678}));
|
||||
_spawns.put(85, new ESSpawn(85, GraciaSeeds.DESTRUCTION, new Location(-246712,210888,-12384), new int[]{18683,18678}));
|
||||
_spawns.put(86, new ESSpawn(86, GraciaSeeds.DESTRUCTION, new Location(-246712,211416,-12384), new int[]{18683,18678}));
|
||||
SPAWNS.put(83, new ESSpawn(83, GraciaSeeds.DESTRUCTION, new Location(-245064,211416,-12384), new int[]{18683,18678}));
|
||||
SPAWNS.put(84, new ESSpawn(84, GraciaSeeds.DESTRUCTION, new Location(-245048,210904,-12384), new int[]{18683,18678}));
|
||||
SPAWNS.put(85, new ESSpawn(85, GraciaSeeds.DESTRUCTION, new Location(-246712,210888,-12384), new int[]{18683,18678}));
|
||||
SPAWNS.put(86, new ESSpawn(86, GraciaSeeds.DESTRUCTION, new Location(-246712,211416,-12384), new int[]{18683,18678}));
|
||||
|
||||
_spawns.put(87, new ESSpawn(87, GraciaSeeds.DESTRUCTION, new Location(-245048,209544,-12512), new int[]{18679,18680,18681}));
|
||||
_spawns.put(88, new ESSpawn(88, GraciaSeeds.DESTRUCTION, new Location(-245064,208456,-12512), new int[]{18679,18680,18681}));
|
||||
_spawns.put(89, new ESSpawn(89, GraciaSeeds.DESTRUCTION, new Location(-246696,208456,-12512), new int[]{18679,18680,18681}));
|
||||
_spawns.put(90, new ESSpawn(90, GraciaSeeds.DESTRUCTION, new Location(-246712,209544,-12512), new int[]{18679,18680,18681}));
|
||||
SPAWNS.put(87, new ESSpawn(87, GraciaSeeds.DESTRUCTION, new Location(-245048,209544,-12512), new int[]{18679,18680,18681}));
|
||||
SPAWNS.put(88, new ESSpawn(88, GraciaSeeds.DESTRUCTION, new Location(-245064,208456,-12512), new int[]{18679,18680,18681}));
|
||||
SPAWNS.put(89, new ESSpawn(89, GraciaSeeds.DESTRUCTION, new Location(-246696,208456,-12512), new int[]{18679,18680,18681}));
|
||||
SPAWNS.put(90, new ESSpawn(90, GraciaSeeds.DESTRUCTION, new Location(-246712,209544,-12512), new int[]{18679,18680,18681}));
|
||||
|
||||
_spawns.put(91, new ESSpawn(91, GraciaSeeds.DESTRUCTION, new Location(-245048,207816,-12512), new int[]{18682,18683}));
|
||||
_spawns.put(92, new ESSpawn(92, GraciaSeeds.DESTRUCTION, new Location(-245048,207288,-12512), new int[]{18682,18683}));
|
||||
_spawns.put(93, new ESSpawn(93, GraciaSeeds.DESTRUCTION, new Location(-246696,207304,-12512), new int[]{18682,18683}));
|
||||
_spawns.put(94, new ESSpawn(94, GraciaSeeds.DESTRUCTION, new Location(-246712,207816,-12512), new int[]{18682,18683}));
|
||||
SPAWNS.put(91, new ESSpawn(91, GraciaSeeds.DESTRUCTION, new Location(-245048,207816,-12512), new int[]{18682,18683}));
|
||||
SPAWNS.put(92, new ESSpawn(92, GraciaSeeds.DESTRUCTION, new Location(-245048,207288,-12512), new int[]{18682,18683}));
|
||||
SPAWNS.put(93, new ESSpawn(93, GraciaSeeds.DESTRUCTION, new Location(-246696,207304,-12512), new int[]{18682,18683}));
|
||||
SPAWNS.put(94, new ESSpawn(94, GraciaSeeds.DESTRUCTION, new Location(-246712,207816,-12512), new int[]{18682,18683}));
|
||||
|
||||
_spawns.put(95, new ESSpawn(95, GraciaSeeds.DESTRUCTION, new Location(-244328,207272,-12768), new int[]{18678,18679,18680}));
|
||||
_spawns.put(96, new ESSpawn(96, GraciaSeeds.DESTRUCTION, new Location(-243256,207256,-12768), new int[]{18678,18679,18680}));
|
||||
_spawns.put(97, new ESSpawn(97, GraciaSeeds.DESTRUCTION, new Location(-243256,205624,-12768), new int[]{18678,18679,18680}));
|
||||
_spawns.put(98, new ESSpawn(98, GraciaSeeds.DESTRUCTION, new Location(-244328,205608,-12768), new int[]{18678,18679,18680}));
|
||||
SPAWNS.put(95, new ESSpawn(95, GraciaSeeds.DESTRUCTION, new Location(-244328,207272,-12768), new int[]{18678,18679,18680}));
|
||||
SPAWNS.put(96, new ESSpawn(96, GraciaSeeds.DESTRUCTION, new Location(-243256,207256,-12768), new int[]{18678,18679,18680}));
|
||||
SPAWNS.put(97, new ESSpawn(97, GraciaSeeds.DESTRUCTION, new Location(-243256,205624,-12768), new int[]{18678,18679,18680}));
|
||||
SPAWNS.put(98, new ESSpawn(98, GraciaSeeds.DESTRUCTION, new Location(-244328,205608,-12768), new int[]{18678,18679,18680}));
|
||||
|
||||
_spawns.put(99, new ESSpawn(99, GraciaSeeds.DESTRUCTION, new Location(-242616,207272,-12768), new int[]{18681,18682}));
|
||||
_spawns.put(100, new ESSpawn(100, GraciaSeeds.DESTRUCTION, new Location(-242104,207272,-12768), new int[]{18681,18682}));
|
||||
_spawns.put(101, new ESSpawn(101, GraciaSeeds.DESTRUCTION, new Location(-242088,205624,-12768), new int[]{18681,18682}));
|
||||
_spawns.put(102, new ESSpawn(102, GraciaSeeds.DESTRUCTION, new Location(-242600,205608,-12768), new int[]{18681,18682}));
|
||||
SPAWNS.put(99, new ESSpawn(99, GraciaSeeds.DESTRUCTION, new Location(-242616,207272,-12768), new int[]{18681,18682}));
|
||||
SPAWNS.put(100, new ESSpawn(100, GraciaSeeds.DESTRUCTION, new Location(-242104,207272,-12768), new int[]{18681,18682}));
|
||||
SPAWNS.put(101, new ESSpawn(101, GraciaSeeds.DESTRUCTION, new Location(-242088,205624,-12768), new int[]{18681,18682}));
|
||||
SPAWNS.put(102, new ESSpawn(102, GraciaSeeds.DESTRUCTION, new Location(-242600,205608,-12768), new int[]{18681,18682}));
|
||||
|
||||
// Seed of Annihilation
|
||||
_spawns.put(103, new ESSpawn(103, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-184519,183007,-10456), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(104, new ESSpawn(104, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-184873,181445,-10488), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(105, new ESSpawn(105, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-184009,180962,-10488), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(106, new ESSpawn(106, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-185321,181641,-10448), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(107, new ESSpawn(107, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-184035,182775,-10512), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(108, new ESSpawn(108, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-185433,181935,-10424), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(109, new ESSpawn(109, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-183309,183007,-10560), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(110, new ESSpawn(110, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-184929,181886,-10488), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(111, new ESSpawn(111, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-184009,180392,-10424), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(112, new ESSpawn(112, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-183793,183239,-10488), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(113, new ESSpawn(113, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-184245,180848,-10464), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(114, new ESSpawn(114, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-182704,183761,-10528), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(115, new ESSpawn(115, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-184705,181886,-10504), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(116, new ESSpawn(116, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-184304,181076,-10488), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(117, new ESSpawn(117, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-183596,180430,-10424), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(118, new ESSpawn(118, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-184422,181038,-10480), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(119, new ESSpawn(119, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-184929,181543,-10496), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(120, new ESSpawn(120, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-184398,182891,-10472), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(121, new ESSpawn(121, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-177606,182848,-10584), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(122, new ESSpawn(122, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-178104,183224,-10560), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(123, new ESSpawn(123, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-177274,182284,-10600), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(124, new ESSpawn(124, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-177772,183224,-10560), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(125, new ESSpawn(125, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-181532,180364,-10504), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(126, new ESSpawn(126, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-181802,180276,-10496), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(127, new ESSpawn(127, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-178429,180444,-10512), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(128, new ESSpawn(128, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-177606,182190,-10600), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(129, new ESSpawn(129, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-177357,181908,-10576), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(130, new ESSpawn(130, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-178747,179534,-10408), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(131, new ESSpawn(131, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-178429,179534,-10392), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(132, new ESSpawn(132, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-178853,180094,-10472), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(133, new ESSpawn(133, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-181937,179660,-10416), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(134, new ESSpawn(134, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-180992,179572,-10416), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(135, new ESSpawn(135, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-185552,179252,-10368), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(136, new ESSpawn(136, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-184572,178913,-10400), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(137, new ESSpawn(137, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-184768,178348,-10312), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(138, new ESSpawn(138, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-184572,178574,-10352), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(139, new ESSpawn(139, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-185062,178913,-10384), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(140, new ESSpawn(140, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-181397,179484,-10416), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(141, new ESSpawn(141, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-181667,179044,-10408), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(142, new ESSpawn(142, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-185258,177896,-10240), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(143, new ESSpawn(143, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-183506,176570,-10280), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(144, new ESSpawn(144, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-183719,176804,-10240), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(145, new ESSpawn(145, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-183648,177116,-10240), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(146, new ESSpawn(146, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-183932,176492,-10240), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(147, new ESSpawn(147, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-183861,176570,-10240), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(148, new ESSpawn(148, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-183790,175946,-10240), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(149, new ESSpawn(149, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-178641,179604,-10416), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(150, new ESSpawn(150, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-178959,179814,-10432), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(151, new ESSpawn(151, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-176367,178456,-10376), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(152, new ESSpawn(152, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-175845,177172,-10264), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(153, new ESSpawn(153, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-175323,177600,-10248), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(154, new ESSpawn(154, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-174975,177172,-10216), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(155, new ESSpawn(155, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-176019,178242,-10352), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(156, new ESSpawn(156, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-174801,178456,-10264), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(103, new ESSpawn(103, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-184519,183007,-10456), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(104, new ESSpawn(104, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-184873,181445,-10488), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(105, new ESSpawn(105, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-184009,180962,-10488), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(106, new ESSpawn(106, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-185321,181641,-10448), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(107, new ESSpawn(107, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-184035,182775,-10512), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(108, new ESSpawn(108, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-185433,181935,-10424), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(109, new ESSpawn(109, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-183309,183007,-10560), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(110, new ESSpawn(110, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-184929,181886,-10488), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(111, new ESSpawn(111, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-184009,180392,-10424), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(112, new ESSpawn(112, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-183793,183239,-10488), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(113, new ESSpawn(113, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-184245,180848,-10464), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(114, new ESSpawn(114, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-182704,183761,-10528), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(115, new ESSpawn(115, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-184705,181886,-10504), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(116, new ESSpawn(116, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-184304,181076,-10488), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(117, new ESSpawn(117, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-183596,180430,-10424), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(118, new ESSpawn(118, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-184422,181038,-10480), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(119, new ESSpawn(119, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-184929,181543,-10496), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(120, new ESSpawn(120, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-184398,182891,-10472), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(121, new ESSpawn(121, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-177606,182848,-10584), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(122, new ESSpawn(122, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-178104,183224,-10560), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(123, new ESSpawn(123, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-177274,182284,-10600), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(124, new ESSpawn(124, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-177772,183224,-10560), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(125, new ESSpawn(125, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-181532,180364,-10504), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(126, new ESSpawn(126, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-181802,180276,-10496), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(127, new ESSpawn(127, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-178429,180444,-10512), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(128, new ESSpawn(128, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-177606,182190,-10600), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(129, new ESSpawn(129, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-177357,181908,-10576), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(130, new ESSpawn(130, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-178747,179534,-10408), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(131, new ESSpawn(131, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-178429,179534,-10392), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(132, new ESSpawn(132, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-178853,180094,-10472), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(133, new ESSpawn(133, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-181937,179660,-10416), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(134, new ESSpawn(134, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-180992,179572,-10416), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(135, new ESSpawn(135, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-185552,179252,-10368), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(136, new ESSpawn(136, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-184572,178913,-10400), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(137, new ESSpawn(137, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-184768,178348,-10312), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(138, new ESSpawn(138, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-184572,178574,-10352), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(139, new ESSpawn(139, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-185062,178913,-10384), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(140, new ESSpawn(140, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-181397,179484,-10416), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(141, new ESSpawn(141, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-181667,179044,-10408), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(142, new ESSpawn(142, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-185258,177896,-10240), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(143, new ESSpawn(143, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-183506,176570,-10280), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(144, new ESSpawn(144, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-183719,176804,-10240), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(145, new ESSpawn(145, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-183648,177116,-10240), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(146, new ESSpawn(146, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-183932,176492,-10240), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(147, new ESSpawn(147, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-183861,176570,-10240), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(148, new ESSpawn(148, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-183790,175946,-10240), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(149, new ESSpawn(149, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-178641,179604,-10416), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(150, new ESSpawn(150, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-178959,179814,-10432), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(151, new ESSpawn(151, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-176367,178456,-10376), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(152, new ESSpawn(152, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-175845,177172,-10264), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(153, new ESSpawn(153, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-175323,177600,-10248), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(154, new ESSpawn(154, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-174975,177172,-10216), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(155, new ESSpawn(155, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-176019,178242,-10352), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(156, new ESSpawn(156, GraciaSeeds.ANNIHILATION_BISTAKON, new Location(-174801,178456,-10264), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
|
||||
_spawns.put(157, new ESSpawn(157, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185648,183384,-15680), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(158, new ESSpawn(158, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-186740,180908,-15528), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(159, new ESSpawn(159, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185297,184658,-15680), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(160, new ESSpawn(160, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185697,181601,-15488), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(161, new ESSpawn(161, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-186684,182744,-15536), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(162, new ESSpawn(162, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-184908,183384,-15616), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(163, new ESSpawn(163, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-184994,185572,-15784), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(164, new ESSpawn(164, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185796,182616,-15608), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(165, new ESSpawn(165, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-184970,184385,-15648), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(166, new ESSpawn(166, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185995,180809,-15512), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(167, new ESSpawn(167, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185352,182872,-15632), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(168, new ESSpawn(168, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185624,184294,-15680), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(169, new ESSpawn(169, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-184486,185774,-15816), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(170, new ESSpawn(170, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-186496,184112,-15680), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(171, new ESSpawn(171, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-184232,185976,-15816), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(172, new ESSpawn(172, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-184994,185673,-15792), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(173, new ESSpawn(173, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185733,184203,-15680), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(174, new ESSpawn(174, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185079,184294,-15680), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(175, new ESSpawn(175, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-184803,180710,-15528), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(176, new ESSpawn(176, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-186293,180413,-15528), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(177, new ESSpawn(177, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185352,182936,-15632), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(178, new ESSpawn(178, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-184356,180611,-15496), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(179, new ESSpawn(179, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185375,186784,-15816), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(180, new ESSpawn(180, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-184867,186784,-15816), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(181, new ESSpawn(181, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-180553,180454,-15152), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(182, new ESSpawn(182, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-180422,180454,-15152), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(183, new ESSpawn(183, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-181863,181138,-15120), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(184, new ESSpawn(184, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-181732,180454,-15152), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(185, new ESSpawn(185, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-180684,180397,-15152), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(186, new ESSpawn(186, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-182256,180682,-15112), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(187, new ESSpawn(187, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185492,179492,-15392), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(188, new ESSpawn(188, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185894,178538,-15336), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(189, new ESSpawn(189, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-186028,178856,-15336), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(190, new ESSpawn(190, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185224,179068,-15336), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(191, new ESSpawn(191, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185492,178538,-15336), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(192, new ESSpawn(192, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185894,178538,-15336), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(193, new ESSpawn(193, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-180619,178855,-15152), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(194, new ESSpawn(194, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-180255,177892,-15152), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(195, new ESSpawn(195, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185804,176472,-15336), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(196, new ESSpawn(196, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-184580,176370,-15320), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(197, new ESSpawn(197, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-184308,176166,-15320), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(198, new ESSpawn(198, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-183764,177186,-15304), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(199, new ESSpawn(199, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-180801,177571,-15144), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(200, new ESSpawn(200, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-184716,176064,-15320), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(201, new ESSpawn(201, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-184444,175452,-15296), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(202, new ESSpawn(202, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-180164,177464,-15152), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(203, new ESSpawn(203, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-180164,178213,-15152), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(204, new ESSpawn(204, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-179982,178320,-15152), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(205, new ESSpawn(205, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-176925,177757,-15824), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(206, new ESSpawn(206, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-176164,179282,-15720), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(207, new ESSpawn(207, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-175692,177613,-15800), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(208, new ESSpawn(208, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-175418,178117,-15824), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(209, new ESSpawn(209, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-176103,177829,-15824), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(210, new ESSpawn(210, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-175966,177325,-15792), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(211, new ESSpawn(211, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-174778,179732,-15664), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(212, new ESSpawn(212, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-175692,178261,-15824), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(213, new ESSpawn(213, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-176038,179192,-15736), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(214, new ESSpawn(214, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-175660,179462,-15680), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(215, new ESSpawn(215, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-175912,179732,-15664), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(216, new ESSpawn(216, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-175156,180182,-15680), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(217, new ESSpawn(217, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-174240,182059,-15664), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(218, new ESSpawn(218, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-175590,181478,-15640), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(219, new ESSpawn(219, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-174510,181561,-15616), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(220, new ESSpawn(220, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-174240,182391,-15688), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(221, new ESSpawn(221, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-174105,182806,-15672), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(222, new ESSpawn(222, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-174645,182806,-15712), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(157, new ESSpawn(157, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185648,183384,-15680), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(158, new ESSpawn(158, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-186740,180908,-15528), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(159, new ESSpawn(159, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185297,184658,-15680), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(160, new ESSpawn(160, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185697,181601,-15488), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(161, new ESSpawn(161, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-186684,182744,-15536), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(162, new ESSpawn(162, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-184908,183384,-15616), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(163, new ESSpawn(163, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-184994,185572,-15784), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(164, new ESSpawn(164, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185796,182616,-15608), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(165, new ESSpawn(165, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-184970,184385,-15648), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(166, new ESSpawn(166, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185995,180809,-15512), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(167, new ESSpawn(167, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185352,182872,-15632), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(168, new ESSpawn(168, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185624,184294,-15680), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(169, new ESSpawn(169, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-184486,185774,-15816), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(170, new ESSpawn(170, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-186496,184112,-15680), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(171, new ESSpawn(171, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-184232,185976,-15816), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(172, new ESSpawn(172, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-184994,185673,-15792), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(173, new ESSpawn(173, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185733,184203,-15680), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(174, new ESSpawn(174, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185079,184294,-15680), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(175, new ESSpawn(175, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-184803,180710,-15528), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(176, new ESSpawn(176, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-186293,180413,-15528), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(177, new ESSpawn(177, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185352,182936,-15632), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(178, new ESSpawn(178, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-184356,180611,-15496), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(179, new ESSpawn(179, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185375,186784,-15816), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(180, new ESSpawn(180, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-184867,186784,-15816), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(181, new ESSpawn(181, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-180553,180454,-15152), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(182, new ESSpawn(182, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-180422,180454,-15152), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(183, new ESSpawn(183, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-181863,181138,-15120), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(184, new ESSpawn(184, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-181732,180454,-15152), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(185, new ESSpawn(185, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-180684,180397,-15152), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(186, new ESSpawn(186, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-182256,180682,-15112), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(187, new ESSpawn(187, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185492,179492,-15392), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(188, new ESSpawn(188, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185894,178538,-15336), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(189, new ESSpawn(189, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-186028,178856,-15336), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(190, new ESSpawn(190, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185224,179068,-15336), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(191, new ESSpawn(191, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185492,178538,-15336), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(192, new ESSpawn(192, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185894,178538,-15336), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(193, new ESSpawn(193, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-180619,178855,-15152), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(194, new ESSpawn(194, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-180255,177892,-15152), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(195, new ESSpawn(195, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-185804,176472,-15336), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(196, new ESSpawn(196, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-184580,176370,-15320), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(197, new ESSpawn(197, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-184308,176166,-15320), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(198, new ESSpawn(198, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-183764,177186,-15304), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(199, new ESSpawn(199, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-180801,177571,-15144), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(200, new ESSpawn(200, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-184716,176064,-15320), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(201, new ESSpawn(201, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-184444,175452,-15296), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(202, new ESSpawn(202, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-180164,177464,-15152), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(203, new ESSpawn(203, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-180164,178213,-15152), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(204, new ESSpawn(204, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-179982,178320,-15152), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(205, new ESSpawn(205, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-176925,177757,-15824), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(206, new ESSpawn(206, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-176164,179282,-15720), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(207, new ESSpawn(207, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-175692,177613,-15800), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(208, new ESSpawn(208, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-175418,178117,-15824), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(209, new ESSpawn(209, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-176103,177829,-15824), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(210, new ESSpawn(210, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-175966,177325,-15792), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(211, new ESSpawn(211, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-174778,179732,-15664), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(212, new ESSpawn(212, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-175692,178261,-15824), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(213, new ESSpawn(213, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-176038,179192,-15736), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(214, new ESSpawn(214, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-175660,179462,-15680), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(215, new ESSpawn(215, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-175912,179732,-15664), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(216, new ESSpawn(216, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-175156,180182,-15680), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(217, new ESSpawn(217, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-174240,182059,-15664), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(218, new ESSpawn(218, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-175590,181478,-15640), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(219, new ESSpawn(219, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-174510,181561,-15616), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(220, new ESSpawn(220, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-174240,182391,-15688), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(221, new ESSpawn(221, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-174105,182806,-15672), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(222, new ESSpawn(222, GraciaSeeds.ANNIHILATION_REPTILIKON, new Location(-174645,182806,-15712), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
|
||||
_spawns.put(223, new ESSpawn(223, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-214962,182403,-10992), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(224, new ESSpawn(224, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-215019,182493,-11000), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(225, new ESSpawn(225, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-211374,180793,-11672), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(226, new ESSpawn(226, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-211198,180661,-11680), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(227, new ESSpawn(227, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-213097,178936,-12720), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(228, new ESSpawn(228, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-213517,178936,-12712), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(229, new ESSpawn(229, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-214105,179191,-12720), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(230, new ESSpawn(230, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-213769,179446,-12720), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(231, new ESSpawn(231, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-214021,179344,-12720), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(232, new ESSpawn(232, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-210582,180595,-11672), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(233, new ESSpawn(233, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-210934,180661,-11696), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(234, new ESSpawn(234, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-207058,178460,-12656), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(235, new ESSpawn(235, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-207454,179151,-11368), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(236, new ESSpawn(236, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-207422,181365,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(237, new ESSpawn(237, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-207358,180627,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(238, new ESSpawn(238, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-207230,180996,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(239, new ESSpawn(239, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-208515,184160,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(240, new ESSpawn(240, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-207613,184000,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(241, new ESSpawn(241, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-208597,183760,-11352), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(242, new ESSpawn(242, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206710,176142,-12656), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(243, new ESSpawn(243, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206361,178136,-11336), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(244, new ESSpawn(244, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206178,178630,-12672), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(245, new ESSpawn(245, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-205738,178715,-12656), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(246, new ESSpawn(246, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206442,178205,-12648), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(247, new ESSpawn(247, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206585,178874,-11336), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(248, new ESSpawn(248, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206073,179366,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(249, new ESSpawn(249, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206009,178628,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(250, new ESSpawn(250, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206155,181301,-12656), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(251, new ESSpawn(251, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206595,181641,-12656), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(252, new ESSpawn(252, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206507,181641,-12656), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(253, new ESSpawn(253, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206507,181471,-12640), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(254, new ESSpawn(254, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206974,175972,-12672), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(255, new ESSpawn(255, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206304,175130,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(256, new ESSpawn(256, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206886,175802,-12672), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(257, new ESSpawn(257, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-207238,175972,-12672), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(258, new ESSpawn(258, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206386,174857,-11328), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(259, new ESSpawn(259, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206386,175039,-11336), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(260, new ESSpawn(260, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-205976,174584,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(261, new ESSpawn(261, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-207367,184320,-11336), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(262, new ESSpawn(262, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219002,180419,-12608), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(263, new ESSpawn(263, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-218853,182790,-12592), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(264, new ESSpawn(264, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-218853,183343,-12600), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(265, new ESSpawn(265, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-218358,186247,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(266, new ESSpawn(266, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-218358,186083,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(267, new ESSpawn(267, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-217574,185796,-11352), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(268, new ESSpawn(268, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219178,181051,-12592), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(269, new ESSpawn(269, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-220171,180313,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(270, new ESSpawn(270, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219293,183738,-12592), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(271, new ESSpawn(271, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219381,182553,-12584), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(272, new ESSpawn(272, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219600,183024,-11336), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(273, new ESSpawn(273, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219940,182680,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(274, new ESSpawn(274, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219260,183884,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(275, new ESSpawn(275, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219855,183540,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(276, new ESSpawn(276, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-218946,186575,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(277, new ESSpawn(277, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219882,180103,-12592), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(278, new ESSpawn(278, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219266,179787,-12584), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(279, new ESSpawn(279, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219201,178337,-12592), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(280, new ESSpawn(280, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219716,179875,-11336), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(281, new ESSpawn(281, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219716,180021,-11328), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(282, new ESSpawn(282, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219989,179437,-11336), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(283, new ESSpawn(283, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219078,178298,-12592), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(284, new ESSpawn(284, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-218684,178954,-11328), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(285, new ESSpawn(285, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219089,178456,-11328), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(286, new ESSpawn(286, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-220266,177623,-12608), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(287, new ESSpawn(287, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219201,178025,-12592), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(288, new ESSpawn(288, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219142,177044,-12592), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(289, new ESSpawn(289, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219690,177895,-12592), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(290, new ESSpawn(290, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219754,177623,-12584), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(291, new ESSpawn(291, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-218791,177830,-12584), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(292, new ESSpawn(292, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-218904,176219,-12592), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(293, new ESSpawn(293, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-218768,176384,-12584), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(294, new ESSpawn(294, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-218774,177626,-11320), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(295, new ESSpawn(295, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-218774,177792,-11328), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(296, new ESSpawn(296, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219880,175901,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(297, new ESSpawn(297, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219210,176054,-12592), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(298, new ESSpawn(298, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219850,175991,-12608), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(299, new ESSpawn(299, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219079,175021,-11336), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(300, new ESSpawn(300, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-218812,174229,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
_spawns.put(301, new ESSpawn(301, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-218723,174669,-11336), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(223, new ESSpawn(223, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-214962,182403,-10992), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(224, new ESSpawn(224, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-215019,182493,-11000), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(225, new ESSpawn(225, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-211374,180793,-11672), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(226, new ESSpawn(226, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-211198,180661,-11680), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(227, new ESSpawn(227, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-213097,178936,-12720), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(228, new ESSpawn(228, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-213517,178936,-12712), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(229, new ESSpawn(229, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-214105,179191,-12720), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(230, new ESSpawn(230, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-213769,179446,-12720), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(231, new ESSpawn(231, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-214021,179344,-12720), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(232, new ESSpawn(232, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-210582,180595,-11672), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(233, new ESSpawn(233, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-210934,180661,-11696), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(234, new ESSpawn(234, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-207058,178460,-12656), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(235, new ESSpawn(235, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-207454,179151,-11368), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(236, new ESSpawn(236, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-207422,181365,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(237, new ESSpawn(237, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-207358,180627,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(238, new ESSpawn(238, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-207230,180996,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(239, new ESSpawn(239, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-208515,184160,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(240, new ESSpawn(240, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-207613,184000,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(241, new ESSpawn(241, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-208597,183760,-11352), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(242, new ESSpawn(242, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206710,176142,-12656), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(243, new ESSpawn(243, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206361,178136,-11336), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(244, new ESSpawn(244, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206178,178630,-12672), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(245, new ESSpawn(245, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-205738,178715,-12656), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(246, new ESSpawn(246, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206442,178205,-12648), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(247, new ESSpawn(247, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206585,178874,-11336), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(248, new ESSpawn(248, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206073,179366,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(249, new ESSpawn(249, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206009,178628,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(250, new ESSpawn(250, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206155,181301,-12656), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(251, new ESSpawn(251, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206595,181641,-12656), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(252, new ESSpawn(252, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206507,181641,-12656), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(253, new ESSpawn(253, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206507,181471,-12640), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(254, new ESSpawn(254, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206974,175972,-12672), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(255, new ESSpawn(255, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206304,175130,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(256, new ESSpawn(256, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206886,175802,-12672), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(257, new ESSpawn(257, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-207238,175972,-12672), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(258, new ESSpawn(258, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206386,174857,-11328), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(259, new ESSpawn(259, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-206386,175039,-11336), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(260, new ESSpawn(260, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-205976,174584,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(261, new ESSpawn(261, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-207367,184320,-11336), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(262, new ESSpawn(262, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219002,180419,-12608), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(263, new ESSpawn(263, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-218853,182790,-12592), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(264, new ESSpawn(264, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-218853,183343,-12600), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(265, new ESSpawn(265, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-218358,186247,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(266, new ESSpawn(266, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-218358,186083,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(267, new ESSpawn(267, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-217574,185796,-11352), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(268, new ESSpawn(268, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219178,181051,-12592), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(269, new ESSpawn(269, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-220171,180313,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(270, new ESSpawn(270, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219293,183738,-12592), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(271, new ESSpawn(271, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219381,182553,-12584), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(272, new ESSpawn(272, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219600,183024,-11336), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(273, new ESSpawn(273, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219940,182680,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(274, new ESSpawn(274, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219260,183884,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(275, new ESSpawn(275, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219855,183540,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(276, new ESSpawn(276, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-218946,186575,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(277, new ESSpawn(277, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219882,180103,-12592), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(278, new ESSpawn(278, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219266,179787,-12584), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(279, new ESSpawn(279, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219201,178337,-12592), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(280, new ESSpawn(280, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219716,179875,-11336), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(281, new ESSpawn(281, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219716,180021,-11328), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(282, new ESSpawn(282, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219989,179437,-11336), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(283, new ESSpawn(283, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219078,178298,-12592), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(284, new ESSpawn(284, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-218684,178954,-11328), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(285, new ESSpawn(285, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219089,178456,-11328), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(286, new ESSpawn(286, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-220266,177623,-12608), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(287, new ESSpawn(287, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219201,178025,-12592), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(288, new ESSpawn(288, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219142,177044,-12592), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(289, new ESSpawn(289, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219690,177895,-12592), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(290, new ESSpawn(290, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219754,177623,-12584), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(291, new ESSpawn(291, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-218791,177830,-12584), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(292, new ESSpawn(292, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-218904,176219,-12592), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(293, new ESSpawn(293, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-218768,176384,-12584), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(294, new ESSpawn(294, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-218774,177626,-11320), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(295, new ESSpawn(295, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-218774,177792,-11328), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(296, new ESSpawn(296, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219880,175901,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(297, new ESSpawn(297, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219210,176054,-12592), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(298, new ESSpawn(298, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219850,175991,-12608), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(299, new ESSpawn(299, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-219079,175021,-11336), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(300, new ESSpawn(300, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-218812,174229,-11344), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
SPAWNS.put(301, new ESSpawn(301, GraciaSeeds.ANNIHILATION_COKRAKON, new Location(-218723,174669,-11336), new int[]{ 18678, 18679, 18680, 18681, 18682, 18683 }));
|
||||
//@formatter:on
|
||||
}
|
||||
|
||||
|
@ -41,7 +41,7 @@ import com.l2jserver.gameserver.util.Util;
|
||||
*/
|
||||
public class SeedOfAnnihilation extends AbstractNpcAI
|
||||
{
|
||||
private static final Map<Integer, Location> _teleportZones = new HashMap<>();
|
||||
private static final Map<Integer, Location> TELEPORT_ZONES = new HashMap<>();
|
||||
private static final int ANNIHILATION_FURNACE = 18928;
|
||||
|
||||
// Strength, Agility, Wisdom
|
||||
@ -71,17 +71,17 @@ public class SeedOfAnnihilation extends AbstractNpcAI
|
||||
|
||||
static
|
||||
{
|
||||
_teleportZones.put(60002, new Location(-213175, 182648, -10992));
|
||||
_teleportZones.put(60003, new Location(-181217, 186711, -10528));
|
||||
_teleportZones.put(60004, new Location(-180211, 182984, -15152));
|
||||
_teleportZones.put(60005, new Location(-179275, 186802, -10720));
|
||||
TELEPORT_ZONES.put(60002, new Location(-213175, 182648, -10992));
|
||||
TELEPORT_ZONES.put(60003, new Location(-181217, 186711, -10528));
|
||||
TELEPORT_ZONES.put(60004, new Location(-180211, 182984, -15152));
|
||||
TELEPORT_ZONES.put(60005, new Location(-179275, 186802, -10720));
|
||||
}
|
||||
|
||||
public SeedOfAnnihilation()
|
||||
{
|
||||
super(SeedOfAnnihilation.class.getSimpleName(), "gracia/AI");
|
||||
loadSeedRegionData();
|
||||
for (int i : _teleportZones.keySet())
|
||||
for (int i : TELEPORT_ZONES.keySet())
|
||||
{
|
||||
addEnterZoneId(i);
|
||||
}
|
||||
@ -340,9 +340,9 @@ public class SeedOfAnnihilation extends AbstractNpcAI
|
||||
@Override
|
||||
public String onEnterZone(L2Character character, L2ZoneType zone)
|
||||
{
|
||||
if (_teleportZones.containsKey(zone.getId()))
|
||||
if (TELEPORT_ZONES.containsKey(zone.getId()))
|
||||
{
|
||||
Location teleLoc = _teleportZones.get(zone.getId());
|
||||
Location teleLoc = TELEPORT_ZONES.get(zone.getId());
|
||||
character.teleToLocation(teleLoc, false);
|
||||
}
|
||||
return super.onEnterZone(character, zone);
|
||||
|
@ -247,7 +247,7 @@ public class AdminBuffs implements IAdminCommandHandler
|
||||
}
|
||||
else
|
||||
{
|
||||
effects.addAll(target.getEffectList().getPassives().values());
|
||||
effects.addAll(target.getEffectList().getPassives());
|
||||
}
|
||||
|
||||
if ((page > ((effects.size() / PAGE_LIMIT) + 1)) || (page < 1))
|
||||
|
@ -292,8 +292,7 @@ public final class AdminCHSiege implements IAdminCommandHandler
|
||||
}
|
||||
else
|
||||
{
|
||||
ClanHallSiegeEngine siegable = hall.getSiege();
|
||||
siegable.getAttackers().clear();
|
||||
hall.getSiege().getAttackers().clear();
|
||||
}
|
||||
}
|
||||
else if (split[0].equals(COMMANDS[7]))
|
||||
|
@ -43,9 +43,23 @@ public final class MagicalAttackMp extends AbstractEffect
|
||||
@Override
|
||||
public boolean calcSuccess(BuffInfo info)
|
||||
{
|
||||
if (info.getEffected().isInvul() || !Formulas.calcMagicAffected(info.getEffector(), info.getEffected(), info.getSkill()))
|
||||
if (info.getEffected().isInvul())
|
||||
{
|
||||
info.getEffector().sendPacket(SystemMessageId.YOU_HAVE_MISSED);
|
||||
return false;
|
||||
}
|
||||
if (!Formulas.calcMagicAffected(info.getEffector(), info.getEffected(), info.getSkill()))
|
||||
{
|
||||
if (info.getEffector().isPlayer())
|
||||
{
|
||||
info.getEffector().sendPacket(SystemMessageId.YOUR_ATTACK_HAS_FAILED);
|
||||
}
|
||||
if (info.getEffected().isPlayer())
|
||||
{
|
||||
SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.C1_RESISTED_C2_S_MAGIC);
|
||||
sm.addCharName(info.getEffected());
|
||||
sm.addCharName(info.getEffector());
|
||||
info.getEffected().sendPacket(sm);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@ -102,4 +116,4 @@ public final class MagicalAttackMp extends AbstractEffect
|
||||
activeChar.sendPacket(sm2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -22,9 +22,17 @@ 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.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.StringTokenizer;
|
||||
|
||||
import com.l2jserver.gameserver.GameTimeController;
|
||||
@ -194,6 +202,53 @@ public class DebugHandler implements ITelnetHandler
|
||||
sb.append('\n');
|
||||
}
|
||||
|
||||
sb.append('\n');
|
||||
sb.append("## Threads Information ##\n");
|
||||
Map<Thread, StackTraceElement[]> allThread = Thread.getAllStackTraces();
|
||||
|
||||
final List<Entry<Thread, StackTraceElement[]>> entries = new ArrayList<>(allThread.entrySet());
|
||||
Collections.sort(entries, (e1, e2) -> e1.getKey().getName().compareTo(e2.getKey().getName()));
|
||||
|
||||
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())
|
||||
{
|
||||
@ -252,6 +307,29 @@ 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;
|
||||
|
@ -249,7 +249,7 @@ public abstract class AbstractInstance extends AbstractNpcAI
|
||||
}
|
||||
case WHITELIST:
|
||||
{
|
||||
for (BuffInfo info : player.getEffectList().getBuffs().values())
|
||||
for (BuffInfo info : player.getEffectList().getBuffs())
|
||||
{
|
||||
if (!inst.getBuffExceptionList().contains(info.getSkill().getId()))
|
||||
{
|
||||
@ -259,7 +259,7 @@ public abstract class AbstractInstance extends AbstractNpcAI
|
||||
|
||||
for (L2Summon summon : player.getServitors().values())
|
||||
{
|
||||
for (BuffInfo info : summon.getEffectList().getBuffs().values())
|
||||
for (BuffInfo info : summon.getEffectList().getBuffs())
|
||||
{
|
||||
if (!inst.getBuffExceptionList().contains(info.getSkill().getId()))
|
||||
{
|
||||
@ -271,7 +271,7 @@ public abstract class AbstractInstance extends AbstractNpcAI
|
||||
final L2Summon pet = player.getPet();
|
||||
if (pet != null)
|
||||
{
|
||||
for (BuffInfo info : pet.getEffectList().getBuffs().values())
|
||||
for (BuffInfo info : pet.getEffectList().getBuffs())
|
||||
{
|
||||
if (!inst.getBuffExceptionList().contains(info.getSkill().getId()))
|
||||
{
|
||||
@ -283,7 +283,7 @@ public abstract class AbstractInstance extends AbstractNpcAI
|
||||
}
|
||||
case BLACKLIST:
|
||||
{
|
||||
for (BuffInfo info : player.getEffectList().getBuffs().values())
|
||||
for (BuffInfo info : player.getEffectList().getBuffs())
|
||||
{
|
||||
if (inst.getBuffExceptionList().contains(info.getSkill().getId()))
|
||||
{
|
||||
@ -293,7 +293,7 @@ public abstract class AbstractInstance extends AbstractNpcAI
|
||||
|
||||
for (L2Summon summon : player.getServitors().values())
|
||||
{
|
||||
for (BuffInfo info : summon.getEffectList().getBuffs().values())
|
||||
for (BuffInfo info : summon.getEffectList().getBuffs())
|
||||
{
|
||||
if (inst.getBuffExceptionList().contains(info.getSkill().getId()))
|
||||
{
|
||||
@ -305,7 +305,7 @@ public abstract class AbstractInstance extends AbstractNpcAI
|
||||
final L2Summon pet = player.getPet();
|
||||
if (pet != null)
|
||||
{
|
||||
for (BuffInfo info : pet.getEffectList().getBuffs().values())
|
||||
for (BuffInfo info : pet.getEffectList().getBuffs())
|
||||
{
|
||||
if (inst.getBuffExceptionList().contains(info.getSkill().getId()))
|
||||
{
|
||||
|
@ -24,6 +24,7 @@ import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.gameserver.GeoData;
|
||||
@ -107,7 +108,7 @@ public final class CrystalCaverns extends AbstractInstance
|
||||
0,
|
||||
0
|
||||
}; // 0: not spawned, 1: spawned, 2: cleared
|
||||
public Map<L2DoorInstance, L2PcInstance> openedDoors = new HashMap<>();
|
||||
public Map<L2DoorInstance, L2PcInstance> openedDoors = new ConcurrentHashMap<>();
|
||||
public Map<Integer, Map<L2Npc, Boolean>> npcList2 = new HashMap<>();
|
||||
public Map<L2Npc, L2Npc> oracles = new HashMap<>();
|
||||
public List<L2Npc> keyKeepers = new ArrayList<>();
|
||||
@ -1378,27 +1379,24 @@ public final class CrystalCaverns extends AbstractInstance
|
||||
{
|
||||
return "";
|
||||
}
|
||||
|
||||
CrystalGolem cryGolem = world.crystalGolems.get(npc);
|
||||
List<L2Object> crystals = new ArrayList<>();
|
||||
int minDist = 300000;
|
||||
for (L2Object object : L2World.getInstance().getVisibleObjects(npc, 300))
|
||||
{
|
||||
if ((object instanceof L2ItemInstance) && (object.getId() == CRYSTALFOOD))
|
||||
if (object.isItem() && (object.getId() == CRYSTALFOOD))
|
||||
{
|
||||
crystals.add(object);
|
||||
}
|
||||
}
|
||||
int minDist = 300000;
|
||||
for (L2Object crystal : crystals)
|
||||
{
|
||||
int dx = npc.getX() - crystal.getX();
|
||||
int dy = npc.getY() - crystal.getY();
|
||||
int d = (dx * dx) + (dy * dy);
|
||||
if (d < minDist)
|
||||
{
|
||||
minDist = d;
|
||||
cryGolem.foodItem = (L2ItemInstance) crystal;
|
||||
int dx = npc.getX() - object.getX();
|
||||
int dy = npc.getY() - object.getY();
|
||||
int d = (dx * dx) + (dy * dy);
|
||||
if (d < minDist)
|
||||
{
|
||||
minDist = d;
|
||||
cryGolem.foodItem = (L2ItemInstance) object;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (minDist != 300000)
|
||||
{
|
||||
startQuestTimer("getFood", 2000, npc, null);
|
||||
|
@ -21,7 +21,9 @@ package instances.DarkCloudMansion;
|
||||
import instances.AbstractInstance;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import com.l2jserver.gameserver.enums.ChatType;
|
||||
import com.l2jserver.gameserver.instancemanager.InstanceManager;
|
||||
@ -46,7 +48,7 @@ public final class DarkCloudMansion extends AbstractInstance
|
||||
{
|
||||
protected class DMCWorld extends InstanceWorld
|
||||
{
|
||||
protected HashMap<String, DMCRoom> rooms = new HashMap<>();
|
||||
protected Map<String, DMCRoom> rooms = new ConcurrentHashMap<>();
|
||||
}
|
||||
|
||||
// NPCs
|
||||
@ -230,7 +232,7 @@ public final class DarkCloudMansion extends AbstractInstance
|
||||
|
||||
protected static class DMCRoom
|
||||
{
|
||||
public ArrayList<DMCNpc> npcList = new ArrayList<>();
|
||||
public List<DMCNpc> npcList = new ArrayList<>();
|
||||
public int counter = 0;
|
||||
public int reset = 0;
|
||||
public int founded = 0;
|
||||
|
@ -22,6 +22,7 @@ import instances.AbstractInstance;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import quests.Q00196_SevenSignsSealOfTheEmperor.Q00196_SevenSignsSealOfTheEmperor;
|
||||
@ -47,8 +48,8 @@ public final class DisciplesNecropolisPast extends AbstractInstance
|
||||
{
|
||||
protected class DNPWorld extends InstanceWorld
|
||||
{
|
||||
protected final ArrayList<L2Npc> anakimGroup = new ArrayList<>();
|
||||
protected final ArrayList<L2Npc> lilithGroup = new ArrayList<>();
|
||||
protected final List<L2Npc> anakimGroup = new ArrayList<>();
|
||||
protected final List<L2Npc> lilithGroup = new ArrayList<>();
|
||||
protected int countKill = 0;
|
||||
}
|
||||
|
||||
@ -180,7 +181,7 @@ public final class DisciplesNecropolisPast extends AbstractInstance
|
||||
teleportPlayer(player, ENTER, world.getInstanceId());
|
||||
}
|
||||
|
||||
private void makeCast(L2Npc npc, ArrayList<L2Npc> targets)
|
||||
private void makeCast(L2Npc npc, List<L2Npc> targets)
|
||||
{
|
||||
npc.setTarget(targets.get(getRandom(targets.size())));
|
||||
if (SKILLS.containsKey(npc.getId()))
|
||||
|
@ -25,6 +25,7 @@ import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
import java.util.concurrent.locks.Lock;
|
||||
@ -82,10 +83,10 @@ import com.l2jserver.gameserver.util.Util;
|
||||
*/
|
||||
public final class FinalEmperialTomb extends AbstractInstance
|
||||
{
|
||||
private class FETWorld extends InstanceWorld
|
||||
protected class FETWorld extends InstanceWorld
|
||||
{
|
||||
protected Lock lock = new ReentrantLock();
|
||||
protected CopyOnWriteArrayList<L2Npc> npcList = new CopyOnWriteArrayList<>();
|
||||
protected List<L2Npc> npcList = new CopyOnWriteArrayList<>();
|
||||
protected int darkChoirPlayerCount = 0;
|
||||
protected FrintezzaSong OnSong = null;
|
||||
protected ScheduledFuture<?> songTask = null;
|
||||
@ -98,17 +99,13 @@ public final class FinalEmperialTomb extends AbstractInstance
|
||||
protected L2Npc scarletDummy = null;
|
||||
protected L2GrandBossInstance frintezza = null;
|
||||
protected L2GrandBossInstance activeScarlet = null;
|
||||
protected List<L2MonsterInstance> demons = new ArrayList<>();
|
||||
protected Map<L2MonsterInstance, Integer> portraits = new HashMap<>();
|
||||
protected List<L2MonsterInstance> demons = new CopyOnWriteArrayList<>();
|
||||
protected Map<L2MonsterInstance, Integer> portraits = new ConcurrentHashMap<>();
|
||||
protected int scarlet_x = 0;
|
||||
protected int scarlet_y = 0;
|
||||
protected int scarlet_z = 0;
|
||||
protected int scarlet_h = 0;
|
||||
protected int scarlet_a = 0;
|
||||
|
||||
protected FETWorld()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
protected static class FETSpawn
|
||||
@ -298,11 +295,9 @@ public final class FinalEmperialTomb extends AbstractInstance
|
||||
_log.severe("[Final Emperial Tomb] Missing flag in npc List npcId: " + npcId + ", skipping");
|
||||
continue;
|
||||
}
|
||||
|
||||
int flag = Integer.parseInt(attrs.getNamedItem("flag").getNodeValue());
|
||||
if (!_spawnList.containsKey(flag))
|
||||
{
|
||||
_spawnList.put(flag, new ArrayList<FETSpawn>());
|
||||
}
|
||||
_spawnList.putIfAbsent(flag, new ArrayList<FETSpawn>());
|
||||
|
||||
for (Node cd = d.getFirstChild(); cd != null; cd = cd.getNextSibling())
|
||||
{
|
||||
@ -848,7 +843,7 @@ public final class FinalEmperialTomb extends AbstractInstance
|
||||
|
||||
if ((_world.frintezza != null) && !_world.frintezza.isDead() && (_world.activeScarlet != null) && !_world.activeScarlet.isDead())
|
||||
{
|
||||
List<L2Character> targetList = new ArrayList<>();
|
||||
final List<L2Character> targetList = new ArrayList<>();
|
||||
if (skill.hasEffectType(L2EffectType.STUN) || skill.isDebuff())
|
||||
{
|
||||
for (int objId : _world.getAllowed())
|
||||
@ -879,7 +874,7 @@ public final class FinalEmperialTomb extends AbstractInstance
|
||||
{
|
||||
targetList.add(_world.activeScarlet);
|
||||
}
|
||||
if (targetList.size() > 0)
|
||||
if (!targetList.isEmpty())
|
||||
{
|
||||
_world.frintezza.doCast(skill, targetList.get(0), targetList.toArray(new L2Character[targetList.size()]));
|
||||
}
|
||||
|
@ -19,7 +19,6 @@
|
||||
package instances.KaraphonHabitat;
|
||||
|
||||
import instances.AbstractInstance;
|
||||
|
||||
import quests.Q10745_TheSecretIngredients.Q10745_TheSecretIngredients;
|
||||
|
||||
import com.l2jserver.gameserver.instancemanager.InstanceManager;
|
||||
|
@ -994,7 +994,6 @@
|
||||
<set name="abnormalLvl" val="1" />
|
||||
<set name="abnormalTime" val="30" />
|
||||
<set name="abnormalType" val="FORCE_MEDITATION" />
|
||||
<set name="blockedInOlympiad" val="true" />
|
||||
<set name="effectPoint" val="1" />
|
||||
<set name="hitTime" val="2000" />
|
||||
<set name="icon" val="icon.skill1430" />
|
||||
|
@ -60,7 +60,6 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.enums.ChatType;
|
||||
import com.l2jserver.gameserver.enums.IllegalActionPunishmentType;
|
||||
import com.l2jserver.gameserver.model.L2World;
|
||||
@ -71,6 +70,7 @@ import com.l2jserver.gameserver.util.FloodProtectorConfig;
|
||||
import com.l2jserver.gameserver.util.Util;
|
||||
import com.l2jserver.util.PropertiesParser;
|
||||
import com.l2jserver.util.StringUtil;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* This class loads all the game server related configurations from files.<br>
|
||||
|
@ -18,8 +18,8 @@
|
||||
*/
|
||||
package com.l2jserver.gameserver;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.gameserver.enums.ItemLocation;
|
||||
@ -29,7 +29,7 @@ import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
|
||||
|
||||
public final class ItemsAutoDestroy
|
||||
{
|
||||
private final List<L2ItemInstance> _items = new CopyOnWriteArrayList<>();
|
||||
private final Map<Integer, L2ItemInstance> _items = new ConcurrentHashMap<>();
|
||||
|
||||
protected ItemsAutoDestroy()
|
||||
{
|
||||
@ -44,22 +44,22 @@ public final class ItemsAutoDestroy
|
||||
public synchronized void addItem(L2ItemInstance item)
|
||||
{
|
||||
item.setDropTime(System.currentTimeMillis());
|
||||
_items.add(item);
|
||||
_items.put(item.getObjectId(), item);
|
||||
}
|
||||
|
||||
public synchronized void removeItems()
|
||||
{
|
||||
if (_items.isEmpty())
|
||||
final long curtime = System.currentTimeMillis();
|
||||
for (L2ItemInstance item : _items.values())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
long curtime = System.currentTimeMillis();
|
||||
for (L2ItemInstance item : _items)
|
||||
{
|
||||
if ((item == null) || (item.getDropTime() == 0) || (item.getItemLocation() != ItemLocation.VOID))
|
||||
if (item == null)
|
||||
{
|
||||
_items.remove(item);
|
||||
continue;
|
||||
}
|
||||
|
||||
if ((item.getDropTime() == 0) || (item.getItemLocation() != ItemLocation.VOID))
|
||||
{
|
||||
_items.remove(item.getObjectId());
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -69,7 +69,7 @@ public final class ItemsAutoDestroy
|
||||
{
|
||||
L2World.getInstance().removeVisibleObject(item, item.getWorldRegion());
|
||||
L2World.getInstance().removeObject(item);
|
||||
_items.remove(item);
|
||||
_items.remove(item.getObjectId());
|
||||
if (Config.SAVE_DROPPED_ITEM)
|
||||
{
|
||||
ItemsOnGroundManager.getInstance().removeObject(item);
|
||||
@ -82,7 +82,7 @@ public final class ItemsAutoDestroy
|
||||
{
|
||||
L2World.getInstance().removeVisibleObject(item, item.getWorldRegion());
|
||||
L2World.getInstance().removeObject(item);
|
||||
_items.remove(item);
|
||||
_items.remove(item.getObjectId());
|
||||
if (Config.SAVE_DROPPED_ITEM)
|
||||
{
|
||||
ItemsOnGroundManager.getInstance().removeObject(item);
|
||||
@ -97,7 +97,7 @@ public final class ItemsAutoDestroy
|
||||
{
|
||||
L2World.getInstance().removeVisibleObject(item, item.getWorldRegion());
|
||||
L2World.getInstance().removeObject(item);
|
||||
_items.remove(item);
|
||||
_items.remove(item.getObjectId());
|
||||
if (Config.SAVE_DROPPED_ITEM)
|
||||
{
|
||||
ItemsOnGroundManager.getInstance().removeObject(item);
|
||||
|
@ -39,6 +39,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.LogRecord;
|
||||
import java.util.logging.Logger;
|
||||
@ -134,7 +135,7 @@ public class LoginServerThread extends Thread
|
||||
_reserveHost = Config.RESERVE_HOST_ON_LOGIN;
|
||||
_subnets = Config.GAME_SERVER_SUBNETS;
|
||||
_hosts = Config.GAME_SERVER_HOSTS;
|
||||
_waitingClients = new ArrayList<>();
|
||||
_waitingClients = new CopyOnWriteArrayList<>();
|
||||
_maxPlayer = Config.MAXIMUM_ONLINE_USERS;
|
||||
}
|
||||
|
||||
|
@ -61,6 +61,7 @@ public class RecipeController
|
||||
|
||||
protected RecipeController()
|
||||
{
|
||||
// Prevent external initialization.
|
||||
}
|
||||
|
||||
public void requestBookOpen(L2PcInstance player, boolean isDwarvenCraft)
|
||||
|
@ -451,16 +451,9 @@ public final class L2ControllableMobAI extends L2AttackableAI
|
||||
double dy, dx;
|
||||
double dblAggroRange = aggroRange * aggroRange;
|
||||
|
||||
List<L2Character> potentialTarget = new ArrayList<>();
|
||||
|
||||
Collection<L2Object> objs = npc.getKnownList().getKnownObjects().values();
|
||||
for (L2Object obj : objs)
|
||||
final List<L2Character> potentialTarget = new ArrayList<>();
|
||||
for (L2Character obj : npc.getKnownList().getKnownCharacters())
|
||||
{
|
||||
if (!(obj instanceof L2Character))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
npcX = npc.getX();
|
||||
npcY = npc.getY();
|
||||
targetX = obj.getX();
|
||||
@ -474,8 +467,7 @@ public final class L2ControllableMobAI extends L2AttackableAI
|
||||
continue;
|
||||
}
|
||||
|
||||
L2Character target = (L2Character) obj;
|
||||
|
||||
L2Character target = obj;
|
||||
if (checkAutoAttackCondition(target))
|
||||
{
|
||||
potentialTarget.add(target);
|
||||
|
@ -22,9 +22,9 @@ 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.concurrent.ConcurrentHashMap;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
@ -48,8 +48,8 @@ public class Forum
|
||||
public static final int CLANMEMBERONLY = 2;
|
||||
public static final int OWNERONLY = 3;
|
||||
|
||||
private final List<Forum> _children;
|
||||
private final Map<Integer, Topic> _topic;
|
||||
private final List<Forum> _children = new ArrayList<>();
|
||||
private final Map<Integer, Topic> _topic = new ConcurrentHashMap<>();
|
||||
private final int _forumId;
|
||||
private String _forumName;
|
||||
private int _forumType;
|
||||
@ -68,8 +68,6 @@ public class Forum
|
||||
{
|
||||
_forumId = Forumid;
|
||||
_fParent = FParent;
|
||||
_children = new ArrayList<>();
|
||||
_topic = new HashMap<>();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -88,8 +86,6 @@ public class Forum
|
||||
_forumPerm = perm;
|
||||
_fParent = parent;
|
||||
_ownerID = OwnerID;
|
||||
_children = new ArrayList<>();
|
||||
_topic = new HashMap<>();
|
||||
parent._children.add(this);
|
||||
ForumsBBSManager.getInstance().addForum(this);
|
||||
_loaded = true;
|
||||
@ -151,7 +147,7 @@ public class Forum
|
||||
{
|
||||
while (rs.next())
|
||||
{
|
||||
Forum f = new Forum(rs.getInt("forum_id"), this);
|
||||
final Forum f = new Forum(rs.getInt("forum_id"), this);
|
||||
_children.add(f);
|
||||
ForumsBBSManager.getInstance().addForum(f);
|
||||
}
|
||||
@ -208,14 +204,7 @@ public class Forum
|
||||
public Forum getChildByName(String name)
|
||||
{
|
||||
vload();
|
||||
for (Forum f : _children)
|
||||
{
|
||||
if (f.getName().equals(name))
|
||||
{
|
||||
return f;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
return _children.stream().filter(f -> f.getName().equals(name)).findFirst().orElse(null);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -47,7 +47,7 @@ public class Post
|
||||
public String postTxt;
|
||||
}
|
||||
|
||||
private final List<CPost> _post;
|
||||
private final List<CPost> _post = new ArrayList<>();
|
||||
|
||||
/**
|
||||
* @param _PostOwner
|
||||
@ -59,8 +59,7 @@ public class Post
|
||||
*/
|
||||
public Post(String _PostOwner, int _PostOwnerID, long date, int tid, int _PostForumID, String txt)
|
||||
{
|
||||
_post = new ArrayList<>();
|
||||
CPost cp = new CPost();
|
||||
final CPost cp = new CPost();
|
||||
cp.postId = 0;
|
||||
cp.postOwner = _PostOwner;
|
||||
cp.postOwnerId = _PostOwnerID;
|
||||
@ -73,6 +72,11 @@ public class Post
|
||||
|
||||
}
|
||||
|
||||
public Post(Topic t)
|
||||
{
|
||||
load(t);
|
||||
}
|
||||
|
||||
public void insertindb(CPost cp)
|
||||
{
|
||||
try (Connection con = L2DatabaseFactory.getInstance().getConnection();
|
||||
@ -93,23 +97,9 @@ public class Post
|
||||
}
|
||||
}
|
||||
|
||||
public Post(Topic t)
|
||||
{
|
||||
_post = new ArrayList<>();
|
||||
load(t);
|
||||
}
|
||||
|
||||
public CPost getCPost(int id)
|
||||
{
|
||||
int i = 0;
|
||||
for (CPost cp : _post)
|
||||
{
|
||||
if (i++ == id)
|
||||
{
|
||||
return cp;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
return _post.get(id);
|
||||
}
|
||||
|
||||
public void deleteme(Topic t)
|
||||
@ -142,7 +132,7 @@ public class Post
|
||||
{
|
||||
while (rs.next())
|
||||
{
|
||||
CPost cp = new CPost();
|
||||
final CPost cp = new CPost();
|
||||
cp.postId = rs.getInt("post_id");
|
||||
cp.postOwner = rs.getString("post_owner_name");
|
||||
cp.postOwnerId = rs.getInt("post_ownerid");
|
||||
|
@ -63,10 +63,7 @@ public class ForumsBBSManager extends BaseBBSManager
|
||||
*/
|
||||
public void initRoot()
|
||||
{
|
||||
for (Forum f : _table)
|
||||
{
|
||||
f.vload();
|
||||
}
|
||||
_table.forEach(f -> f.vload());
|
||||
_log.info("Loaded " + _table.size() + " forums. Last forum id used: " + _lastid);
|
||||
}
|
||||
|
||||
@ -101,14 +98,7 @@ public class ForumsBBSManager extends BaseBBSManager
|
||||
*/
|
||||
public Forum getForumByName(String name)
|
||||
{
|
||||
for (Forum f : _table)
|
||||
{
|
||||
if (f.getName().equals(name))
|
||||
{
|
||||
return f;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
return _table.stream().filter(f -> f.getName().equals(name)).findFirst().orElse(null);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -143,14 +133,7 @@ public class ForumsBBSManager extends BaseBBSManager
|
||||
*/
|
||||
public Forum getForumByID(int idf)
|
||||
{
|
||||
for (Forum f : _table)
|
||||
{
|
||||
if (f.getID() == idf)
|
||||
{
|
||||
return f;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
return _table.stream().filter(f -> f.getID() == idf).findFirst().orElse(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -20,10 +20,10 @@ 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 java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import com.l2jserver.gameserver.communitybbs.BB.Forum;
|
||||
import com.l2jserver.gameserver.communitybbs.BB.Post;
|
||||
@ -35,7 +35,7 @@ import com.l2jserver.util.StringUtil;
|
||||
|
||||
public class PostBBSManager extends BaseBBSManager
|
||||
{
|
||||
private final Map<Topic, Post> _postByTopic = new HashMap<>();
|
||||
private final Map<Topic, Post> _postByTopic = new ConcurrentHashMap<>();
|
||||
|
||||
public Post getGPosttByTopic(Topic t)
|
||||
{
|
||||
|
@ -19,13 +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.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.StringTokenizer;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
|
||||
import com.l2jserver.gameserver.communitybbs.BB.Forum;
|
||||
import com.l2jserver.gameserver.communitybbs.BB.Post;
|
||||
@ -37,13 +37,12 @@ import com.l2jserver.util.StringUtil;
|
||||
|
||||
public class TopicBBSManager extends BaseBBSManager
|
||||
{
|
||||
private final List<Topic> _table;
|
||||
private final Map<Forum, Integer> _maxId;
|
||||
private final List<Topic> _table = new CopyOnWriteArrayList<>();
|
||||
private final Map<Forum, Integer> _maxId = new HashMap<>();
|
||||
|
||||
protected TopicBBSManager()
|
||||
{
|
||||
_table = new ArrayList<>();
|
||||
_maxId = new ConcurrentHashMap<>();
|
||||
// Prevent external initialization.
|
||||
}
|
||||
|
||||
public void addTopic(Topic tt)
|
||||
|
@ -378,8 +378,8 @@ public class ClanTable
|
||||
|
||||
public void storeclanswars(int clanId1, int clanId2)
|
||||
{
|
||||
final L2Clan clan1 = ClanTable.getInstance().getClan(clanId1);
|
||||
final L2Clan clan2 = ClanTable.getInstance().getClan(clanId2);
|
||||
final L2Clan clan1 = getClan(clanId1);
|
||||
final L2Clan clan2 = getClan(clanId2);
|
||||
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnClanWarStart(clan1, clan2));
|
||||
|
||||
@ -419,8 +419,8 @@ public class ClanTable
|
||||
|
||||
public void deleteclanswars(int clanId1, int clanId2)
|
||||
{
|
||||
L2Clan clan1 = ClanTable.getInstance().getClan(clanId1);
|
||||
L2Clan clan2 = ClanTable.getInstance().getClan(clanId2);
|
||||
L2Clan clan1 = getClan(clanId1);
|
||||
L2Clan clan2 = getClan(clanId2);
|
||||
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnClanWarFinish(clan1, clan2));
|
||||
|
||||
|
@ -27,8 +27,8 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.model.holders.RangeAbilityPointsHolder;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* @author UnAfraid
|
||||
|
@ -30,7 +30,6 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.model.L2AccessLevel;
|
||||
import com.l2jserver.gameserver.model.L2AdminCommandAccessRight;
|
||||
import com.l2jserver.gameserver.model.StatsSet;
|
||||
@ -38,6 +37,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.network.SystemMessageId;
|
||||
import com.l2jserver.gameserver.network.serverpackets.L2GameServerPacket;
|
||||
import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* Loads administrator access levels and commands.
|
||||
|
@ -26,13 +26,13 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.datatables.ItemTable;
|
||||
import com.l2jserver.gameserver.enums.Race;
|
||||
import com.l2jserver.gameserver.model.StatsSet;
|
||||
import com.l2jserver.gameserver.model.items.appearance.AppearanceStone;
|
||||
import com.l2jserver.gameserver.model.items.appearance.AppearanceTargetType;
|
||||
import com.l2jserver.gameserver.model.items.type.CrystalType;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* @author UnAfraid
|
||||
@ -109,7 +109,7 @@ public class AppearanceItemData implements IXmlReader
|
||||
}
|
||||
case "bodyPart":
|
||||
{
|
||||
final int part = ItemTable._slots.get(c.getTextContent());
|
||||
final int part = ItemTable.SLOTS.get(c.getTextContent());
|
||||
stone.addBodyPart(part);
|
||||
break;
|
||||
}
|
||||
|
@ -25,10 +25,10 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.model.L2ArmorSet;
|
||||
import com.l2jserver.gameserver.model.holders.ArmorsetSkillHolder;
|
||||
import com.l2jserver.gameserver.model.holders.SkillHolder;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* Loads armor set bonuses.
|
||||
|
@ -25,12 +25,12 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.enums.Race;
|
||||
import com.l2jserver.gameserver.enums.Sex;
|
||||
import com.l2jserver.gameserver.model.StatsSet;
|
||||
import com.l2jserver.gameserver.model.beautyshop.BeautyData;
|
||||
import com.l2jserver.gameserver.model.beautyshop.BeautyItem;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
|
@ -33,11 +33,11 @@ import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.L2DatabaseFactory;
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.datatables.ItemTable;
|
||||
import com.l2jserver.gameserver.model.buylist.L2BuyList;
|
||||
import com.l2jserver.gameserver.model.buylist.Product;
|
||||
import com.l2jserver.gameserver.model.items.L2Item;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
import com.l2jserver.util.file.filter.NumericNameFilter;
|
||||
|
||||
/**
|
||||
|
@ -29,9 +29,9 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.enums.CastleSide;
|
||||
import com.l2jserver.gameserver.model.holders.CastleSpawnHolder;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* @author St3eT
|
||||
|
@ -29,8 +29,8 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.enums.CategoryType;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* Loads the category data with Class or NPC IDs.
|
||||
|
@ -25,9 +25,9 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.model.base.ClassId;
|
||||
import com.l2jserver.gameserver.model.base.ClassInfo;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* Loads the the list of classes and it's info.
|
||||
|
@ -30,13 +30,13 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.instancemanager.InstanceManager;
|
||||
import com.l2jserver.gameserver.instancemanager.MapRegionManager;
|
||||
import com.l2jserver.gameserver.model.StatsSet;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2DoorInstance;
|
||||
import com.l2jserver.gameserver.model.actor.templates.L2DoorTemplate;
|
||||
import com.l2jserver.gameserver.pathfinding.AbstractNodeLoc;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* Loads doors.
|
||||
|
@ -26,11 +26,11 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.model.StatsSet;
|
||||
import com.l2jserver.gameserver.model.items.enchant.EnchantScroll;
|
||||
import com.l2jserver.gameserver.model.items.enchant.EnchantSupportItem;
|
||||
import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* Loads item enchant data.
|
||||
|
@ -26,7 +26,6 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.datatables.ItemTable;
|
||||
import com.l2jserver.gameserver.model.holders.RangeChanceHolder;
|
||||
import com.l2jserver.gameserver.model.items.L2Item;
|
||||
@ -34,6 +33,7 @@ import com.l2jserver.gameserver.model.items.enchant.EnchantItemGroup;
|
||||
import com.l2jserver.gameserver.model.items.enchant.EnchantRateItem;
|
||||
import com.l2jserver.gameserver.model.items.enchant.EnchantScrollGroup;
|
||||
import com.l2jserver.gameserver.util.Util;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* @author UnAfraid
|
||||
@ -117,7 +117,7 @@ public final class EnchantItemGroupsData implements IXmlReader
|
||||
final NamedNodeMap attrs = z.getAttributes();
|
||||
if (attrs.getNamedItem("slot") != null)
|
||||
{
|
||||
rateGroup.addSlot(ItemTable._slots.get(parseString(attrs, "slot")));
|
||||
rateGroup.addSlot(ItemTable.SLOTS.get(parseString(attrs, "slot")));
|
||||
}
|
||||
if (attrs.getNamedItem("magicWeapon") != null)
|
||||
{
|
||||
|
@ -27,7 +27,6 @@ import java.util.Map;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.datatables.ItemTable;
|
||||
import com.l2jserver.gameserver.enums.StatFunction;
|
||||
import com.l2jserver.gameserver.model.items.L2Item;
|
||||
@ -35,6 +34,7 @@ import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
|
||||
import com.l2jserver.gameserver.model.items.type.CrystalType;
|
||||
import com.l2jserver.gameserver.model.stats.Stats;
|
||||
import com.l2jserver.gameserver.model.stats.functions.FuncTemplate;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* This class holds the Enchant HP Bonus Data.
|
||||
|
@ -25,10 +25,10 @@ import java.util.logging.Level;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
|
||||
import com.l2jserver.gameserver.model.options.EnchantOptions;
|
||||
import com.l2jserver.gameserver.util.Util;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* @author UnAfraid
|
||||
|
@ -27,13 +27,13 @@ import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.model.L2EnchantSkillGroup;
|
||||
import com.l2jserver.gameserver.model.L2EnchantSkillGroup.EnchantSkillHolder;
|
||||
import com.l2jserver.gameserver.model.L2EnchantSkillLearn;
|
||||
import com.l2jserver.gameserver.model.StatsSet;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.skills.Skill;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* This class holds the Enchant Groups information.
|
||||
|
@ -25,7 +25,7 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* This class holds the Experience points for each level for players and pets.
|
||||
|
@ -27,9 +27,9 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.model.StatsSet;
|
||||
import com.l2jserver.gameserver.model.fishing.L2Fish;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* This class holds the Fish information.
|
||||
|
@ -25,9 +25,9 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.model.StatsSet;
|
||||
import com.l2jserver.gameserver.model.fishing.L2FishingMonster;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* This class holds the Fishing Monsters information.
|
||||
|
@ -25,9 +25,9 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.model.StatsSet;
|
||||
import com.l2jserver.gameserver.model.fishing.L2FishingRod;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* This class holds the Fishing Rods information.
|
||||
|
@ -27,10 +27,10 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.model.StatsSet;
|
||||
import com.l2jserver.gameserver.model.base.ClassId;
|
||||
import com.l2jserver.gameserver.model.items.L2Henna;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* This class holds the henna related information.<br>
|
||||
|
@ -24,8 +24,8 @@ import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.gameserver.GameTimeController;
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* This class load, holds and calculates the hit condition bonuses.
|
||||
|
@ -28,10 +28,10 @@ import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.model.StatsSet;
|
||||
import com.l2jserver.gameserver.model.base.ClassId;
|
||||
import com.l2jserver.gameserver.model.items.PcItemTemplate;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* This class holds the Initial Equipment information.<br>
|
||||
|
@ -27,7 +27,6 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.enums.MacroType;
|
||||
import com.l2jserver.gameserver.enums.ShortcutType;
|
||||
import com.l2jserver.gameserver.model.Macro;
|
||||
@ -37,6 +36,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.base.ClassId;
|
||||
import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ShortCutRegister;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* This class holds the Initial Shortcuts information.<br>
|
||||
|
@ -26,9 +26,9 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.model.CrystalizationData;
|
||||
import com.l2jserver.gameserver.model.holders.ItemChanceHolder;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* @author UnAfraid
|
||||
|
@ -26,7 +26,7 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* @author UnAfraid
|
||||
|
@ -31,7 +31,6 @@ import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.model.StatsSet;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
@ -45,6 +44,7 @@ import com.l2jserver.gameserver.network.serverpackets.MultiSellList;
|
||||
import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
|
||||
import com.l2jserver.gameserver.network.serverpackets.UserInfo;
|
||||
import com.l2jserver.gameserver.util.Util;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
import com.l2jserver.util.file.filter.NumericNameFilter;
|
||||
|
||||
public final class MultisellData implements IXmlReader
|
||||
|
@ -36,7 +36,6 @@ import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.datatables.SkillData;
|
||||
import com.l2jserver.gameserver.enums.AISkillScope;
|
||||
import com.l2jserver.gameserver.model.StatsSet;
|
||||
@ -51,6 +50,7 @@ import com.l2jserver.gameserver.model.holders.MinionHolder;
|
||||
import com.l2jserver.gameserver.model.holders.SkillHolder;
|
||||
import com.l2jserver.gameserver.model.skills.Skill;
|
||||
import com.l2jserver.gameserver.util.Util;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* NPC data parser.
|
||||
|
@ -26,13 +26,13 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.model.holders.SkillHolder;
|
||||
import com.l2jserver.gameserver.model.options.Options;
|
||||
import com.l2jserver.gameserver.model.options.OptionsSkillHolder;
|
||||
import com.l2jserver.gameserver.model.options.OptionsSkillType;
|
||||
import com.l2jserver.gameserver.model.stats.Stats;
|
||||
import com.l2jserver.gameserver.model.stats.functions.FuncTemplate;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* @author UnAfraid
|
||||
|
@ -25,11 +25,11 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.enums.MountType;
|
||||
import com.l2jserver.gameserver.model.L2PetData;
|
||||
import com.l2jserver.gameserver.model.L2PetLevelData;
|
||||
import com.l2jserver.gameserver.model.StatsSet;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* This class parse and hold all pet parameters.<br>
|
||||
|
@ -28,11 +28,11 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.model.Location;
|
||||
import com.l2jserver.gameserver.model.StatsSet;
|
||||
import com.l2jserver.gameserver.model.actor.templates.L2PcTemplate;
|
||||
import com.l2jserver.gameserver.model.base.ClassId;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* Loads player's base stats.
|
||||
|
@ -24,7 +24,7 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* This class holds the Player Xp Percent Lost Data for each level for players.
|
||||
|
@ -27,7 +27,6 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.datatables.ItemTable;
|
||||
import com.l2jserver.gameserver.model.StatsSet;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
@ -35,6 +34,7 @@ import com.l2jserver.gameserver.model.items.L2Item;
|
||||
import com.l2jserver.gameserver.model.primeshop.PrimeShopGroup;
|
||||
import com.l2jserver.gameserver.model.primeshop.PrimeShopItem;
|
||||
import com.l2jserver.gameserver.network.serverpackets.primeshop.ExBRProductInfo;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* @author Gnacik, UnAfraid
|
||||
|
@ -27,12 +27,12 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.model.L2RecipeInstance;
|
||||
import com.l2jserver.gameserver.model.L2RecipeList;
|
||||
import com.l2jserver.gameserver.model.L2RecipeStatInstance;
|
||||
import com.l2jserver.gameserver.model.StatsSet;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* The Class RecipeData.
|
||||
|
@ -26,7 +26,7 @@ import java.util.logging.Level;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* @author NosBit
|
||||
|
@ -28,7 +28,6 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.model.Location;
|
||||
import com.l2jserver.gameserver.model.StatsSet;
|
||||
import com.l2jserver.gameserver.model.VehiclePathPoint;
|
||||
@ -37,6 +36,7 @@ import com.l2jserver.gameserver.model.actor.templates.L2CharTemplate;
|
||||
import com.l2jserver.gameserver.model.shuttle.L2ShuttleData;
|
||||
import com.l2jserver.gameserver.model.shuttle.L2ShuttleEngine;
|
||||
import com.l2jserver.gameserver.model.shuttle.L2ShuttleStop;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* @author UnAfraid
|
||||
|
@ -27,10 +27,10 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.model.SiegeScheduleDate;
|
||||
import com.l2jserver.gameserver.model.StatsSet;
|
||||
import com.l2jserver.gameserver.util.Util;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* @author UnAfraid
|
||||
|
@ -26,8 +26,8 @@ import java.util.Map;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.model.base.ClassId;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* Holds all skill learn data for all npcs.
|
||||
|
@ -36,7 +36,6 @@ import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.datatables.SkillData;
|
||||
import com.l2jserver.gameserver.enums.CategoryType;
|
||||
import com.l2jserver.gameserver.enums.Race;
|
||||
@ -54,6 +53,7 @@ import com.l2jserver.gameserver.model.holders.SkillHolder;
|
||||
import com.l2jserver.gameserver.model.interfaces.ISkillsHolder;
|
||||
import com.l2jserver.gameserver.model.skills.CommonSkill;
|
||||
import com.l2jserver.gameserver.model.skills.Skill;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* This class loads and manage the characters and pledges skills trees.<br>
|
||||
|
@ -26,10 +26,10 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.model.StatsSet;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2StaticObjectInstance;
|
||||
import com.l2jserver.gameserver.model.actor.templates.L2CharTemplate;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* This class loads and holds all static object data.
|
||||
|
@ -26,11 +26,11 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.model.StatsSet;
|
||||
import com.l2jserver.gameserver.model.teleporter.TeleportHolder;
|
||||
import com.l2jserver.gameserver.model.teleporter.TeleportLocation;
|
||||
import com.l2jserver.gameserver.model.teleporter.TeleportType;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* @author UnAfraid
|
||||
|
@ -26,7 +26,6 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.model.StatsSet;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.actor.transform.Transform;
|
||||
@ -36,6 +35,7 @@ import com.l2jserver.gameserver.model.holders.AdditionalItemHolder;
|
||||
import com.l2jserver.gameserver.model.holders.AdditionalSkillHolder;
|
||||
import com.l2jserver.gameserver.model.holders.SkillHolder;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExBasicActionList;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* @author UnAfraid
|
||||
|
@ -27,8 +27,8 @@ import java.util.logging.Logger;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.model.ActionKey;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* UI Data parser.
|
||||
|
@ -36,7 +36,7 @@ public class EventDroplist
|
||||
/**
|
||||
* The table containing all DataDrop object
|
||||
*/
|
||||
private static final List<DateDrop> _allNpcDateDrops = new ArrayList<>();
|
||||
private static final List<DateDrop> ALL_NPC_DATE_DROPS = new ArrayList<>();
|
||||
|
||||
public static class DateDrop
|
||||
{
|
||||
@ -75,7 +75,7 @@ public class EventDroplist
|
||||
*/
|
||||
public void addGlobalDrop(int[] itemIdList, int[] count, int chance, DateRange dateRange)
|
||||
{
|
||||
_allNpcDateDrops.add(new DateDrop(dateRange, new EventDrop(itemIdList, count[0], count[1], chance)));
|
||||
ALL_NPC_DATE_DROPS.add(new DateDrop(dateRange, new EventDrop(itemIdList, count[0], count[1], chance)));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -87,7 +87,7 @@ public class EventDroplist
|
||||
*/
|
||||
public void addGlobalDrop(int itemId, long min, long max, int chance, DateRange dateRange)
|
||||
{
|
||||
_allNpcDateDrops.add(new DateDrop(dateRange, new EventDrop(itemId, min, max, chance)));
|
||||
ALL_NPC_DATE_DROPS.add(new DateDrop(dateRange, new EventDrop(itemId, min, max, chance)));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -97,7 +97,7 @@ public class EventDroplist
|
||||
*/
|
||||
public void addGlobalDrop(DateRange dateRange, EventDrop eventDrop)
|
||||
{
|
||||
_allNpcDateDrops.add(new DateDrop(dateRange, eventDrop));
|
||||
ALL_NPC_DATE_DROPS.add(new DateDrop(dateRange, eventDrop));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -107,7 +107,7 @@ public class EventDroplist
|
||||
{
|
||||
final List<DateDrop> list = new ArrayList<>();
|
||||
final Date currentDate = new Date();
|
||||
for (DateDrop drop : _allNpcDateDrops)
|
||||
for (DateDrop drop : ALL_NPC_DATE_DROPS)
|
||||
{
|
||||
if (drop._dateRange.isWithinRange(currentDate))
|
||||
{
|
||||
|
@ -60,53 +60,53 @@ 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 HashMap<>();
|
||||
public static final Map<String, Integer> SLOTS = new HashMap<>();
|
||||
|
||||
private L2Item[] _allTemplates;
|
||||
private final Map<Integer, L2EtcItem> _etcItems;
|
||||
private final Map<Integer, L2Armor> _armors;
|
||||
private final Map<Integer, L2Weapon> _weapons;
|
||||
private final Map<Integer, L2EtcItem> _etcItems = new HashMap<>();
|
||||
private final Map<Integer, L2Armor> _armors = new HashMap<>();
|
||||
private final Map<Integer, L2Weapon> _weapons = new HashMap<>();
|
||||
|
||||
static
|
||||
{
|
||||
_slots.put("shirt", L2Item.SLOT_UNDERWEAR);
|
||||
_slots.put("lbracelet", L2Item.SLOT_L_BRACELET);
|
||||
_slots.put("rbracelet", L2Item.SLOT_R_BRACELET);
|
||||
_slots.put("talisman", L2Item.SLOT_DECO);
|
||||
_slots.put("chest", L2Item.SLOT_CHEST);
|
||||
_slots.put("fullarmor", L2Item.SLOT_FULL_ARMOR);
|
||||
_slots.put("head", L2Item.SLOT_HEAD);
|
||||
_slots.put("hair", L2Item.SLOT_HAIR);
|
||||
_slots.put("hairall", L2Item.SLOT_HAIRALL);
|
||||
_slots.put("underwear", L2Item.SLOT_UNDERWEAR);
|
||||
_slots.put("back", L2Item.SLOT_BACK);
|
||||
_slots.put("neck", L2Item.SLOT_NECK);
|
||||
_slots.put("legs", L2Item.SLOT_LEGS);
|
||||
_slots.put("feet", L2Item.SLOT_FEET);
|
||||
_slots.put("gloves", L2Item.SLOT_GLOVES);
|
||||
_slots.put("chest,legs", L2Item.SLOT_CHEST | L2Item.SLOT_LEGS);
|
||||
_slots.put("belt", L2Item.SLOT_BELT);
|
||||
_slots.put("rhand", L2Item.SLOT_R_HAND);
|
||||
_slots.put("lhand", L2Item.SLOT_L_HAND);
|
||||
_slots.put("lrhand", L2Item.SLOT_LR_HAND);
|
||||
_slots.put("rear;lear", L2Item.SLOT_R_EAR | L2Item.SLOT_L_EAR);
|
||||
_slots.put("rfinger;lfinger", L2Item.SLOT_R_FINGER | L2Item.SLOT_L_FINGER);
|
||||
_slots.put("wolf", L2Item.SLOT_WOLF);
|
||||
_slots.put("greatwolf", L2Item.SLOT_GREATWOLF);
|
||||
_slots.put("hatchling", L2Item.SLOT_HATCHLING);
|
||||
_slots.put("strider", L2Item.SLOT_STRIDER);
|
||||
_slots.put("babypet", L2Item.SLOT_BABYPET);
|
||||
_slots.put("brooch", L2Item.SLOT_BROOCH);
|
||||
_slots.put("brooch_jewel", L2Item.SLOT_BROOCH_JEWEL);
|
||||
_slots.put("none", L2Item.SLOT_NONE);
|
||||
SLOTS.put("shirt", L2Item.SLOT_UNDERWEAR);
|
||||
SLOTS.put("lbracelet", L2Item.SLOT_L_BRACELET);
|
||||
SLOTS.put("rbracelet", L2Item.SLOT_R_BRACELET);
|
||||
SLOTS.put("talisman", L2Item.SLOT_DECO);
|
||||
SLOTS.put("chest", L2Item.SLOT_CHEST);
|
||||
SLOTS.put("fullarmor", L2Item.SLOT_FULL_ARMOR);
|
||||
SLOTS.put("head", L2Item.SLOT_HEAD);
|
||||
SLOTS.put("hair", L2Item.SLOT_HAIR);
|
||||
SLOTS.put("hairall", L2Item.SLOT_HAIRALL);
|
||||
SLOTS.put("underwear", L2Item.SLOT_UNDERWEAR);
|
||||
SLOTS.put("back", L2Item.SLOT_BACK);
|
||||
SLOTS.put("neck", L2Item.SLOT_NECK);
|
||||
SLOTS.put("legs", L2Item.SLOT_LEGS);
|
||||
SLOTS.put("feet", L2Item.SLOT_FEET);
|
||||
SLOTS.put("gloves", L2Item.SLOT_GLOVES);
|
||||
SLOTS.put("chest,legs", L2Item.SLOT_CHEST | L2Item.SLOT_LEGS);
|
||||
SLOTS.put("belt", L2Item.SLOT_BELT);
|
||||
SLOTS.put("rhand", L2Item.SLOT_R_HAND);
|
||||
SLOTS.put("lhand", L2Item.SLOT_L_HAND);
|
||||
SLOTS.put("lrhand", L2Item.SLOT_LR_HAND);
|
||||
SLOTS.put("rear;lear", L2Item.SLOT_R_EAR | L2Item.SLOT_L_EAR);
|
||||
SLOTS.put("rfinger;lfinger", L2Item.SLOT_R_FINGER | L2Item.SLOT_L_FINGER);
|
||||
SLOTS.put("wolf", L2Item.SLOT_WOLF);
|
||||
SLOTS.put("greatwolf", L2Item.SLOT_GREATWOLF);
|
||||
SLOTS.put("hatchling", L2Item.SLOT_HATCHLING);
|
||||
SLOTS.put("strider", L2Item.SLOT_STRIDER);
|
||||
SLOTS.put("babypet", L2Item.SLOT_BABYPET);
|
||||
SLOTS.put("brooch", L2Item.SLOT_BROOCH);
|
||||
SLOTS.put("brooch_jewel", L2Item.SLOT_BROOCH_JEWEL);
|
||||
SLOTS.put("none", L2Item.SLOT_NONE);
|
||||
|
||||
// retail compatibility
|
||||
_slots.put("onepiece", L2Item.SLOT_FULL_ARMOR);
|
||||
_slots.put("hair2", L2Item.SLOT_HAIR2);
|
||||
_slots.put("dhair", L2Item.SLOT_HAIRALL);
|
||||
_slots.put("alldress", L2Item.SLOT_ALLDRESS);
|
||||
_slots.put("deco1", L2Item.SLOT_DECO);
|
||||
_slots.put("waist", L2Item.SLOT_BELT);
|
||||
SLOTS.put("onepiece", L2Item.SLOT_FULL_ARMOR);
|
||||
SLOTS.put("hair2", L2Item.SLOT_HAIR2);
|
||||
SLOTS.put("dhair", L2Item.SLOT_HAIRALL);
|
||||
SLOTS.put("alldress", L2Item.SLOT_ALLDRESS);
|
||||
SLOTS.put("deco1", L2Item.SLOT_DECO);
|
||||
SLOTS.put("waist", L2Item.SLOT_BELT);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -119,9 +119,6 @@ public class ItemTable
|
||||
|
||||
protected ItemTable()
|
||||
{
|
||||
_etcItems = new HashMap<>();
|
||||
_armors = new HashMap<>();
|
||||
_weapons = new HashMap<>();
|
||||
load();
|
||||
}
|
||||
|
||||
|
@ -37,13 +37,13 @@ import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.L2DatabaseFactory;
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.data.xml.impl.NpcData;
|
||||
import com.l2jserver.gameserver.instancemanager.DayNightSpawnManager;
|
||||
import com.l2jserver.gameserver.instancemanager.ZoneManager;
|
||||
import com.l2jserver.gameserver.model.L2Spawn;
|
||||
import com.l2jserver.gameserver.model.StatsSet;
|
||||
import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* Spawn data retriever.
|
||||
|
@ -148,12 +148,11 @@ public abstract class DocumentBase
|
||||
protected final Logger _log = Logger.getLogger(getClass().getName());
|
||||
|
||||
private final File _file;
|
||||
protected Map<String, String[]> _tables;
|
||||
protected final Map<String, String[]> _tables = new HashMap<>();
|
||||
|
||||
protected DocumentBase(File pFile)
|
||||
{
|
||||
_file = pFile;
|
||||
_tables = new HashMap<>();
|
||||
}
|
||||
|
||||
public Document parse()
|
||||
@ -184,7 +183,7 @@ public abstract class DocumentBase
|
||||
|
||||
protected void resetTable()
|
||||
{
|
||||
_tables = new HashMap<>();
|
||||
_tables.clear();
|
||||
}
|
||||
|
||||
protected void setTable(String name, String[] table)
|
||||
@ -1189,9 +1188,9 @@ public abstract class DocumentBase
|
||||
{
|
||||
int old = mask;
|
||||
String item = st.nextToken().trim();
|
||||
if (ItemTable._slots.containsKey(item))
|
||||
if (ItemTable.SLOTS.containsKey(item))
|
||||
{
|
||||
mask |= ItemTable._slots.get(item);
|
||||
mask |= ItemTable.SLOTS.get(item);
|
||||
}
|
||||
|
||||
if (old == mask)
|
||||
|
@ -176,9 +176,6 @@ public final class DocumentItem extends DocumentBase
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
public List<L2Item> getItemList()
|
||||
{
|
||||
return _itemsInFile;
|
||||
|
@ -18,8 +18,8 @@
|
||||
*/
|
||||
package com.l2jserver.gameserver.instancemanager;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.gameserver.model.L2World;
|
||||
@ -32,7 +32,7 @@ import com.l2jserver.gameserver.network.serverpackets.L2GameServerPacket;
|
||||
|
||||
public class BoatManager
|
||||
{
|
||||
private final Map<Integer, L2BoatInstance> _boats = new HashMap<>();
|
||||
private final Map<Integer, L2BoatInstance> _boats = new ConcurrentHashMap<>();
|
||||
private final boolean[] _docksBusy = new boolean[3];
|
||||
|
||||
public static final int TALKING_ISLAND = 1;
|
||||
@ -103,11 +103,12 @@ public class BoatManager
|
||||
npcDat.set("basePDef", 100);
|
||||
npcDat.set("baseMDef", 100);
|
||||
|
||||
L2BoatInstance boat = new L2BoatInstance(new L2CharTemplate(npcDat));
|
||||
_boats.put(boat.getObjectId(), boat);
|
||||
final L2BoatInstance boat = new L2BoatInstance(new L2CharTemplate(npcDat));
|
||||
boat.setHeading(heading);
|
||||
boat.setXYZInvisible(x, y, z);
|
||||
boat.spawnMe();
|
||||
|
||||
_boats.put(boat.getObjectId(), boat);
|
||||
return boat;
|
||||
}
|
||||
|
||||
|
@ -45,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 HashMap<Integer, SiegableHall> _siegableHalls = new HashMap<>();
|
||||
private final Map<Integer, SiegableHall> _siegableHalls = new HashMap<>();
|
||||
|
||||
protected CHSiegeManager()
|
||||
{
|
||||
@ -86,7 +86,7 @@ public final class CHSiegeManager
|
||||
}
|
||||
}
|
||||
|
||||
public HashMap<Integer, SiegableHall> getConquerableHalls()
|
||||
public Map<Integer, SiegableHall> getConquerableHalls()
|
||||
{
|
||||
return _siegableHalls;
|
||||
}
|
||||
|
@ -42,7 +42,7 @@ public final class CastleManager implements InstanceListManager
|
||||
{
|
||||
private static final Logger _log = Logger.getLogger(CastleManager.class.getName());
|
||||
|
||||
private List<Castle> _castles;
|
||||
private final List<Castle> _castles = new ArrayList<>();
|
||||
|
||||
private final Map<Integer, Long> _castleSiegeDate = new ConcurrentHashMap<>();
|
||||
|
||||
@ -72,9 +72,9 @@ public final class CastleManager implements InstanceListManager
|
||||
{
|
||||
double distance;
|
||||
Castle castle;
|
||||
for (int i = 0; i < getCastles().size(); i++)
|
||||
for (int i = 0; i < _castles.size(); i++)
|
||||
{
|
||||
castle = getCastles().get(i);
|
||||
castle = _castles.get(i);
|
||||
if (castle == null)
|
||||
{
|
||||
continue;
|
||||
@ -92,7 +92,7 @@ public final class CastleManager implements InstanceListManager
|
||||
|
||||
public final Castle getCastleById(int castleId)
|
||||
{
|
||||
for (Castle temp : getCastles())
|
||||
for (Castle temp : _castles)
|
||||
{
|
||||
if (temp.getResidenceId() == castleId)
|
||||
{
|
||||
@ -104,7 +104,7 @@ public final class CastleManager implements InstanceListManager
|
||||
|
||||
public final Castle getCastleByOwner(L2Clan clan)
|
||||
{
|
||||
for (Castle temp : getCastles())
|
||||
for (Castle temp : _castles)
|
||||
{
|
||||
if (temp.getOwnerId() == clan.getId())
|
||||
{
|
||||
@ -116,7 +116,7 @@ public final class CastleManager implements InstanceListManager
|
||||
|
||||
public final Castle getCastle(String name)
|
||||
{
|
||||
for (Castle temp : getCastles())
|
||||
for (Castle temp : _castles)
|
||||
{
|
||||
if (temp.getName().equalsIgnoreCase(name.trim()))
|
||||
{
|
||||
@ -128,7 +128,7 @@ public final class CastleManager implements InstanceListManager
|
||||
|
||||
public final Castle getCastle(int x, int y, int z)
|
||||
{
|
||||
for (Castle temp : getCastles())
|
||||
for (Castle temp : _castles)
|
||||
{
|
||||
if (temp.checkIfInZone(x, y, z))
|
||||
{
|
||||
@ -146,9 +146,9 @@ public final class CastleManager implements InstanceListManager
|
||||
public final int getCastleIndex(int castleId)
|
||||
{
|
||||
Castle castle;
|
||||
for (int i = 0; i < getCastles().size(); i++)
|
||||
for (int i = 0; i < _castles.size(); i++)
|
||||
{
|
||||
castle = getCastles().get(i);
|
||||
castle = _castles.get(i);
|
||||
if ((castle != null) && (castle.getResidenceId() == castleId))
|
||||
{
|
||||
return i;
|
||||
@ -165,9 +165,9 @@ public final class CastleManager implements InstanceListManager
|
||||
public final int getCastleIndex(int x, int y, int z)
|
||||
{
|
||||
Castle castle;
|
||||
for (int i = 0; i < getCastles().size(); i++)
|
||||
for (int i = 0; i < _castles.size(); i++)
|
||||
{
|
||||
castle = getCastles().get(i);
|
||||
castle = _castles.get(i);
|
||||
if ((castle != null) && castle.checkIfInZone(x, y, z))
|
||||
{
|
||||
return i;
|
||||
@ -178,17 +178,13 @@ public final class CastleManager implements InstanceListManager
|
||||
|
||||
public final List<Castle> getCastles()
|
||||
{
|
||||
if (_castles == null)
|
||||
{
|
||||
_castles = new ArrayList<>();
|
||||
}
|
||||
return _castles;
|
||||
}
|
||||
|
||||
public boolean hasOwnedCastle()
|
||||
{
|
||||
boolean hasOwnedCastle = false;
|
||||
for (Castle castle : getCastles())
|
||||
for (Castle castle : _castles)
|
||||
{
|
||||
if (castle.getOwnerId() > 0)
|
||||
{
|
||||
@ -279,9 +275,9 @@ public final class CastleManager implements InstanceListManager
|
||||
{
|
||||
while (rs.next())
|
||||
{
|
||||
getCastles().add(new Castle(rs.getInt("id")));
|
||||
_castles.add(new Castle(rs.getInt("id")));
|
||||
}
|
||||
_log.info(getClass().getSimpleName() + ": Loaded: " + getCastles().size() + " castles");
|
||||
_log.info(getClass().getSimpleName() + ": Loaded: " + _castles.size() + " castles");
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
@ -40,7 +40,6 @@ import org.w3c.dom.Node;
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.L2DatabaseFactory;
|
||||
import com.l2jserver.gameserver.ThreadPoolManager;
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.enums.ManorMode;
|
||||
import com.l2jserver.gameserver.model.CropProcure;
|
||||
import com.l2jserver.gameserver.model.L2Clan;
|
||||
@ -53,6 +52,7 @@ import com.l2jserver.gameserver.model.interfaces.IStorable;
|
||||
import com.l2jserver.gameserver.model.itemcontainer.ItemContainer;
|
||||
import com.l2jserver.gameserver.network.SystemMessageId;
|
||||
import com.l2jserver.util.Rnd;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* Castle manor system.
|
||||
|
@ -23,6 +23,7 @@ import java.sql.ResultSet;
|
||||
import java.sql.Statement;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
@ -44,9 +45,9 @@ public final class ClanHallManager
|
||||
{
|
||||
protected static final Logger _log = Logger.getLogger(ClanHallManager.class.getName());
|
||||
|
||||
private final Map<Integer, AuctionableHall> _clanHall;
|
||||
private final Map<Integer, AuctionableHall> _freeClanHall;
|
||||
private final Map<Integer, AuctionableHall> _allAuctionableClanHalls;
|
||||
private final Map<Integer, AuctionableHall> _clanHall = new ConcurrentHashMap<>();
|
||||
private final Map<Integer, AuctionableHall> _freeClanHall = new ConcurrentHashMap<>();
|
||||
private final Map<Integer, AuctionableHall> _allAuctionableClanHalls = new HashMap<>();
|
||||
private static Map<Integer, ClanHall> _allClanHalls = new HashMap<>();
|
||||
private boolean _loaded = false;
|
||||
|
||||
@ -57,9 +58,6 @@ public final class ClanHallManager
|
||||
|
||||
protected ClanHallManager()
|
||||
{
|
||||
_clanHall = new HashMap<>();
|
||||
_freeClanHall = new HashMap<>();
|
||||
_allAuctionableClanHalls = new HashMap<>();
|
||||
load();
|
||||
}
|
||||
|
||||
@ -216,7 +214,7 @@ public final class ClanHallManager
|
||||
*/
|
||||
public final ClanHall getClanHall(int x, int y, int z)
|
||||
{
|
||||
for (ClanHall temp : getAllClanHalls().values())
|
||||
for (ClanHall temp : _allClanHalls.values())
|
||||
{
|
||||
if (temp.checkIfInZone(x, y, z))
|
||||
{
|
||||
@ -313,4 +311,4 @@ public final class ClanHallManager
|
||||
{
|
||||
protected static final ClanHallManager _instance = new ClanHallManager();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -21,7 +21,8 @@ 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.concurrent.CopyOnWriteArrayList;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
@ -37,7 +38,7 @@ public final class CoupleManager
|
||||
{
|
||||
private static final Logger _log = Logger.getLogger(CoupleManager.class.getName());
|
||||
|
||||
private ArrayList<Couple> _couples;
|
||||
private final List<Couple> _couples = new CopyOnWriteArrayList<>();
|
||||
|
||||
protected CoupleManager()
|
||||
{
|
||||
@ -46,7 +47,7 @@ public final class CoupleManager
|
||||
|
||||
public void reload()
|
||||
{
|
||||
getCouples().clear();
|
||||
_couples.clear();
|
||||
load();
|
||||
}
|
||||
|
||||
@ -84,15 +85,15 @@ public final class CoupleManager
|
||||
{
|
||||
if ((player1.getPartnerId() == 0) && (player2.getPartnerId() == 0))
|
||||
{
|
||||
int _player1id = player1.getObjectId();
|
||||
int _player2id = player2.getObjectId();
|
||||
int player1id = player1.getObjectId();
|
||||
int player2id = player2.getObjectId();
|
||||
|
||||
Couple _new = new Couple(player1, player2);
|
||||
getCouples().add(_new);
|
||||
player1.setPartnerId(_player2id);
|
||||
player2.setPartnerId(_player1id);
|
||||
player1.setCoupleId(_new.getId());
|
||||
player2.setCoupleId(_new.getId());
|
||||
Couple couple = new Couple(player1, player2);
|
||||
getCouples().add(couple);
|
||||
player1.setPartnerId(player2id);
|
||||
player2.setPartnerId(player1id);
|
||||
player1.setCoupleId(couple.getId());
|
||||
player2.setCoupleId(couple.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -138,12 +139,8 @@ public final class CoupleManager
|
||||
return -1;
|
||||
}
|
||||
|
||||
public final ArrayList<Couple> getCouples()
|
||||
public final List<Couple> getCouples()
|
||||
{
|
||||
if (_couples == null)
|
||||
{
|
||||
_couples = new ArrayList<>();
|
||||
}
|
||||
return _couples;
|
||||
}
|
||||
|
||||
|
@ -19,9 +19,9 @@
|
||||
package com.l2jserver.gameserver.instancemanager;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
@ -38,9 +38,9 @@ public final class DayNightSpawnManager
|
||||
|
||||
private static Logger _log = Logger.getLogger(DayNightSpawnManager.class.getName());
|
||||
|
||||
private final List<L2Spawn> _dayCreatures;
|
||||
private final List<L2Spawn> _nightCreatures;
|
||||
private final Map<L2Spawn, L2RaidBossInstance> _bosses;
|
||||
private final List<L2Spawn> _dayCreatures = new ArrayList<>();
|
||||
private final List<L2Spawn> _nightCreatures = new ArrayList<>();
|
||||
private final Map<L2Spawn, L2RaidBossInstance> _bosses = new ConcurrentHashMap<>();
|
||||
|
||||
// private static int _currentState; // 0 = Day, 1 = Night
|
||||
|
||||
@ -51,9 +51,7 @@ public final class DayNightSpawnManager
|
||||
|
||||
protected DayNightSpawnManager()
|
||||
{
|
||||
_dayCreatures = new ArrayList<>();
|
||||
_nightCreatures = new ArrayList<>();
|
||||
_bosses = new HashMap<>();
|
||||
// Prevent external initialization.
|
||||
}
|
||||
|
||||
public void addDayCreature(L2Spawn spawnDat)
|
||||
@ -202,7 +200,6 @@ public final class DayNightSpawnManager
|
||||
{
|
||||
boss = (L2RaidBossInstance) spawn.doSpawn();
|
||||
RaidBossSpawnManager.getInstance().notifySpawnNightBoss(boss);
|
||||
_bosses.remove(spawn);
|
||||
_bosses.put(spawn, boss);
|
||||
continue;
|
||||
}
|
||||
@ -257,8 +254,6 @@ public final class DayNightSpawnManager
|
||||
|
||||
return raidboss;
|
||||
}
|
||||
|
||||
_bosses.put(spawnDat, null);
|
||||
return null;
|
||||
}
|
||||
|
||||
|
@ -36,7 +36,7 @@ public final class FortManager implements InstanceListManager
|
||||
{
|
||||
protected static final Logger _log = Logger.getLogger(FortManager.class.getName());
|
||||
|
||||
private List<Fort> _forts;
|
||||
private final List<Fort> _forts = new ArrayList<>();
|
||||
|
||||
public final int findNearestFortIndex(L2Object obj)
|
||||
{
|
||||
@ -50,9 +50,9 @@ public final class FortManager implements InstanceListManager
|
||||
{
|
||||
double distance;
|
||||
Fort fort;
|
||||
for (int i = 0; i < getForts().size(); i++)
|
||||
for (int i = 0; i < _forts.size(); i++)
|
||||
{
|
||||
fort = getForts().get(i);
|
||||
fort = _forts.get(i);
|
||||
if (fort == null)
|
||||
{
|
||||
continue;
|
||||
@ -70,7 +70,7 @@ public final class FortManager implements InstanceListManager
|
||||
|
||||
public final Fort getFortById(int fortId)
|
||||
{
|
||||
for (Fort f : getForts())
|
||||
for (Fort f : _forts)
|
||||
{
|
||||
if (f.getResidenceId() == fortId)
|
||||
{
|
||||
@ -82,7 +82,7 @@ public final class FortManager implements InstanceListManager
|
||||
|
||||
public final Fort getFortByOwner(L2Clan clan)
|
||||
{
|
||||
for (Fort f : getForts())
|
||||
for (Fort f : _forts)
|
||||
{
|
||||
if (f.getOwnerClan() == clan)
|
||||
{
|
||||
@ -94,7 +94,7 @@ public final class FortManager implements InstanceListManager
|
||||
|
||||
public final Fort getFort(String name)
|
||||
{
|
||||
for (Fort f : getForts())
|
||||
for (Fort f : _forts)
|
||||
{
|
||||
if (f.getName().equalsIgnoreCase(name.trim()))
|
||||
{
|
||||
@ -106,7 +106,7 @@ public final class FortManager implements InstanceListManager
|
||||
|
||||
public final Fort getFort(int x, int y, int z)
|
||||
{
|
||||
for (Fort f : getForts())
|
||||
for (Fort f : _forts)
|
||||
{
|
||||
if (f.checkIfInZone(x, y, z))
|
||||
{
|
||||
@ -124,9 +124,9 @@ public final class FortManager implements InstanceListManager
|
||||
public final int getFortIndex(int fortId)
|
||||
{
|
||||
Fort fort;
|
||||
for (int i = 0; i < getForts().size(); i++)
|
||||
for (int i = 0; i < _forts.size(); i++)
|
||||
{
|
||||
fort = getForts().get(i);
|
||||
fort = _forts.get(i);
|
||||
if ((fort != null) && (fort.getResidenceId() == fortId))
|
||||
{
|
||||
return i;
|
||||
@ -143,9 +143,9 @@ public final class FortManager implements InstanceListManager
|
||||
public final int getFortIndex(int x, int y, int z)
|
||||
{
|
||||
Fort fort;
|
||||
for (int i = 0; i < getForts().size(); i++)
|
||||
for (int i = 0; i < _forts.size(); i++)
|
||||
{
|
||||
fort = getForts().get(i);
|
||||
fort = _forts.get(i);
|
||||
if ((fort != null) && fort.checkIfInZone(x, y, z))
|
||||
{
|
||||
return i;
|
||||
@ -156,10 +156,6 @@ public final class FortManager implements InstanceListManager
|
||||
|
||||
public final List<Fort> getForts()
|
||||
{
|
||||
if (_forts == null)
|
||||
{
|
||||
_forts = new ArrayList<>();
|
||||
}
|
||||
return _forts;
|
||||
}
|
||||
|
||||
@ -172,11 +168,11 @@ public final class FortManager implements InstanceListManager
|
||||
{
|
||||
while (rs.next())
|
||||
{
|
||||
getForts().add(new Fort(rs.getInt("id")));
|
||||
_forts.add(new Fort(rs.getInt("id")));
|
||||
}
|
||||
|
||||
_log.info(getClass().getSimpleName() + ": Loaded: " + getForts().size() + " fortress");
|
||||
for (Fort fort : getForts())
|
||||
_log.info(getClass().getSimpleName() + ": Loaded: " + _forts.size() + " fortress");
|
||||
for (Fort fort : _forts)
|
||||
{
|
||||
fort.getSiege().getSiegeGuardManager().loadSiegeGuard();
|
||||
}
|
||||
|
@ -23,6 +23,8 @@ 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;
|
||||
|
||||
@ -35,7 +37,7 @@ public final class FortSiegeGuardManager
|
||||
private static final Logger _log = Logger.getLogger(FortSiegeGuardManager.class.getName());
|
||||
|
||||
private final Fort _fort;
|
||||
private final HashMap<Integer, ArrayList<L2Spawn>> _siegeGuards = new HashMap<>();
|
||||
private final Map<Integer, List<L2Spawn>> _siegeGuards = new HashMap<>();
|
||||
|
||||
public FortSiegeGuardManager(Fort fort)
|
||||
{
|
||||
@ -49,7 +51,7 @@ public final class FortSiegeGuardManager
|
||||
{
|
||||
try
|
||||
{
|
||||
final ArrayList<L2Spawn> monsterList = getSiegeGuardSpawn().get(getFort().getResidenceId());
|
||||
final List<L2Spawn> monsterList = _siegeGuards.get(getFort().getResidenceId());
|
||||
if (monsterList != null)
|
||||
{
|
||||
for (L2Spawn spawnDat : monsterList)
|
||||
@ -79,8 +81,7 @@ public final class FortSiegeGuardManager
|
||||
{
|
||||
try
|
||||
{
|
||||
final ArrayList<L2Spawn> monsterList = getSiegeGuardSpawn().get(getFort().getResidenceId());
|
||||
|
||||
final List<L2Spawn> monsterList = _siegeGuards.get(getFort().getResidenceId());
|
||||
if (monsterList != null)
|
||||
{
|
||||
for (L2Spawn spawnDat : monsterList)
|
||||
@ -112,7 +113,7 @@ public final class FortSiegeGuardManager
|
||||
ps.setInt(1, fortId);
|
||||
try (ResultSet rs = ps.executeQuery())
|
||||
{
|
||||
ArrayList<L2Spawn> siegeGuardSpawns = new ArrayList<>();
|
||||
final List<L2Spawn> siegeGuardSpawns = new ArrayList<>();
|
||||
while (rs.next())
|
||||
{
|
||||
final L2Spawn spawn = new L2Spawn(rs.getInt("npcId"));
|
||||
@ -140,7 +141,7 @@ public final class FortSiegeGuardManager
|
||||
return _fort;
|
||||
}
|
||||
|
||||
public final HashMap<Integer, ArrayList<L2Spawn>> getSiegeGuardSpawn()
|
||||
public final Map<Integer, List<L2Spawn>> getSiegeGuardSpawn()
|
||||
{
|
||||
return _siegeGuards;
|
||||
}
|
||||
|
@ -25,10 +25,11 @@ 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.Properties;
|
||||
import java.util.StringTokenizer;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
@ -53,15 +54,15 @@ public final class FortSiegeManager
|
||||
private int _attackerMaxClans = 500; // Max number of clans
|
||||
|
||||
// Fort Siege settings
|
||||
private HashMap<Integer, ArrayList<FortSiegeSpawn>> _commanderSpawnList;
|
||||
private HashMap<Integer, ArrayList<CombatFlag>> _flagList;
|
||||
private Map<Integer, List<FortSiegeSpawn>> _commanderSpawnList;
|
||||
private Map<Integer, List<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
|
||||
private int _siegeLength = 60; // Time in minute. Changeable in fortsiege.properties
|
||||
private int _countDownLength = 10; // Time in minute. Changeable in fortsiege.properties
|
||||
private int _suspiciousMerchantRespawnDelay = 180; // Time in minute. Changeable in fortsiege.properties
|
||||
private List<FortSiege> _sieges;
|
||||
private final List<FortSiege> _sieges = new ArrayList<>();
|
||||
|
||||
protected FortSiegeManager()
|
||||
{
|
||||
@ -137,13 +138,13 @@ public final class FortSiegeManager
|
||||
_suspiciousMerchantRespawnDelay = Integer.decode(siegeSettings.getProperty("SuspiciousMerchantRespawnDelay", "180"));
|
||||
|
||||
// Siege spawns settings
|
||||
_commanderSpawnList = new HashMap<>();
|
||||
_flagList = new HashMap<>();
|
||||
_commanderSpawnList = new ConcurrentHashMap<>();
|
||||
_flagList = new ConcurrentHashMap<>();
|
||||
|
||||
for (Fort fort : FortManager.getInstance().getForts())
|
||||
{
|
||||
ArrayList<FortSiegeSpawn> _commanderSpawns = new ArrayList<>();
|
||||
ArrayList<CombatFlag> _flagSpawns = new ArrayList<>();
|
||||
List<FortSiegeSpawn> commanderSpawns = new ArrayList<>();
|
||||
List<CombatFlag> flagSpawns = new ArrayList<>();
|
||||
for (int i = 1; i < 5; i++)
|
||||
{
|
||||
final String _spawnParams = siegeSettings.getProperty(fort.getName().replace(" ", "") + "Commander" + i, "");
|
||||
@ -161,7 +162,7 @@ public final class FortSiegeManager
|
||||
int heading = Integer.parseInt(st.nextToken());
|
||||
int npc_id = Integer.parseInt(st.nextToken());
|
||||
|
||||
_commanderSpawns.add(new FortSiegeSpawn(fort.getResidenceId(), x, y, z, heading, npc_id, i));
|
||||
commanderSpawns.add(new FortSiegeSpawn(fort.getResidenceId(), x, y, z, heading, npc_id, i));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@ -169,7 +170,7 @@ public final class FortSiegeManager
|
||||
}
|
||||
}
|
||||
|
||||
_commanderSpawnList.put(fort.getResidenceId(), _commanderSpawns);
|
||||
_commanderSpawnList.put(fort.getResidenceId(), commanderSpawns);
|
||||
|
||||
for (int i = 1; i < 4; i++)
|
||||
{
|
||||
@ -187,33 +188,25 @@ public final class FortSiegeManager
|
||||
int z = Integer.parseInt(st.nextToken());
|
||||
int flag_id = Integer.parseInt(st.nextToken());
|
||||
|
||||
_flagSpawns.add(new CombatFlag(fort.getResidenceId(), x, y, z, 0, flag_id));
|
||||
flagSpawns.add(new CombatFlag(fort.getResidenceId(), x, y, z, 0, flag_id));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_log.warning("Error while loading flag(s) for " + fort.getName() + " fort.");
|
||||
}
|
||||
}
|
||||
_flagList.put(fort.getResidenceId(), _flagSpawns);
|
||||
_flagList.put(fort.getResidenceId(), flagSpawns);
|
||||
}
|
||||
}
|
||||
|
||||
public final ArrayList<FortSiegeSpawn> getCommanderSpawnList(int _fortId)
|
||||
public final List<FortSiegeSpawn> getCommanderSpawnList(int _fortId)
|
||||
{
|
||||
if (_commanderSpawnList.containsKey(_fortId))
|
||||
{
|
||||
return _commanderSpawnList.get(_fortId);
|
||||
}
|
||||
return null;
|
||||
return _commanderSpawnList.get(_fortId);
|
||||
}
|
||||
|
||||
public final ArrayList<CombatFlag> getFlagList(int _fortId)
|
||||
public final List<CombatFlag> getFlagList(int _fortId)
|
||||
{
|
||||
if (_flagList.containsKey(_fortId))
|
||||
{
|
||||
return _flagList.get(_fortId);
|
||||
}
|
||||
return null;
|
||||
return _flagList.get(_fortId);
|
||||
}
|
||||
|
||||
public final int getAttackerMaxClans()
|
||||
@ -270,19 +263,11 @@ public final class FortSiegeManager
|
||||
|
||||
public final List<FortSiege> getSieges()
|
||||
{
|
||||
if (_sieges == null)
|
||||
{
|
||||
_sieges = new ArrayList<>();
|
||||
}
|
||||
return _sieges;
|
||||
}
|
||||
|
||||
public final void addSiege(FortSiege fortSiege)
|
||||
{
|
||||
if (_sieges == null)
|
||||
{
|
||||
_sieges = new ArrayList<>();
|
||||
}
|
||||
_sieges.add(fortSiege);
|
||||
}
|
||||
|
||||
@ -300,7 +285,7 @@ public final class FortSiegeManager
|
||||
|
||||
final Fort fort = FortManager.getInstance().getFort(player);
|
||||
|
||||
final ArrayList<CombatFlag> fcf = _flagList.get(fort.getResidenceId());
|
||||
final List<CombatFlag> fcf = _flagList.get(fort.getResidenceId());
|
||||
for (CombatFlag cf : fcf)
|
||||
{
|
||||
if (cf.getCombatFlagInstance() == item)
|
||||
@ -347,9 +332,7 @@ public final class FortSiegeManager
|
||||
public void dropCombatFlag(L2PcInstance player, int fortId)
|
||||
{
|
||||
final Fort fort = FortManager.getInstance().getFortById(fortId);
|
||||
|
||||
final ArrayList<CombatFlag> fcf = _flagList.get(fort.getResidenceId());
|
||||
|
||||
final List<CombatFlag> fcf = _flagList.get(fort.getResidenceId());
|
||||
for (CombatFlag cf : fcf)
|
||||
{
|
||||
if (cf.getPlayerObjectId() == player.getObjectId())
|
||||
|
@ -24,10 +24,12 @@ import java.sql.ResultSet;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
@ -120,9 +122,9 @@ public final class FourSepulchersManager
|
||||
};
|
||||
// @formatter:on
|
||||
|
||||
protected Map<Integer, Boolean> _archonSpawned = new HashMap<>();
|
||||
protected Map<Integer, Boolean> _hallInUse = new HashMap<>();
|
||||
protected Map<Integer, L2PcInstance> _challengers = new HashMap<>();
|
||||
protected Map<Integer, Boolean> _archonSpawned = new ConcurrentHashMap<>();
|
||||
protected Map<Integer, Boolean> _hallInUse = new ConcurrentHashMap<>();
|
||||
protected Map<Integer, L2PcInstance> _challengers = new ConcurrentHashMap<>();
|
||||
protected Map<Integer, int[]> _startHallSpawns = new HashMap<>();
|
||||
protected Map<Integer, Integer> _hallGateKeepers = new HashMap<>();
|
||||
protected Map<Integer, Integer> _keyBoxNpc = new HashMap<>();
|
||||
@ -143,7 +145,7 @@ public final class FourSepulchersManager
|
||||
protected List<L2Spawn> _managers;
|
||||
protected List<L2Spawn> _dukeFinalSpawns;
|
||||
protected List<L2Spawn> _emperorsGraveSpawns;
|
||||
protected List<L2Npc> _allMobs = new ArrayList<>();
|
||||
protected List<L2Npc> _allMobs = new CopyOnWriteArrayList<>();
|
||||
|
||||
private long _attackTimeEnd = 0;
|
||||
private long _coolDownTimeEnd = 0;
|
||||
@ -260,19 +262,15 @@ public final class FourSepulchersManager
|
||||
_hallInUse.put(31923, false);
|
||||
_hallInUse.put(31924, false);
|
||||
|
||||
if (_archonSpawned.size() != 0)
|
||||
for (int npcId : _archonSpawned.keySet())
|
||||
{
|
||||
Set<Integer> npcIdSet = _archonSpawned.keySet();
|
||||
for (int npcId : npcIdSet)
|
||||
{
|
||||
_archonSpawned.put(npcId, false);
|
||||
}
|
||||
_archonSpawned.put(npcId, false);
|
||||
}
|
||||
}
|
||||
|
||||
protected void spawnManagers()
|
||||
{
|
||||
_managers = new ArrayList<>();
|
||||
_managers = new CopyOnWriteArrayList<>();
|
||||
|
||||
for (int npcId = 31921; npcId <= 31924; npcId++)
|
||||
{
|
||||
@ -972,7 +970,7 @@ public final class FourSepulchersManager
|
||||
|
||||
if (Config.FS_PARTY_MEMBER_COUNT > 1)
|
||||
{
|
||||
List<L2PcInstance> members = new ArrayList<>();
|
||||
final List<L2PcInstance> members = new LinkedList<>();
|
||||
for (L2PcInstance mem : player.getParty().getMembers())
|
||||
{
|
||||
if (!mem.isDead() && Util.checkIfInRange(700, player, mem, true))
|
||||
@ -1006,7 +1004,7 @@ public final class FourSepulchersManager
|
||||
}
|
||||
if ((Config.FS_PARTY_MEMBER_COUNT <= 1) && player.isInParty())
|
||||
{
|
||||
List<L2PcInstance> members = new ArrayList<>();
|
||||
final List<L2PcInstance> members = new LinkedList<>();
|
||||
for (L2PcInstance mem : player.getParty().getMembers())
|
||||
{
|
||||
if (!mem.isDead() && Util.checkIfInRange(700, player, mem, true))
|
||||
@ -1084,9 +1082,8 @@ public final class FourSepulchersManager
|
||||
return;
|
||||
}
|
||||
|
||||
List<L2Spawn> monsterList;
|
||||
List<L2SepulcherMonsterInstance> mobs = new ArrayList<>();
|
||||
|
||||
final List<L2SepulcherMonsterInstance> mobs = new CopyOnWriteArrayList<>();
|
||||
final List<L2Spawn> monsterList;
|
||||
if (Rnd.get(2) == 0)
|
||||
{
|
||||
monsterList = _physicalMonsters.get(npcId);
|
||||
@ -1366,11 +1363,6 @@ public final class FourSepulchersManager
|
||||
{
|
||||
for (L2Npc mob : _allMobs)
|
||||
{
|
||||
if (mob == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
if (mob.getSpawn() != null)
|
||||
|
@ -29,6 +29,8 @@ 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.concurrent.CopyOnWriteArrayList;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
@ -59,13 +61,13 @@ public final class GrandBossManager implements IStorable
|
||||
|
||||
protected static Logger _log = Logger.getLogger(GrandBossManager.class.getName());
|
||||
|
||||
protected static Map<Integer, L2GrandBossInstance> _bosses = new HashMap<>();
|
||||
protected static final Map<Integer, L2GrandBossInstance> BOSSES = new ConcurrentHashMap<>();
|
||||
|
||||
protected static Map<Integer, StatsSet> _storedInfo = new HashMap<>();
|
||||
|
||||
private final Map<Integer, Integer> _bossStatus = new HashMap<>();
|
||||
|
||||
private final List<L2BossZone> _zones = new ArrayList<>();
|
||||
private final List<L2BossZone> _zones = new CopyOnWriteArrayList<>();
|
||||
|
||||
protected GrandBossManager()
|
||||
{
|
||||
@ -276,13 +278,13 @@ public final class GrandBossManager implements IStorable
|
||||
{
|
||||
if (boss != null)
|
||||
{
|
||||
_bosses.put(boss.getId(), boss);
|
||||
BOSSES.put(boss.getId(), boss);
|
||||
}
|
||||
}
|
||||
|
||||
public L2GrandBossInstance getBoss(int bossId)
|
||||
{
|
||||
return _bosses.get(bossId);
|
||||
return BOSSES.get(bossId);
|
||||
}
|
||||
|
||||
public StatsSet getStatsSet(int bossId)
|
||||
@ -329,7 +331,7 @@ public final class GrandBossManager implements IStorable
|
||||
}
|
||||
for (Entry<Integer, StatsSet> e : _storedInfo.entrySet())
|
||||
{
|
||||
final L2GrandBossInstance boss = _bosses.get(e.getKey());
|
||||
final L2GrandBossInstance boss = BOSSES.get(e.getKey());
|
||||
StatsSet info = e.getValue();
|
||||
if ((boss == null) || (info == null))
|
||||
{
|
||||
@ -379,7 +381,7 @@ public final class GrandBossManager implements IStorable
|
||||
{
|
||||
try (Connection con = L2DatabaseFactory.getInstance().getConnection())
|
||||
{
|
||||
L2GrandBossInstance boss = _bosses.get(bossId);
|
||||
L2GrandBossInstance boss = BOSSES.get(bossId);
|
||||
StatsSet info = _storedInfo.get(bossId);
|
||||
|
||||
if (statusOnly || (boss == null) || (info == null))
|
||||
@ -428,7 +430,7 @@ public final class GrandBossManager implements IStorable
|
||||
{
|
||||
storeMe();
|
||||
|
||||
_bosses.clear();
|
||||
BOSSES.clear();
|
||||
_storedInfo.clear();
|
||||
_bossStatus.clear();
|
||||
_zones.clear();
|
||||
|
@ -24,28 +24,29 @@ import java.sql.ResultSet;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.L2DatabaseFactory;
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.entity.Instance;
|
||||
import com.l2jserver.gameserver.model.instancezone.InstanceWorld;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* @author evill33t, GodKratos
|
||||
*/
|
||||
public final class InstanceManager implements IXmlReader
|
||||
{
|
||||
private static final Map<Integer, Instance> _instanceList = new HashMap<>();
|
||||
private final Map<Integer, InstanceWorld> _instanceWorlds = new HashMap<>();
|
||||
private static final Map<Integer, Instance> INSTANCES = new ConcurrentHashMap<>();
|
||||
private final Map<Integer, InstanceWorld> _instanceWorlds = new ConcurrentHashMap<>();
|
||||
private int _dynamic = 300000;
|
||||
// InstanceId Names
|
||||
private static final Map<Integer, String> _instanceIdNames = new HashMap<>();
|
||||
private final Map<Integer, Map<Integer, Long>> _playerInstanceTimes = new HashMap<>();
|
||||
private final Map<Integer, Map<Integer, Long>> _playerInstanceTimes = new ConcurrentHashMap<>();
|
||||
// SQL Queries
|
||||
private static final String ADD_INSTANCE_TIME = "INSERT INTO character_instance_time (charId,instanceId,time) values (?,?,?) ON DUPLICATE KEY UPDATE time=?";
|
||||
private static final String RESTORE_INSTANCE_TIMES = "SELECT instanceId,time FROM character_instance_time WHERE charId=?";
|
||||
@ -54,10 +55,10 @@ public final class InstanceManager implements IXmlReader
|
||||
protected InstanceManager()
|
||||
{
|
||||
// Creates the multiverse.
|
||||
_instanceList.put(-1, new Instance(-1, "multiverse"));
|
||||
INSTANCES.put(-1, new Instance(-1, "multiverse"));
|
||||
LOGGER.info(getClass().getSimpleName() + ": Multiverse Instance created.");
|
||||
// Creates the universe.
|
||||
_instanceList.put(0, new Instance(0, "universe"));
|
||||
INSTANCES.put(0, new Instance(0, "universe"));
|
||||
LOGGER.info(getClass().getSimpleName() + ": Universe Instance created.");
|
||||
load();
|
||||
}
|
||||
@ -166,7 +167,7 @@ public final class InstanceManager implements IXmlReader
|
||||
{
|
||||
return; // already restored
|
||||
}
|
||||
_playerInstanceTimes.put(playerObjId, new HashMap<Integer, Long>());
|
||||
_playerInstanceTimes.put(playerObjId, new ConcurrentHashMap<>());
|
||||
try (Connection con = L2DatabaseFactory.getInstance().getConnection();
|
||||
PreparedStatement ps = con.prepareStatement(RESTORE_INSTANCE_TIMES))
|
||||
{
|
||||
@ -270,18 +271,15 @@ public final class InstanceManager implements IXmlReader
|
||||
{
|
||||
return;
|
||||
}
|
||||
final Instance temp = _instanceList.get(instanceid);
|
||||
final Instance temp = INSTANCES.get(instanceid);
|
||||
if (temp != null)
|
||||
{
|
||||
temp.removeNpcs();
|
||||
temp.removePlayers();
|
||||
temp.removeDoors();
|
||||
temp.cancelTimer();
|
||||
_instanceList.remove(instanceid);
|
||||
if (_instanceWorlds.containsKey(instanceid))
|
||||
{
|
||||
_instanceWorlds.remove(instanceid);
|
||||
}
|
||||
INSTANCES.remove(instanceid);
|
||||
_instanceWorlds.remove(instanceid);
|
||||
}
|
||||
}
|
||||
|
||||
@ -291,7 +289,7 @@ public final class InstanceManager implements IXmlReader
|
||||
*/
|
||||
public Instance getInstance(int instanceid)
|
||||
{
|
||||
return _instanceList.get(instanceid);
|
||||
return INSTANCES.get(instanceid);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -299,7 +297,7 @@ public final class InstanceManager implements IXmlReader
|
||||
*/
|
||||
public Map<Integer, Instance> getInstances()
|
||||
{
|
||||
return _instanceList;
|
||||
return INSTANCES;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -308,7 +306,7 @@ public final class InstanceManager implements IXmlReader
|
||||
*/
|
||||
public int getPlayerInstance(int objectId)
|
||||
{
|
||||
for (Instance temp : _instanceList.values())
|
||||
for (Instance temp : INSTANCES.values())
|
||||
{
|
||||
if (temp == null)
|
||||
{
|
||||
@ -336,7 +334,7 @@ public final class InstanceManager implements IXmlReader
|
||||
}
|
||||
|
||||
final Instance instance = new Instance(id);
|
||||
_instanceList.put(id, instance);
|
||||
INSTANCES.put(id, instance);
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -353,7 +351,7 @@ public final class InstanceManager implements IXmlReader
|
||||
}
|
||||
|
||||
final Instance instance = new Instance(id);
|
||||
_instanceList.put(id, instance);
|
||||
INSTANCES.put(id, instance);
|
||||
instance.loadInstanceTemplate(template);
|
||||
return true;
|
||||
}
|
||||
@ -375,7 +373,7 @@ public final class InstanceManager implements IXmlReader
|
||||
}
|
||||
}
|
||||
final Instance instance = new Instance(_dynamic);
|
||||
_instanceList.put(_dynamic, instance);
|
||||
INSTANCES.put(_dynamic, instance);
|
||||
if (template != null)
|
||||
{
|
||||
instance.loadInstanceTemplate(template);
|
||||
|
@ -23,8 +23,8 @@ import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
@ -43,7 +43,7 @@ public final class ItemsOnGroundManager implements Runnable
|
||||
{
|
||||
private static final Logger _log = Logger.getLogger(ItemsOnGroundManager.class.getName());
|
||||
|
||||
private final List<L2ItemInstance> _items = new ArrayList<>();
|
||||
private final List<L2ItemInstance> _items = new CopyOnWriteArrayList<>();
|
||||
|
||||
protected ItemsOnGroundManager()
|
||||
{
|
||||
|
@ -27,7 +27,6 @@ import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.model.L2MapRegion;
|
||||
import com.l2jserver.gameserver.model.L2Object;
|
||||
import com.l2jserver.gameserver.model.Location;
|
||||
@ -42,6 +41,7 @@ import com.l2jserver.gameserver.model.entity.Instance;
|
||||
import com.l2jserver.gameserver.model.entity.clanhall.SiegableHall;
|
||||
import com.l2jserver.gameserver.model.zone.type.L2ClanHallZone;
|
||||
import com.l2jserver.gameserver.model.zone.type.L2RespawnZone;
|
||||
import com.l2jserver.util.data.xml.IXmlReader;
|
||||
|
||||
/**
|
||||
* @author Nyaran
|
||||
|
@ -21,7 +21,6 @@ package com.l2jserver.gameserver.instancemanager;
|
||||
import java.sql.Connection;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.Statement;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
import java.util.logging.Level;
|
||||
@ -49,7 +48,7 @@ public final class MercTicketManager
|
||||
{
|
||||
private static final Logger _log = Logger.getLogger(MercTicketManager.class.getName());
|
||||
|
||||
private static final List<L2ItemInstance> _droppedTickets = new CopyOnWriteArrayList<>();
|
||||
private static final List<L2ItemInstance> DROPPED_TICKETS = new CopyOnWriteArrayList<>();
|
||||
|
||||
// TODO: move all these values into siege.properties
|
||||
// max tickets per merc type = 10 + (castleid * 2)?
|
||||
@ -139,7 +138,7 @@ public final class MercTicketManager
|
||||
|
||||
public void reload()
|
||||
{
|
||||
_droppedTickets.clear();
|
||||
DROPPED_TICKETS.clear();
|
||||
load();
|
||||
}
|
||||
|
||||
@ -194,7 +193,7 @@ public final class MercTicketManager
|
||||
dropticket.dropMe(null, x, y, z);
|
||||
dropticket.setDropTime(0); // avoids it from being removed by the auto item destroyer
|
||||
L2World.getInstance().storeObject(dropticket);
|
||||
_droppedTickets.add(dropticket);
|
||||
DROPPED_TICKETS.add(dropticket);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -203,7 +202,7 @@ public final class MercTicketManager
|
||||
rs.close();
|
||||
s.close();
|
||||
|
||||
_log.info(getClass().getSimpleName() + ": Loaded: " + _droppedTickets.size() + " Mercenary Tickets");
|
||||
_log.info(getClass().getSimpleName() + ": Loaded: " + DROPPED_TICKETS.size() + " Mercenary Tickets");
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@ -235,7 +234,7 @@ public final class MercTicketManager
|
||||
}
|
||||
|
||||
int count = 0;
|
||||
for (L2ItemInstance ticket : _droppedTickets)
|
||||
for (L2ItemInstance ticket : DROPPED_TICKETS)
|
||||
{
|
||||
if ((ticket != null) && (ticket.getId() == itemId))
|
||||
{
|
||||
@ -268,7 +267,7 @@ public final class MercTicketManager
|
||||
}
|
||||
|
||||
int count = 0;
|
||||
for (L2ItemInstance ticket : _droppedTickets)
|
||||
for (L2ItemInstance ticket : DROPPED_TICKETS)
|
||||
{
|
||||
if ((ticket != null) && (getTicketCastleId(ticket.getId()) == castleId))
|
||||
{
|
||||
@ -289,7 +288,7 @@ public final class MercTicketManager
|
||||
|
||||
public boolean isTooCloseToAnotherTicket(int x, int y, int z)
|
||||
{
|
||||
for (L2ItemInstance item : _droppedTickets)
|
||||
for (L2ItemInstance item : DROPPED_TICKETS)
|
||||
{
|
||||
double dx = x - item.getX();
|
||||
double dy = y - item.getY();
|
||||
@ -339,7 +338,7 @@ public final class MercTicketManager
|
||||
dropticket.setDropTime(0); // avoids it from beeing removed by the auto item destroyer
|
||||
L2World.getInstance().storeObject(dropticket); // add to the world
|
||||
// and keep track of this ticket in the list
|
||||
_droppedTickets.add(dropticket);
|
||||
DROPPED_TICKETS.add(dropticket);
|
||||
|
||||
return NPC_IDS[i];
|
||||
}
|
||||
@ -370,15 +369,13 @@ public final class MercTicketManager
|
||||
*/
|
||||
public void deleteTickets(int castleId)
|
||||
{
|
||||
Iterator<L2ItemInstance> it = _droppedTickets.iterator();
|
||||
while (it.hasNext())
|
||||
for (L2ItemInstance item : DROPPED_TICKETS)
|
||||
{
|
||||
L2ItemInstance item = it.next();
|
||||
if ((item != null) && (getTicketCastleId(item.getId()) == castleId))
|
||||
{
|
||||
item.decayMe();
|
||||
L2World.getInstance().removeObject(item);
|
||||
it.remove();
|
||||
DROPPED_TICKETS.remove(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -409,7 +406,7 @@ public final class MercTicketManager
|
||||
(new SiegeGuardManager(castle)).removeMerc(npcId, item.getX(), item.getY(), item.getZ());
|
||||
}
|
||||
|
||||
_droppedTickets.remove(item);
|
||||
DROPPED_TICKETS.remove(item);
|
||||
}
|
||||
|
||||
public int[] getItemIds()
|
||||
@ -419,7 +416,7 @@ public final class MercTicketManager
|
||||
|
||||
public final List<L2ItemInstance> getDroppedTickets()
|
||||
{
|
||||
return _droppedTickets;
|
||||
return DROPPED_TICKETS;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user