Pass replaced skills to player auto use settings.

This commit is contained in:
MobiusDevelopment
2022-10-16 22:40:15 +00:00
parent e93f99e04e
commit c7a2b8c3c7
11 changed files with 500 additions and 57 deletions

View File

@@ -69,9 +69,25 @@ public class ReplaceSkillBySkill extends AbstractEffect
{
final int slot = shortcut.getSlot();
final int page = shortcut.getPage();
final int characterType = shortcut.getCharacterType();
final Shortcut newShortcut = new Shortcut(slot, page, ShortcutType.SKILL, addedSkill.getId(), addedSkill.getLevel(), addedSkill.getSubLevel(), shortcut.getCharacterType());
if (shortcut.isAutoUse())
{
newShortcut.setAutoUse(true);
if (knownSkill.isBad())
{
if (player.getAutoUseSettings().getAutoSkills().contains(knownSkill.getId()))
{
player.getAutoUseSettings().getAutoSkills().add(addedSkill.getId());
player.getAutoUseSettings().getAutoSkills().remove(Integer.valueOf(knownSkill.getId()));
}
}
else if (player.getAutoUseSettings().getAutoBuffs().contains(knownSkill.getId()))
{
player.getAutoUseSettings().getAutoBuffs().add(addedSkill.getId());
player.getAutoUseSettings().getAutoBuffs().remove(knownSkill.getId());
}
}
player.deleteShortCut(slot, page);
final Shortcut newShortcut = new Shortcut(slot, page, ShortcutType.SKILL, addedSkill.getId(), addedSkill.getLevel(), addedSkill.getSubLevel(), characterType);
player.registerShortCut(newShortcut);
player.sendPacket(new ShortCutRegister(newShortcut));
}
@@ -79,7 +95,11 @@ public class ReplaceSkillBySkill extends AbstractEffect
player.removeSkill(knownSkill, false);
player.sendSkillList();
ThreadPool.schedule(() -> player.sendPacket(new ShortCutInit(player)), 1100);
ThreadPool.schedule(() ->
{
player.sendPacket(new ShortCutInit(player));
player.restoreAutoShortcutVisual();
}, 1100);
}
@Override
@@ -101,9 +121,25 @@ public class ReplaceSkillBySkill extends AbstractEffect
{
final int slot = shortcut.getSlot();
final int page = shortcut.getPage();
final int characterType = shortcut.getCharacterType();
final Shortcut newShortcut = new Shortcut(slot, page, ShortcutType.SKILL, addedSkill.getId(), addedSkill.getLevel(), addedSkill.getSubLevel(), shortcut.getCharacterType());
if (shortcut.isAutoUse())
{
newShortcut.setAutoUse(true);
if (knownSkill.isBad())
{
if (player.getAutoUseSettings().getAutoSkills().contains(knownSkill.getId()))
{
player.getAutoUseSettings().getAutoSkills().add(addedSkill.getId());
player.getAutoUseSettings().getAutoSkills().remove(Integer.valueOf(knownSkill.getId()));
}
}
else if (player.getAutoUseSettings().getAutoBuffs().contains(knownSkill.getId()))
{
player.getAutoUseSettings().getAutoBuffs().add(addedSkill.getId());
player.getAutoUseSettings().getAutoBuffs().remove(knownSkill.getId());
}
}
player.deleteShortCut(slot, page);
final Shortcut newShortcut = new Shortcut(slot, page, ShortcutType.SKILL, addedSkill.getId(), addedSkill.getLevel(), addedSkill.getSubLevel(), characterType);
player.registerShortCut(newShortcut);
player.sendPacket(new ShortCutRegister(newShortcut));
}
@@ -111,6 +147,10 @@ public class ReplaceSkillBySkill extends AbstractEffect
player.removeSkill(knownSkill, false);
player.sendSkillList();
ThreadPool.schedule(() -> player.sendPacket(new ShortCutInit(player)), 1100);
ThreadPool.schedule(() ->
{
player.sendPacket(new ShortCutInit(player));
player.restoreAutoShortcutVisual();
}, 1100);
}
}