Fixed probable PlayerStat SubClassHolder NPE.

This commit is contained in:
MobiusDevelopment
2022-02-15 22:18:18 +00:00
parent 3ac1a738ed
commit 72d6f38f82
23 changed files with 132 additions and 23 deletions

View File

@@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.actor.instance.Pet;
import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.EventDispatcher;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged;
import org.l2jmobius.gameserver.model.holders.ItemSkillHolder; import org.l2jmobius.gameserver.model.holders.ItemSkillHolder;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.item.type.WeaponType; import org.l2jmobius.gameserver.model.item.type.WeaponType;
import org.l2jmobius.gameserver.model.skill.AbnormalType; import org.l2jmobius.gameserver.model.skill.AbnormalType;
@@ -399,7 +400,11 @@ public class PlayerStat extends PlayableStat
} }
if (getActiveChar().isSubClassActive()) if (getActiveChar().isSubClassActive())
{ {
return getActiveChar().getSubClasses().get(getActiveChar().getClassIndex()).getLevel(); final SubClassHolder holder = getActiveChar().getSubClasses().get(getActiveChar().getClassIndex());
if (holder != null)
{
return holder.getLevel();
}
} }
return super.getLevel(); return super.getLevel();
} }

View File

@@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.actor.instance.Pet;
import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.EventDispatcher;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged;
import org.l2jmobius.gameserver.model.holders.ItemSkillHolder; import org.l2jmobius.gameserver.model.holders.ItemSkillHolder;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.item.type.WeaponType; import org.l2jmobius.gameserver.model.item.type.WeaponType;
import org.l2jmobius.gameserver.model.skill.AbnormalType; import org.l2jmobius.gameserver.model.skill.AbnormalType;
@@ -401,7 +402,11 @@ public class PlayerStat extends PlayableStat
} }
if (getActiveChar().isSubClassActive()) if (getActiveChar().isSubClassActive())
{ {
return getActiveChar().getSubClasses().get(getActiveChar().getClassIndex()).getLevel(); final SubClassHolder holder = getActiveChar().getSubClasses().get(getActiveChar().getClassIndex());
if (holder != null)
{
return holder.getLevel();
}
} }
return super.getLevel(); return super.getLevel();
} }

View File

@@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.actor.instance.Pet;
import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.EventDispatcher;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged;
import org.l2jmobius.gameserver.model.holders.ItemSkillHolder; import org.l2jmobius.gameserver.model.holders.ItemSkillHolder;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.item.type.WeaponType; import org.l2jmobius.gameserver.model.item.type.WeaponType;
import org.l2jmobius.gameserver.model.skill.AbnormalType; import org.l2jmobius.gameserver.model.skill.AbnormalType;
@@ -401,7 +402,11 @@ public class PlayerStat extends PlayableStat
} }
if (getActiveChar().isSubClassActive()) if (getActiveChar().isSubClassActive())
{ {
return getActiveChar().getSubClasses().get(getActiveChar().getClassIndex()).getLevel(); final SubClassHolder holder = getActiveChar().getSubClasses().get(getActiveChar().getClassIndex());
if (holder != null)
{
return holder.getLevel();
}
} }
return super.getLevel(); return super.getLevel();
} }

View File

@@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.actor.instance.Pet;
import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.EventDispatcher;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged;
import org.l2jmobius.gameserver.model.holders.ItemSkillHolder; import org.l2jmobius.gameserver.model.holders.ItemSkillHolder;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.item.type.WeaponType; import org.l2jmobius.gameserver.model.item.type.WeaponType;
import org.l2jmobius.gameserver.model.skill.AbnormalType; import org.l2jmobius.gameserver.model.skill.AbnormalType;
@@ -400,7 +401,11 @@ public class PlayerStat extends PlayableStat
} }
if (getActiveChar().isSubClassActive()) if (getActiveChar().isSubClassActive())
{ {
return getActiveChar().getSubClasses().get(getActiveChar().getClassIndex()).getLevel(); final SubClassHolder holder = getActiveChar().getSubClasses().get(getActiveChar().getClassIndex());
if (holder != null)
{
return holder.getLevel();
}
} }
return super.getLevel(); return super.getLevel();
} }

View File

@@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.Pet; import org.l2jmobius.gameserver.model.actor.instance.Pet;
import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.EventDispatcher;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.item.type.WeaponType; import org.l2jmobius.gameserver.model.item.type.WeaponType;
import org.l2jmobius.gameserver.model.skill.AbnormalType; import org.l2jmobius.gameserver.model.skill.AbnormalType;
@@ -392,7 +393,11 @@ public class PlayerStat extends PlayableStat
} }
if (getActiveChar().isSubClassActive()) if (getActiveChar().isSubClassActive())
{ {
return getActiveChar().getSubClasses().get(getActiveChar().getClassIndex()).getLevel(); final SubClassHolder holder = getActiveChar().getSubClasses().get(getActiveChar().getClassIndex());
if (holder != null)
{
return holder.getLevel();
}
} }
return super.getLevel(); return super.getLevel();
} }

View File

@@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.Pet; import org.l2jmobius.gameserver.model.actor.instance.Pet;
import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.EventDispatcher;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.item.type.WeaponType; import org.l2jmobius.gameserver.model.item.type.WeaponType;
import org.l2jmobius.gameserver.model.skill.AbnormalType; import org.l2jmobius.gameserver.model.skill.AbnormalType;
@@ -392,7 +393,11 @@ public class PlayerStat extends PlayableStat
} }
if (getActiveChar().isSubClassActive()) if (getActiveChar().isSubClassActive())
{ {
return getActiveChar().getSubClasses().get(getActiveChar().getClassIndex()).getLevel(); final SubClassHolder holder = getActiveChar().getSubClasses().get(getActiveChar().getClassIndex());
if (holder != null)
{
return holder.getLevel();
}
} }
return super.getLevel(); return super.getLevel();
} }

View File

@@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.Pet; import org.l2jmobius.gameserver.model.actor.instance.Pet;
import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.EventDispatcher;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.item.type.WeaponType; import org.l2jmobius.gameserver.model.item.type.WeaponType;
import org.l2jmobius.gameserver.model.skill.AbnormalType; import org.l2jmobius.gameserver.model.skill.AbnormalType;
@@ -392,7 +393,11 @@ public class PlayerStat extends PlayableStat
} }
if (getActiveChar().isSubClassActive()) if (getActiveChar().isSubClassActive())
{ {
return getActiveChar().getSubClasses().get(getActiveChar().getClassIndex()).getLevel(); final SubClassHolder holder = getActiveChar().getSubClasses().get(getActiveChar().getClassIndex());
if (holder != null)
{
return holder.getLevel();
}
} }
return super.getLevel(); return super.getLevel();
} }

View File

@@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.Pet; import org.l2jmobius.gameserver.model.actor.instance.Pet;
import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.EventDispatcher;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.item.type.WeaponType; import org.l2jmobius.gameserver.model.item.type.WeaponType;
import org.l2jmobius.gameserver.model.skill.AbnormalType; import org.l2jmobius.gameserver.model.skill.AbnormalType;
@@ -390,7 +391,11 @@ public class PlayerStat extends PlayableStat
} }
if (getActiveChar().isSubClassActive()) if (getActiveChar().isSubClassActive())
{ {
return getActiveChar().getSubClasses().get(getActiveChar().getClassIndex()).getLevel(); final SubClassHolder holder = getActiveChar().getSubClasses().get(getActiveChar().getClassIndex());
if (holder != null)
{
return holder.getLevel();
}
} }
return super.getLevel(); return super.getLevel();
} }

View File

@@ -391,7 +391,11 @@ public class PlayerStat extends PlayableStat
} }
if (getActiveChar().isSubClassActive()) if (getActiveChar().isSubClassActive())
{ {
return getActiveChar().getSubClasses().get(getActiveChar().getClassIndex()).getLevel(); final SubClassHolder holder = getActiveChar().getSubClasses().get(getActiveChar().getClassIndex());
if (holder != null)
{
return holder.getLevel();
}
} }
return super.getLevel(); return super.getLevel();
} }

View File

@@ -391,7 +391,11 @@ public class PlayerStat extends PlayableStat
} }
if (getActiveChar().isSubClassActive()) if (getActiveChar().isSubClassActive())
{ {
return getActiveChar().getSubClasses().get(getActiveChar().getClassIndex()).getLevel(); final SubClassHolder holder = getActiveChar().getSubClasses().get(getActiveChar().getClassIndex());
if (holder != null)
{
return holder.getLevel();
}
} }
return super.getLevel(); return super.getLevel();
} }

View File

@@ -391,7 +391,11 @@ public class PlayerStat extends PlayableStat
} }
if (getActiveChar().isSubClassActive()) if (getActiveChar().isSubClassActive())
{ {
return getActiveChar().getSubClasses().get(getActiveChar().getClassIndex()).getLevel(); final SubClassHolder holder = getActiveChar().getSubClasses().get(getActiveChar().getClassIndex());
if (holder != null)
{
return holder.getLevel();
}
} }
return super.getLevel(); return super.getLevel();
} }

View File

@@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.actor.instance.Pet;
import org.l2jmobius.gameserver.model.actor.transform.TransformTemplate; import org.l2jmobius.gameserver.model.actor.transform.TransformTemplate;
import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.EventDispatcher;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.stats.Formulas; import org.l2jmobius.gameserver.model.stats.Formulas;
import org.l2jmobius.gameserver.model.stats.MoveType; import org.l2jmobius.gameserver.model.stats.MoveType;
@@ -416,7 +417,11 @@ public class PlayerStat extends PlayableStat
{ {
if (getActiveChar().isSubClassActive()) if (getActiveChar().isSubClassActive())
{ {
return getActiveChar().getSubClasses().get(getActiveChar().getClassIndex()).getLevel(); final SubClassHolder holder = getActiveChar().getSubClasses().get(getActiveChar().getClassIndex());
if (holder != null)
{
return holder.getLevel();
}
} }
return super.getLevel(); return super.getLevel();
} }

View File

@@ -30,6 +30,7 @@ import org.l2jmobius.gameserver.model.actor.transform.TransformTemplate;
import org.l2jmobius.gameserver.model.effects.EffectType; import org.l2jmobius.gameserver.model.effects.EffectType;
import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.EventDispatcher;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.stats.Formulas; import org.l2jmobius.gameserver.model.stats.Formulas;
import org.l2jmobius.gameserver.model.stats.MoveType; import org.l2jmobius.gameserver.model.stats.MoveType;
@@ -467,7 +468,11 @@ public class PlayerStat extends PlayableStat
{ {
if (getActiveChar().isSubClassActive()) if (getActiveChar().isSubClassActive())
{ {
return getActiveChar().getSubClasses().get(getActiveChar().getClassIndex()).getLevel(); final SubClassHolder holder = getActiveChar().getSubClasses().get(getActiveChar().getClassIndex());
if (holder != null)
{
return holder.getLevel();
}
} }
return super.getLevel(); return super.getLevel();
} }

View File

@@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.actor.instance.Pet;
import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.EventDispatcher;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged;
import org.l2jmobius.gameserver.model.holders.ItemSkillHolder; import org.l2jmobius.gameserver.model.holders.ItemSkillHolder;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.item.type.WeaponType; import org.l2jmobius.gameserver.model.item.type.WeaponType;
import org.l2jmobius.gameserver.model.skill.AbnormalType; import org.l2jmobius.gameserver.model.skill.AbnormalType;
@@ -396,7 +397,11 @@ public class PlayerStat extends PlayableStat
} }
if (getActiveChar().isSubClassActive()) if (getActiveChar().isSubClassActive())
{ {
return getActiveChar().getSubClasses().get(getActiveChar().getClassIndex()).getLevel(); final SubClassHolder holder = getActiveChar().getSubClasses().get(getActiveChar().getClassIndex());
if (holder != null)
{
return holder.getLevel();
}
} }
return super.getLevel(); return super.getLevel();
} }

View File

@@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.actor.instance.Pet;
import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.EventDispatcher;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged;
import org.l2jmobius.gameserver.model.holders.ItemSkillHolder; import org.l2jmobius.gameserver.model.holders.ItemSkillHolder;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.item.type.WeaponType; import org.l2jmobius.gameserver.model.item.type.WeaponType;
import org.l2jmobius.gameserver.model.skill.AbnormalType; import org.l2jmobius.gameserver.model.skill.AbnormalType;
@@ -400,7 +401,11 @@ public class PlayerStat extends PlayableStat
} }
if (getActiveChar().isSubClassActive()) if (getActiveChar().isSubClassActive())
{ {
return getActiveChar().getSubClasses().get(getActiveChar().getClassIndex()).getLevel(); final SubClassHolder holder = getActiveChar().getSubClasses().get(getActiveChar().getClassIndex());
if (holder != null)
{
return holder.getLevel();
}
} }
return super.getLevel(); return super.getLevel();
} }

View File

@@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.actor.instance.Pet;
import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.EventDispatcher;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged;
import org.l2jmobius.gameserver.model.holders.ItemSkillHolder; import org.l2jmobius.gameserver.model.holders.ItemSkillHolder;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.item.type.WeaponType; import org.l2jmobius.gameserver.model.item.type.WeaponType;
import org.l2jmobius.gameserver.model.skill.AbnormalType; import org.l2jmobius.gameserver.model.skill.AbnormalType;
@@ -400,7 +401,11 @@ public class PlayerStat extends PlayableStat
} }
if (getActiveChar().isSubClassActive()) if (getActiveChar().isSubClassActive())
{ {
return getActiveChar().getSubClasses().get(getActiveChar().getClassIndex()).getLevel(); final SubClassHolder holder = getActiveChar().getSubClasses().get(getActiveChar().getClassIndex());
if (holder != null)
{
return holder.getLevel();
}
} }
return super.getLevel(); return super.getLevel();
} }

View File

@@ -30,6 +30,7 @@ import org.l2jmobius.gameserver.model.actor.instance.Pet;
import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.EventDispatcher;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged;
import org.l2jmobius.gameserver.model.holders.ItemSkillHolder; import org.l2jmobius.gameserver.model.holders.ItemSkillHolder;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.item.type.WeaponType; import org.l2jmobius.gameserver.model.item.type.WeaponType;
import org.l2jmobius.gameserver.model.skill.AbnormalType; import org.l2jmobius.gameserver.model.skill.AbnormalType;
@@ -401,7 +402,11 @@ public class PlayerStat extends PlayableStat
} }
if (getActiveChar().isSubClassActive()) if (getActiveChar().isSubClassActive())
{ {
return getActiveChar().getSubClasses().get(getActiveChar().getClassIndex()).getLevel(); final SubClassHolder holder = getActiveChar().getSubClasses().get(getActiveChar().getClassIndex());
if (holder != null)
{
return holder.getLevel();
}
} }
return super.getLevel(); return super.getLevel();
} }

View File

@@ -30,6 +30,7 @@ import org.l2jmobius.gameserver.model.actor.instance.Pet;
import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.EventDispatcher;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged;
import org.l2jmobius.gameserver.model.holders.ItemSkillHolder; import org.l2jmobius.gameserver.model.holders.ItemSkillHolder;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.item.type.WeaponType; import org.l2jmobius.gameserver.model.item.type.WeaponType;
import org.l2jmobius.gameserver.model.skill.AbnormalType; import org.l2jmobius.gameserver.model.skill.AbnormalType;
@@ -401,7 +402,11 @@ public class PlayerStat extends PlayableStat
} }
if (getActiveChar().isSubClassActive()) if (getActiveChar().isSubClassActive())
{ {
return getActiveChar().getSubClasses().get(getActiveChar().getClassIndex()).getLevel(); final SubClassHolder holder = getActiveChar().getSubClasses().get(getActiveChar().getClassIndex());
if (holder != null)
{
return holder.getLevel();
}
} }
return super.getLevel(); return super.getLevel();
} }

View File

@@ -30,6 +30,7 @@ import org.l2jmobius.gameserver.model.actor.instance.Pet;
import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.EventDispatcher;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged;
import org.l2jmobius.gameserver.model.holders.ItemSkillHolder; import org.l2jmobius.gameserver.model.holders.ItemSkillHolder;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.item.type.WeaponType; import org.l2jmobius.gameserver.model.item.type.WeaponType;
import org.l2jmobius.gameserver.model.skill.AbnormalType; import org.l2jmobius.gameserver.model.skill.AbnormalType;
@@ -399,7 +400,11 @@ public class PlayerStat extends PlayableStat
} }
if (getActiveChar().isSubClassActive()) if (getActiveChar().isSubClassActive())
{ {
return getActiveChar().getSubClasses().get(getActiveChar().getClassIndex()).getLevel(); final SubClassHolder holder = getActiveChar().getSubClasses().get(getActiveChar().getClassIndex());
if (holder != null)
{
return holder.getLevel();
}
} }
return super.getLevel(); return super.getLevel();
} }

View File

@@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.actor.instance.Pet;
import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.EventDispatcher;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged;
import org.l2jmobius.gameserver.model.holders.ItemSkillHolder; import org.l2jmobius.gameserver.model.holders.ItemSkillHolder;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.item.type.WeaponType; import org.l2jmobius.gameserver.model.item.type.WeaponType;
import org.l2jmobius.gameserver.model.skill.AbnormalType; import org.l2jmobius.gameserver.model.skill.AbnormalType;
@@ -400,7 +401,11 @@ public class PlayerStat extends PlayableStat
} }
if (getActiveChar().isSubClassActive()) if (getActiveChar().isSubClassActive())
{ {
return getActiveChar().getSubClasses().get(getActiveChar().getClassIndex()).getLevel(); final SubClassHolder holder = getActiveChar().getSubClasses().get(getActiveChar().getClassIndex());
if (holder != null)
{
return holder.getLevel();
}
} }
return super.getLevel(); return super.getLevel();
} }

View File

@@ -401,7 +401,11 @@ public class PlayerStat extends PlayableStat
} }
if (getActiveChar().isSubClassActive()) if (getActiveChar().isSubClassActive())
{ {
return getActiveChar().getSubClasses().get(getActiveChar().getClassIndex()).getLevel(); final SubClassHolder holder = getActiveChar().getSubClasses().get(getActiveChar().getClassIndex());
if (holder != null)
{
return holder.getLevel();
}
} }
return super.getLevel(); return super.getLevel();
} }

View File

@@ -401,7 +401,11 @@ public class PlayerStat extends PlayableStat
} }
if (getActiveChar().isSubClassActive()) if (getActiveChar().isSubClassActive())
{ {
return getActiveChar().getSubClasses().get(getActiveChar().getClassIndex()).getLevel(); final SubClassHolder holder = getActiveChar().getSubClasses().get(getActiveChar().getClassIndex());
if (holder != null)
{
return holder.getLevel();
}
} }
return super.getLevel(); return super.getLevel();
} }

View File

@@ -401,7 +401,11 @@ public class PlayerStat extends PlayableStat
} }
if (getActiveChar().isSubClassActive()) if (getActiveChar().isSubClassActive())
{ {
return getActiveChar().getSubClasses().get(getActiveChar().getClassIndex()).getLevel(); final SubClassHolder holder = getActiveChar().getSubClasses().get(getActiveChar().getClassIndex());
if (holder != null)
{
return holder.getLevel();
}
} }
return super.getLevel(); return super.getLevel();
} }