|
@@ -42,6 +42,7 @@ import java.util.EnumMap;
|
|
|
import java.util.EnumSet;
|
|
|
import java.util.Set;
|
|
|
|
|
|
+import com.l2jserver.Config;
|
|
|
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
|
|
|
|
|
|
|
@@ -289,11 +290,16 @@ public enum PlayerClass
|
|
|
{
|
|
|
subclasses = getSet(Kamael, Third);
|
|
|
subclasses.remove(this);
|
|
|
- //Check sex, male subclasses female and vice versa
|
|
|
- if (player.getAppearance().getSex())
|
|
|
- subclasses.removeAll(EnumSet.of(femaleSoulbreaker));
|
|
|
- else
|
|
|
- subclasses.removeAll(EnumSet.of(maleSoulbreaker));
|
|
|
+ // Check sex, male subclasses female and vice versa
|
|
|
+ // If server owner set MaxSubclass > 3 some kamael's cannot take 4 sub
|
|
|
+ // So, in that situation we must skip sex check
|
|
|
+ if (Config.MAX_SUBCLASS <= 3)
|
|
|
+ {
|
|
|
+ if (player.getAppearance().getSex())
|
|
|
+ subclasses.removeAll(EnumSet.of(femaleSoulbreaker));
|
|
|
+ else
|
|
|
+ subclasses.removeAll(EnumSet.of(maleSoulbreaker));
|
|
|
+ }
|
|
|
if (player.getTotalSubClasses() < 2)
|
|
|
subclasses.removeAll(EnumSet.of(inspector));
|
|
|
}
|