Ertheia button disappear fix.

Contributed by rocknowx.
This commit is contained in:
MobiusDev
2015-11-06 21:57:44 +00:00
parent 08ed09c76a
commit 1f8fbd9d96
2 changed files with 12 additions and 1 deletions

View File

@ -34,6 +34,7 @@ import com.l2jserver.commons.database.pool.impl.ConnectionFactory;
import com.l2jserver.gameserver.data.sql.impl.CharNameTable; import com.l2jserver.gameserver.data.sql.impl.CharNameTable;
import com.l2jserver.gameserver.data.xml.impl.ClassListData; import com.l2jserver.gameserver.data.xml.impl.ClassListData;
import com.l2jserver.gameserver.data.xml.impl.SkillTreesData; import com.l2jserver.gameserver.data.xml.impl.SkillTreesData;
import com.l2jserver.gameserver.enums.SubclassInfoType;
import com.l2jserver.gameserver.handler.IAdminCommandHandler; import com.l2jserver.gameserver.handler.IAdminCommandHandler;
import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.L2Object;
import com.l2jserver.gameserver.model.L2World; import com.l2jserver.gameserver.model.L2World;
@ -47,6 +48,7 @@ import com.l2jserver.gameserver.model.base.ClassId;
import com.l2jserver.gameserver.network.L2GameClient; import com.l2jserver.gameserver.network.L2GameClient;
import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.SystemMessageId;
import com.l2jserver.gameserver.network.serverpackets.AcquireSkillList; import com.l2jserver.gameserver.network.serverpackets.AcquireSkillList;
import com.l2jserver.gameserver.network.serverpackets.ExSubjobInfo;
import com.l2jserver.gameserver.network.serverpackets.ExVoteSystemInfo; import com.l2jserver.gameserver.network.serverpackets.ExVoteSystemInfo;
import com.l2jserver.gameserver.network.serverpackets.GMViewItemList; import com.l2jserver.gameserver.network.serverpackets.GMViewItemList;
import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage; import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
@ -368,10 +370,11 @@ public class AdminEditChar implements IAdminCommandHandler
player.storeMe(); player.storeMe();
player.sendMessage("A GM changed your class to " + newclass + "."); player.sendMessage("A GM changed your class to " + newclass + ".");
player.broadcastUserInfo(); player.broadcastUserInfo();
if (player.getClassId().level() > 3) if (player.isAwaken())
{ {
SkillTreesData.getInstance().cleanSkillUponAwakening(player); SkillTreesData.getInstance().cleanSkillUponAwakening(player);
} }
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
player.sendPacket(new AcquireSkillList(player)); player.sendPacket(new AcquireSkillList(player));
activeChar.sendMessage(player.getName() + " is a " + newclass + "."); activeChar.sendMessage(player.getName() + " is a " + newclass + ".");
} }

View File

@ -21,13 +21,16 @@ package com.l2jserver.gameserver.model.actor.instance;
import com.l2jserver.Config; import com.l2jserver.Config;
import com.l2jserver.gameserver.cache.HtmCache; import com.l2jserver.gameserver.cache.HtmCache;
import com.l2jserver.gameserver.data.xml.impl.ClassListData; import com.l2jserver.gameserver.data.xml.impl.ClassListData;
import com.l2jserver.gameserver.data.xml.impl.SkillTreesData;
import com.l2jserver.gameserver.datatables.ItemTable; import com.l2jserver.gameserver.datatables.ItemTable;
import com.l2jserver.gameserver.enums.InstanceType; import com.l2jserver.gameserver.enums.InstanceType;
import com.l2jserver.gameserver.enums.Race; import com.l2jserver.gameserver.enums.Race;
import com.l2jserver.gameserver.enums.SubclassInfoType;
import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate; import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
import com.l2jserver.gameserver.model.base.ClassId; import com.l2jserver.gameserver.model.base.ClassId;
import com.l2jserver.gameserver.model.holders.ItemHolder; import com.l2jserver.gameserver.model.holders.ItemHolder;
import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.SystemMessageId;
import com.l2jserver.gameserver.network.serverpackets.ExSubjobInfo;
import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage; import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jserver.gameserver.network.serverpackets.TutorialCloseHtml; import com.l2jserver.gameserver.network.serverpackets.TutorialCloseHtml;
import com.l2jserver.gameserver.network.serverpackets.TutorialShowQuestionMark; import com.l2jserver.gameserver.network.serverpackets.TutorialShowQuestionMark;
@ -424,6 +427,11 @@ public final class L2ClassMasterInstance extends L2MerchantInstance
} }
player.broadcastUserInfo(); player.broadcastUserInfo();
if (player.isAwaken())
{
SkillTreesData.getInstance().cleanSkillUponAwakening(player);
}
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
if (Config.CLASS_MASTER_SETTINGS.isAllowed(player.getClassId().level() + 1) && Config.ALTERNATE_CLASS_MASTER && (((player.getClassId().level() == 1) && (player.getLevel() >= 40)) || ((player.getClassId().level() == 2) && (player.getLevel() >= 76)) || ((player.getClassId().level() == 3) && (player.getLevel() >= 85)))) if (Config.CLASS_MASTER_SETTINGS.isAllowed(player.getClassId().level() + 1) && Config.ALTERNATE_CLASS_MASTER && (((player.getClassId().level() == 1) && (player.getLevel() >= 40)) || ((player.getClassId().level() == 2) && (player.getLevel() >= 76)) || ((player.getClassId().level() == 3) && (player.getLevel() >= 85))))
{ {