Update skill shortcuts when autolearn is enabled.

This commit is contained in:
MobiusDevelopment 2021-11-22 02:30:19 +00:00
parent 03702eb60b
commit 24d326dbae
46 changed files with 296 additions and 80 deletions

View File

@ -2684,12 +2684,21 @@ public class Player extends Playable
addSkill(skill, false);
skillsForStore.add(skill);
if (Config.AUTO_LEARN_SKILLS)
{
updateShortCuts(skill.getId(), skill.getLevel(), skill.getSubLevel());
}
}
storeSkills(skillsForStore, -1);
if (Config.AUTO_LEARN_SKILLS && (skillCounter > 0))
{
sendPacket(new ShortCutInit(this));
sendMessage("You have learned " + skillCounter + " new skills.");
}
return skillCounter;
}

View File

@ -691,11 +691,10 @@ public class RequestAcquireSkill implements IClientIncomingPacket
player.addSkill(skill, store);
player.sendItemList(false);
player.updateShortCuts(_id, _level, 0);
player.sendPacket(new ShortCutInit(player));
player.sendPacket(new ExBasicActionList(ExBasicActionList.DEFAULT_ACTION_LIST));
player.sendSkillList(skill.getId());
player.updateShortCuts(_id, _level, 0);
showSkillList(trainer, player);
// If skill is expand type then sends packet:

View File

@ -2686,12 +2686,21 @@ public class Player extends Playable
addSkill(skill, false);
skillsForStore.add(skill);
if (Config.AUTO_LEARN_SKILLS)
{
updateShortCuts(skill.getId(), skill.getLevel(), skill.getSubLevel());
}
}
storeSkills(skillsForStore, -1);
if (Config.AUTO_LEARN_SKILLS && (skillCounter > 0))
{
sendPacket(new ShortCutInit(this));
sendMessage("You have learned " + skillCounter + " new skills.");
}
return skillCounter;
}

View File

@ -691,11 +691,10 @@ public class RequestAcquireSkill implements IClientIncomingPacket
player.addSkill(skill, store);
player.sendItemList(false);
player.updateShortCuts(_id, _level, 0);
player.sendPacket(new ShortCutInit(player));
player.sendPacket(new ExBasicActionList(ExBasicActionList.DEFAULT_ACTION_LIST));
player.sendSkillList(skill.getId());
player.updateShortCuts(_id, _level, 0);
showSkillList(trainer, player);
// If skill is expand type then sends packet:

View File

@ -2688,12 +2688,21 @@ public class Player extends Playable
addSkill(skill, false);
skillsForStore.add(skill);
if (Config.AUTO_LEARN_SKILLS)
{
updateShortCuts(skill.getId(), skill.getLevel(), skill.getSubLevel());
}
}
storeSkills(skillsForStore, -1);
if (Config.AUTO_LEARN_SKILLS && (skillCounter > 0))
{
sendPacket(new ShortCutInit(this));
sendMessage("You have learned " + skillCounter + " new skills.");
}
return skillCounter;
}

View File

@ -691,11 +691,10 @@ public class RequestAcquireSkill implements IClientIncomingPacket
player.addSkill(skill, store);
player.sendItemList(false);
player.updateShortCuts(_id, _level, 0);
player.sendPacket(new ShortCutInit(player));
player.sendPacket(new ExBasicActionList(ExBasicActionList.DEFAULT_ACTION_LIST));
player.sendSkillList(skill.getId());
player.updateShortCuts(_id, _level, 0);
showSkillList(trainer, player);
// If skill is expand type then sends packet:

View File

@ -2696,12 +2696,21 @@ public class Player extends Playable
addSkill(skill, false);
skillsForStore.add(skill);
if (Config.AUTO_LEARN_SKILLS)
{
updateShortCuts(skill.getId(), skill.getLevel(), skill.getSubLevel());
}
}
storeSkills(skillsForStore, -1);
if (Config.AUTO_LEARN_SKILLS && (skillCounter > 0))
{
sendPacket(new ShortCutInit(this));
sendMessage("You have learned " + skillCounter + " new skills.");
}
return skillCounter;
}

View File

@ -691,11 +691,10 @@ public class RequestAcquireSkill implements IClientIncomingPacket
player.addSkill(skill, store);
player.sendItemList(false);
player.updateShortCuts(_id, _level, 0);
player.sendPacket(new ShortCutInit(player));
player.sendPacket(new ExBasicActionList(ExBasicActionList.DEFAULT_ACTION_LIST));
player.sendSkillList(skill.getId());
player.updateShortCuts(_id, _level, 0);
showSkillList(trainer, player);
// If skill is expand type then sends packet:

View File

@ -2725,12 +2725,21 @@ public class Player extends Playable
addSkill(skill, false);
skillsForStore.add(skill);
if (Config.AUTO_LEARN_SKILLS)
{
updateShortCuts(skill.getId(), skill.getLevel(), skill.getSubLevel());
}
}
storeSkills(skillsForStore, -1);
if (Config.AUTO_LEARN_SKILLS && (skillCounter > 0))
{
sendPacket(new ShortCutInit(this));
sendMessage("You have learned " + skillCounter + " new skills.");
}
return skillCounter;
}

View File

@ -641,11 +641,10 @@ public class RequestAcquireSkill implements IClientIncomingPacket
player.addSkill(skill, store);
player.sendItemList();
player.updateShortCuts(_id, _level, 0);
player.sendPacket(new ShortCutInit(player));
player.sendPacket(new ExBasicActionList(ExBasicActionList.DEFAULT_ACTION_LIST));
player.sendSkillList(skill.getId());
player.updateShortCuts(_id, _level, 0);
showSkillList(trainer, player);
// If skill is expand type then sends packet:

View File

@ -2725,12 +2725,21 @@ public class Player extends Playable
addSkill(skill, false);
skillsForStore.add(skill);
if (Config.AUTO_LEARN_SKILLS)
{
updateShortCuts(skill.getId(), skill.getLevel(), skill.getSubLevel());
}
}
storeSkills(skillsForStore, -1);
if (Config.AUTO_LEARN_SKILLS && (skillCounter > 0))
{
sendPacket(new ShortCutInit(this));
sendMessage("You have learned " + skillCounter + " new skills.");
}
return skillCounter;
}

View File

@ -641,11 +641,10 @@ public class RequestAcquireSkill implements IClientIncomingPacket
player.addSkill(skill, store);
player.sendItemList();
player.updateShortCuts(_id, _level, 0);
player.sendPacket(new ShortCutInit(player));
player.sendPacket(new ExBasicActionList(ExBasicActionList.DEFAULT_ACTION_LIST));
player.sendSkillList(skill.getId());
player.updateShortCuts(_id, _level, 0);
showSkillList(trainer, player);
// If skill is expand type then sends packet:

View File

@ -2726,12 +2726,21 @@ public class Player extends Playable
addSkill(skill, false);
skillsForStore.add(skill);
if (Config.AUTO_LEARN_SKILLS)
{
updateShortCuts(skill.getId(), skill.getLevel(), skill.getSubLevel());
}
}
storeSkills(skillsForStore, -1);
if (Config.AUTO_LEARN_SKILLS && (skillCounter > 0))
{
sendPacket(new ShortCutInit(this));
sendMessage("You have learned " + skillCounter + " new skills.");
}
return skillCounter;
}

View File

@ -641,11 +641,10 @@ public class RequestAcquireSkill implements IClientIncomingPacket
player.addSkill(skill, store);
player.sendItemList();
player.updateShortCuts(_id, _level, 0);
player.sendPacket(new ShortCutInit(player));
player.sendPacket(new ExBasicActionList(ExBasicActionList.DEFAULT_ACTION_LIST));
player.sendSkillList(skill.getId());
player.updateShortCuts(_id, _level, 0);
showSkillList(trainer, player);
// If skill is expand type then sends packet:

View File

@ -2662,12 +2662,21 @@ public class Player extends Playable
addSkill(skill, false);
skillsForStore.add(skill);
if (Config.AUTO_LEARN_SKILLS)
{
updateShortCuts(skill.getId(), skill.getLevel(), skill.getSubLevel());
}
}
storeSkills(skillsForStore, -1);
if (Config.AUTO_LEARN_SKILLS && (skillCounter > 0))
{
sendPacket(new ShortCutInit(this));
sendMessage("You have learned " + skillCounter + " new skills.");
}
return skillCounter;
}

View File

@ -644,11 +644,10 @@ public class RequestAcquireSkill implements IClientIncomingPacket
player.addSkill(skill, store);
player.sendItemList();
player.updateShortCuts(_id, _level, 0);
player.sendPacket(new ShortCutInit(player));
player.sendPacket(new ExBasicActionList(ExBasicActionList.DEFAULT_ACTION_LIST));
player.sendSkillList(skill.getId());
player.updateShortCuts(_id, _level, 0);
showSkillList(trainer, player);
// If skill is expand type then sends packet:

View File

@ -2692,12 +2692,21 @@ public class Player extends Playable
addSkill(skill, false);
skillsForStore.add(skill);
if (Config.AUTO_LEARN_SKILLS)
{
updateShortCuts(skill.getId(), skill.getLevel(), skill.getSubLevel());
}
}
storeSkills(skillsForStore, -1);
if (Config.AUTO_LEARN_SKILLS && (skillCounter > 0))
{
sendPacket(new ShortCutInit(this));
sendMessage("You have learned " + skillCounter + " new skills.");
}
return skillCounter;
}

View File

@ -644,11 +644,10 @@ public class RequestAcquireSkill implements IClientIncomingPacket
player.addSkill(skill, store);
player.sendItemList();
player.updateShortCuts(_id, _level, 0);
player.sendPacket(new ShortCutInit(player));
player.sendPacket(new ExBasicActionList(ExBasicActionList.DEFAULT_ACTION_LIST));
player.sendSkillList(skill.getId());
player.updateShortCuts(_id, _level, 0);
showSkillList(trainer, player);
// If skill is expand type then sends packet:

View File

@ -2709,12 +2709,21 @@ public class Player extends Playable
addSkill(skill, false);
skillsForStore.add(skill);
if (Config.AUTO_LEARN_SKILLS)
{
updateShortCuts(skill.getId(), skill.getLevel(), skill.getSubLevel());
}
}
storeSkills(skillsForStore, -1);
if (Config.AUTO_LEARN_SKILLS && (skillCounter > 0))
{
sendPacket(new ShortCutInit(this));
sendMessage("You have learned " + skillCounter + " new skills.");
}
return skillCounter;
}

View File

@ -644,11 +644,10 @@ public class RequestAcquireSkill implements IClientIncomingPacket
player.addSkill(skill, store);
player.sendItemList();
player.updateShortCuts(_id, _level, 0);
player.sendPacket(new ShortCutInit(player));
player.sendPacket(new ExBasicActionList(ExBasicActionList.DEFAULT_ACTION_LIST));
player.sendSkillList(skill.getId());
player.updateShortCuts(_id, _level, 0);
showSkillList(trainer, player);
// If skill is expand type then sends packet:

View File

@ -2711,12 +2711,21 @@ public class Player extends Playable
addSkill(skill, false);
skillsForStore.add(skill);
if (Config.AUTO_LEARN_SKILLS)
{
updateShortCuts(skill.getId(), skill.getLevel(), skill.getSubLevel());
}
}
storeSkills(skillsForStore, -1);
if (Config.AUTO_LEARN_SKILLS && (skillCounter > 0))
{
sendPacket(new ShortCutInit(this));
sendMessage("You have learned " + skillCounter + " new skills.");
}
return skillCounter;
}

View File

@ -644,11 +644,10 @@ public class RequestAcquireSkill implements IClientIncomingPacket
player.addSkill(skill, store);
player.sendItemList();
player.updateShortCuts(_id, _level, 0);
player.sendPacket(new ShortCutInit(player));
player.sendPacket(new ExBasicActionList(ExBasicActionList.DEFAULT_ACTION_LIST));
player.sendSkillList(skill.getId());
player.updateShortCuts(_id, _level, 0);
showSkillList(trainer, player);
// If skill is expand type then sends packet:

View File

@ -117,8 +117,8 @@ import org.l2jmobius.gameserver.model.actor.instance.GrandBoss;
import org.l2jmobius.gameserver.model.actor.instance.Guard;
import org.l2jmobius.gameserver.model.actor.instance.Monster;
import org.l2jmobius.gameserver.model.actor.instance.RaidBoss;
import org.l2jmobius.gameserver.model.actor.instance.SiegeGuard;
import org.l2jmobius.gameserver.model.actor.instance.Servitor;
import org.l2jmobius.gameserver.model.actor.instance.SiegeGuard;
import org.l2jmobius.gameserver.model.actor.instance.TamedBeast;
import org.l2jmobius.gameserver.model.actor.knownlist.PlayerKnownList;
import org.l2jmobius.gameserver.model.actor.stat.PlayerStat;
@ -206,6 +206,7 @@ import org.l2jmobius.gameserver.network.serverpackets.Ride;
import org.l2jmobius.gameserver.network.serverpackets.SendTradeDone;
import org.l2jmobius.gameserver.network.serverpackets.SetupGauge;
import org.l2jmobius.gameserver.network.serverpackets.ShortCutInit;
import org.l2jmobius.gameserver.network.serverpackets.ShortCutRegister;
import org.l2jmobius.gameserver.network.serverpackets.SkillList;
import org.l2jmobius.gameserver.network.serverpackets.Snoop;
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
@ -2777,32 +2778,46 @@ public class Player extends Playable
int skillCounter = 0;
final Collection<Skill> skills = SkillTreeTable.getInstance().getAllAvailableSkills(this, getClassId());
for (Skill sk : skills)
for (Skill skill : skills)
{
if (getSkillLevel(sk.getId()) == 0)
if (getSkillLevel(skill.getId()) == 0)
{
skillCounter++;
}
// Penality skill are not auto learn
if ((sk.getId() == 4267 /* Grade Penalty */) || (sk.getId() == 4270 /* Weight Penalty */))
if ((skill.getId() == 4267 /* Grade Penalty */) || (skill.getId() == 4270 /* Weight Penalty */))
{
continue;
}
// fix when learning toggle skills
if (sk.isToggle())
if (skill.isToggle())
{
final Effect toggleEffect = getFirstEffect(sk.getId());
final Effect toggleEffect = getFirstEffect(skill.getId());
if (toggleEffect != null)
{
// stop old toggle skill effect, and give new toggle skill effect back
toggleEffect.exit(false);
sk.applyEffects(this, this, false, false, false);
skill.applyEffects(this, this, false, false, false);
}
}
addSkill(sk, true);
addSkill(skill, true);
if (Config.AUTO_LEARN_SKILLS)
{
for (ShortCut shortcut : getAllShortCuts())
{
if ((shortcut != null) && (shortcut.getId() == skill.getId()) && (shortcut.getType() == ShortCut.TYPE_SKILL))
{
final ShortCut newsc = new ShortCut(shortcut.getSlot(), shortcut.getPage(), shortcut.getType(), shortcut.getId(), shortcut.getLevel());
sendPacket(new ShortCutRegister(newsc));
registerShortCut(newsc);
}
}
sendPacket(new ShortCutInit(this));
}
}
sendMessage("You have learned " + skillCounter + " new skills.");

View File

@ -120,8 +120,8 @@ import org.l2jmobius.gameserver.model.actor.instance.GrandBoss;
import org.l2jmobius.gameserver.model.actor.instance.Guard;
import org.l2jmobius.gameserver.model.actor.instance.Monster;
import org.l2jmobius.gameserver.model.actor.instance.RaidBoss;
import org.l2jmobius.gameserver.model.actor.instance.SiegeGuard;
import org.l2jmobius.gameserver.model.actor.instance.Servitor;
import org.l2jmobius.gameserver.model.actor.instance.SiegeGuard;
import org.l2jmobius.gameserver.model.actor.instance.TamedBeast;
import org.l2jmobius.gameserver.model.actor.knownlist.PlayerKnownList;
import org.l2jmobius.gameserver.model.actor.stat.PlayerStat;
@ -213,6 +213,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SendTradeDone;
import org.l2jmobius.gameserver.network.serverpackets.SetupGauge;
import org.l2jmobius.gameserver.network.serverpackets.ShortBuffStatusUpdate;
import org.l2jmobius.gameserver.network.serverpackets.ShortCutInit;
import org.l2jmobius.gameserver.network.serverpackets.ShortCutRegister;
import org.l2jmobius.gameserver.network.serverpackets.SkillCoolTime;
import org.l2jmobius.gameserver.network.serverpackets.SkillList;
import org.l2jmobius.gameserver.network.serverpackets.Snoop;
@ -2845,32 +2846,46 @@ public class Player extends Playable
int skillCounter = 0;
final Collection<Skill> skills = SkillTreeTable.getInstance().getAllAvailableSkills(this, getClassId());
for (Skill sk : skills)
for (Skill skill : skills)
{
if (getSkillLevel(sk.getId()) == 0)
if (getSkillLevel(skill.getId()) == 0)
{
skillCounter++;
}
// Penality skill are not auto learn
if ((sk.getId() == 4267 /* Grade Penalty */) || (sk.getId() == 4270 /* Weight Penalty */))
if ((skill.getId() == 4267 /* Grade Penalty */) || (skill.getId() == 4270 /* Weight Penalty */))
{
continue;
}
// fix when learning toggle skills
if (sk.isToggle())
if (skill.isToggle())
{
final Effect toggleEffect = getFirstEffect(sk.getId());
final Effect toggleEffect = getFirstEffect(skill.getId());
if (toggleEffect != null)
{
// stop old toggle skill effect, and give new toggle skill effect back
toggleEffect.exit(false);
sk.applyEffects(this, this, false, false, false);
skill.applyEffects(this, this, false, false, false);
}
}
addSkill(sk, true);
addSkill(skill, true);
if (Config.AUTO_LEARN_SKILLS)
{
for (ShortCut shortcut : getAllShortCuts())
{
if ((shortcut != null) && (shortcut.getId() == skill.getId()) && (shortcut.getType() == ShortCut.TYPE_SKILL))
{
final ShortCut newsc = new ShortCut(shortcut.getSlot(), shortcut.getPage(), shortcut.getType(), shortcut.getId(), shortcut.getLevel());
sendPacket(new ShortCutRegister(newsc));
registerShortCut(newsc);
}
}
sendPacket(new ShortCutInit(this));
}
}
sendMessage("You have learned " + skillCounter + " new skills.");

View File

@ -2708,32 +2708,41 @@ public class Player extends Playable
// Get available skills.
final Collection<Skill> skills = SkillTreeData.getInstance().getAllAvailableSkills(this, getClassId(), includeByFs, includeAutoGet, includeRequiredItems);
final List<Skill> skillsForStore = new ArrayList<>();
for (Skill sk : skills)
for (Skill skill : skills)
{
if (getKnownSkill(sk.getId()) == sk)
if (getKnownSkill(skill.getId()) == skill)
{
continue;
}
if (getSkillLevel(sk.getId()) == 0)
if (getSkillLevel(skill.getId()) == 0)
{
skillCounter++;
}
// Fix when learning toggle skills.
if (sk.isToggle() && isAffectedBySkill(sk.getId()))
if (skill.isToggle() && isAffectedBySkill(skill.getId()))
{
stopSkillEffects(SkillFinishType.REMOVED, sk.getId());
stopSkillEffects(SkillFinishType.REMOVED, skill.getId());
}
addSkill(sk, false);
skillsForStore.add(sk);
addSkill(skill, false);
skillsForStore.add(skill);
if (Config.AUTO_LEARN_SKILLS)
{
updateShortCuts(skill.getId(), skill.getLevel());
}
}
storeSkills(skillsForStore, -1);
if (Config.AUTO_LEARN_SKILLS && (skillCounter > 0))
{
sendPacket(new ShortCutInit(this));
sendMessage("You have learned " + skillCounter + " new skills.");
}
return skillCounter;
}
@ -4190,11 +4199,11 @@ public class Player extends Playable
}
/**
* Send a Server->Client packet UserInfo to this Player and CharInfo to all Player in its _KnownPlayers. <b><u>Concept</u>:</b> Others Player in the detection area of the Player are identified in <b>_knownPlayers</b>. In order to inform other players of this
* Player state modifications, server just need to go through _knownPlayers to send Server->Client Packet <b><u> Actions</u>:</b>
* Send a Server->Client packet UserInfo to this Player and CharInfo to all Player in its _KnownPlayers. <b><u>Concept</u>:</b> Others Player in the detection area of the Player are identified in <b>_knownPlayers</b>. In order to inform other players of this Player state modifications, server
* just need to go through _knownPlayers to send Server->Client Packet <b><u> Actions</u>:</b>
* <li>Send a Server->Client packet UserInfo to this Player (Public and Private Data)</li>
* <li>Send a Server->Client packet CharInfo to all Player in _KnownPlayers of the Player (Public data only)</li> <font color=#FF0000><b><u>Caution</u>: DON'T SEND UserInfo packet to other players instead of CharInfo packet. Indeed, UserInfo packet contains PRIVATE DATA as MaxHP,
* STR, DEX...</b></font>
* <li>Send a Server->Client packet CharInfo to all Player in _KnownPlayers of the Player (Public data only)</li> <font color=#FF0000><b><u>Caution</u>: DON'T SEND UserInfo packet to other players instead of CharInfo packet. Indeed, UserInfo packet contains PRIVATE DATA as MaxHP, STR,
* DEX...</b></font>
*/
public void broadcastUserInfo()
{

View File

@ -2619,32 +2619,41 @@ public class Player extends Playable
// Get available skills.
final Collection<Skill> skills = SkillTreeData.getInstance().getAllAvailableSkills(this, getClassId(), includeByFs, includeAutoGet, includeRequiredItems);
final List<Skill> skillsForStore = new ArrayList<>();
for (Skill sk : skills)
for (Skill skill : skills)
{
if (getKnownSkill(sk.getId()) == sk)
if (getKnownSkill(skill.getId()) == skill)
{
continue;
}
if (getSkillLevel(sk.getId()) == 0)
if (getSkillLevel(skill.getId()) == 0)
{
skillCounter++;
}
// Fix when learning toggle skills.
if (sk.isToggle() && isAffectedBySkill(sk.getId()))
if (skill.isToggle() && isAffectedBySkill(skill.getId()))
{
stopSkillEffects(SkillFinishType.REMOVED, sk.getId());
stopSkillEffects(SkillFinishType.REMOVED, skill.getId());
}
addSkill(sk, false);
skillsForStore.add(sk);
addSkill(skill, false);
skillsForStore.add(skill);
if (Config.AUTO_LEARN_SKILLS)
{
updateShortCuts(skill.getId(), skill.getLevel());
}
}
storeSkills(skillsForStore, -1);
if (Config.AUTO_LEARN_SKILLS && (skillCounter > 0))
{
sendPacket(new ShortCutInit(this));
sendMessage("You have learned " + skillCounter + " new skills.");
}
return skillCounter;
}
@ -4080,11 +4089,11 @@ public class Player extends Playable
}
/**
* Send a Server->Client packet UserInfo to this Player and CharInfo to all Player in its _KnownPlayers. <b><u>Concept</u>:</b> Others Player in the detection area of the Player are identified in <b>_knownPlayers</b>. In order to inform other players of this
* Player state modifications, server just need to go through _knownPlayers to send Server->Client Packet <b><u> Actions</u>:</b>
* Send a Server->Client packet UserInfo to this Player and CharInfo to all Player in its _KnownPlayers. <b><u>Concept</u>:</b> Others Player in the detection area of the Player are identified in <b>_knownPlayers</b>. In order to inform other players of this Player state modifications, server
* just need to go through _knownPlayers to send Server->Client Packet <b><u> Actions</u>:</b>
* <li>Send a Server->Client packet UserInfo to this Player (Public and Private Data)</li>
* <li>Send a Server->Client packet CharInfo to all Player in _KnownPlayers of the Player (Public data only)</li> <font color=#FF0000><b><u>Caution</u>: DON'T SEND UserInfo packet to other players instead of CharInfo packet. Indeed, UserInfo packet contains PRIVATE DATA as MaxHP,
* STR, DEX...</b></font>
* <li>Send a Server->Client packet CharInfo to all Player in _KnownPlayers of the Player (Public data only)</li> <font color=#FF0000><b><u>Caution</u>: DON'T SEND UserInfo packet to other players instead of CharInfo packet. Indeed, UserInfo packet contains PRIVATE DATA as MaxHP, STR,
* DEX...</b></font>
*/
public void broadcastUserInfo()
{

View File

@ -2651,12 +2651,21 @@ public class Player extends Playable
addSkill(skill, false);
skillsForStore.add(skill);
if (Config.AUTO_LEARN_SKILLS)
{
updateShortCuts(skill.getId(), skill.getLevel(), skill.getSubLevel());
}
}
storeSkills(skillsForStore, -1);
if (Config.AUTO_LEARN_SKILLS && (skillCounter > 0))
{
sendPacket(new ShortCutInit(this));
sendMessage("You have learned " + skillCounter + " new skills.");
}
return skillCounter;
}

View File

@ -692,11 +692,10 @@ public class RequestAcquireSkill implements IClientIncomingPacket
player.addSkill(skill, store);
player.sendItemList(false);
player.updateShortCuts(_id, _level, 0);
player.sendPacket(new ShortCutInit(player));
player.sendPacket(new ExBasicActionList(ExBasicActionList.DEFAULT_ACTION_LIST));
player.sendSkillList(skill.getId());
player.updateShortCuts(_id, _level, 0);
showSkillList(trainer, player);
// If skill is expand type then sends packet:

View File

@ -2651,12 +2651,21 @@ public class Player extends Playable
addSkill(skill, false);
skillsForStore.add(skill);
if (Config.AUTO_LEARN_SKILLS)
{
updateShortCuts(skill.getId(), skill.getLevel(), skill.getSubLevel());
}
}
storeSkills(skillsForStore, -1);
if (Config.AUTO_LEARN_SKILLS && (skillCounter > 0))
{
sendPacket(new ShortCutInit(this));
sendMessage("You have learned " + skillCounter + " new skills.");
}
return skillCounter;
}

View File

@ -692,11 +692,10 @@ public class RequestAcquireSkill implements IClientIncomingPacket
player.addSkill(skill, store);
player.sendItemList(false);
player.updateShortCuts(_id, _level, 0);
player.sendPacket(new ShortCutInit(player));
player.sendPacket(new ExBasicActionList(ExBasicActionList.DEFAULT_ACTION_LIST));
player.sendSkillList(skill.getId());
player.updateShortCuts(_id, _level, 0);
showSkillList(trainer, player);
// If skill is expand type then sends packet:

View File

@ -2649,12 +2649,21 @@ public class Player extends Playable
addSkill(skill, false);
skillsForStore.add(skill);
if (Config.AUTO_LEARN_SKILLS)
{
updateShortCuts(skill.getId(), skill.getLevel(), skill.getSubLevel());
}
}
storeSkills(skillsForStore, -1);
if (Config.AUTO_LEARN_SKILLS && (skillCounter > 0))
{
sendPacket(new ShortCutInit(this));
sendMessage("You have learned " + skillCounter + " new skills.");
}
return skillCounter;
}

View File

@ -692,11 +692,10 @@ public class RequestAcquireSkill implements IClientIncomingPacket
player.addSkill(skill, store);
player.sendItemList();
player.updateShortCuts(_id, _level, 0);
player.sendPacket(new ShortCutInit(player));
player.sendPacket(new ExBasicActionList(ExBasicActionList.DEFAULT_ACTION_LIST));
player.sendSkillList(skill.getId());
player.updateShortCuts(_id, _level, 0);
showSkillList(trainer, player);
// If skill is expand type then sends packet:

View File

@ -2663,12 +2663,21 @@ public class Player extends Playable
addSkill(skill, false);
skillsForStore.add(skill);
if (Config.AUTO_LEARN_SKILLS)
{
updateShortCuts(skill.getId(), skill.getLevel(), skill.getSubLevel());
}
}
storeSkills(skillsForStore, -1);
if (Config.AUTO_LEARN_SKILLS && (skillCounter > 0))
{
sendPacket(new ShortCutInit(this));
sendMessage("You have learned " + skillCounter + " new skills.");
}
return skillCounter;
}

View File

@ -692,11 +692,10 @@ public class RequestAcquireSkill implements IClientIncomingPacket
player.addSkill(skill, store);
player.sendItemList();
player.updateShortCuts(_id, _level, 0);
player.sendPacket(new ShortCutInit(player));
player.sendPacket(new ExBasicActionList(ExBasicActionList.DEFAULT_ACTION_LIST));
player.sendSkillList(skill.getId());
player.updateShortCuts(_id, _level, 0);
showSkillList(trainer, player);
// If skill is expand type then sends packet:

View File

@ -2663,12 +2663,21 @@ public class Player extends Playable
addSkill(skill, false);
skillsForStore.add(skill);
if (Config.AUTO_LEARN_SKILLS)
{
updateShortCuts(skill.getId(), skill.getLevel(), skill.getSubLevel());
}
}
storeSkills(skillsForStore, -1);
if (Config.AUTO_LEARN_SKILLS && (skillCounter > 0))
{
sendPacket(new ShortCutInit(this));
sendMessage("You have learned " + skillCounter + " new skills.");
}
return skillCounter;
}

View File

@ -692,11 +692,10 @@ public class RequestAcquireSkill implements IClientIncomingPacket
player.addSkill(skill, store);
player.sendItemList();
player.updateShortCuts(_id, _level, 0);
player.sendPacket(new ShortCutInit(player));
player.sendPacket(new ExBasicActionList(ExBasicActionList.DEFAULT_ACTION_LIST));
player.sendSkillList(skill.getId());
player.updateShortCuts(_id, _level, 0);
showSkillList(trainer, player);
// If skill is expand type then sends packet:

View File

@ -2589,12 +2589,21 @@ public class Player extends Playable
addSkill(skill, false);
skillsForStore.add(skill);
if (Config.AUTO_LEARN_SKILLS)
{
updateShortCuts(skill.getId(), skill.getLevel(), skill.getSubLevel());
}
}
storeSkills(skillsForStore, -1);
if (Config.AUTO_LEARN_SKILLS && (skillCounter > 0))
{
sendPacket(new ShortCutInit(this));
sendMessage("You have learned " + skillCounter + " new skills.");
}
return skillCounter;
}

View File

@ -611,11 +611,10 @@ public class RequestAcquireSkill implements IClientIncomingPacket
player.addSkill(skill, store);
player.sendItemList();
player.updateShortCuts(_id, _level, 0);
player.sendPacket(new ShortCutInit(player));
player.sendPacket(new ExBasicActionList(ExBasicActionList.DEFAULT_ACTION_LIST));
player.sendSkillList(skill.getId());
player.updateShortCuts(_id, _level, 0);
showSkillList(trainer, player);
// If skill is expand type then sends packet:

View File

@ -2648,12 +2648,21 @@ public class Player extends Playable
addSkill(skill, false);
skillsForStore.add(skill);
if (Config.AUTO_LEARN_SKILLS)
{
updateShortCuts(skill.getId(), skill.getLevel(), skill.getSubLevel());
}
}
storeSkills(skillsForStore, -1);
if (Config.AUTO_LEARN_SKILLS && (skillCounter > 0))
{
sendPacket(new ShortCutInit(this));
sendMessage("You have learned " + skillCounter + " new skills.");
}
return skillCounter;
}

View File

@ -692,11 +692,10 @@ public class RequestAcquireSkill implements IClientIncomingPacket
player.addSkill(skill, store);
player.sendItemList(false);
player.updateShortCuts(_id, _level, 0);
player.sendPacket(new ShortCutInit(player));
player.sendPacket(new ExBasicActionList(ExBasicActionList.DEFAULT_ACTION_LIST));
player.sendSkillList(skill.getId());
player.updateShortCuts(_id, _level, 0);
showSkillList(trainer, player);
// If skill is expand type then sends packet:

View File

@ -2659,12 +2659,21 @@ public class Player extends Playable
addSkill(skill, false);
skillsForStore.add(skill);
if (Config.AUTO_LEARN_SKILLS)
{
updateShortCuts(skill.getId(), skill.getLevel(), skill.getSubLevel());
}
}
storeSkills(skillsForStore, -1);
if (Config.AUTO_LEARN_SKILLS && (skillCounter > 0))
{
sendPacket(new ShortCutInit(this));
sendMessage("You have learned " + skillCounter + " new skills.");
}
return skillCounter;
}

View File

@ -611,11 +611,10 @@ public class RequestAcquireSkill implements IClientIncomingPacket
player.addSkill(skill, store);
player.sendItemList();
player.updateShortCuts(_id, _level, 0);
player.sendPacket(new ShortCutInit(player));
player.sendPacket(new ExBasicActionList(ExBasicActionList.DEFAULT_ACTION_LIST));
player.sendSkillList(skill.getId());
player.updateShortCuts(_id, _level, 0);
showSkillList(trainer, player);
// If skill is expand type then sends packet:

View File

@ -2690,12 +2690,21 @@ public class Player extends Playable
addSkill(skill, false);
skillsForStore.add(skill);
if (Config.AUTO_LEARN_SKILLS)
{
updateShortCuts(skill.getId(), skill.getLevel(), skill.getSubLevel());
}
}
storeSkills(skillsForStore, -1);
if (Config.AUTO_LEARN_SKILLS && (skillCounter > 0))
{
sendPacket(new ShortCutInit(this));
sendMessage("You have learned " + skillCounter + " new skills.");
}
return skillCounter;
}

View File

@ -611,11 +611,10 @@ public class RequestAcquireSkill implements IClientIncomingPacket
player.addSkill(skill, store);
player.sendItemList();
player.updateShortCuts(_id, _level, 0);
player.sendPacket(new ShortCutInit(player));
player.sendPacket(new ExBasicActionList(ExBasicActionList.DEFAULT_ACTION_LIST));
player.sendSkillList(skill.getId());
player.updateShortCuts(_id, _level, 0);
showSkillList(trainer, player);
// If skill is expand type then sends packet:

View File

@ -2690,12 +2690,21 @@ public class Player extends Playable
addSkill(skill, false);
skillsForStore.add(skill);
if (Config.AUTO_LEARN_SKILLS)
{
updateShortCuts(skill.getId(), skill.getLevel(), skill.getSubLevel());
}
}
storeSkills(skillsForStore, -1);
if (Config.AUTO_LEARN_SKILLS && (skillCounter > 0))
{
sendPacket(new ShortCutInit(this));
sendMessage("You have learned " + skillCounter + " new skills.");
}
return skillCounter;
}

View File

@ -611,11 +611,10 @@ public class RequestAcquireSkill implements IClientIncomingPacket
player.addSkill(skill, store);
player.sendItemList();
player.updateShortCuts(_id, _level, 0);
player.sendPacket(new ShortCutInit(player));
player.sendPacket(new ExBasicActionList(ExBasicActionList.DEFAULT_ACTION_LIST));
player.sendSkillList(skill.getId());
player.updateShortCuts(_id, _level, 0);
showSkillList(trainer, player);
// If skill is expand type then sends packet: