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