ClassId must be set after setting base class.
This commit is contained in:
		| @@ -306,7 +306,6 @@ public final class AwakeningMaster extends AbstractNpcAI | ||||
| 		 | ||||
| 		for (ClassId newClass : player.getClassId().getNextClassIds()) | ||||
| 		{ | ||||
| 			player.setClassId(newClass.getId()); | ||||
| 			if (player.isDualClassActive()) | ||||
| 			{ | ||||
| 				player.getSubClasses().get(player.getClassIndex()).setClassId(player.getActiveClass()); | ||||
| @@ -315,6 +314,8 @@ public final class AwakeningMaster extends AbstractNpcAI | ||||
| 			{ | ||||
| 				player.setBaseClass(player.getActiveClass()); | ||||
| 			} | ||||
| 			player.setClassId(newClass.getId()); | ||||
| 			 | ||||
| 			player.sendPacket(SystemMessageId.CONGRATULATIONS_YOU_VE_COMPLETED_A_CLASS_TRANSFER); | ||||
| 			final UserInfo ui = new UserInfo(player, false); | ||||
| 			ui.addComponentType(UserInfoType.BASIC_INFO); | ||||
|   | ||||
| @@ -138,7 +138,6 @@ public final class Hardin extends AbstractNpcAI | ||||
| 				player.getAppearance().setSex(true); | ||||
| 			} | ||||
| 			// Change class | ||||
| 			player.setClassId(newClass.getId()); | ||||
| 			if (player.isDualClassActive()) | ||||
| 			{ | ||||
| 				player.getSubClasses().get(player.getClassIndex()).setClassId(player.getActiveClass()); | ||||
| @@ -147,6 +146,7 @@ public final class Hardin extends AbstractNpcAI | ||||
| 			{ | ||||
| 				player.setBaseClass(player.getActiveClass()); | ||||
| 			} | ||||
| 			player.setClassId(newClass.getId()); | ||||
| 			// Adjustments | ||||
| 			SkillTreesData.getInstance().cleanSkillUponAwakening(player); | ||||
| 			for (L2SkillLearn skill : SkillTreesData.getInstance().getRaceSkillTree(player.getRace())) | ||||
|   | ||||
| @@ -391,7 +391,6 @@ public final class ClassMaster extends AbstractNpcAI implements IGameXmlReader | ||||
| 						} | ||||
| 					} | ||||
| 					 | ||||
| 					player.setClassId(classId); | ||||
| 					if (player.isSubClassActive()) | ||||
| 					{ | ||||
| 						player.getSubClasses().get(player.getClassIndex()).setClassId(player.getActiveClass()); | ||||
| @@ -400,6 +399,8 @@ public final class ClassMaster extends AbstractNpcAI implements IGameXmlReader | ||||
| 					{ | ||||
| 						player.setBaseClass(player.getActiveClass()); | ||||
| 					} | ||||
| 					player.setClassId(classId); | ||||
| 					 | ||||
| 					if (player.isInCategory(CategoryType.AWAKEN_GROUP)) | ||||
| 					{ | ||||
| 						SkillTreesData.getInstance().cleanSkillUponAwakening(player); | ||||
|   | ||||
| @@ -371,7 +371,6 @@ public class AdminEditChar implements IAdminCommandHandler | ||||
| 					{ | ||||
| 						player.resetOriginalClass(); // revert agent of chaos changes | ||||
| 					} | ||||
| 					player.setClassId(classidval); | ||||
| 					if (player.isSubClassActive()) | ||||
| 					{ | ||||
| 						player.getSubClasses().get(player.getClassIndex()).setClassId(player.getActiveClass()); | ||||
| @@ -380,6 +379,7 @@ public class AdminEditChar implements IAdminCommandHandler | ||||
| 					{ | ||||
| 						player.setBaseClass(player.getActiveClass()); | ||||
| 					} | ||||
| 					player.setClassId(classidval); | ||||
| 					 | ||||
| 					// Sex checks. | ||||
| 					if (player.getRace().equals(Race.KAMAEL)) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 MobiusDev
					MobiusDev