diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java index 0b1118cefc..7ca37a41c1 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java @@ -92,6 +92,7 @@ public class SkillCaster implements Runnable private final Skill _skill; private final ItemInstance _item; private final SkillCastingType _castingType; + private final boolean _shiftPressed; private int _hitTime; private int _cancelTime; private int _coolTime; @@ -110,6 +111,7 @@ public class SkillCaster implements Runnable _skill = skill; _item = item; _castingType = castingType; + _shiftPressed = shiftPressed; calcSkillTiming(caster, skill, castTime); } @@ -747,7 +749,7 @@ public class SkillCaster implements Runnable // Attack target after skill use. if ((_skill.getNextAction() != NextActionType.NONE) && (caster.getAI().getNextIntention() == null)) { - if ((_skill.getNextAction() == NextActionType.ATTACK) && (target != null) && (target != caster) && target.isAutoAttackable(caster)) + if ((_skill.getNextAction() == NextActionType.ATTACK) && (target != null) && (target != caster) && target.isAutoAttackable(caster) && !_shiftPressed) { caster.getAI().setIntention(AI_INTENTION_ATTACK, target); } diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java index 35622e415b..a00dc7fa91 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java @@ -92,6 +92,7 @@ public class SkillCaster implements Runnable private final Skill _skill; private final ItemInstance _item; private final SkillCastingType _castingType; + private final boolean _shiftPressed; private int _hitTime; private int _cancelTime; private int _coolTime; @@ -110,6 +111,7 @@ public class SkillCaster implements Runnable _skill = skill; _item = item; _castingType = castingType; + _shiftPressed = shiftPressed; calcSkillTiming(caster, skill, castTime); } @@ -747,7 +749,7 @@ public class SkillCaster implements Runnable // Attack target after skill use. if ((_skill.getNextAction() != NextActionType.NONE) && (caster.getAI().getNextIntention() == null)) { - if ((_skill.getNextAction() == NextActionType.ATTACK) && (target != null) && (target != caster) && target.isAutoAttackable(caster)) + if ((_skill.getNextAction() == NextActionType.ATTACK) && (target != null) && (target != caster) && target.isAutoAttackable(caster) && !_shiftPressed) { caster.getAI().setIntention(AI_INTENTION_ATTACK, target); } diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java index 35622e415b..a00dc7fa91 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java @@ -92,6 +92,7 @@ public class SkillCaster implements Runnable private final Skill _skill; private final ItemInstance _item; private final SkillCastingType _castingType; + private final boolean _shiftPressed; private int _hitTime; private int _cancelTime; private int _coolTime; @@ -110,6 +111,7 @@ public class SkillCaster implements Runnable _skill = skill; _item = item; _castingType = castingType; + _shiftPressed = shiftPressed; calcSkillTiming(caster, skill, castTime); } @@ -747,7 +749,7 @@ public class SkillCaster implements Runnable // Attack target after skill use. if ((_skill.getNextAction() != NextActionType.NONE) && (caster.getAI().getNextIntention() == null)) { - if ((_skill.getNextAction() == NextActionType.ATTACK) && (target != null) && (target != caster) && target.isAutoAttackable(caster)) + if ((_skill.getNextAction() == NextActionType.ATTACK) && (target != null) && (target != caster) && target.isAutoAttackable(caster) && !_shiftPressed) { caster.getAI().setIntention(AI_INTENTION_ATTACK, target); } diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java index 35622e415b..a00dc7fa91 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java @@ -92,6 +92,7 @@ public class SkillCaster implements Runnable private final Skill _skill; private final ItemInstance _item; private final SkillCastingType _castingType; + private final boolean _shiftPressed; private int _hitTime; private int _cancelTime; private int _coolTime; @@ -110,6 +111,7 @@ public class SkillCaster implements Runnable _skill = skill; _item = item; _castingType = castingType; + _shiftPressed = shiftPressed; calcSkillTiming(caster, skill, castTime); } @@ -747,7 +749,7 @@ public class SkillCaster implements Runnable // Attack target after skill use. if ((_skill.getNextAction() != NextActionType.NONE) && (caster.getAI().getNextIntention() == null)) { - if ((_skill.getNextAction() == NextActionType.ATTACK) && (target != null) && (target != caster) && target.isAutoAttackable(caster)) + if ((_skill.getNextAction() == NextActionType.ATTACK) && (target != null) && (target != caster) && target.isAutoAttackable(caster) && !_shiftPressed) { caster.getAI().setIntention(AI_INTENTION_ATTACK, target); } diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java index ba4ecea32d..02fd9764ad 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java @@ -92,6 +92,7 @@ public class SkillCaster implements Runnable private final Skill _skill; private final ItemInstance _item; private final SkillCastingType _castingType; + private final boolean _shiftPressed; private int _hitTime; private int _cancelTime; private int _coolTime; @@ -110,6 +111,7 @@ public class SkillCaster implements Runnable _skill = skill; _item = item; _castingType = castingType; + _shiftPressed = shiftPressed; calcSkillTiming(caster, skill, castTime); } @@ -747,7 +749,7 @@ public class SkillCaster implements Runnable // Attack target after skill use. if ((_skill.getNextAction() != NextActionType.NONE) && (caster.getAI().getNextIntention() == null)) { - if ((_skill.getNextAction() == NextActionType.ATTACK) && (target != null) && (target != caster) && target.isAutoAttackable(caster)) + if ((_skill.getNextAction() == NextActionType.ATTACK) && (target != null) && (target != caster) && target.isAutoAttackable(caster) && !_shiftPressed) { caster.getAI().setIntention(AI_INTENTION_ATTACK, target); } diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java index ba4ecea32d..02fd9764ad 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java @@ -92,6 +92,7 @@ public class SkillCaster implements Runnable private final Skill _skill; private final ItemInstance _item; private final SkillCastingType _castingType; + private final boolean _shiftPressed; private int _hitTime; private int _cancelTime; private int _coolTime; @@ -110,6 +111,7 @@ public class SkillCaster implements Runnable _skill = skill; _item = item; _castingType = castingType; + _shiftPressed = shiftPressed; calcSkillTiming(caster, skill, castTime); } @@ -747,7 +749,7 @@ public class SkillCaster implements Runnable // Attack target after skill use. if ((_skill.getNextAction() != NextActionType.NONE) && (caster.getAI().getNextIntention() == null)) { - if ((_skill.getNextAction() == NextActionType.ATTACK) && (target != null) && (target != caster) && target.isAutoAttackable(caster)) + if ((_skill.getNextAction() == NextActionType.ATTACK) && (target != null) && (target != caster) && target.isAutoAttackable(caster) && !_shiftPressed) { caster.getAI().setIntention(AI_INTENTION_ATTACK, target); } diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java index ba4ecea32d..02fd9764ad 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java @@ -92,6 +92,7 @@ public class SkillCaster implements Runnable private final Skill _skill; private final ItemInstance _item; private final SkillCastingType _castingType; + private final boolean _shiftPressed; private int _hitTime; private int _cancelTime; private int _coolTime; @@ -110,6 +111,7 @@ public class SkillCaster implements Runnable _skill = skill; _item = item; _castingType = castingType; + _shiftPressed = shiftPressed; calcSkillTiming(caster, skill, castTime); } @@ -747,7 +749,7 @@ public class SkillCaster implements Runnable // Attack target after skill use. if ((_skill.getNextAction() != NextActionType.NONE) && (caster.getAI().getNextIntention() == null)) { - if ((_skill.getNextAction() == NextActionType.ATTACK) && (target != null) && (target != caster) && target.isAutoAttackable(caster)) + if ((_skill.getNextAction() == NextActionType.ATTACK) && (target != null) && (target != caster) && target.isAutoAttackable(caster) && !_shiftPressed) { caster.getAI().setIntention(AI_INTENTION_ATTACK, target); } diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java index ac1358b0d9..11b9fde2c5 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java @@ -92,6 +92,7 @@ public class SkillCaster implements Runnable private final Skill _skill; private final ItemInstance _item; private final SkillCastingType _castingType; + private final boolean _shiftPressed; private int _hitTime; private int _cancelTime; private int _coolTime; @@ -110,6 +111,7 @@ public class SkillCaster implements Runnable _skill = skill; _item = item; _castingType = castingType; + _shiftPressed = shiftPressed; calcSkillTiming(caster, skill, castTime); } @@ -747,7 +749,7 @@ public class SkillCaster implements Runnable // Attack target after skill use. if ((_skill.getNextAction() != NextActionType.NONE) && (caster.getAI().getNextIntention() == null)) { - if ((_skill.getNextAction() == NextActionType.ATTACK) && (target != null) && (target != caster) && target.isAutoAttackable(caster)) + if ((_skill.getNextAction() == NextActionType.ATTACK) && (target != null) && (target != caster) && target.isAutoAttackable(caster) && !_shiftPressed) { caster.getAI().setIntention(AI_INTENTION_ATTACK, target); } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java index 89fe298fca..d3b36b0d76 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java @@ -92,6 +92,7 @@ public class SkillCaster implements Runnable private final Skill _skill; private final ItemInstance _item; private final SkillCastingType _castingType; + private final boolean _shiftPressed; private int _hitTime; private int _cancelTime; private int _coolTime; @@ -110,6 +111,7 @@ public class SkillCaster implements Runnable _skill = skill; _item = item; _castingType = castingType; + _shiftPressed = shiftPressed; calcSkillTiming(caster, skill, castTime); } @@ -747,7 +749,7 @@ public class SkillCaster implements Runnable // Attack target after skill use. if ((_skill.getNextAction() != NextActionType.NONE) && (caster.getAI().getNextIntention() == null)) { - if ((_skill.getNextAction() == NextActionType.ATTACK) && (target != null) && (target != caster) && target.isAutoAttackable(caster)) + if ((_skill.getNextAction() == NextActionType.ATTACK) && (target != null) && (target != caster) && target.isAutoAttackable(caster) && !_shiftPressed) { caster.getAI().setIntention(AI_INTENTION_ATTACK, target); } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java index 89fe298fca..d3b36b0d76 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java @@ -92,6 +92,7 @@ public class SkillCaster implements Runnable private final Skill _skill; private final ItemInstance _item; private final SkillCastingType _castingType; + private final boolean _shiftPressed; private int _hitTime; private int _cancelTime; private int _coolTime; @@ -110,6 +111,7 @@ public class SkillCaster implements Runnable _skill = skill; _item = item; _castingType = castingType; + _shiftPressed = shiftPressed; calcSkillTiming(caster, skill, castTime); } @@ -747,7 +749,7 @@ public class SkillCaster implements Runnable // Attack target after skill use. if ((_skill.getNextAction() != NextActionType.NONE) && (caster.getAI().getNextIntention() == null)) { - if ((_skill.getNextAction() == NextActionType.ATTACK) && (target != null) && (target != caster) && target.isAutoAttackable(caster)) + if ((_skill.getNextAction() == NextActionType.ATTACK) && (target != null) && (target != caster) && target.isAutoAttackable(caster) && !_shiftPressed) { caster.getAI().setIntention(AI_INTENTION_ATTACK, target); } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java index 89fe298fca..d3b36b0d76 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java @@ -92,6 +92,7 @@ public class SkillCaster implements Runnable private final Skill _skill; private final ItemInstance _item; private final SkillCastingType _castingType; + private final boolean _shiftPressed; private int _hitTime; private int _cancelTime; private int _coolTime; @@ -110,6 +111,7 @@ public class SkillCaster implements Runnable _skill = skill; _item = item; _castingType = castingType; + _shiftPressed = shiftPressed; calcSkillTiming(caster, skill, castTime); } @@ -747,7 +749,7 @@ public class SkillCaster implements Runnable // Attack target after skill use. if ((_skill.getNextAction() != NextActionType.NONE) && (caster.getAI().getNextIntention() == null)) { - if ((_skill.getNextAction() == NextActionType.ATTACK) && (target != null) && (target != caster) && target.isAutoAttackable(caster)) + if ((_skill.getNextAction() == NextActionType.ATTACK) && (target != null) && (target != caster) && target.isAutoAttackable(caster) && !_shiftPressed) { caster.getAI().setIntention(AI_INTENTION_ATTACK, target); } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java index 89fe298fca..d3b36b0d76 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java @@ -92,6 +92,7 @@ public class SkillCaster implements Runnable private final Skill _skill; private final ItemInstance _item; private final SkillCastingType _castingType; + private final boolean _shiftPressed; private int _hitTime; private int _cancelTime; private int _coolTime; @@ -110,6 +111,7 @@ public class SkillCaster implements Runnable _skill = skill; _item = item; _castingType = castingType; + _shiftPressed = shiftPressed; calcSkillTiming(caster, skill, castTime); } @@ -747,7 +749,7 @@ public class SkillCaster implements Runnable // Attack target after skill use. if ((_skill.getNextAction() != NextActionType.NONE) && (caster.getAI().getNextIntention() == null)) { - if ((_skill.getNextAction() == NextActionType.ATTACK) && (target != null) && (target != caster) && target.isAutoAttackable(caster)) + if ((_skill.getNextAction() == NextActionType.ATTACK) && (target != null) && (target != caster) && target.isAutoAttackable(caster) && !_shiftPressed) { caster.getAI().setIntention(AI_INTENTION_ATTACK, target); } diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java index 89fe298fca..d3b36b0d76 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java @@ -92,6 +92,7 @@ public class SkillCaster implements Runnable private final Skill _skill; private final ItemInstance _item; private final SkillCastingType _castingType; + private final boolean _shiftPressed; private int _hitTime; private int _cancelTime; private int _coolTime; @@ -110,6 +111,7 @@ public class SkillCaster implements Runnable _skill = skill; _item = item; _castingType = castingType; + _shiftPressed = shiftPressed; calcSkillTiming(caster, skill, castTime); } @@ -747,7 +749,7 @@ public class SkillCaster implements Runnable // Attack target after skill use. if ((_skill.getNextAction() != NextActionType.NONE) && (caster.getAI().getNextIntention() == null)) { - if ((_skill.getNextAction() == NextActionType.ATTACK) && (target != null) && (target != caster) && target.isAutoAttackable(caster)) + if ((_skill.getNextAction() == NextActionType.ATTACK) && (target != null) && (target != caster) && target.isAutoAttackable(caster) && !_shiftPressed) { caster.getAI().setIntention(AI_INTENTION_ATTACK, target); } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java index 96f0346c7b..0376332c3c 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java @@ -92,6 +92,7 @@ public class SkillCaster implements Runnable private final Skill _skill; private final ItemInstance _item; private final SkillCastingType _castingType; + private final boolean _shiftPressed; private int _hitTime; private int _cancelTime; private int _coolTime; @@ -110,6 +111,7 @@ public class SkillCaster implements Runnable _skill = skill; _item = item; _castingType = castingType; + _shiftPressed = shiftPressed; calcSkillTiming(caster, skill, castTime); } @@ -747,7 +749,7 @@ public class SkillCaster implements Runnable // Attack target after skill use. if ((_skill.getNextAction() != NextActionType.NONE) && (caster.getAI().getNextIntention() == null)) { - if ((_skill.getNextAction() == NextActionType.ATTACK) && (target != null) && (target != caster) && target.isAutoAttackable(caster)) + if ((_skill.getNextAction() == NextActionType.ATTACK) && (target != null) && (target != caster) && target.isAutoAttackable(caster) && !_shiftPressed) { caster.getAI().setIntention(AI_INTENTION_ATTACK, target); } diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java index 89fe298fca..d3b36b0d76 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java @@ -92,6 +92,7 @@ public class SkillCaster implements Runnable private final Skill _skill; private final ItemInstance _item; private final SkillCastingType _castingType; + private final boolean _shiftPressed; private int _hitTime; private int _cancelTime; private int _coolTime; @@ -110,6 +111,7 @@ public class SkillCaster implements Runnable _skill = skill; _item = item; _castingType = castingType; + _shiftPressed = shiftPressed; calcSkillTiming(caster, skill, castTime); } @@ -747,7 +749,7 @@ public class SkillCaster implements Runnable // Attack target after skill use. if ((_skill.getNextAction() != NextActionType.NONE) && (caster.getAI().getNextIntention() == null)) { - if ((_skill.getNextAction() == NextActionType.ATTACK) && (target != null) && (target != caster) && target.isAutoAttackable(caster)) + if ((_skill.getNextAction() == NextActionType.ATTACK) && (target != null) && (target != caster) && target.isAutoAttackable(caster) && !_shiftPressed) { caster.getAI().setIntention(AI_INTENTION_ATTACK, target); }