Player subclass list is always initialized.
This commit is contained in:
parent
5f6aaa1080
commit
574fbd3927
@ -434,7 +434,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";
|
||||
|
||||
@ -9788,7 +9788,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()
|
||||
@ -9803,17 +9816,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;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -438,7 +438,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";
|
||||
|
||||
@ -9797,7 +9797,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()
|
||||
@ -9812,17 +9825,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;
|
||||
}
|
||||
|
||||
|
@ -443,7 +443,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";
|
||||
|
||||
@ -9791,7 +9791,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()
|
||||
@ -9806,17 +9819,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;
|
||||
}
|
||||
|
||||
|
@ -441,7 +441,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";
|
||||
|
||||
@ -9781,7 +9781,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()
|
||||
@ -9796,17 +9809,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;
|
||||
}
|
||||
|
||||
|
@ -441,7 +441,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";
|
||||
|
||||
@ -9781,7 +9781,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()
|
||||
@ -9796,17 +9809,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;
|
||||
}
|
||||
|
||||
|
@ -441,7 +441,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";
|
||||
|
||||
@ -9787,7 +9787,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()
|
||||
@ -9802,17 +9815,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;
|
||||
}
|
||||
|
||||
|
@ -302,7 +302,7 @@ public final class PlayerInstance extends Playable
|
||||
protected int _classIndex = 0;
|
||||
private boolean _first_log;
|
||||
private int pcBangPoint = 0;
|
||||
private Map<Integer, SubClass> _subClasses;
|
||||
private final Map<Integer, SubClass> _subClasses = new ConcurrentHashMap<>();
|
||||
private PlayerAppearance _appearance;
|
||||
private int _charId = 0x00030b7a;
|
||||
private long _expBeforeDeath;
|
||||
@ -13611,11 +13611,6 @@ public final class PlayerInstance extends Playable
|
||||
*/
|
||||
public Map<Integer, SubClass> getSubClasses()
|
||||
{
|
||||
if (_subClasses == null)
|
||||
{
|
||||
_subClasses = new HashMap<>();
|
||||
}
|
||||
|
||||
return _subClasses;
|
||||
}
|
||||
|
||||
|
@ -437,7 +437,7 @@ public final class PlayerInstance extends Playable
|
||||
private boolean _petItems = false;
|
||||
|
||||
/** The list of sub-classes this character has. */
|
||||
private Map<Integer, SubClass> _subClasses;
|
||||
private final Map<Integer, SubClass> _subClasses = new ConcurrentHashMap<>();
|
||||
|
||||
private final PlayerAppearance _appearance;
|
||||
|
||||
@ -10280,11 +10280,6 @@ public final class PlayerInstance extends Playable
|
||||
|
||||
public Map<Integer, SubClass> getSubClasses()
|
||||
{
|
||||
if (_subClasses == null)
|
||||
{
|
||||
_subClasses = new ConcurrentSkipListMap<>();
|
||||
}
|
||||
|
||||
return _subClasses;
|
||||
}
|
||||
|
||||
|
@ -435,7 +435,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 final PlayerAppearance _appearance;
|
||||
|
||||
@ -9723,7 +9723,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()
|
||||
@ -9738,17 +9751,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;
|
||||
}
|
||||
|
||||
|
@ -435,7 +435,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 final PlayerAppearance _appearance;
|
||||
|
||||
@ -9730,7 +9730,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()
|
||||
@ -9745,17 +9758,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;
|
||||
}
|
||||
|
||||
|
@ -433,7 +433,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 final PlayerAppearance _appearance;
|
||||
|
||||
@ -9715,7 +9715,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()
|
||||
@ -9730,17 +9743,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;
|
||||
}
|
||||
|
||||
|
@ -433,7 +433,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 final PlayerAppearance _appearance;
|
||||
|
||||
@ -9715,7 +9715,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()
|
||||
@ -9730,17 +9743,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;
|
||||
}
|
||||
|
||||
|
@ -433,7 +433,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 final PlayerAppearance _appearance;
|
||||
|
||||
@ -9715,7 +9715,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()
|
||||
@ -9730,17 +9743,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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user