Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- */
- package net.sf.l2j.gameserver.model.actor.instance;
- -import java.util.Collection;
- +
- +
- +import javolution.text.TextBuilder;
- import net.sf.l2j.Config;
- -import net.sf.l2j.gameserver.ai.CtrlIntention;
- import net.sf.l2j.gameserver.datatables.CharTemplateTable;
- +import net.sf.l2j.gameserver.datatables.NpcTable;
- +import net.sf.l2j.gameserver.model.L2World;
- import net.sf.l2j.gameserver.model.base.ClassId;
- import net.sf.l2j.gameserver.model.base.ClassLevel;
- import net.sf.l2j.gameserver.model.base.PlayerClass;
- import net.sf.l2j.gameserver.model.quest.Quest;
- import net.sf.l2j.gameserver.network.SystemMessageId;
- import net.sf.l2j.gameserver.network.serverpackets.ActionFailed;
- -import net.sf.l2j.gameserver.network.serverpackets.MyTargetSelected;
- +import net.sf.l2j.gameserver.network.serverpackets.ExShowScreenMessage;
- import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage;
- import net.sf.l2j.gameserver.network.serverpackets.SystemMessage;
- -import net.sf.l2j.gameserver.network.serverpackets.ValidateLocation;
- import net.sf.l2j.gameserver.templates.chars.L2NpcTemplate;
- import net.sf.l2j.gameserver.util.StringUtil;
- @@ -46,10 +48,22 @@
- private static final int[] SECOND_CLASS_IDS = {2, 3, 5, 6, 9, 8, 12, 13,
- 14, 16, 17, 20, 21, 23, 24, 27, 28, 30, 33, 34, 36, 37, 40, 41,
- 43, 46, 48, 51, 52, 55, 57};
- + public static L2ClassMasterInstance ClassMaster = new L2ClassMasterInstance(31228, NpcTable.getInstance().getTemplate(31228));
- + static
- + {
- + L2World.getInstance().storeObject(ClassMaster);
- + }
- private static final int[] THIRD_CLASS_IDS = {88, 89, 90, 91, 92, 93,
- 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
- 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118};
- +
- +
- + static
- + {
- + L2World.getInstance().storeObject(ClassMaster);
- + }
- +
- /**
- * @param template
- */
- @@ -57,130 +71,341 @@
- {
- super(objectId, template);
- }
- -
- +
- @Override
- public void onAction(L2PcInstance player)
- {
- - if (!canTarget(player)) return;
- + if (Config.DEBUG)
- + _log.fine("ClassMaster activated");
- - // Check if the L2PcInstance already target the L2NpcInstance
- - if (getObjectId() != player.getTargetId())
- - {
- - // Set the target of the L2PcInstance player
- - player.setTarget(this);
- + ClassId classId = player.getClassId();
- - // Send a Server->Client packet MyTargetSelected to the L2PcInstance player
- - player.sendPacket(new MyTargetSelected(getObjectId(), 0));
- -
- - // Send a Server->Client packet ValidateLocation to correct the L2NpcInstance position and heading on the client
- - player.sendPacket(new ValidateLocation(this));
- + int jobLevel = 0;
- + int level = player.getLevel();
- + ClassLevel lvl = PlayerClass.values()[classId.getId()].getLevel();
- + switch (lvl)
- + {
- + case First:
- + jobLevel = 1;
- + break;
- + case Second:
- + jobLevel = 2;
- + break;
- + case Third:
- + jobLevel = 3;
- + break;
- + default:
- + jobLevel = 4;
- }
- - else
- +
- + if (!Config.ALLOW_CLASS_MASTERS)
- + jobLevel = 3;
- +
- + if(player.isGM())
- {
- - if (!canInteract(player))
- + showChatWindowChooseClass(player);
- + }
- + else if (((level >= 20 && jobLevel == 1 ) ||
- + (level >= 40 && jobLevel == 2 )) && Config.ALLOW_CLASS_MASTERS)
- + {
- + TextBuilder village = new TextBuilder("<html><body>");
- + village.append("<center><table width=\"270\" border=\"0\" bgcolor=\"111111\">");
- + village.append("<tr><td width=\"170\"><font color=\"5772d6\">L</font><font color=\"5772d6\">2</font><font color=\"5772d6\">R</font><font color=\"5772d6\">e</font><font color=\"5772d6\">a</font><font color=\"5772d6\">c</font><font color=\"5772d6\">t</font><font color=\"5772d6\">i</font><font color=\"5772d6\">o</font><font color=\"5772d6\">n</font></td>");
- + village.append("<td width=\"100\" align=\"center\"><font color=\"5772d6\">Players</font><font color=\"5772d6\">:</font><font color=\"5772d6\"> " +L2World.getInstance().getAllPlayers().size()+ "</font></font></td></tr>");
- + village.append("</table><table width=\"270\" border=\"0\">");
- + village.append("</table>");
- + village.append("<br></br>");
- + village.append("<tr><td><center>Server Name</center></td></tr>");
- + village.append("<br></br>");
- + village.append("<tr><td><font color=\"00FF00\">Class Master</font></td></tr>");
- + village.append("<br></br>");
- + village.append("<tr><td><font color=\"00FF00\">---------------------------------------------------</font></td></tr>");
- + if (player.getClassId() == ClassId.fighter)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 1\">Advance to "+CharTemplateTable.getInstance().getClassNameById(1)+"</a></font></center><br>");
- + village.append("<br></br>");
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 4\">Advance to "+CharTemplateTable.getInstance().getClassNameById(4)+"</a></font></center><br>");
- + village.append("<br></br>");
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 7\">Advance to "+CharTemplateTable.getInstance().getClassNameById(7)+"</a></font></center><br>");
- + }
- + if (player.getClassId() == ClassId.warrior)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 2\">Advance to "+CharTemplateTable.getInstance().getClassNameById(2)+"</a></font></center><br>");
- + village.append("<br></br>");
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 3\">Advance to "+CharTemplateTable.getInstance().getClassNameById(3)+"</a></font></center><br>");
- + }
- + if (player.getClassId() == ClassId.knight)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 5\">Advance to "+CharTemplateTable.getInstance().getClassNameById(5)+"</a></font></center><br>");
- + village.append("<br></br>");
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 6\">Advance to "+CharTemplateTable.getInstance().getClassNameById(6)+"</a></font></center><br>");
- + }
- + if (player.getClassId() == ClassId.rogue)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 8\">Advance to "+CharTemplateTable.getInstance().getClassNameById(8)+"</a></font></center><br>");
- + village.append("<br></br>");
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 9\">Advance to "+CharTemplateTable.getInstance().getClassNameById(9)+"</a></font></center><br>");
- + }
- + if (player.getClassId() == ClassId.mage)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 11\">Advance to "+CharTemplateTable.getInstance().getClassNameById(11)+"</a></font></center><br>");
- + village.append("<br></br>");
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 15\">Advance to "+CharTemplateTable.getInstance().getClassNameById(15)+"</a></font></center><br>");
- + }
- + if (player.getClassId() == ClassId.wizard)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 12\">Advance to "+CharTemplateTable.getInstance().getClassNameById(12)+"</a></font></center><br>");
- + village.append("<br></br>");
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 13\">Advance to "+CharTemplateTable.getInstance().getClassNameById(13)+"</a></font></center><br>");
- + village.append("<br></br>");
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 14\">Advance to "+CharTemplateTable.getInstance().getClassNameById(14)+"</a></font></center><br>");
- + }
- + if (player.getClassId() == ClassId.cleric)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 16\">Advance to "+CharTemplateTable.getInstance().getClassNameById(16)+"</a></font></center><br>");
- + village.append("<br></br>");
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 17\">Advance to "+CharTemplateTable.getInstance().getClassNameById(17)+"</a></font></center><br>");
- + }
- + if (player.getClassId() == ClassId.elvenFighter)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 19\">Advance to "+CharTemplateTable.getInstance().getClassNameById(19)+"</a></font></center><br>");
- + village.append("<br></br>");
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 22\">Advance to "+CharTemplateTable.getInstance().getClassNameById(22)+"</a></font></center><br>");
- + }
- + if (player.getClassId() == ClassId.elvenKnight)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 20\">Advance to "+CharTemplateTable.getInstance().getClassNameById(20)+"</a></font></center><br>");
- + village.append("<br></br>");
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 21\">Advance to "+CharTemplateTable.getInstance().getClassNameById(21)+"</a></font></center><br>");
- + }
- + if (player.getClassId() == ClassId.elvenScout)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 23\">Advance to "+CharTemplateTable.getInstance().getClassNameById(23)+"</a></font></center><br>");
- + village.append("<br></br>");
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 24\">Advance to "+CharTemplateTable.getInstance().getClassNameById(24)+"</a></font></center><br>");
- + }
- + if (player.getClassId() == ClassId.elvenMage)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 26\">Advance to "+CharTemplateTable.getInstance().getClassNameById(26)+"</a></font></center><br>");
- + village.append("<br></br>");
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 29\">Advance to "+CharTemplateTable.getInstance().getClassNameById(29)+"</a></font></center><br>");
- + }
- + if (player.getClassId() == ClassId.elvenWizard)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 27\">Advance to "+CharTemplateTable.getInstance().getClassNameById(27)+"</a></font></center><br>");
- + village.append("<br></br>");
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 28\">Advance to "+CharTemplateTable.getInstance().getClassNameById(28)+"</a></font></center><br>");
- + }
- + if (player.getClassId() == ClassId.oracle)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 30\">Advance to "+CharTemplateTable.getInstance().getClassNameById(30)+"</a></font></center><br>");
- + }
- +
- + if (player.getClassId() == ClassId.darkFighter)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 32\">Advance to "+CharTemplateTable.getInstance().getClassNameById(32)+"</a></font></center><br>");
- + village.append("<br></br>");
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 35\">Advance to "+CharTemplateTable.getInstance().getClassNameById(35)+"</a></font></center><br>");
- + }
- + if (player.getClassId() == ClassId.palusKnight)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 34\">Advance to "+CharTemplateTable.getInstance().getClassNameById(34)+"</a></font></center><br>");
- + village.append("<br></br>");
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 33\">Advance to "+CharTemplateTable.getInstance().getClassNameById(33)+"</a></font></center><br>");
- + }
- + if (player.getClassId() == ClassId.assassin)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 36\">Advance to "+CharTemplateTable.getInstance().getClassNameById(36)+"</a></font></center><br>");
- + village.append("<br></br>");
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 37\">Advance to "+CharTemplateTable.getInstance().getClassNameById(37)+"</a></font></center><br>");
- + }
- + if (player.getClassId() == ClassId.darkMage)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 39\">Advance to "+CharTemplateTable.getInstance().getClassNameById(39)+"</a></font></center><br>");
- + village.append("<br></br>");
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 42\">Advance to "+CharTemplateTable.getInstance().getClassNameById(42)+"</a></font></center><br>");
- + }
- + if (player.getClassId() == ClassId.darkWizard)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 40\">Advance to "+CharTemplateTable.getInstance().getClassNameById(40)+"</a></font></center><br>");
- + village.append("<br></br>");
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 41\">Advance to "+CharTemplateTable.getInstance().getClassNameById(41)+"</a></font></center><br>");
- + }
- + if (player.getClassId() == ClassId.shillienOracle)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 43\">Advance to "+CharTemplateTable.getInstance().getClassNameById(43)+"</a></font></center><br>");
- +
- + }
- + if (player.getClassId() == ClassId.orcFighter)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 45\">Advance to "+CharTemplateTable.getInstance().getClassNameById(45)+"</a></font></center><br>");
- + village.append("<br></br>");
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 47\">Advance to "+CharTemplateTable.getInstance().getClassNameById(47)+"</a></font></center><br>");
- + }
- + if (player.getClassId() == ClassId.orcRaider)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 46\">Advance to "+CharTemplateTable.getInstance().getClassNameById(46)+"</a></font></center><br>");
- +
- + }
- + if (player.getClassId() == ClassId.elvenFighter)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 19\">Advance to "+CharTemplateTable.getInstance().getClassNameById(19)+"</a></font></center><br>");
- + village.append("<br></br>");
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 22\">Advance to "+CharTemplateTable.getInstance().getClassNameById(22)+"</a></font></center><br>");
- + }
- + if (player.getClassId() == ClassId.orcMonk)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 48\">Advance to "+CharTemplateTable.getInstance().getClassNameById(48)+"</a></font></center><br>");
- +
- + }
- + if (player.getClassId() == ClassId.orcMage)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 50\">Advance to "+CharTemplateTable.getInstance().getClassNameById(50)+"</a></font></center><br>");
- +
- + }
- + if (player.getClassId() == ClassId.orcShaman)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 51\">Advance to "+CharTemplateTable.getInstance().getClassNameById(51)+"</a></font></center><br>");
- + village.append("<br></br>");
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 52\">Advance to "+CharTemplateTable.getInstance().getClassNameById(52)+"</a></font></center><br>");
- + }
- + if (player.getClassId() == ClassId.dwarvenFighter)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 54\">Advance to "+CharTemplateTable.getInstance().getClassNameById(54)+"</a></font></center><br>");
- + village.append("<br></br>");
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 56\">Advance to "+CharTemplateTable.getInstance().getClassNameById(56)+"</a></font></center><br>");
- + }
- + if (player.getClassId() == ClassId.scavenger)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 55\">Advance to "+CharTemplateTable.getInstance().getClassNameById(55)+"</a></font></center><br>");
- +
- + }
- + if (player.getClassId() == ClassId.artisan)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 57\">Advance to "+CharTemplateTable.getInstance().getClassNameById(57)+"</a></font></center><br>");
- +
- + }
- + if (player.getClassId() == ClassId.maleSoldier)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 125\">Advance to "+CharTemplateTable.getInstance().getClassNameById(125)+"</a></font></center><br>");
- +
- + }
- + if (player.getClassId() == ClassId.femaleSoldier)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 126\">Advance to "+CharTemplateTable.getInstance().getClassNameById(126)+"</a></font></center><br>");
- +
- + }
- +
- + if (player.getClassId() == ClassId.trooper)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 127\">Advance to "+CharTemplateTable.getInstance().getClassNameById(127)+"</a></font></center><br>");
- + village.append("<br></br>");
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 128\">Advance to "+CharTemplateTable.getInstance().getClassNameById(128)+"</a></font></center><br>");
- + }
- + if (player.getClassId() == ClassId.warder)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 129\">Advance to "+CharTemplateTable.getInstance().getClassNameById(129)+"</a></font></center><br>");
- + village.append("<br></br>");
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 130\">Advance to "+CharTemplateTable.getInstance().getClassNameById(130)+"</a></font></center><br>");
- + }
- + if (player.getClassId() == ClassId.berserker)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 131\">Advance to "+CharTemplateTable.getInstance().getClassNameById(131)+"</a></font></center><br>");
- +
- + }
- + if (player.getClassId() == ClassId.femaleSoulbreaker || player.getClassId() == ClassId.maleSoulbreaker)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 132\">Advance to "+CharTemplateTable.getInstance().getClassNameById(132)+"</a></font></center><br>");
- +
- + }
- + if (player.getClassId() == ClassId.arbalester)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 134\">Advance to "+CharTemplateTable.getInstance().getClassNameById(134)+"</a></font></center><br>");
- +
- + }
- + if (player.getClassId() == ClassId.inspector)
- + {
- + village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 136\">Advance to "+CharTemplateTable.getInstance().getClassNameById(136)+"</a></font></center><br>");
- +
- + }
- + village.append("<br></br>");
- + village.append("<tr><td><center><font color=\"0000ff\">MaxCheaters </font></td></center></tr>");
- + village.append("<br></br>");
- + village.append("<tr><td><font color=\"00FF00\">---------------------------------------------------</font></td></tr>");
- + village.append("</html></body>");
- + NpcHtmlMessage l2reaction = new NpcHtmlMessage(0);
- + l2reaction.setHtml(village.toString());
- + player.sendPacket(l2reaction);
- + }
- + else if (level >= 76 && Config.ALLOW_CLASS_MASTERS && classId.getId() < 88)
- + {
- + for (int i = 0; i < SECOND_CLASS_IDS.length; i++)
- +
- {
- - player.getAI().setIntention(CtrlIntention.AI_INTENTION_INTERACT, this);
- - return;
- - }
- + if (classId.getId() == SECOND_CLASS_IDS[i])
- +
- + {
- + TextBuilder village = new TextBuilder("<html><body>");
- + village.append("<center><table width=\"270\" border=\"0\" bgcolor=\"111111\">");
- + village.append("<tr><td width=\"170\"><font color=\"5772d6\">L</font><font color=\"5772d6\">2</font><font color=\"5772d6\">R</font><font color=\"5772d6\">e</font><font color=\"5772d6\">a</font><font color=\"5772d6\">c</font><font color=\"5772d6\">t</font><font color=\"5772d6\">i</font><font color=\"5772d6\">o</font><font color=\"5772d6\">n</font></td>");
- + village.append("<td width=\"100\" align=\"center\"><font color=\"5772d6\">Players</font><font color=\"5772d6\">:</font><font color=\"5772d6\"> " +L2World.getInstance().getAllPlayers().size()+ "</font></font></td></tr>");
- + village.append("</table><table width=\"270\" border=\"0\">");
- + village.append("</table>");
- + village.append("<br></br>");
- + village.append("<tr><td><center>L2Reaction</center></td></tr>");
- + village.append("<br></br>");
- + village.append("<tr><td><font color=\"00FF00\">MaxCheaters Class Master</font></td></tr>");
- + village.append("<br></br>");
- + village.append("<tr><td><font color=\"00FF00\">---------------------------------------------------</font></td></tr>");
- + village.append("<br></br>");
- + village.append("<center><a action=\"bypass -h npc_"+getObjectId()+"_change_class "+(88+i)+"\">Advance to "+CharTemplateTable.getInstance().getClassNameById(88+i)+"</a></center><br>");
- + village.append("<br></br>");
- + village.append("<tr><td><center><font color=\"CCFF00\">MaxCheaters</font></td></center></tr>");
- + village.append("<br></br>");
- + village.append("<tr><td><font color=\"00FF00\">---------------------------------------------------</font></td></tr>");
- + village.append("</html></body>");
- + NpcHtmlMessage l2reaction = new NpcHtmlMessage(0);
- + l2reaction.setHtml(village.toString());
- + player.sendPacket(l2reaction);
- - if (Config.DEBUG)
- - _log.fine("ClassMaster activated");
- - ClassId classId = player.getClassId();
- + break;
- + }
- + }
- - int jobLevel = 0;
- - int level = player.getLevel();
- - ClassLevel lvl = PlayerClass.values()[classId.getId()].getLevel();
- - switch (lvl)
- - {
- - case First:
- - jobLevel = 1;
- + }
- + else if (level >= 76 && Config.ALLOW_CLASS_MASTERS && ((classId.getId() >= 123 && classId.getId() < 131 ) || classId.getId() == 135)) // this is for Kamael Race 3rd Transfer
- + {
- + showChatWindow(player, classId.getId());
- + }
- + else
- + {
- + NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
- + TextBuilder sb = new TextBuilder();
- + sb.append("<html><title>Class Change</title><body><center><img src=L2Font-e.replay_logo-e width=258 height=60><br><br><br><img src=L2UI_CH3.herotower_deco width=256 height=32><br><br>");
- + switch (jobLevel)
- + {
- + case 1:
- + sb.append("Come back here when you reach level 20 to change your class.<br>");
- break;
- - case Second:
- - jobLevel = 2;
- + case 2:
- + sb.append("Come back here when you reach level 40 to change your class.<br>");
- break;
- - default:
- - jobLevel = 3;
- + case 3:
- + sb.append("Come back here when you reach level 76 to change your class.<br>");
- + break;
- + case 4:
- + sb.append("There are no more class changes for you.<br>");
- + break;
- }
- - if (!Config.ALLOW_CLASS_MASTERS)
- - jobLevel = 3;
- + for (Quest q : Quest.findAllEvents())
- + sb.append("Event: <a action=\"bypass -h Quest "+q.getName()+"\">"+q.getDescr()+"</a><br>");
- - if(player.isGM())
- - {
- - showChatWindowChooseClass(player);
- - }
- - else if (((level >= 20 && jobLevel == 1 ) ||
- - (level >= 40 && jobLevel == 2 )) && Config.ALLOW_CLASS_MASTERS)
- - {
- - showChatWindow(player, classId.getId());
- - }
- - else if (level >= 76 && Config.ALLOW_CLASS_MASTERS && classId.getId() < 88)
- - {
- - for (int i = 0; i < SECOND_CLASS_IDS.length; i++)
- - {
- - if (classId.getId() == SECOND_CLASS_IDS[i])
- - {
- - NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
- - final String sb = StringUtil.concat(
- - "<html><body<table width=200>" +
- - "<tr><td><center>",
- - String.valueOf(CharTemplateTable.getInstance().getClassNameById(player.getClassId().getId())),
- - " Class Master:</center></td></tr>" +
- - "<tr><td><br></td></tr>" +
- - "<tr><td><a action=\"bypass -h npc_",
- - String.valueOf(getObjectId()),
- - "_change_class ",
- - String.valueOf(88+i),
- - "\">Advance to ",
- - CharTemplateTable.getInstance().getClassNameById(88+i),
- - "</a></td></tr>" +
- - "<tr><td><br></td></tr>" +
- - "</table></body></html>"
- - );
- - html.setHtml(sb);
- - player.sendPacket(html);
- - break;
- - }
- - }
- - }
- - else if (level >= 76 && Config.ALLOW_CLASS_MASTERS && ((classId.getId() >= 123 && classId.getId() < 131 ) || classId.getId() == 135)) // this is for Kamael Race 3rd Transfer
- - {
- - showChatWindow(player, classId.getId());
- - }
- - else
- - {
- - NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
- - final Collection<Quest> quests = Quest.findAllEvents();
- - final StringBuilder sb = new StringBuilder(30 + 50 + quests.size() * 50);
- - sb.append("<html><body>");
- - switch (jobLevel)
- - {
- - case 1:
- - sb.append("Come back here when you reach level 20 to change your class.<br>");
- - break;
- - case 2:
- - sb.append("Come back here when you reach level 40 to change your class.<br>");
- - break;
- - case 3:
- - sb.append("There are no more class changes for you.<br>");
- - break;
- - }
- -
- - for (Quest q : quests) {
- - StringUtil.append(sb,
- - "Event: <a action=\"bypass -h Quest ",
- - q.getName(),
- - "\">",
- - q.getDescr(),
- - "</a><br>"
- - );
- - }
- -
- - sb.append("</body></html>");
- - html.setHtml(sb.toString());
- - player.sendPacket(html);
- - }
- + sb.append("<br><img src=L2UI_CH3.herotower_deco width=256 height=32><br><font color=808080>L2 Reaction</font></center></body></html>");
- + html.setHtml(sb.toString());
- + player.sendPacket(html);
- +
- }
- player.sendPacket(ActionFailed.STATIC_PACKET);
- }
- @@ -243,16 +468,8 @@
- else
- player.sendPacket(new SystemMessage(SystemMessageId.CLASS_TRANSFER)); // system sound for 1st and 2nd occupation
- - NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
- - final String sb = StringUtil.concat(
- - "<html><body>" +
- - "You have now become a <font color=\"LEVEL\">",
- - CharTemplateTable.getInstance().getClassNameById(player.getClassId().getId()),
- - "</font>." +
- - "</body></html>"
- - );
- - html.setHtml(sb);
- - player.sendPacket(html);
- + ExShowScreenMessage welcomemessage = new ExShowScreenMessage("Your New Class " + CharTemplateTable.getInstance().getClassNameById(player.getClassId().getId())+"!",7000);
- + player.sendPacket(welcomemessage);
- return;
- }
- switch (lvlnow)
- @@ -306,16 +523,8 @@
- player.rewardSkills();
- - NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
- - final String sb = StringUtil.concat(
- - "<html><body>" +
- - "You have now become a <font color=\"LEVEL\">",
- - CharTemplateTable.getInstance().getClassNameById(player.getClassId().getId()),
- - "</font>." +
- - "</body></html>"
- - );
- - html.setHtml(sb);
- - player.sendPacket(html);
- + ExShowScreenMessage welcomemessage = new ExShowScreenMessage("Your New Class " + CharTemplateTable.getInstance().getClassNameById(player.getClassId().getId())+"!",7000);
- + player.sendPacket(welcomemessage);
- }
- else
- {
Advertisement
Add Comment
Please, Sign In to add comment