Different classmaster level requirements for Ertheia characters.
This commit is contained in:
		@@ -23,6 +23,7 @@ import com.l2jserver.gameserver.cache.HtmCache;
 | 
			
		||||
import com.l2jserver.gameserver.data.xml.impl.ClassListData;
 | 
			
		||||
import com.l2jserver.gameserver.datatables.ItemTable;
 | 
			
		||||
import com.l2jserver.gameserver.enums.InstanceType;
 | 
			
		||||
import com.l2jserver.gameserver.enums.Race;
 | 
			
		||||
import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
 | 
			
		||||
import com.l2jserver.gameserver.model.base.ClassId;
 | 
			
		||||
import com.l2jserver.gameserver.model.holders.ItemHolder;
 | 
			
		||||
@@ -178,7 +179,7 @@ public final class L2ClassMasterInstance extends L2MerchantInstance
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		final ClassId classId = player.getClassId();
 | 
			
		||||
		if (getMinLevel(classId.level()) > player.getLevel())
 | 
			
		||||
		if (getMinLevel(classId.level(), player) > player.getLevel())
 | 
			
		||||
		{
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
@@ -286,7 +287,7 @@ public final class L2ClassMasterInstance extends L2MerchantInstance
 | 
			
		||||
			}
 | 
			
		||||
			else
 | 
			
		||||
			{
 | 
			
		||||
				final int minLevel = getMinLevel(currentClassId.level());
 | 
			
		||||
				final int minLevel = getMinLevel(currentClassId.level(), player);
 | 
			
		||||
				if ((player.getLevel() >= minLevel) || Config.ALLOW_ENTIRE_TREE)
 | 
			
		||||
				{
 | 
			
		||||
					final StringBuilder menu = new StringBuilder(100);
 | 
			
		||||
@@ -311,7 +312,7 @@ public final class L2ClassMasterInstance extends L2MerchantInstance
 | 
			
		||||
					else
 | 
			
		||||
					{
 | 
			
		||||
						html.setFile(player.getHtmlPrefix(), "html/classmaster/comebacklater.htm");
 | 
			
		||||
						html.replace("%level%", String.valueOf(getMinLevel(level - 1)));
 | 
			
		||||
						html.replace("%level%", String.valueOf(getMinLevel(level - 1, player)));
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
				else
 | 
			
		||||
@@ -337,7 +338,7 @@ public final class L2ClassMasterInstance extends L2MerchantInstance
 | 
			
		||||
	private static final void showTutorialHtml(L2PcInstance player)
 | 
			
		||||
	{
 | 
			
		||||
		final ClassId currentClassId = player.getClassId();
 | 
			
		||||
		if ((getMinLevel(currentClassId.level()) > player.getLevel()) && !Config.ALLOW_ENTIRE_TREE)
 | 
			
		||||
		if ((getMinLevel(currentClassId.level(), player) > player.getLevel()) && !Config.ALLOW_ENTIRE_TREE)
 | 
			
		||||
		{
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
@@ -366,7 +367,7 @@ public final class L2ClassMasterInstance extends L2MerchantInstance
 | 
			
		||||
	private static final boolean checkAndChangeClass(L2PcInstance player, int val)
 | 
			
		||||
	{
 | 
			
		||||
		final ClassId currentClassId = player.getClassId();
 | 
			
		||||
		if ((getMinLevel(currentClassId.level()) > player.getLevel()) && !Config.ALLOW_ENTIRE_TREE)
 | 
			
		||||
		if ((getMinLevel(currentClassId.level(), player) > player.getLevel()) && !Config.ALLOW_ENTIRE_TREE)
 | 
			
		||||
		{
 | 
			
		||||
			return false;
 | 
			
		||||
		}
 | 
			
		||||
@@ -433,10 +434,25 @@ public final class L2ClassMasterInstance extends L2MerchantInstance
 | 
			
		||||
	
 | 
			
		||||
	/**
 | 
			
		||||
	 * @param level - current skillId level (0 - start, 1 - first, etc)
 | 
			
		||||
	 * @param player L2PcInstance
 | 
			
		||||
	 * @return minimum player level required for next class transfer
 | 
			
		||||
	 */
 | 
			
		||||
	private static final int getMinLevel(int level)
 | 
			
		||||
	private static final int getMinLevel(int level, L2PcInstance player)
 | 
			
		||||
	{
 | 
			
		||||
		if (player.getRace() == Race.ERTHEIA)
 | 
			
		||||
		{
 | 
			
		||||
			switch (level)
 | 
			
		||||
			{
 | 
			
		||||
				case 0:
 | 
			
		||||
					return 40;
 | 
			
		||||
				case 1:
 | 
			
		||||
					return 76;
 | 
			
		||||
				case 2:
 | 
			
		||||
					return 85;
 | 
			
		||||
				default:
 | 
			
		||||
					return Integer.MAX_VALUE;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		switch (level)
 | 
			
		||||
		{
 | 
			
		||||
			case 0:
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user