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);
}
}

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);
}
}

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);
}
}

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);
}
}

View File

@ -70,9 +70,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));
}
@ -80,7 +96,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
@ -102,9 +122,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));
}
@ -112,6 +148,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);
}
}

View File

@ -70,9 +70,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));
}
@ -80,7 +96,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
@ -102,9 +122,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));
}
@ -112,6 +148,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);
}
}

View File

@ -225,16 +225,36 @@ public class TimedHunting extends AbstractInstance
if ((shortcut.getType() == ShortcutType.SKILL) && (shortcut.getId() == normalSkillId))
{
final Shortcut newShortcut = new Shortcut(shortcut.getSlot(), shortcut.getPage(), ShortcutType.SKILL, transcendentSkillId, shortcut.getLevel(), shortcut.getSubLevel(), shortcut.getCharacterType());
if (shortcut.isAutoUse())
{
newShortcut.setAutoUse(true);
if (knownSkill.isBad())
{
if (player.getAutoUseSettings().getAutoSkills().contains(normalSkillId))
{
player.getAutoUseSettings().getAutoSkills().add(transcendentSkillId);
player.getAutoUseSettings().getAutoSkills().remove(Integer.valueOf(normalSkillId));
}
}
else if (player.getAutoUseSettings().getAutoBuffs().contains(normalSkillId))
{
player.getAutoUseSettings().getAutoBuffs().add(transcendentSkillId);
player.getAutoUseSettings().getAutoBuffs().remove(normalSkillId);
}
}
player.deleteShortCut(shortcut.getSlot(), shortcut.getPage());
player.registerShortCut(newShortcut);
player.sendPacket(new ShortCutRegister(newShortcut));
}
}
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
@ -268,6 +288,23 @@ public class TimedHunting extends AbstractInstance
if ((shortcut.getType() == ShortcutType.SKILL) && (shortcut.getId() == transcendentSkillId))
{
final Shortcut newShortcut = new Shortcut(shortcut.getSlot(), shortcut.getPage(), ShortcutType.SKILL, normalSkillId, shortcut.getLevel(), shortcut.getSubLevel(), shortcut.getCharacterType());
if (shortcut.isAutoUse())
{
newShortcut.setAutoUse(true);
if (knownSkill.isBad())
{
if (player.getAutoUseSettings().getAutoSkills().contains(transcendentSkillId))
{
player.getAutoUseSettings().getAutoSkills().add(normalSkillId);
player.getAutoUseSettings().getAutoSkills().remove(Integer.valueOf(transcendentSkillId));
}
}
else if (player.getAutoUseSettings().getAutoBuffs().contains(transcendentSkillId))
{
player.getAutoUseSettings().getAutoBuffs().add(normalSkillId);
player.getAutoUseSettings().getAutoBuffs().remove(transcendentSkillId);
}
}
player.deleteShortCut(shortcut.getSlot(), shortcut.getPage());
player.registerShortCut(newShortcut);
player.sendPacket(new ShortCutRegister(newShortcut));
@ -277,7 +314,11 @@ public class TimedHunting extends AbstractInstance
player.removeSkill(knownSkill, false);
}
player.sendSkillList();
ThreadPool.schedule(() -> player.sendPacket(new ShortCutInit(player)), 1100);
ThreadPool.schedule(() ->
{
player.sendPacket(new ShortCutInit(player));
player.restoreAutoShortcutVisual();
}, 1100);
}
private void startEvent(Player player)

View File

@ -70,9 +70,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));
}
@ -80,7 +96,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
@ -102,9 +122,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));
}
@ -112,6 +148,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);
}
}

View File

@ -225,16 +225,36 @@ public class TimedHunting extends AbstractInstance
if ((shortcut.getType() == ShortcutType.SKILL) && (shortcut.getId() == normalSkillId))
{
final Shortcut newShortcut = new Shortcut(shortcut.getSlot(), shortcut.getPage(), ShortcutType.SKILL, transcendentSkillId, shortcut.getLevel(), shortcut.getSubLevel(), shortcut.getCharacterType());
if (shortcut.isAutoUse())
{
newShortcut.setAutoUse(true);
if (knownSkill.isBad())
{
if (player.getAutoUseSettings().getAutoSkills().contains(normalSkillId))
{
player.getAutoUseSettings().getAutoSkills().add(transcendentSkillId);
player.getAutoUseSettings().getAutoSkills().remove(Integer.valueOf(normalSkillId));
}
}
else if (player.getAutoUseSettings().getAutoBuffs().contains(normalSkillId))
{
player.getAutoUseSettings().getAutoBuffs().add(transcendentSkillId);
player.getAutoUseSettings().getAutoBuffs().remove(normalSkillId);
}
}
player.deleteShortCut(shortcut.getSlot(), shortcut.getPage());
player.registerShortCut(newShortcut);
player.sendPacket(new ShortCutRegister(newShortcut));
}
}
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
@ -268,6 +288,23 @@ public class TimedHunting extends AbstractInstance
if ((shortcut.getType() == ShortcutType.SKILL) && (shortcut.getId() == transcendentSkillId))
{
final Shortcut newShortcut = new Shortcut(shortcut.getSlot(), shortcut.getPage(), ShortcutType.SKILL, normalSkillId, shortcut.getLevel(), shortcut.getSubLevel(), shortcut.getCharacterType());
if (shortcut.isAutoUse())
{
newShortcut.setAutoUse(true);
if (knownSkill.isBad())
{
if (player.getAutoUseSettings().getAutoSkills().contains(transcendentSkillId))
{
player.getAutoUseSettings().getAutoSkills().add(normalSkillId);
player.getAutoUseSettings().getAutoSkills().remove(Integer.valueOf(transcendentSkillId));
}
}
else if (player.getAutoUseSettings().getAutoBuffs().contains(transcendentSkillId))
{
player.getAutoUseSettings().getAutoBuffs().add(normalSkillId);
player.getAutoUseSettings().getAutoBuffs().remove(transcendentSkillId);
}
}
player.deleteShortCut(shortcut.getSlot(), shortcut.getPage());
player.registerShortCut(newShortcut);
player.sendPacket(new ShortCutRegister(newShortcut));
@ -277,7 +314,11 @@ public class TimedHunting extends AbstractInstance
player.removeSkill(knownSkill, false);
}
player.sendSkillList();
ThreadPool.schedule(() -> player.sendPacket(new ShortCutInit(player)), 1100);
ThreadPool.schedule(() ->
{
player.sendPacket(new ShortCutInit(player));
player.restoreAutoShortcutVisual();
}, 1100);
}
private void startEvent(Player player)

View File

@ -70,9 +70,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));
}
@ -80,7 +96,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
@ -102,9 +122,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));
}
@ -112,6 +148,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);
}
}

View File

@ -229,16 +229,36 @@ public class TimedHunting extends AbstractInstance
if ((shortcut.getType() == ShortcutType.SKILL) && (shortcut.getId() == normalSkillId))
{
final Shortcut newShortcut = new Shortcut(shortcut.getSlot(), shortcut.getPage(), ShortcutType.SKILL, transcendentSkillId, shortcut.getLevel(), shortcut.getSubLevel(), shortcut.getCharacterType());
if (shortcut.isAutoUse())
{
newShortcut.setAutoUse(true);
if (knownSkill.isBad())
{
if (player.getAutoUseSettings().getAutoSkills().contains(normalSkillId))
{
player.getAutoUseSettings().getAutoSkills().add(transcendentSkillId);
player.getAutoUseSettings().getAutoSkills().remove(Integer.valueOf(normalSkillId));
}
}
else if (player.getAutoUseSettings().getAutoBuffs().contains(normalSkillId))
{
player.getAutoUseSettings().getAutoBuffs().add(transcendentSkillId);
player.getAutoUseSettings().getAutoBuffs().remove(normalSkillId);
}
}
player.deleteShortCut(shortcut.getSlot(), shortcut.getPage());
player.registerShortCut(newShortcut);
player.sendPacket(new ShortCutRegister(newShortcut));
}
}
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
@ -272,6 +292,23 @@ public class TimedHunting extends AbstractInstance
if ((shortcut.getType() == ShortcutType.SKILL) && (shortcut.getId() == transcendentSkillId))
{
final Shortcut newShortcut = new Shortcut(shortcut.getSlot(), shortcut.getPage(), ShortcutType.SKILL, normalSkillId, shortcut.getLevel(), shortcut.getSubLevel(), shortcut.getCharacterType());
if (shortcut.isAutoUse())
{
newShortcut.setAutoUse(true);
if (knownSkill.isBad())
{
if (player.getAutoUseSettings().getAutoSkills().contains(transcendentSkillId))
{
player.getAutoUseSettings().getAutoSkills().add(normalSkillId);
player.getAutoUseSettings().getAutoSkills().remove(Integer.valueOf(transcendentSkillId));
}
}
else if (player.getAutoUseSettings().getAutoBuffs().contains(transcendentSkillId))
{
player.getAutoUseSettings().getAutoBuffs().add(normalSkillId);
player.getAutoUseSettings().getAutoBuffs().remove(transcendentSkillId);
}
}
player.deleteShortCut(shortcut.getSlot(), shortcut.getPage());
player.registerShortCut(newShortcut);
player.sendPacket(new ShortCutRegister(newShortcut));
@ -281,7 +318,11 @@ public class TimedHunting extends AbstractInstance
player.removeSkill(knownSkill, false);
}
player.sendSkillList();
ThreadPool.schedule(() -> player.sendPacket(new ShortCutInit(player)), 1100);
ThreadPool.schedule(() ->
{
player.sendPacket(new ShortCutInit(player));
player.restoreAutoShortcutVisual();
}, 1100);
}
private void startEvent(Player player)