Prevent NPE from missing symbol seal data.

This commit is contained in:
MobiusDevelopment
2022-07-02 21:13:42 +00:00
parent 2dbb12a234
commit 5737d9353e
10 changed files with 100 additions and 15 deletions

View File

@@ -80,7 +80,16 @@ public class SymbolSealData implements IXmlReader
public Skill getSkill(int classId, int symbolId)
{
return _data.get(classId).get(symbolId).getSkill();
final List<SymbolSealHolder> data = _data.get(classId);
if (data != null)
{
final SymbolSealHolder symbol = data.get(symbolId);
if (symbol != null)
{
return symbol.getSkill();
}
}
return null;
}
public static SymbolSealData getInstance()

View File

@@ -7017,7 +7017,11 @@ public class Player extends Playable
{
for (int i = 0; i < 3; i++)
{
removeSkill(SymbolSealData.getInstance().getSkill(classId, i));
final Skill skill = SymbolSealData.getInstance().getSkill(classId, i);
if (skill != null)
{
removeSkill(skill);
}
}
}
}
@@ -7051,7 +7055,11 @@ public class Player extends Playable
}
for (int i = 0; i < usedSlots; i++)
{
addSkill(SymbolSealData.getInstance().getSkill(classId, i));
final Skill skill = SymbolSealData.getInstance().getSkill(classId, i);
if (skill != null)
{
addSkill(skill);
}
}
}
}