Retail Agent of Chaos behavior.
This commit is contained in:
@@ -775,6 +775,8 @@ public final class Config
|
||||
// --------------------------------------------------
|
||||
public static boolean HARDIN_ENABLE_ALL_RACES;
|
||||
public static boolean HARDIN_ENABLE_ALL_SPECS;
|
||||
public static boolean HARDIN_SAME_AWAKEN_GROUP;
|
||||
public static boolean HARDIN_RETAIL_LIMITATIONS;
|
||||
public static boolean HARDIN_ENABLE_DUALCLASS_CHECKS;
|
||||
public static boolean HARDIN_ENABLE_ERTHEIAS;
|
||||
|
||||
@@ -1458,8 +1460,10 @@ public final class Config
|
||||
FEE_DELETE_SUBCLASS_SKILLS = Character.getInt("FeeDeleteSubClassSkills", 10000000);
|
||||
FEE_DELETE_DUALCLASS_SKILLS = Character.getInt("FeeDeleteDualClassSkills", 20000000);
|
||||
ENABLE_VITALITY = Character.getBoolean("EnableVitality", true);
|
||||
HARDIN_ENABLE_ALL_RACES = Character.getBoolean("HardinEnableAllRaces", false);
|
||||
HARDIN_ENABLE_ALL_RACES = Character.getBoolean("HardinEnableAllRaces", true);
|
||||
HARDIN_ENABLE_ALL_SPECS = Character.getBoolean("HardinEnableAllSpecs", false);
|
||||
HARDIN_SAME_AWAKEN_GROUP = Character.getBoolean("HardinSameAwakenGroup", true);
|
||||
HARDIN_RETAIL_LIMITATIONS = Character.getBoolean("HardinRetailLimitations", true);
|
||||
HARDIN_ENABLE_DUALCLASS_CHECKS = Character.getBoolean("HardinEnableDualClassChecks", true);
|
||||
HARDIN_ENABLE_ERTHEIAS = Character.getBoolean("HardinEnableErtheias", false);
|
||||
STARTING_VITALITY_POINTS = Character.getInt("StartingVitalityPoints", 140000);
|
||||
|
@@ -436,6 +436,8 @@ public final class L2PcInstance extends L2Playable
|
||||
/** The list of sub-classes this character has. */
|
||||
private volatile Map<Integer, SubClass> _subClasses;
|
||||
|
||||
private static final String ORIGINAL_CLASS_VAR = "OriginalClass";
|
||||
|
||||
private final PcAppearance _appearance;
|
||||
|
||||
/** The Experience of the L2PcInstance before the last Death Penalty */
|
||||
@@ -1173,9 +1175,29 @@ public final class L2PcInstance extends L2Playable
|
||||
*/
|
||||
public final L2PcTemplate getBaseTemplate()
|
||||
{
|
||||
final ClassId originalClass = getOriginalClass();
|
||||
if (originalClass != null)
|
||||
{
|
||||
return PlayerTemplateData.getInstance().getTemplate(originalClass.getId());
|
||||
}
|
||||
return PlayerTemplateData.getInstance().getTemplate(_baseClass);
|
||||
}
|
||||
|
||||
public ClassId getOriginalClass()
|
||||
{
|
||||
return getVariables().getEnum(ORIGINAL_CLASS_VAR, ClassId.class, null);
|
||||
}
|
||||
|
||||
public void setOriginalClass(ClassId newClass)
|
||||
{
|
||||
getVariables().set(ORIGINAL_CLASS_VAR, newClass);
|
||||
}
|
||||
|
||||
public void resetOriginalClass()
|
||||
{
|
||||
getVariables().remove(ORIGINAL_CLASS_VAR);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the L2PcTemplate link to the L2PcInstance.
|
||||
*/
|
||||
@@ -2656,6 +2678,11 @@ public final class L2PcInstance extends L2Playable
|
||||
{
|
||||
if (!isSubClassActive())
|
||||
{
|
||||
final ClassId originalClass = getOriginalClass();
|
||||
if (originalClass != null)
|
||||
{
|
||||
return originalClass.getRace();
|
||||
}
|
||||
return getTemplate().getRace();
|
||||
}
|
||||
return PlayerTemplateData.getInstance().getTemplate(_baseClass).getRace();
|
||||
|
@@ -147,7 +147,7 @@ public class UserInfo extends AbstractMaskPacket<UserInfoType>
|
||||
packet.writeC(_activeChar.isGM() ? 0x01 : 0x00);
|
||||
packet.writeC(_activeChar.getRace().ordinal());
|
||||
packet.writeC(_activeChar.getAppearance().getSex() ? 0x01 : 0x00);
|
||||
packet.writeD(ClassId.getClassId(_activeChar.getBaseClass()).getRootClassId().getId());
|
||||
packet.writeD(ClassId.getClassId(_activeChar.getBaseTemplate().getClassId().getId()).getRootClassId().getId());
|
||||
packet.writeD(_activeChar.getClassId().getId());
|
||||
packet.writeC(_activeChar.getLevel());
|
||||
}
|
||||
|
Reference in New Issue
Block a user