Sync with L2jOrg and various adjustments.
This commit is contained in:
@@ -45,7 +45,7 @@ public class DimensionalMerchant extends AbstractNpcAI
|
||||
private static final int ENH_MINION_COUPON_EV = 22240; // Enhanced Rose Spirit Coupon (5-hour) - Event
|
||||
// Misc
|
||||
private static final HashMap<String, Integer> MINION_EXCHANGE = new HashMap<>();
|
||||
|
||||
static
|
||||
{
|
||||
// Normal
|
||||
MINION_EXCHANGE.put("whiteWeasel", 13017); // White Weasel Minion Necklace
|
||||
|
@@ -90,12 +90,7 @@
|
||||
<class classId="116" name="Doom Cryer" parentClassId="52" />
|
||||
<class classId="117" name="Fortune Seeker" parentClassId="55" />
|
||||
<class classId="118" name="Maestro" parentClassId="57" />
|
||||
<!-- NPCs -->
|
||||
<class classId="119" name="World Trap" />
|
||||
<class classId="120" name="Player Trap" />
|
||||
<class classId="121" name="Double Ghost" />
|
||||
<class classId="122" name="Siege Attacker" />
|
||||
<!-- Third Classes Kamael -->
|
||||
<!-- Kamael -->
|
||||
<class classId="123" name="Male Kamael Soldier" />
|
||||
<class classId="124" name="Female Kamael Soldier" />
|
||||
<class classId="125" name="Trooper" parentClassId="123" />
|
||||
@@ -155,9 +150,9 @@
|
||||
<class classId="179" name="Aeore Cardinal" parentClassId="97" />
|
||||
<class classId="180" name="Aeore Eva's Saint" parentClassId="105" />
|
||||
<class classId="181" name="Aeore Shillien Saint" parentClassId="112" />
|
||||
<!-- Etheria -->
|
||||
<class classId="182" name="Etheria Fighter" />
|
||||
<class classId="183" name="Etheria Wizard" />
|
||||
<!-- Ertheia -->
|
||||
<class classId="182" name="Ertheia Fighter" />
|
||||
<class classId="183" name="Ertheia Wizard" />
|
||||
<class classId="184" name="Marauder" parentClassId="182" />
|
||||
<class classId="185" name="Cloud Breaker" parentClassId="183" />
|
||||
<class classId="186" name="Ripper" parentClassId="184" />
|
||||
|
@@ -38,7 +38,7 @@
|
||||
<height normal="18" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23702" level="101" type="Npc" name="L2Monster" title="Dragonclaw Royal Guard">
|
||||
<npc id="23702" level="101" type="Npc" name="Monster" title="Dragonclaw Royal Guard">
|
||||
<race>HUMAN</race>
|
||||
<sex>MALE</sex>
|
||||
<acquire exp="946520799" sp="1893101" />
|
||||
@@ -140,7 +140,7 @@
|
||||
</drop>
|
||||
</dropLists>
|
||||
</npc>
|
||||
<npc id="23705" level="101" type="Npc" name="L2Monster" title="Master of Flames">
|
||||
<npc id="23705" level="101" type="Npc" name="Monster" title="Master of Flames">
|
||||
<race>DEMONIC</race>
|
||||
<sex>MALE</sex>
|
||||
<acquire exp="1019330130" sp="2038669" />
|
||||
|
@@ -194,7 +194,7 @@ public class SkillTreesData implements IXmlReader
|
||||
if (attr != null)
|
||||
{
|
||||
cId = Integer.parseInt(attr.getNodeValue());
|
||||
classId = ClassId.values()[cId];
|
||||
classId = ClassId.getClassId(cId);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -219,7 +219,7 @@ public class SkillTreesData implements IXmlReader
|
||||
parentClassId = Integer.parseInt(attr.getNodeValue());
|
||||
if ((cId > -1) && (cId != parentClassId) && (parentClassId > -1) && !_parentClassMap.containsKey(classId))
|
||||
{
|
||||
_parentClassMap.put(classId, ClassId.values()[parentClassId]);
|
||||
_parentClassMap.put(classId, ClassId.getClassId(parentClassId));
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -252,6 +252,17 @@ public class WorldRegion
|
||||
public void setSurroundingRegions(WorldRegion[] regions)
|
||||
{
|
||||
_surroundingRegions = regions;
|
||||
|
||||
// Make sure that this region is always the first region to improve bulk operations when this region should be updated first.
|
||||
for (int i = 0; i < _surroundingRegions.length; i++)
|
||||
{
|
||||
if (_surroundingRegions[i] == this)
|
||||
{
|
||||
final WorldRegion first = _surroundingRegions[0];
|
||||
_surroundingRegions[0] = this;
|
||||
_surroundingRegions[i] = first;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public WorldRegion[] getSurroundingRegions()
|
||||
|
@@ -1257,7 +1257,7 @@ public class PlayerInstance extends Playable
|
||||
|
||||
public void setBaseClass(ClassId classId)
|
||||
{
|
||||
_baseClass = classId.ordinal();
|
||||
_baseClass = classId.getId();
|
||||
}
|
||||
|
||||
public boolean isInStoreMode()
|
||||
|
@@ -16,7 +16,9 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.model.base;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.Race;
|
||||
@@ -103,37 +105,6 @@ public enum ClassId implements IIdentifiable
|
||||
ARTISAN(56, false, Race.DWARF, DWARVEN_FIGHTER),
|
||||
WARSMITH(57, false, Race.DWARF, ARTISAN),
|
||||
|
||||
DUMMY_ENTRY_1(58, false, null, null),
|
||||
DUMMY_ENTRY_2(59, false, null, null),
|
||||
DUMMY_ENTRY_3(60, false, null, null),
|
||||
DUMMY_ENTRY_4(61, false, null, null),
|
||||
DUMMY_ENTRY_5(62, false, null, null),
|
||||
DUMMY_ENTRY_6(63, false, null, null),
|
||||
DUMMY_ENTRY_7(64, false, null, null),
|
||||
DUMMY_ENTRY_8(65, false, null, null),
|
||||
DUMMY_ENTRY_9(66, false, null, null),
|
||||
DUMMY_ENTRY_10(67, false, null, null),
|
||||
DUMMY_ENTRY_11(68, false, null, null),
|
||||
DUMMY_ENTRY_12(69, false, null, null),
|
||||
DUMMY_ENTRY_13(70, false, null, null),
|
||||
DUMMY_ENTRY_14(71, false, null, null),
|
||||
DUMMY_ENTRY_15(72, false, null, null),
|
||||
DUMMY_ENTRY_16(73, false, null, null),
|
||||
DUMMY_ENTRY_17(74, false, null, null),
|
||||
DUMMY_ENTRY_18(75, false, null, null),
|
||||
DUMMY_ENTRY_19(76, false, null, null),
|
||||
DUMMY_ENTRY_20(77, false, null, null),
|
||||
DUMMY_ENTRY_21(78, false, null, null),
|
||||
DUMMY_ENTRY_22(79, false, null, null),
|
||||
DUMMY_ENTRY_23(80, false, null, null),
|
||||
DUMMY_ENTRY_24(81, false, null, null),
|
||||
DUMMY_ENTRY_25(82, false, null, null),
|
||||
DUMMY_ENTRY_26(83, false, null, null),
|
||||
DUMMY_ENTRY_27(84, false, null, null),
|
||||
DUMMY_ENTRY_28(85, false, null, null),
|
||||
DUMMY_ENTRY_29(86, false, null, null),
|
||||
DUMMY_ENTRY_30(87, false, null, null),
|
||||
|
||||
DUELIST(88, false, Race.HUMAN, GLADIATOR),
|
||||
DREADNOUGHT(89, false, Race.HUMAN, WARLORD),
|
||||
PHOENIX_KNIGHT(90, false, Race.HUMAN, PALADIN),
|
||||
@@ -169,12 +140,7 @@ public enum ClassId implements IIdentifiable
|
||||
|
||||
FORTUNE_SEEKER(117, false, Race.DWARF, BOUNTY_HUNTER),
|
||||
MAESTRO(118, false, Race.DWARF, WARSMITH),
|
||||
|
||||
DUMMY_ENTRY_31(119, false, null, null),
|
||||
DUMMY_ENTRY_32(120, false, null, null),
|
||||
DUMMY_ENTRY_33(121, false, null, null),
|
||||
DUMMY_ENTRY_34(122, false, null, null),
|
||||
|
||||
|
||||
MALE_SOLDIER(123, false, Race.KAMAEL, null),
|
||||
FEMALE_SOLDIER(124, false, Race.KAMAEL, null),
|
||||
TROOPER(125, false, Race.KAMAEL, MALE_SOLDIER),
|
||||
@@ -189,10 +155,7 @@ public enum ClassId implements IIdentifiable
|
||||
TRICKSTER(134, false, Race.KAMAEL, ARBALESTER),
|
||||
INSPECTOR(135, false, Race.KAMAEL, WARDER),
|
||||
JUDICATOR(136, false, Race.KAMAEL, INSPECTOR),
|
||||
|
||||
DUMMY_ENTRY_35(137, false, null, null),
|
||||
DUMMY_ENTRY_36(138, false, null, null),
|
||||
|
||||
|
||||
SIGEL_KNIGHT(139, false, null, null),
|
||||
TYRR_WARRIOR(140, false, null, null),
|
||||
OTHELL_ROGUE(141, false, null, null),
|
||||
@@ -201,9 +164,7 @@ public enum ClassId implements IIdentifiable
|
||||
ISS_ENCHANTER(144, false, null, null),
|
||||
WYNN_SUMMONER(145, false, null, null),
|
||||
AEORE_HEALER(146, false, null, null),
|
||||
|
||||
DUMMY_ENTRY_37(147, false, null, null),
|
||||
|
||||
|
||||
SIGEL_PHOENIX_KNIGHT(148, false, Race.HUMAN, PHOENIX_KNIGHT),
|
||||
SIGEL_HELL_KNIGHT(149, false, Race.HUMAN, HELL_KNIGHT),
|
||||
SIGEL_EVA_TEMPLAR(150, false, Race.ELF, EVA_TEMPLAR),
|
||||
@@ -269,6 +230,20 @@ public enum ClassId implements IIdentifiable
|
||||
/** List of available Class for next transfer **/
|
||||
private final Set<ClassId> _nextClassIds = new HashSet<>(1);
|
||||
|
||||
private static Map<Integer, ClassId> _classIdMap = new HashMap<>(ClassId.values().length);
|
||||
static
|
||||
{
|
||||
for (ClassId classId : ClassId.values())
|
||||
{
|
||||
_classIdMap.put(classId.getId(), classId);
|
||||
}
|
||||
}
|
||||
|
||||
public static ClassId getClassId(int cId)
|
||||
{
|
||||
return _classIdMap.get(cId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Class constructor.
|
||||
* @param pId the class Id.
|
||||
@@ -363,7 +338,6 @@ public enum ClassId implements IIdentifiable
|
||||
}
|
||||
|
||||
return _parent.childOf(cid);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -413,18 +387,6 @@ public enum ClassId implements IIdentifiable
|
||||
return _nextClassIds;
|
||||
}
|
||||
|
||||
public static ClassId getClassId(int cId)
|
||||
{
|
||||
try
|
||||
{
|
||||
return ClassId.values()[cId];
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private final void addNextClassId(ClassId cId)
|
||||
{
|
||||
_nextClassIds.add(cId);
|
||||
|
Reference in New Issue
Block a user