Re-wrote the ClassMaster class more properly.
This commit is contained in:
parent
a7690386a2
commit
b7f07ad5a7
@ -272,62 +272,13 @@ public final class ClassMaster extends AbstractNpcAI implements IGameXmlReader
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "firstclass":
|
case "firstclass":
|
||||||
{
|
|
||||||
if (player.isInCategory(CategoryType.FIRST_CLASS_GROUP))
|
|
||||||
{
|
|
||||||
if (player.getRace() == Race.ERTHEIA)
|
|
||||||
{
|
|
||||||
htmltext = "test_server_helper027a.html";
|
|
||||||
}
|
|
||||||
else if (player.getLevel() < 20)
|
|
||||||
{
|
|
||||||
htmltext = "test_server_helper027.html";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
htmltext = getFirstOccupationChangeHtml(player);
|
htmltext = getFirstOccupationChangeHtml(player);
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (player.isInCategory(CategoryType.SECOND_CLASS_GROUP))
|
|
||||||
{
|
|
||||||
htmltext = "test_server_helper028.html";
|
|
||||||
}
|
|
||||||
else if (player.isInCategory(CategoryType.THIRD_CLASS_GROUP))
|
|
||||||
{
|
|
||||||
htmltext = "test_server_helper010.html";
|
|
||||||
}
|
|
||||||
else if (player.isInCategory(CategoryType.FOURTH_CLASS_GROUP))
|
|
||||||
{
|
|
||||||
htmltext = "test_server_helper011.html";
|
|
||||||
}
|
|
||||||
else if (player.isInCategory(CategoryType.AWAKEN_GROUP))
|
|
||||||
{
|
|
||||||
htmltext = "test_server_helper011a.html";
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "secondclass":
|
case "secondclass":
|
||||||
{
|
{
|
||||||
if (player.isInCategory(CategoryType.SECOND_CLASS_GROUP) || player.isInCategory(CategoryType.FIRST_CLASS_GROUP))
|
htmltext = getSecondOccupationChangeHtml(player);
|
||||||
{
|
|
||||||
htmltext = player.getLevel() < 40 ? "test_server_helper023.html" : getSecondOccupationChangeHtml(player);
|
|
||||||
}
|
|
||||||
else if (player.isInCategory(CategoryType.THIRD_CLASS_GROUP))
|
|
||||||
{
|
|
||||||
htmltext = "test_server_helper010.html";
|
|
||||||
}
|
|
||||||
else if (player.isInCategory(CategoryType.FOURTH_CLASS_GROUP))
|
|
||||||
{
|
|
||||||
htmltext = "test_server_helper011.html";
|
|
||||||
}
|
|
||||||
else if (player.isInCategory(CategoryType.AWAKEN_GROUP))
|
|
||||||
{
|
|
||||||
htmltext = "test_server_helper011a.html";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
htmltext = "test_server_helper029.html";
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "thirdclass":
|
case "thirdclass":
|
||||||
@ -508,104 +459,283 @@ public final class ClassMaster extends AbstractNpcAI implements IGameXmlReader
|
|||||||
}
|
}
|
||||||
|
|
||||||
private String getFirstOccupationChangeHtml(L2PcInstance player)
|
private String getFirstOccupationChangeHtml(L2PcInstance player)
|
||||||
|
{
|
||||||
|
String htmltext = null;
|
||||||
|
if (player.isInCategory(CategoryType.FIRST_CLASS_GROUP))
|
||||||
|
{
|
||||||
|
if (player.getRace() == Race.ERTHEIA)
|
||||||
|
{
|
||||||
|
htmltext = "test_server_helper027a.html";
|
||||||
|
}
|
||||||
|
else if (player.getLevel() < 20)
|
||||||
|
{
|
||||||
|
htmltext = "test_server_helper027.html";
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
switch (player.getClassId())
|
switch (player.getClassId())
|
||||||
{
|
{
|
||||||
case FIGHTER:
|
case FIGHTER:
|
||||||
return "test_server_helper026a.html";
|
{
|
||||||
case MAGE:
|
htmltext = "test_server_helper026a.html";
|
||||||
return "test_server_helper026b.html";
|
break;
|
||||||
case ELVEN_FIGHTER:
|
|
||||||
return "test_server_helper026c.html";
|
|
||||||
case ELVEN_MAGE:
|
|
||||||
return "test_server_helper026d.html";
|
|
||||||
case DARK_FIGHTER:
|
|
||||||
return "test_server_helper026e.html";
|
|
||||||
case DARK_MAGE:
|
|
||||||
return "test_server_helper026f.html";
|
|
||||||
case ORC_FIGHTER:
|
|
||||||
return "test_server_helper026g.html";
|
|
||||||
case ORC_MAGE:
|
|
||||||
return "test_server_helper026h.html";
|
|
||||||
case DWARVEN_FIGHTER:
|
|
||||||
return "test_server_helper026i.html";
|
|
||||||
case MALE_SOLDIER:
|
|
||||||
return "test_server_helper026j.html";
|
|
||||||
case FEMALE_SOLDIER:
|
|
||||||
return "test_server_helper026k.html";
|
|
||||||
default:
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
case MAGE:
|
||||||
|
{
|
||||||
|
htmltext = "test_server_helper026b.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case ELVEN_FIGHTER:
|
||||||
|
{
|
||||||
|
htmltext = "test_server_helper026c.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case ELVEN_MAGE:
|
||||||
|
{
|
||||||
|
htmltext = "test_server_helper026d.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case DARK_FIGHTER:
|
||||||
|
{
|
||||||
|
htmltext = "test_server_helper026e.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case DARK_MAGE:
|
||||||
|
{
|
||||||
|
htmltext = "test_server_helper026f.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case ORC_FIGHTER:
|
||||||
|
{
|
||||||
|
htmltext = "test_server_helper026g.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case ORC_MAGE:
|
||||||
|
{
|
||||||
|
htmltext = "test_server_helper026h.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case DWARVEN_FIGHTER:
|
||||||
|
{
|
||||||
|
htmltext = "test_server_helper026i.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case MALE_SOLDIER:
|
||||||
|
{
|
||||||
|
htmltext = "test_server_helper026j.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case FEMALE_SOLDIER:
|
||||||
|
{
|
||||||
|
htmltext = "test_server_helper026k.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SECOND_CLASS_GROUP))
|
||||||
|
{
|
||||||
|
htmltext = "test_server_helper028.html";
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.THIRD_CLASS_GROUP))
|
||||||
|
{
|
||||||
|
htmltext = "test_server_helper010.html";
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.FOURTH_CLASS_GROUP))
|
||||||
|
{
|
||||||
|
htmltext = "test_server_helper011.html";
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.AWAKEN_GROUP))
|
||||||
|
{
|
||||||
|
htmltext = "test_server_helper011a.html";
|
||||||
|
}
|
||||||
|
return htmltext;
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getSecondOccupationChangeHtml(L2PcInstance player)
|
private String getSecondOccupationChangeHtml(L2PcInstance player)
|
||||||
|
{
|
||||||
|
String htmltext = null;
|
||||||
|
if (player.isInCategory(CategoryType.SECOND_CLASS_GROUP) || player.isInCategory(CategoryType.FIRST_CLASS_GROUP))
|
||||||
|
{
|
||||||
|
if (player.getLevel() < 40)
|
||||||
|
{
|
||||||
|
htmltext = "test_server_helper023.html";
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
switch (player.getClassId())
|
switch (player.getClassId())
|
||||||
{
|
{
|
||||||
case FIGHTER:
|
case FIGHTER:
|
||||||
return "test_server_helper012.html";
|
{
|
||||||
|
htmltext = "test_server_helper012.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
case WARRIOR:
|
case WARRIOR:
|
||||||
return "test_server_helper012a.html";
|
{
|
||||||
|
htmltext = "test_server_helper012a.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
case KNIGHT:
|
case KNIGHT:
|
||||||
return "test_server_helper012b.html";
|
{
|
||||||
|
htmltext = "test_server_helper012b.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
case ROGUE:
|
case ROGUE:
|
||||||
return "test_server_helper012c.html";
|
{
|
||||||
|
htmltext = "test_server_helper012c.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
case MAGE:
|
case MAGE:
|
||||||
return "test_server_helper013.html";
|
{
|
||||||
|
htmltext = "test_server_helper013.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
case WIZARD:
|
case WIZARD:
|
||||||
return "test_server_helper013a.html";
|
{
|
||||||
|
htmltext = "test_server_helper013a.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
case CLERIC:
|
case CLERIC:
|
||||||
return "test_server_helper013b.html";
|
{
|
||||||
|
htmltext = "test_server_helper013b.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
case ELVEN_FIGHTER:
|
case ELVEN_FIGHTER:
|
||||||
return "test_server_helper014.html";
|
{
|
||||||
|
htmltext = "test_server_helper014.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
case ELVEN_KNIGHT:
|
case ELVEN_KNIGHT:
|
||||||
return "test_server_helper014a.html";
|
{
|
||||||
|
htmltext = "test_server_helper014a.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
case ELVEN_SCOUT:
|
case ELVEN_SCOUT:
|
||||||
return "test_server_helper014b.html";
|
{
|
||||||
|
htmltext = "test_server_helper014b.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
case ELVEN_MAGE:
|
case ELVEN_MAGE:
|
||||||
return "test_server_helper015.html";
|
{
|
||||||
|
htmltext = "test_server_helper015.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
case ELVEN_WIZARD:
|
case ELVEN_WIZARD:
|
||||||
return "test_server_helper015a.html";
|
{
|
||||||
|
htmltext = "test_server_helper015a.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
case ORACLE:
|
case ORACLE:
|
||||||
return "test_server_helper015b.html";
|
{
|
||||||
|
htmltext = "test_server_helper015b.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
case DARK_FIGHTER:
|
case DARK_FIGHTER:
|
||||||
return "test_server_helper016.html";
|
{
|
||||||
|
htmltext = "test_server_helper016.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
case PALUS_KNIGHT:
|
case PALUS_KNIGHT:
|
||||||
return "test_server_helper016a.html";
|
{
|
||||||
|
htmltext = "test_server_helper016a.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
case ASSASSIN:
|
case ASSASSIN:
|
||||||
return "test_server_helper016b.html";
|
{
|
||||||
|
htmltext = "test_server_helper016b.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
case DARK_MAGE:
|
case DARK_MAGE:
|
||||||
return "test_server_helper017.html";
|
{
|
||||||
|
htmltext = "test_server_helper017.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
case DARK_WIZARD:
|
case DARK_WIZARD:
|
||||||
return "test_server_helper017a.html";
|
{
|
||||||
|
htmltext = "test_server_helper017a.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
case SHILLIEN_ORACLE:
|
case SHILLIEN_ORACLE:
|
||||||
return "test_server_helper017b.html";
|
{
|
||||||
|
htmltext = "test_server_helper017b.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
case ORC_FIGHTER:
|
case ORC_FIGHTER:
|
||||||
return "test_server_helper018.html";
|
{
|
||||||
|
htmltext = "test_server_helper018.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
case ORC_RAIDER:
|
case ORC_RAIDER:
|
||||||
return "test_server_helper018a.html";
|
{
|
||||||
|
htmltext = "test_server_helper018a.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
case ORC_MONK:
|
case ORC_MONK:
|
||||||
return "test_server_helper018b.html";
|
{
|
||||||
|
htmltext = "test_server_helper018b.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
case ORC_MAGE:
|
case ORC_MAGE:
|
||||||
case ORC_SHAMAN:
|
case ORC_SHAMAN:
|
||||||
return "test_server_helper019.html";
|
{
|
||||||
case DWARVEN_FIGHTER:
|
htmltext = "test_server_helper019.html";
|
||||||
return "test_server_helper020.html";
|
break;
|
||||||
case ARTISAN:
|
|
||||||
return "test_server_helper020b.html";
|
|
||||||
case SCAVENGER:
|
|
||||||
return "test_server_helper020a.html";
|
|
||||||
case TROOPER:
|
|
||||||
return "test_server_helper020c.html";
|
|
||||||
case WARDER:
|
|
||||||
return "test_server_helper020d.html";
|
|
||||||
case ERTHEIA_FIGHTER:
|
|
||||||
return "test_server_helper020e.html";
|
|
||||||
case ERTHEIA_WIZARD:
|
|
||||||
return "test_server_helper020f.html";
|
|
||||||
default:
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
case DWARVEN_FIGHTER:
|
||||||
|
{
|
||||||
|
htmltext = "test_server_helper020.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case ARTISAN:
|
||||||
|
{
|
||||||
|
htmltext = "test_server_helper020b.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case SCAVENGER:
|
||||||
|
{
|
||||||
|
htmltext = "test_server_helper020a.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case TROOPER:
|
||||||
|
{
|
||||||
|
htmltext = "test_server_helper020c.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case WARDER:
|
||||||
|
{
|
||||||
|
htmltext = "test_server_helper020d.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case ERTHEIA_FIGHTER:
|
||||||
|
{
|
||||||
|
htmltext = "test_server_helper020e.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case ERTHEIA_WIZARD:
|
||||||
|
{
|
||||||
|
htmltext = "test_server_helper020f.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.THIRD_CLASS_GROUP))
|
||||||
|
{
|
||||||
|
htmltext = "test_server_helper010.html";
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.FOURTH_CLASS_GROUP))
|
||||||
|
{
|
||||||
|
htmltext = "test_server_helper011.html";
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.AWAKEN_GROUP))
|
||||||
|
{
|
||||||
|
htmltext = "test_server_helper011a.html";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
htmltext = "test_server_helper029.html";
|
||||||
|
}
|
||||||
|
return htmltext;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean changeToNextClass(L2PcInstance player)
|
private boolean changeToNextClass(L2PcInstance player)
|
||||||
@ -678,64 +808,11 @@ public final class ClassMaster extends AbstractNpcAI implements IGameXmlReader
|
|||||||
String html = null;
|
String html = null;
|
||||||
if ((player.isInCategory(CategoryType.SECOND_CLASS_GROUP) || player.isInCategory(CategoryType.FIRST_CLASS_GROUP)) && (player.getLevel() >= 40)) // In retail you can skip first occupation
|
if ((player.isInCategory(CategoryType.SECOND_CLASS_GROUP) || player.isInCategory(CategoryType.FIRST_CLASS_GROUP)) && (player.getLevel() >= 40)) // In retail you can skip first occupation
|
||||||
{
|
{
|
||||||
String htmltext = "";
|
html = getHtm(player.getHtmlPrefix(), getSecondOccupationChangeHtml(player));
|
||||||
if (player.isInCategory(CategoryType.SECOND_CLASS_GROUP) || player.isInCategory(CategoryType.FIRST_CLASS_GROUP))
|
|
||||||
{
|
|
||||||
htmltext = player.getLevel() < 40 ? "test_server_helper023.html" : getSecondOccupationChangeHtml(player);
|
|
||||||
}
|
|
||||||
else if (player.isInCategory(CategoryType.THIRD_CLASS_GROUP))
|
|
||||||
{
|
|
||||||
htmltext = "test_server_helper010.html";
|
|
||||||
}
|
|
||||||
else if (player.isInCategory(CategoryType.FOURTH_CLASS_GROUP))
|
|
||||||
{
|
|
||||||
htmltext = "test_server_helper011.html";
|
|
||||||
}
|
|
||||||
else if (player.isInCategory(CategoryType.AWAKEN_GROUP))
|
|
||||||
{
|
|
||||||
htmltext = "test_server_helper011a.html";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
htmltext = "test_server_helper029.html";
|
|
||||||
}
|
|
||||||
html = getHtm(player.getHtmlPrefix(), htmltext);
|
|
||||||
}
|
}
|
||||||
else if (player.isInCategory(CategoryType.FIRST_CLASS_GROUP) && (player.getLevel() >= 20))
|
else if (player.isInCategory(CategoryType.FIRST_CLASS_GROUP) && (player.getLevel() >= 20))
|
||||||
{
|
{
|
||||||
String htmltext = "";
|
html = getHtm(player.getHtmlPrefix(), getFirstOccupationChangeHtml(player));
|
||||||
if (player.isInCategory(CategoryType.FIRST_CLASS_GROUP))
|
|
||||||
{
|
|
||||||
if (player.getRace() == Race.ERTHEIA)
|
|
||||||
{
|
|
||||||
htmltext = "test_server_helper027a.html";
|
|
||||||
}
|
|
||||||
else if (player.getLevel() < 20)
|
|
||||||
{
|
|
||||||
htmltext = "test_server_helper027.html";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
htmltext = getFirstOccupationChangeHtml(player);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (player.isInCategory(CategoryType.SECOND_CLASS_GROUP))
|
|
||||||
{
|
|
||||||
htmltext = "test_server_helper028.html";
|
|
||||||
}
|
|
||||||
else if (player.isInCategory(CategoryType.THIRD_CLASS_GROUP))
|
|
||||||
{
|
|
||||||
htmltext = "test_server_helper010.html";
|
|
||||||
}
|
|
||||||
else if (player.isInCategory(CategoryType.FOURTH_CLASS_GROUP))
|
|
||||||
{
|
|
||||||
htmltext = "test_server_helper011.html";
|
|
||||||
}
|
|
||||||
else if (player.isInCategory(CategoryType.AWAKEN_GROUP))
|
|
||||||
{
|
|
||||||
htmltext = "test_server_helper011a.html";
|
|
||||||
}
|
|
||||||
html = getHtm(player.getHtmlPrefix(), htmltext);
|
|
||||||
}
|
}
|
||||||
else if (player.isInCategory(CategoryType.THIRD_CLASS_GROUP) && (player.getLevel() >= 76))
|
else if (player.isInCategory(CategoryType.THIRD_CLASS_GROUP) && (player.getLevel() >= 76))
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user