Player subclass list is always initialized.

This commit is contained in:
MobiusDevelopment 2019-05-14 21:16:20 +00:00
parent 5f6aaa1080
commit 574fbd3927
14 changed files with 182 additions and 168 deletions

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}