From 8962ec67be4e42aabbddba6db31efd50049eeae8 Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Thu, 8 Apr 2021 15:18:29 +0000 Subject: [PATCH] Prevent players from attacking before the Olympiad countdown ends. Thanks to Iris. --- .../org/l2jmobius/gameserver/model/skills/SkillCaster.java | 5 +++++ .../org/l2jmobius/gameserver/model/skills/SkillCaster.java | 5 +++++ .../org/l2jmobius/gameserver/model/skills/SkillCaster.java | 5 +++++ .../org/l2jmobius/gameserver/model/skills/SkillCaster.java | 5 +++++ .../org/l2jmobius/gameserver/model/skills/SkillCaster.java | 5 +++++ .../org/l2jmobius/gameserver/model/skills/SkillCaster.java | 5 +++++ .../org/l2jmobius/gameserver/model/skills/SkillCaster.java | 5 +++++ .../org/l2jmobius/gameserver/model/skills/SkillCaster.java | 5 +++++ .../org/l2jmobius/gameserver/model/skills/SkillCaster.java | 5 +++++ .../org/l2jmobius/gameserver/model/skills/SkillCaster.java | 5 +++++ .../org/l2jmobius/gameserver/model/skills/SkillCaster.java | 5 +++++ .../org/l2jmobius/gameserver/model/skills/SkillCaster.java | 5 +++++ .../org/l2jmobius/gameserver/model/skills/SkillCaster.java | 5 +++++ .../org/l2jmobius/gameserver/model/skills/SkillCaster.java | 5 +++++ .../org/l2jmobius/gameserver/model/skills/SkillCaster.java | 5 +++++ .../org/l2jmobius/gameserver/model/skills/SkillCaster.java | 5 +++++ .../org/l2jmobius/gameserver/model/skills/SkillCaster.java | 5 +++++ .../org/l2jmobius/gameserver/model/skills/SkillCaster.java | 5 +++++ .../org/l2jmobius/gameserver/model/skills/SkillCaster.java | 5 +++++ 19 files changed, 95 insertions(+) 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 e7fb35337e..a94d165dc2 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 @@ -129,6 +129,11 @@ public class SkillCaster implements Runnable */ public static SkillCaster castSkill(Creature caster, WorldObject target, Skill skill, ItemInstance item, SkillCastingType castingType, boolean ctrlPressed, boolean shiftPressed) { + // Prevent players from attacking before the Olympiad countdown ends. Olympiad Manager NPC is excluded. + if (caster.isPlayer() && caster.getActingPlayer().isInOlympiadMode() && !caster.getActingPlayer().isOlympiadStart() && skill.isBad() && (target != null) && (target.getId() != 36402)) + { + return null; + } return castSkill(caster, target, skill, item, castingType, ctrlPressed, shiftPressed, -1); } 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 ef1fd785d7..38ad8dcf53 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 @@ -129,6 +129,11 @@ public class SkillCaster implements Runnable */ public static SkillCaster castSkill(Creature caster, WorldObject target, Skill skill, ItemInstance item, SkillCastingType castingType, boolean ctrlPressed, boolean shiftPressed) { + // Prevent players from attacking before the Olympiad countdown ends. Olympiad Manager NPC is excluded. + if (caster.isPlayer() && caster.getActingPlayer().isInOlympiadMode() && !caster.getActingPlayer().isOlympiadStart() && skill.isBad() && (target != null) && (target.getId() != 36402)) + { + return null; + } return castSkill(caster, target, skill, item, castingType, ctrlPressed, shiftPressed, -1); } 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 ef1fd785d7..38ad8dcf53 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 @@ -129,6 +129,11 @@ public class SkillCaster implements Runnable */ public static SkillCaster castSkill(Creature caster, WorldObject target, Skill skill, ItemInstance item, SkillCastingType castingType, boolean ctrlPressed, boolean shiftPressed) { + // Prevent players from attacking before the Olympiad countdown ends. Olympiad Manager NPC is excluded. + if (caster.isPlayer() && caster.getActingPlayer().isInOlympiadMode() && !caster.getActingPlayer().isOlympiadStart() && skill.isBad() && (target != null) && (target.getId() != 36402)) + { + return null; + } return castSkill(caster, target, skill, item, castingType, ctrlPressed, shiftPressed, -1); } 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 ef1fd785d7..38ad8dcf53 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 @@ -129,6 +129,11 @@ public class SkillCaster implements Runnable */ public static SkillCaster castSkill(Creature caster, WorldObject target, Skill skill, ItemInstance item, SkillCastingType castingType, boolean ctrlPressed, boolean shiftPressed) { + // Prevent players from attacking before the Olympiad countdown ends. Olympiad Manager NPC is excluded. + if (caster.isPlayer() && caster.getActingPlayer().isInOlympiadMode() && !caster.getActingPlayer().isOlympiadStart() && skill.isBad() && (target != null) && (target.getId() != 36402)) + { + return null; + } return castSkill(caster, target, skill, item, castingType, ctrlPressed, shiftPressed, -1); } 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 a7066c227f..8238273c98 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 @@ -129,6 +129,11 @@ public class SkillCaster implements Runnable */ public static SkillCaster castSkill(Creature caster, WorldObject target, Skill skill, ItemInstance item, SkillCastingType castingType, boolean ctrlPressed, boolean shiftPressed) { + // Prevent players from attacking before the Olympiad countdown ends. Olympiad Manager NPC is excluded. + if (caster.isPlayer() && caster.getActingPlayer().isInOlympiadMode() && !caster.getActingPlayer().isOlympiadStart() && skill.isBad() && (target != null) && (target.getId() != 36402)) + { + return null; + } return castSkill(caster, target, skill, item, castingType, ctrlPressed, shiftPressed, -1); } 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 a7066c227f..8238273c98 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 @@ -129,6 +129,11 @@ public class SkillCaster implements Runnable */ public static SkillCaster castSkill(Creature caster, WorldObject target, Skill skill, ItemInstance item, SkillCastingType castingType, boolean ctrlPressed, boolean shiftPressed) { + // Prevent players from attacking before the Olympiad countdown ends. Olympiad Manager NPC is excluded. + if (caster.isPlayer() && caster.getActingPlayer().isInOlympiadMode() && !caster.getActingPlayer().isOlympiadStart() && skill.isBad() && (target != null) && (target.getId() != 36402)) + { + return null; + } return castSkill(caster, target, skill, item, castingType, ctrlPressed, shiftPressed, -1); } 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 a7066c227f..8238273c98 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 @@ -129,6 +129,11 @@ public class SkillCaster implements Runnable */ public static SkillCaster castSkill(Creature caster, WorldObject target, Skill skill, ItemInstance item, SkillCastingType castingType, boolean ctrlPressed, boolean shiftPressed) { + // Prevent players from attacking before the Olympiad countdown ends. Olympiad Manager NPC is excluded. + if (caster.isPlayer() && caster.getActingPlayer().isInOlympiadMode() && !caster.getActingPlayer().isOlympiadStart() && skill.isBad() && (target != null) && (target.getId() != 36402)) + { + return null; + } return castSkill(caster, target, skill, item, castingType, ctrlPressed, shiftPressed, -1); } 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 0bc496e8cc..428f02751b 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 @@ -129,6 +129,11 @@ public class SkillCaster implements Runnable */ public static SkillCaster castSkill(Creature caster, WorldObject target, Skill skill, ItemInstance item, SkillCastingType castingType, boolean ctrlPressed, boolean shiftPressed) { + // Prevent players from attacking before the Olympiad countdown ends. Olympiad Manager NPC is excluded. + if (caster.isPlayer() && caster.getActingPlayer().isInOlympiadMode() && !caster.getActingPlayer().isOlympiadStart() && skill.isBad() && (target != null) && (target.getId() != 36402)) + { + return null; + } return castSkill(caster, target, skill, item, castingType, ctrlPressed, shiftPressed, -1); } diff --git a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java index 0bc496e8cc..428f02751b 100644 --- a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java +++ b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java @@ -129,6 +129,11 @@ public class SkillCaster implements Runnable */ public static SkillCaster castSkill(Creature caster, WorldObject target, Skill skill, ItemInstance item, SkillCastingType castingType, boolean ctrlPressed, boolean shiftPressed) { + // Prevent players from attacking before the Olympiad countdown ends. Olympiad Manager NPC is excluded. + if (caster.isPlayer() && caster.getActingPlayer().isInOlympiadMode() && !caster.getActingPlayer().isOlympiadStart() && skill.isBad() && (target != null) && (target.getId() != 36402)) + { + return null; + } return castSkill(caster, target, skill, item, castingType, ctrlPressed, shiftPressed, -1); } diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java index 0bc496e8cc..428f02751b 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java @@ -129,6 +129,11 @@ public class SkillCaster implements Runnable */ public static SkillCaster castSkill(Creature caster, WorldObject target, Skill skill, ItemInstance item, SkillCastingType castingType, boolean ctrlPressed, boolean shiftPressed) { + // Prevent players from attacking before the Olympiad countdown ends. Olympiad Manager NPC is excluded. + if (caster.isPlayer() && caster.getActingPlayer().isInOlympiadMode() && !caster.getActingPlayer().isOlympiadStart() && skill.isBad() && (target != null) && (target.getId() != 36402)) + { + return null; + } return castSkill(caster, target, skill, item, castingType, ctrlPressed, shiftPressed, -1); } 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 558bf92edf..51b580c836 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 @@ -129,6 +129,11 @@ public class SkillCaster implements Runnable */ public static SkillCaster castSkill(Creature caster, WorldObject target, Skill skill, ItemInstance item, SkillCastingType castingType, boolean ctrlPressed, boolean shiftPressed) { + // Prevent players from attacking before the Olympiad countdown ends. Olympiad Manager NPC is excluded. + if (caster.isPlayer() && caster.getActingPlayer().isInOlympiadMode() && !caster.getActingPlayer().isOlympiadStart() && skill.isBad() && (target != null) && (target.getId() != 36402)) + { + return null; + } return castSkill(caster, target, skill, item, castingType, ctrlPressed, shiftPressed, -1); } 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 558bf92edf..51b580c836 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 @@ -129,6 +129,11 @@ public class SkillCaster implements Runnable */ public static SkillCaster castSkill(Creature caster, WorldObject target, Skill skill, ItemInstance item, SkillCastingType castingType, boolean ctrlPressed, boolean shiftPressed) { + // Prevent players from attacking before the Olympiad countdown ends. Olympiad Manager NPC is excluded. + if (caster.isPlayer() && caster.getActingPlayer().isInOlympiadMode() && !caster.getActingPlayer().isOlympiadStart() && skill.isBad() && (target != null) && (target.getId() != 36402)) + { + return null; + } return castSkill(caster, target, skill, item, castingType, ctrlPressed, shiftPressed, -1); } 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 558bf92edf..51b580c836 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 @@ -129,6 +129,11 @@ public class SkillCaster implements Runnable */ public static SkillCaster castSkill(Creature caster, WorldObject target, Skill skill, ItemInstance item, SkillCastingType castingType, boolean ctrlPressed, boolean shiftPressed) { + // Prevent players from attacking before the Olympiad countdown ends. Olympiad Manager NPC is excluded. + if (caster.isPlayer() && caster.getActingPlayer().isInOlympiadMode() && !caster.getActingPlayer().isOlympiadStart() && skill.isBad() && (target != null) && (target.getId() != 36402)) + { + return null; + } return castSkill(caster, target, skill, item, castingType, ctrlPressed, shiftPressed, -1); } 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 558bf92edf..51b580c836 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 @@ -129,6 +129,11 @@ public class SkillCaster implements Runnable */ public static SkillCaster castSkill(Creature caster, WorldObject target, Skill skill, ItemInstance item, SkillCastingType castingType, boolean ctrlPressed, boolean shiftPressed) { + // Prevent players from attacking before the Olympiad countdown ends. Olympiad Manager NPC is excluded. + if (caster.isPlayer() && caster.getActingPlayer().isInOlympiadMode() && !caster.getActingPlayer().isOlympiadStart() && skill.isBad() && (target != null) && (target.getId() != 36402)) + { + return null; + } return castSkill(caster, target, skill, item, castingType, ctrlPressed, shiftPressed, -1); } 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 558bf92edf..51b580c836 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 @@ -129,6 +129,11 @@ public class SkillCaster implements Runnable */ public static SkillCaster castSkill(Creature caster, WorldObject target, Skill skill, ItemInstance item, SkillCastingType castingType, boolean ctrlPressed, boolean shiftPressed) { + // Prevent players from attacking before the Olympiad countdown ends. Olympiad Manager NPC is excluded. + if (caster.isPlayer() && caster.getActingPlayer().isInOlympiadMode() && !caster.getActingPlayer().isOlympiadStart() && skill.isBad() && (target != null) && (target.getId() != 36402)) + { + return null; + } return castSkill(caster, target, skill, item, castingType, ctrlPressed, shiftPressed, -1); } 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 8831cce6e5..dfa9149bd4 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 @@ -130,6 +130,11 @@ public class SkillCaster implements Runnable */ public static SkillCaster castSkill(Creature caster, WorldObject target, Skill skill, ItemInstance item, SkillCastingType castingType, boolean ctrlPressed, boolean shiftPressed) { + // Prevent players from attacking before the Olympiad countdown ends. Olympiad Manager NPC is excluded. + if (caster.isPlayer() && caster.getActingPlayer().isInOlympiadMode() && !caster.getActingPlayer().isOlympiadStart() && skill.isBad() && (target != null) && (target.getId() != 36402)) + { + return null; + } return castSkill(caster, target, skill, item, castingType, ctrlPressed, shiftPressed, -1); } 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 558bf92edf..51b580c836 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 @@ -129,6 +129,11 @@ public class SkillCaster implements Runnable */ public static SkillCaster castSkill(Creature caster, WorldObject target, Skill skill, ItemInstance item, SkillCastingType castingType, boolean ctrlPressed, boolean shiftPressed) { + // Prevent players from attacking before the Olympiad countdown ends. Olympiad Manager NPC is excluded. + if (caster.isPlayer() && caster.getActingPlayer().isInOlympiadMode() && !caster.getActingPlayer().isOlympiadStart() && skill.isBad() && (target != null) && (target.getId() != 36402)) + { + return null; + } return castSkill(caster, target, skill, item, castingType, ctrlPressed, shiftPressed, -1); } diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java index 02113758c2..3239ef9d19 100644 --- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java +++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java @@ -130,6 +130,11 @@ public class SkillCaster implements Runnable */ public static SkillCaster castSkill(Creature caster, WorldObject target, Skill skill, ItemInstance item, SkillCastingType castingType, boolean ctrlPressed, boolean shiftPressed) { + // Prevent players from attacking before the Olympiad countdown ends. Olympiad Manager NPC is excluded. + if (caster.isPlayer() && caster.getActingPlayer().isInOlympiadMode() && !caster.getActingPlayer().isOlympiadStart() && skill.isBad() && (target != null) && (target.getId() != 36402)) + { + return null; + } return castSkill(caster, target, skill, item, castingType, ctrlPressed, shiftPressed, -1); } diff --git a/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java b/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java index 02113758c2..3239ef9d19 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java +++ b/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/skills/SkillCaster.java @@ -130,6 +130,11 @@ public class SkillCaster implements Runnable */ public static SkillCaster castSkill(Creature caster, WorldObject target, Skill skill, ItemInstance item, SkillCastingType castingType, boolean ctrlPressed, boolean shiftPressed) { + // Prevent players from attacking before the Olympiad countdown ends. Olympiad Manager NPC is excluded. + if (caster.isPlayer() && caster.getActingPlayer().isInOlympiadMode() && !caster.getActingPlayer().isOlympiadStart() && skill.isBad() && (target != null) && (target.getId() != 36402)) + { + return null; + } return castSkill(caster, target, skill, item, castingType, ctrlPressed, shiftPressed, -1); }