Player subclass list is always initialized.
This commit is contained in:
@ -436,7 +436,7 @@ public final class PlayerInstance extends Playable
|
||||
private boolean _petItems = false;
|
||||
|
||||
/** The list of sub-classes this character has. */
|
||||
private volatile Map<Integer, SubClass> _subClasses;
|
||||
private final Map<Integer, SubClass> _subClasses = new ConcurrentHashMap<>();
|
||||
|
||||
private static final String ORIGINAL_CLASS_VAR = "OriginalClass";
|
||||
|
||||
@ -9795,7 +9795,20 @@ public final class PlayerInstance extends Playable
|
||||
|
||||
public boolean isDualClassActive()
|
||||
{
|
||||
return isSubClassActive() && getSubClasses().get(_classIndex).isDualClass();
|
||||
if (!isSubClassActive())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (_subClasses.isEmpty())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
final SubClass subClass = _subClasses.get(_classIndex);
|
||||
if (subClass == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return subClass.isDualClass();
|
||||
}
|
||||
|
||||
public boolean hasDualClass()
|
||||
@ -9810,17 +9823,6 @@ public final class PlayerInstance extends Playable
|
||||
|
||||
public Map<Integer, SubClass> getSubClasses()
|
||||
{
|
||||
if (_subClasses == null)
|
||||
{
|
||||
synchronized (this)
|
||||
{
|
||||
if (_subClasses == null)
|
||||
{
|
||||
_subClasses = new ConcurrentHashMap<>();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return _subClasses;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user