diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java index 163645cc95..0a797e7063 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java @@ -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); } } diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java index 163645cc95..0a797e7063 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java @@ -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); } } diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java index 163645cc95..0a797e7063 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java @@ -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); } } diff --git a/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java b/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java index 163645cc95..0a797e7063 100644 --- a/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java +++ b/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java @@ -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); } } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java index 78396508c7..c4ac9d7b35 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java @@ -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); } } diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java index 78396508c7..c4ac9d7b35 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java @@ -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); } } diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/instances/TimedHunting/TimedHunting.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/instances/TimedHunting/TimedHunting.java index 9a7c4feb85..f7d538a1fd 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/instances/TimedHunting/TimedHunting.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/instances/TimedHunting/TimedHunting.java @@ -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) diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java index 78396508c7..c4ac9d7b35 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java @@ -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); } } diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/instances/TimedHunting/TimedHunting.java b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/instances/TimedHunting/TimedHunting.java index 9a7c4feb85..f7d538a1fd 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/instances/TimedHunting/TimedHunting.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/instances/TimedHunting/TimedHunting.java @@ -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) diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java index 78396508c7..c4ac9d7b35 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java +++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/handlers/effecthandlers/ReplaceSkillBySkill.java @@ -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); } } diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/instances/TimedHunting/TimedHunting.java b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/instances/TimedHunting/TimedHunting.java index b7f92c38b9..778fe16c6d 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/instances/TimedHunting/TimedHunting.java +++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/instances/TimedHunting/TimedHunting.java @@ -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)