Additional checks for villagemasters.

Contributed by Sahar.
This commit is contained in:
MobiusDevelopment
2019-11-04 21:11:12 +00:00
parent a7d7160fce
commit 2fcb4b924e
9 changed files with 363 additions and 93 deletions

View File

@@ -840,32 +840,62 @@ public class VillageMasterInstance extends NpcInstance
subclasses = EnumSet.copyOf(mainSubclassSet);
subclasses.remove(pClass);
// Kamaels can only take Kamael classes as subclasses.
for (ClassId cid : ClassId.values())
if (player.getRace() == Race.KAMAEL)
{
if ((cid.getRace() == Race.KAMAEL) && (player.getRace() != Race.KAMAEL))
for (ClassId cid : ClassId.values())
{
subclasses.remove(cid);
if (cid.getRace() != Race.KAMAEL)
{
subclasses.remove(cid);
}
}
// if (player.getAppearance().isFemale())
// {
// subclasses.remove(ClassId.MALE_SOULBREAKER);
// }
// else
// {
// subclasses.remove(ClassId.FEMALE_SOULBREAKER);
// }
//
// if (!player.getSubClasses().containsKey(2) || (player.getSubClasses().get(2).getLevel() < 75))
// {
// subclasses.remove(ClassId.INSPECTOR);
// }
}
else
{
if (player.getRace() == Race.ELF)
{
for (ClassId cid : ClassId.values())
{
if (cid.getRace() == Race.DARK_ELF)
{
subclasses.remove(cid);
}
}
}
else if (player.getRace() == Race.DARK_ELF)
{
for (ClassId cid : ClassId.values())
{
if (cid.getRace() == Race.ELF)
{
subclasses.remove(cid);
}
}
}
for (ClassId cid : ClassId.values())
{
if (cid.getRace() == Race.KAMAEL)
{
subclasses.remove(cid);
}
}
}
// if (player.getRace() == Race.KAMAEL)
// {
// if (player.getAppearance().isFemale())
// {
// subclasses.remove(ClassId.MALE_SOULBREAKER);
// }
// else
// {
// subclasses.remove(ClassId.FEMALE_SOULBREAKER);
// }
//
// if (!player.getSubClasses().containsKey(2) || (player.getSubClasses().get(2).getLevel() < 75))
// {
// subclasses.remove(ClassId.INSPECTOR);
// }
// }
Set<ClassId> unavailableClasses = subclassSetMap.get(pClass);
if (unavailableClasses != null)
{