if (charClassId >= 88) charClassId = player.getClassId().getParent().ordinal();
final PlayerRace npcRace = getVillageMasterRace();
final ClassType npcTeachType = getVillageMasterTeachType();
PlayerClass currClass = PlayerClass.values()[charClassId];
/**
* If the race of your main class is Elf or Dark Elf,
* you may not select each class as a subclass to the other class,
* and you may not select Overlord and Warsmith class as a subclass.
*
* You may not select a similar class as the subclass.
* The occupations classified as similar classes are as follows:
*
* Treasure Hunter, Plainswalker and Abyss Walker
* Hawkeye, Silver Ranger and Phantom Ranger
* Paladin, Dark Avenger, Temple Knight and Shillien Knight
* Warlocks, Elemental Summoner and Phantom Summoner
* Elder and Shillien Elder
* Swordsinger and Bladedancer
* Sorcerer, Spellsinger and Spellhowler
*
*/
Set<PlayerClass> availSubs = currClass.getAvailableSubclasses();
if (availSubs != null)
{
for (PlayerClass availSub : availSubs)
{