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.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)
|
||||
{
|
||||
for (ClassId cid : ClassId.values())
|
||||
{
|
||||
if (cid.getRace() != Race.KAMAEL)
|
||||
{
|
||||
subclasses.remove(cid);
|
||||
}
|
||||
}
|
||||
|
||||
if (player.getAppearance().isFemale())
|
||||
{
|
||||
subclasses.remove(ClassId.MALE_SOULBREAKER);
|
||||
@@ -881,6 +880,37 @@ public class VillageMasterInstance extends NpcInstance
|
||||
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);
|
||||
if (unavailableClasses != null)
|
||||
|
@@ -856,17 +856,16 @@ 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 ((cid.getRace() == Race.KAMAEL) && (player.getRace() != Race.KAMAEL))
|
||||
{
|
||||
subclasses.remove(cid);
|
||||
}
|
||||
}
|
||||
|
||||
if (player.getRace() == Race.KAMAEL)
|
||||
{
|
||||
for (ClassId cid : ClassId.values())
|
||||
{
|
||||
if (cid.getRace() != Race.KAMAEL)
|
||||
{
|
||||
subclasses.remove(cid);
|
||||
}
|
||||
}
|
||||
|
||||
if (player.getAppearance().isFemale())
|
||||
{
|
||||
subclasses.remove(ClassId.MALE_SOULBREAKER);
|
||||
@@ -881,6 +880,37 @@ public class VillageMasterInstance extends NpcInstance
|
||||
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);
|
||||
if (unavailableClasses != null)
|
||||
|
@@ -840,17 +840,16 @@ 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 ((cid.getRace() == Race.KAMAEL) && (player.getRace() != Race.KAMAEL))
|
||||
{
|
||||
subclasses.remove(cid);
|
||||
}
|
||||
}
|
||||
|
||||
if (player.getRace() == Race.KAMAEL)
|
||||
{
|
||||
for (ClassId cid : ClassId.values())
|
||||
{
|
||||
if (cid.getRace() != Race.KAMAEL)
|
||||
{
|
||||
subclasses.remove(cid);
|
||||
}
|
||||
}
|
||||
|
||||
if (player.getAppearance().isFemale())
|
||||
{
|
||||
subclasses.remove(ClassId.MALE_SOULBREAKER);
|
||||
@@ -865,6 +864,37 @@ public class VillageMasterInstance extends NpcInstance
|
||||
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);
|
||||
if (unavailableClasses != null)
|
||||
|
@@ -840,17 +840,16 @@ 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 ((cid.getRace() == Race.KAMAEL) && (player.getRace() != Race.KAMAEL))
|
||||
{
|
||||
subclasses.remove(cid);
|
||||
}
|
||||
}
|
||||
|
||||
if (player.getRace() == Race.KAMAEL)
|
||||
{
|
||||
for (ClassId cid : ClassId.values())
|
||||
{
|
||||
if (cid.getRace() != Race.KAMAEL)
|
||||
{
|
||||
subclasses.remove(cid);
|
||||
}
|
||||
}
|
||||
|
||||
if (player.getAppearance().isFemale())
|
||||
{
|
||||
subclasses.remove(ClassId.MALE_SOULBREAKER);
|
||||
@@ -865,6 +864,37 @@ public class VillageMasterInstance extends NpcInstance
|
||||
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);
|
||||
if (unavailableClasses != null)
|
||||
|
@@ -840,17 +840,16 @@ 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 ((cid.getRace() == Race.KAMAEL) && (player.getRace() != Race.KAMAEL))
|
||||
{
|
||||
subclasses.remove(cid);
|
||||
}
|
||||
}
|
||||
|
||||
if (player.getRace() == Race.KAMAEL)
|
||||
{
|
||||
for (ClassId cid : ClassId.values())
|
||||
{
|
||||
if (cid.getRace() != Race.KAMAEL)
|
||||
{
|
||||
subclasses.remove(cid);
|
||||
}
|
||||
}
|
||||
|
||||
if (player.getAppearance().isFemale())
|
||||
{
|
||||
subclasses.remove(ClassId.MALE_SOULBREAKER);
|
||||
@@ -865,6 +864,37 @@ public class VillageMasterInstance extends NpcInstance
|
||||
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);
|
||||
if (unavailableClasses != null)
|
||||
|
@@ -840,17 +840,16 @@ 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 ((cid.getRace() == Race.KAMAEL) && (player.getRace() != Race.KAMAEL))
|
||||
{
|
||||
subclasses.remove(cid);
|
||||
}
|
||||
}
|
||||
|
||||
if (player.getRace() == Race.KAMAEL)
|
||||
{
|
||||
for (ClassId cid : ClassId.values())
|
||||
{
|
||||
if (cid.getRace() != Race.KAMAEL)
|
||||
{
|
||||
subclasses.remove(cid);
|
||||
}
|
||||
}
|
||||
|
||||
if (player.getAppearance().isFemale())
|
||||
{
|
||||
subclasses.remove(ClassId.MALE_SOULBREAKER);
|
||||
@@ -865,6 +864,37 @@ public class VillageMasterInstance extends NpcInstance
|
||||
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);
|
||||
if (unavailableClasses != null)
|
||||
|
@@ -840,17 +840,16 @@ 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 ((cid.getRace() == Race.KAMAEL) && (player.getRace() != Race.KAMAEL))
|
||||
{
|
||||
subclasses.remove(cid);
|
||||
}
|
||||
}
|
||||
|
||||
if (player.getRace() == Race.KAMAEL)
|
||||
{
|
||||
for (ClassId cid : ClassId.values())
|
||||
{
|
||||
if (cid.getRace() != Race.KAMAEL)
|
||||
{
|
||||
subclasses.remove(cid);
|
||||
}
|
||||
}
|
||||
|
||||
if (player.getAppearance().isFemale())
|
||||
{
|
||||
subclasses.remove(ClassId.MALE_SOULBREAKER);
|
||||
@@ -865,6 +864,37 @@ public class VillageMasterInstance extends NpcInstance
|
||||
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);
|
||||
if (unavailableClasses != null)
|
||||
|
@@ -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)
|
||||
{
|
||||
|
@@ -840,17 +840,16 @@ 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 ((cid.getRace() == Race.KAMAEL) && (player.getRace() != Race.KAMAEL))
|
||||
{
|
||||
subclasses.remove(cid);
|
||||
}
|
||||
}
|
||||
|
||||
if (player.getRace() == Race.KAMAEL)
|
||||
{
|
||||
for (ClassId cid : ClassId.values())
|
||||
{
|
||||
if (cid.getRace() != Race.KAMAEL)
|
||||
{
|
||||
subclasses.remove(cid);
|
||||
}
|
||||
}
|
||||
|
||||
if (player.getAppearance().isFemale())
|
||||
{
|
||||
subclasses.remove(ClassId.MALE_SOULBREAKER);
|
||||
@@ -865,6 +864,37 @@ public class VillageMasterInstance extends NpcInstance
|
||||
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);
|
||||
if (unavailableClasses != null)
|
||||
|
Reference in New Issue
Block a user