Additional checks for villagemasters.
Contributed by Sahar.
This commit is contained in:
@@ -856,17 +856,16 @@ public class VillageMasterInstance extends NpcInstance
|
|||||||
subclasses = EnumSet.copyOf(mainSubclassSet);
|
subclasses = EnumSet.copyOf(mainSubclassSet);
|
||||||
subclasses.remove(pClass);
|
subclasses.remove(pClass);
|
||||||
|
|
||||||
// Kamaels can only take Kamael classes as subclasses.
|
|
||||||
for (ClassId cid : ClassId.values())
|
|
||||||
{
|
|
||||||
if ((cid.getRace() == Race.KAMAEL) && (player.getRace() != Race.KAMAEL))
|
|
||||||
{
|
|
||||||
subclasses.remove(cid);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (player.getRace() == Race.KAMAEL)
|
if (player.getRace() == Race.KAMAEL)
|
||||||
{
|
{
|
||||||
|
for (ClassId cid : ClassId.values())
|
||||||
|
{
|
||||||
|
if (cid.getRace() != Race.KAMAEL)
|
||||||
|
{
|
||||||
|
subclasses.remove(cid);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (player.getAppearance().isFemale())
|
if (player.getAppearance().isFemale())
|
||||||
{
|
{
|
||||||
subclasses.remove(ClassId.MALE_SOULBREAKER);
|
subclasses.remove(ClassId.MALE_SOULBREAKER);
|
||||||
@@ -881,6 +880,37 @@ public class VillageMasterInstance extends NpcInstance
|
|||||||
subclasses.remove(ClassId.INSPECTOR);
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Set<ClassId> unavailableClasses = subclassSetMap.get(pClass);
|
Set<ClassId> unavailableClasses = subclassSetMap.get(pClass);
|
||||||
if (unavailableClasses != null)
|
if (unavailableClasses != null)
|
||||||
|
@@ -856,17 +856,16 @@ public class VillageMasterInstance extends NpcInstance
|
|||||||
subclasses = EnumSet.copyOf(mainSubclassSet);
|
subclasses = EnumSet.copyOf(mainSubclassSet);
|
||||||
subclasses.remove(pClass);
|
subclasses.remove(pClass);
|
||||||
|
|
||||||
// Kamaels can only take Kamael classes as subclasses.
|
|
||||||
for (ClassId cid : ClassId.values())
|
|
||||||
{
|
|
||||||
if ((cid.getRace() == Race.KAMAEL) && (player.getRace() != Race.KAMAEL))
|
|
||||||
{
|
|
||||||
subclasses.remove(cid);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (player.getRace() == Race.KAMAEL)
|
if (player.getRace() == Race.KAMAEL)
|
||||||
{
|
{
|
||||||
|
for (ClassId cid : ClassId.values())
|
||||||
|
{
|
||||||
|
if (cid.getRace() != Race.KAMAEL)
|
||||||
|
{
|
||||||
|
subclasses.remove(cid);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (player.getAppearance().isFemale())
|
if (player.getAppearance().isFemale())
|
||||||
{
|
{
|
||||||
subclasses.remove(ClassId.MALE_SOULBREAKER);
|
subclasses.remove(ClassId.MALE_SOULBREAKER);
|
||||||
@@ -881,6 +880,37 @@ public class VillageMasterInstance extends NpcInstance
|
|||||||
subclasses.remove(ClassId.INSPECTOR);
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Set<ClassId> unavailableClasses = subclassSetMap.get(pClass);
|
Set<ClassId> unavailableClasses = subclassSetMap.get(pClass);
|
||||||
if (unavailableClasses != null)
|
if (unavailableClasses != null)
|
||||||
|
@@ -840,17 +840,16 @@ public class VillageMasterInstance extends NpcInstance
|
|||||||
subclasses = EnumSet.copyOf(mainSubclassSet);
|
subclasses = EnumSet.copyOf(mainSubclassSet);
|
||||||
subclasses.remove(pClass);
|
subclasses.remove(pClass);
|
||||||
|
|
||||||
// Kamaels can only take Kamael classes as subclasses.
|
|
||||||
for (ClassId cid : ClassId.values())
|
|
||||||
{
|
|
||||||
if ((cid.getRace() == Race.KAMAEL) && (player.getRace() != Race.KAMAEL))
|
|
||||||
{
|
|
||||||
subclasses.remove(cid);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (player.getRace() == Race.KAMAEL)
|
if (player.getRace() == Race.KAMAEL)
|
||||||
{
|
{
|
||||||
|
for (ClassId cid : ClassId.values())
|
||||||
|
{
|
||||||
|
if (cid.getRace() != Race.KAMAEL)
|
||||||
|
{
|
||||||
|
subclasses.remove(cid);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (player.getAppearance().isFemale())
|
if (player.getAppearance().isFemale())
|
||||||
{
|
{
|
||||||
subclasses.remove(ClassId.MALE_SOULBREAKER);
|
subclasses.remove(ClassId.MALE_SOULBREAKER);
|
||||||
@@ -865,6 +864,37 @@ public class VillageMasterInstance extends NpcInstance
|
|||||||
subclasses.remove(ClassId.INSPECTOR);
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Set<ClassId> unavailableClasses = subclassSetMap.get(pClass);
|
Set<ClassId> unavailableClasses = subclassSetMap.get(pClass);
|
||||||
if (unavailableClasses != null)
|
if (unavailableClasses != null)
|
||||||
|
@@ -840,17 +840,16 @@ public class VillageMasterInstance extends NpcInstance
|
|||||||
subclasses = EnumSet.copyOf(mainSubclassSet);
|
subclasses = EnumSet.copyOf(mainSubclassSet);
|
||||||
subclasses.remove(pClass);
|
subclasses.remove(pClass);
|
||||||
|
|
||||||
// Kamaels can only take Kamael classes as subclasses.
|
|
||||||
for (ClassId cid : ClassId.values())
|
|
||||||
{
|
|
||||||
if ((cid.getRace() == Race.KAMAEL) && (player.getRace() != Race.KAMAEL))
|
|
||||||
{
|
|
||||||
subclasses.remove(cid);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (player.getRace() == Race.KAMAEL)
|
if (player.getRace() == Race.KAMAEL)
|
||||||
{
|
{
|
||||||
|
for (ClassId cid : ClassId.values())
|
||||||
|
{
|
||||||
|
if (cid.getRace() != Race.KAMAEL)
|
||||||
|
{
|
||||||
|
subclasses.remove(cid);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (player.getAppearance().isFemale())
|
if (player.getAppearance().isFemale())
|
||||||
{
|
{
|
||||||
subclasses.remove(ClassId.MALE_SOULBREAKER);
|
subclasses.remove(ClassId.MALE_SOULBREAKER);
|
||||||
@@ -865,6 +864,37 @@ public class VillageMasterInstance extends NpcInstance
|
|||||||
subclasses.remove(ClassId.INSPECTOR);
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Set<ClassId> unavailableClasses = subclassSetMap.get(pClass);
|
Set<ClassId> unavailableClasses = subclassSetMap.get(pClass);
|
||||||
if (unavailableClasses != null)
|
if (unavailableClasses != null)
|
||||||
|
@@ -840,17 +840,16 @@ public class VillageMasterInstance extends NpcInstance
|
|||||||
subclasses = EnumSet.copyOf(mainSubclassSet);
|
subclasses = EnumSet.copyOf(mainSubclassSet);
|
||||||
subclasses.remove(pClass);
|
subclasses.remove(pClass);
|
||||||
|
|
||||||
// Kamaels can only take Kamael classes as subclasses.
|
|
||||||
for (ClassId cid : ClassId.values())
|
|
||||||
{
|
|
||||||
if ((cid.getRace() == Race.KAMAEL) && (player.getRace() != Race.KAMAEL))
|
|
||||||
{
|
|
||||||
subclasses.remove(cid);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (player.getRace() == Race.KAMAEL)
|
if (player.getRace() == Race.KAMAEL)
|
||||||
{
|
{
|
||||||
|
for (ClassId cid : ClassId.values())
|
||||||
|
{
|
||||||
|
if (cid.getRace() != Race.KAMAEL)
|
||||||
|
{
|
||||||
|
subclasses.remove(cid);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (player.getAppearance().isFemale())
|
if (player.getAppearance().isFemale())
|
||||||
{
|
{
|
||||||
subclasses.remove(ClassId.MALE_SOULBREAKER);
|
subclasses.remove(ClassId.MALE_SOULBREAKER);
|
||||||
@@ -865,6 +864,37 @@ public class VillageMasterInstance extends NpcInstance
|
|||||||
subclasses.remove(ClassId.INSPECTOR);
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Set<ClassId> unavailableClasses = subclassSetMap.get(pClass);
|
Set<ClassId> unavailableClasses = subclassSetMap.get(pClass);
|
||||||
if (unavailableClasses != null)
|
if (unavailableClasses != null)
|
||||||
|
@@ -840,17 +840,16 @@ public class VillageMasterInstance extends NpcInstance
|
|||||||
subclasses = EnumSet.copyOf(mainSubclassSet);
|
subclasses = EnumSet.copyOf(mainSubclassSet);
|
||||||
subclasses.remove(pClass);
|
subclasses.remove(pClass);
|
||||||
|
|
||||||
// Kamaels can only take Kamael classes as subclasses.
|
|
||||||
for (ClassId cid : ClassId.values())
|
|
||||||
{
|
|
||||||
if ((cid.getRace() == Race.KAMAEL) && (player.getRace() != Race.KAMAEL))
|
|
||||||
{
|
|
||||||
subclasses.remove(cid);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (player.getRace() == Race.KAMAEL)
|
if (player.getRace() == Race.KAMAEL)
|
||||||
{
|
{
|
||||||
|
for (ClassId cid : ClassId.values())
|
||||||
|
{
|
||||||
|
if (cid.getRace() != Race.KAMAEL)
|
||||||
|
{
|
||||||
|
subclasses.remove(cid);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (player.getAppearance().isFemale())
|
if (player.getAppearance().isFemale())
|
||||||
{
|
{
|
||||||
subclasses.remove(ClassId.MALE_SOULBREAKER);
|
subclasses.remove(ClassId.MALE_SOULBREAKER);
|
||||||
@@ -865,6 +864,37 @@ public class VillageMasterInstance extends NpcInstance
|
|||||||
subclasses.remove(ClassId.INSPECTOR);
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Set<ClassId> unavailableClasses = subclassSetMap.get(pClass);
|
Set<ClassId> unavailableClasses = subclassSetMap.get(pClass);
|
||||||
if (unavailableClasses != null)
|
if (unavailableClasses != null)
|
||||||
|
@@ -840,17 +840,16 @@ public class VillageMasterInstance extends NpcInstance
|
|||||||
subclasses = EnumSet.copyOf(mainSubclassSet);
|
subclasses = EnumSet.copyOf(mainSubclassSet);
|
||||||
subclasses.remove(pClass);
|
subclasses.remove(pClass);
|
||||||
|
|
||||||
// Kamaels can only take Kamael classes as subclasses.
|
|
||||||
for (ClassId cid : ClassId.values())
|
|
||||||
{
|
|
||||||
if ((cid.getRace() == Race.KAMAEL) && (player.getRace() != Race.KAMAEL))
|
|
||||||
{
|
|
||||||
subclasses.remove(cid);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (player.getRace() == Race.KAMAEL)
|
if (player.getRace() == Race.KAMAEL)
|
||||||
{
|
{
|
||||||
|
for (ClassId cid : ClassId.values())
|
||||||
|
{
|
||||||
|
if (cid.getRace() != Race.KAMAEL)
|
||||||
|
{
|
||||||
|
subclasses.remove(cid);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (player.getAppearance().isFemale())
|
if (player.getAppearance().isFemale())
|
||||||
{
|
{
|
||||||
subclasses.remove(ClassId.MALE_SOULBREAKER);
|
subclasses.remove(ClassId.MALE_SOULBREAKER);
|
||||||
@@ -865,6 +864,37 @@ public class VillageMasterInstance extends NpcInstance
|
|||||||
subclasses.remove(ClassId.INSPECTOR);
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Set<ClassId> unavailableClasses = subclassSetMap.get(pClass);
|
Set<ClassId> unavailableClasses = subclassSetMap.get(pClass);
|
||||||
if (unavailableClasses != null)
|
if (unavailableClasses != null)
|
||||||
|
@@ -840,32 +840,62 @@ public class VillageMasterInstance extends NpcInstance
|
|||||||
subclasses = EnumSet.copyOf(mainSubclassSet);
|
subclasses = EnumSet.copyOf(mainSubclassSet);
|
||||||
subclasses.remove(pClass);
|
subclasses.remove(pClass);
|
||||||
|
|
||||||
// Kamaels can only take Kamael classes as subclasses.
|
if (player.getRace() == Race.KAMAEL)
|
||||||
for (ClassId cid : ClassId.values())
|
|
||||||
{
|
{
|
||||||
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);
|
Set<ClassId> unavailableClasses = subclassSetMap.get(pClass);
|
||||||
if (unavailableClasses != null)
|
if (unavailableClasses != null)
|
||||||
{
|
{
|
||||||
|
@@ -840,17 +840,16 @@ public class VillageMasterInstance extends NpcInstance
|
|||||||
subclasses = EnumSet.copyOf(mainSubclassSet);
|
subclasses = EnumSet.copyOf(mainSubclassSet);
|
||||||
subclasses.remove(pClass);
|
subclasses.remove(pClass);
|
||||||
|
|
||||||
// Kamaels can only take Kamael classes as subclasses.
|
|
||||||
for (ClassId cid : ClassId.values())
|
|
||||||
{
|
|
||||||
if ((cid.getRace() == Race.KAMAEL) && (player.getRace() != Race.KAMAEL))
|
|
||||||
{
|
|
||||||
subclasses.remove(cid);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (player.getRace() == Race.KAMAEL)
|
if (player.getRace() == Race.KAMAEL)
|
||||||
{
|
{
|
||||||
|
for (ClassId cid : ClassId.values())
|
||||||
|
{
|
||||||
|
if (cid.getRace() != Race.KAMAEL)
|
||||||
|
{
|
||||||
|
subclasses.remove(cid);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (player.getAppearance().isFemale())
|
if (player.getAppearance().isFemale())
|
||||||
{
|
{
|
||||||
subclasses.remove(ClassId.MALE_SOULBREAKER);
|
subclasses.remove(ClassId.MALE_SOULBREAKER);
|
||||||
@@ -865,6 +864,37 @@ public class VillageMasterInstance extends NpcInstance
|
|||||||
subclasses.remove(ClassId.INSPECTOR);
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Set<ClassId> unavailableClasses = subclassSetMap.get(pClass);
|
Set<ClassId> unavailableClasses = subclassSetMap.get(pClass);
|
||||||
if (unavailableClasses != null)
|
if (unavailableClasses != null)
|
||||||
|
Reference in New Issue
Block a user