That forces the race to change even if it exists.
Also I see no point on not adding race skill to NPC. (removed the continue)
Try this if you can.
Index: java/org/l2jmobius/gameserver/data/sql/NpcTable.java
===================================================================
--- java/org/l2jmobius/gameserver/data/sql/NpcTable.java (revision 8154)
+++ java/org/l2jmobius/gameserver/data/sql/NpcTable.java (working copy)
@@ -36,6 +36,7 @@
import org.l2jmobius.gameserver.model.Skill;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate;
+import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate.Race;
import org.l2jmobius.gameserver.model.skills.BaseStat;
import org.l2jmobius.gameserver.model.skills.Stat;
@@ -105,16 +106,19 @@
final int skillId = npcskills.getInt("skillid");
final int level = npcskills.getInt("level");
- if ((npcDat.getRace() == null) && (skillId == 4416))
+ npcSkill = SkillTable.getInstance().getSkill(skillId, level);
+ if (npcSkill == null)
{
- npcDat.setRace(level);
continue;
}
- npcSkill = SkillTable.getInstance().getSkill(skillId, level);
- if (npcSkill == null)
+ if (skillId == 4416)
{
- continue;
+ final Race race = npcDat.getRace();
+ if ((race == null) || (race == Race.UNKNOWN))
+ {
+ npcDat.setRace(level);
+ }
}
npcDat.addSkill(npcSkill);