Re-wrote the ClassMaster class more properly.

This commit is contained in:
MobiusDev 2016-07-07 12:17:48 +00:00
parent a7690386a2
commit b7f07ad5a7

View File

@ -273,61 +273,12 @@ public final class ClassMaster extends AbstractNpcAI implements IGameXmlReader
} }
case "firstclass": case "firstclass":
{ {
if (player.isInCategory(CategoryType.FIRST_CLASS_GROUP)) htmltext = getFirstOccupationChangeHtml(player);
{
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";
}
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":
@ -509,103 +460,282 @@ public final class ClassMaster extends AbstractNpcAI implements IGameXmlReader
private String getFirstOccupationChangeHtml(L2PcInstance player) private String getFirstOccupationChangeHtml(L2PcInstance player)
{ {
switch (player.getClassId()) String htmltext = null;
if (player.isInCategory(CategoryType.FIRST_CLASS_GROUP))
{ {
case FIGHTER: if (player.getRace() == Race.ERTHEIA)
return "test_server_helper026a.html"; {
case MAGE: htmltext = "test_server_helper027a.html";
return "test_server_helper026b.html"; }
case ELVEN_FIGHTER: else if (player.getLevel() < 20)
return "test_server_helper026c.html"; {
case ELVEN_MAGE: htmltext = "test_server_helper027.html";
return "test_server_helper026d.html"; }
case DARK_FIGHTER: else
return "test_server_helper026e.html"; {
case DARK_MAGE: switch (player.getClassId())
return "test_server_helper026f.html"; {
case ORC_FIGHTER: case FIGHTER:
return "test_server_helper026g.html"; {
case ORC_MAGE: htmltext = "test_server_helper026a.html";
return "test_server_helper026h.html"; break;
case DWARVEN_FIGHTER: }
return "test_server_helper026i.html"; case MAGE:
case MALE_SOLDIER: {
return "test_server_helper026j.html"; htmltext = "test_server_helper026b.html";
case FEMALE_SOLDIER: break;
return "test_server_helper026k.html"; }
default: case ELVEN_FIGHTER:
return null; {
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)
{ {
switch (player.getClassId()) String htmltext = null;
if (player.isInCategory(CategoryType.SECOND_CLASS_GROUP) || player.isInCategory(CategoryType.FIRST_CLASS_GROUP))
{ {
case FIGHTER: if (player.getLevel() < 40)
return "test_server_helper012.html"; {
case WARRIOR: htmltext = "test_server_helper023.html";
return "test_server_helper012a.html"; }
case KNIGHT: else
return "test_server_helper012b.html"; {
case ROGUE: switch (player.getClassId())
return "test_server_helper012c.html"; {
case MAGE: case FIGHTER:
return "test_server_helper013.html"; {
case WIZARD: htmltext = "test_server_helper012.html";
return "test_server_helper013a.html"; break;
case CLERIC: }
return "test_server_helper013b.html"; case WARRIOR:
case ELVEN_FIGHTER: {
return "test_server_helper014.html"; htmltext = "test_server_helper012a.html";
case ELVEN_KNIGHT: break;
return "test_server_helper014a.html"; }
case ELVEN_SCOUT: case KNIGHT:
return "test_server_helper014b.html"; {
case ELVEN_MAGE: htmltext = "test_server_helper012b.html";
return "test_server_helper015.html"; break;
case ELVEN_WIZARD: }
return "test_server_helper015a.html"; case ROGUE:
case ORACLE: {
return "test_server_helper015b.html"; htmltext = "test_server_helper012c.html";
case DARK_FIGHTER: break;
return "test_server_helper016.html"; }
case PALUS_KNIGHT: case MAGE:
return "test_server_helper016a.html"; {
case ASSASSIN: htmltext = "test_server_helper013.html";
return "test_server_helper016b.html"; break;
case DARK_MAGE: }
return "test_server_helper017.html"; case WIZARD:
case DARK_WIZARD: {
return "test_server_helper017a.html"; htmltext = "test_server_helper013a.html";
case SHILLIEN_ORACLE: break;
return "test_server_helper017b.html"; }
case ORC_FIGHTER: case CLERIC:
return "test_server_helper018.html"; {
case ORC_RAIDER: htmltext = "test_server_helper013b.html";
return "test_server_helper018a.html"; break;
case ORC_MONK: }
return "test_server_helper018b.html"; case ELVEN_FIGHTER:
case ORC_MAGE: {
case ORC_SHAMAN: htmltext = "test_server_helper014.html";
return "test_server_helper019.html"; break;
case DWARVEN_FIGHTER: }
return "test_server_helper020.html"; case ELVEN_KNIGHT:
case ARTISAN: {
return "test_server_helper020b.html"; htmltext = "test_server_helper014a.html";
case SCAVENGER: break;
return "test_server_helper020a.html"; }
case TROOPER: case ELVEN_SCOUT:
return "test_server_helper020c.html"; {
case WARDER: htmltext = "test_server_helper014b.html";
return "test_server_helper020d.html"; break;
case ERTHEIA_FIGHTER: }
return "test_server_helper020e.html"; case ELVEN_MAGE:
case ERTHEIA_WIZARD: {
return "test_server_helper020f.html"; htmltext = "test_server_helper015.html";
default: break;
return null; }
case ELVEN_WIZARD:
{
htmltext = "test_server_helper015a.html";
break;
}
case ORACLE:
{
htmltext = "test_server_helper015b.html";
break;
}
case DARK_FIGHTER:
{
htmltext = "test_server_helper016.html";
break;
}
case PALUS_KNIGHT:
{
htmltext = "test_server_helper016a.html";
break;
}
case ASSASSIN:
{
htmltext = "test_server_helper016b.html";
break;
}
case DARK_MAGE:
{
htmltext = "test_server_helper017.html";
break;
}
case DARK_WIZARD:
{
htmltext = "test_server_helper017a.html";
break;
}
case SHILLIEN_ORACLE:
{
htmltext = "test_server_helper017b.html";
break;
}
case ORC_FIGHTER:
{
htmltext = "test_server_helper018.html";
break;
}
case ORC_RAIDER:
{
htmltext = "test_server_helper018a.html";
break;
}
case ORC_MONK:
{
htmltext = "test_server_helper018b.html";
break;
}
case ORC_MAGE:
case ORC_SHAMAN:
{
htmltext = "test_server_helper019.html";
break;
}
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))
{ {