From e5b9a0b64dad5d752690ae3353c9bfedc1f88531 Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Tue, 28 May 2019 22:51:12 +0000 Subject: [PATCH] BuffInfo cancel task NPE check. --- .../l2jmobius/gameserver/model/skills/BuffInfo.java | 12 ++++++++++-- .../l2jmobius/gameserver/model/skills/BuffInfo.java | 12 ++++++++++-- .../l2jmobius/gameserver/model/skills/BuffInfo.java | 12 ++++++++++-- .../l2jmobius/gameserver/model/skills/BuffInfo.java | 12 ++++++++++-- .../l2jmobius/gameserver/model/skills/BuffInfo.java | 12 ++++++++++-- .../l2jmobius/gameserver/model/skills/BuffInfo.java | 12 ++++++++++-- .../l2jmobius/gameserver/model/skills/BuffInfo.java | 12 ++++++++++-- .../l2jmobius/gameserver/model/skills/BuffInfo.java | 12 ++++++++++-- .../l2jmobius/gameserver/model/skills/BuffInfo.java | 12 ++++++++++-- .../l2jmobius/gameserver/model/skills/BuffInfo.java | 12 ++++++++++-- .../l2jmobius/gameserver/model/skills/BuffInfo.java | 12 ++++++++++-- .../l2jmobius/gameserver/model/skills/BuffInfo.java | 12 ++++++++++-- .../l2jmobius/gameserver/model/skills/BuffInfo.java | 12 ++++++++++-- 13 files changed, 130 insertions(+), 26 deletions(-) diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java index cfc578fc2a..c7c8e7ebd7 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java @@ -368,7 +368,11 @@ public final class BuffInfo final EffectTaskInfo task = getEffectTask(effect); if (task != null) { - task.getScheduledFuture().cancel(true); // Don't allow to finish current run. + final ScheduledFuture schedule = task.getScheduledFuture(); + if ((schedule != null) && !schedule.isCancelled() && !schedule.isDone()) + { + schedule.cancel(true); // Don't allow to finish current run. + } _effected.getEffectList().stopSkillEffects(true, _skill); // Remove the buff from the effect list. } } @@ -381,7 +385,11 @@ public final class BuffInfo { for (EffectTaskInfo effectTask : _tasks.values()) { - effectTask.getScheduledFuture().cancel(true); // Don't allow to finish current run. + final ScheduledFuture schedule = effectTask.getScheduledFuture(); + if ((schedule != null) && !schedule.isCancelled() && !schedule.isDone()) + { + schedule.cancel(true); // Don't allow to finish current run. + } } } diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java index cfc578fc2a..c7c8e7ebd7 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java @@ -368,7 +368,11 @@ public final class BuffInfo final EffectTaskInfo task = getEffectTask(effect); if (task != null) { - task.getScheduledFuture().cancel(true); // Don't allow to finish current run. + final ScheduledFuture schedule = task.getScheduledFuture(); + if ((schedule != null) && !schedule.isCancelled() && !schedule.isDone()) + { + schedule.cancel(true); // Don't allow to finish current run. + } _effected.getEffectList().stopSkillEffects(true, _skill); // Remove the buff from the effect list. } } @@ -381,7 +385,11 @@ public final class BuffInfo { for (EffectTaskInfo effectTask : _tasks.values()) { - effectTask.getScheduledFuture().cancel(true); // Don't allow to finish current run. + final ScheduledFuture schedule = effectTask.getScheduledFuture(); + if ((schedule != null) && !schedule.isCancelled() && !schedule.isDone()) + { + schedule.cancel(true); // Don't allow to finish current run. + } } } diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java index cfc578fc2a..c7c8e7ebd7 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java @@ -368,7 +368,11 @@ public final class BuffInfo final EffectTaskInfo task = getEffectTask(effect); if (task != null) { - task.getScheduledFuture().cancel(true); // Don't allow to finish current run. + final ScheduledFuture schedule = task.getScheduledFuture(); + if ((schedule != null) && !schedule.isCancelled() && !schedule.isDone()) + { + schedule.cancel(true); // Don't allow to finish current run. + } _effected.getEffectList().stopSkillEffects(true, _skill); // Remove the buff from the effect list. } } @@ -381,7 +385,11 @@ public final class BuffInfo { for (EffectTaskInfo effectTask : _tasks.values()) { - effectTask.getScheduledFuture().cancel(true); // Don't allow to finish current run. + final ScheduledFuture schedule = effectTask.getScheduledFuture(); + if ((schedule != null) && !schedule.isCancelled() && !schedule.isDone()) + { + schedule.cancel(true); // Don't allow to finish current run. + } } } diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java index cfc578fc2a..c7c8e7ebd7 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java @@ -368,7 +368,11 @@ public final class BuffInfo final EffectTaskInfo task = getEffectTask(effect); if (task != null) { - task.getScheduledFuture().cancel(true); // Don't allow to finish current run. + final ScheduledFuture schedule = task.getScheduledFuture(); + if ((schedule != null) && !schedule.isCancelled() && !schedule.isDone()) + { + schedule.cancel(true); // Don't allow to finish current run. + } _effected.getEffectList().stopSkillEffects(true, _skill); // Remove the buff from the effect list. } } @@ -381,7 +385,11 @@ public final class BuffInfo { for (EffectTaskInfo effectTask : _tasks.values()) { - effectTask.getScheduledFuture().cancel(true); // Don't allow to finish current run. + final ScheduledFuture schedule = effectTask.getScheduledFuture(); + if ((schedule != null) && !schedule.isCancelled() && !schedule.isDone()) + { + schedule.cancel(true); // Don't allow to finish current run. + } } } diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java index cfc578fc2a..c7c8e7ebd7 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java @@ -368,7 +368,11 @@ public final class BuffInfo final EffectTaskInfo task = getEffectTask(effect); if (task != null) { - task.getScheduledFuture().cancel(true); // Don't allow to finish current run. + final ScheduledFuture schedule = task.getScheduledFuture(); + if ((schedule != null) && !schedule.isCancelled() && !schedule.isDone()) + { + schedule.cancel(true); // Don't allow to finish current run. + } _effected.getEffectList().stopSkillEffects(true, _skill); // Remove the buff from the effect list. } } @@ -381,7 +385,11 @@ public final class BuffInfo { for (EffectTaskInfo effectTask : _tasks.values()) { - effectTask.getScheduledFuture().cancel(true); // Don't allow to finish current run. + final ScheduledFuture schedule = effectTask.getScheduledFuture(); + if ((schedule != null) && !schedule.isCancelled() && !schedule.isDone()) + { + schedule.cancel(true); // Don't allow to finish current run. + } } } diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java index cfc578fc2a..c7c8e7ebd7 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java @@ -368,7 +368,11 @@ public final class BuffInfo final EffectTaskInfo task = getEffectTask(effect); if (task != null) { - task.getScheduledFuture().cancel(true); // Don't allow to finish current run. + final ScheduledFuture schedule = task.getScheduledFuture(); + if ((schedule != null) && !schedule.isCancelled() && !schedule.isDone()) + { + schedule.cancel(true); // Don't allow to finish current run. + } _effected.getEffectList().stopSkillEffects(true, _skill); // Remove the buff from the effect list. } } @@ -381,7 +385,11 @@ public final class BuffInfo { for (EffectTaskInfo effectTask : _tasks.values()) { - effectTask.getScheduledFuture().cancel(true); // Don't allow to finish current run. + final ScheduledFuture schedule = effectTask.getScheduledFuture(); + if ((schedule != null) && !schedule.isCancelled() && !schedule.isDone()) + { + schedule.cancel(true); // Don't allow to finish current run. + } } } diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java index cfc578fc2a..c7c8e7ebd7 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java @@ -368,7 +368,11 @@ public final class BuffInfo final EffectTaskInfo task = getEffectTask(effect); if (task != null) { - task.getScheduledFuture().cancel(true); // Don't allow to finish current run. + final ScheduledFuture schedule = task.getScheduledFuture(); + if ((schedule != null) && !schedule.isCancelled() && !schedule.isDone()) + { + schedule.cancel(true); // Don't allow to finish current run. + } _effected.getEffectList().stopSkillEffects(true, _skill); // Remove the buff from the effect list. } } @@ -381,7 +385,11 @@ public final class BuffInfo { for (EffectTaskInfo effectTask : _tasks.values()) { - effectTask.getScheduledFuture().cancel(true); // Don't allow to finish current run. + final ScheduledFuture schedule = effectTask.getScheduledFuture(); + if ((schedule != null) && !schedule.isCancelled() && !schedule.isDone()) + { + schedule.cancel(true); // Don't allow to finish current run. + } } } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java index 30643d8020..5afc193c28 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java @@ -309,7 +309,11 @@ public final class BuffInfo final EffectTaskInfo task = getEffectTask(effect); if (task != null) { - task.getScheduledFuture().cancel(true); // Don't allow to finish current run. + final ScheduledFuture schedule = task.getScheduledFuture(); + if ((schedule != null) && !schedule.isCancelled() && !schedule.isDone()) + { + schedule.cancel(true); // Don't allow to finish current run. + } _effected.getEffectList().stopSkillEffects(true, _skill); // Remove the buff from the effect list. } } @@ -320,7 +324,11 @@ public final class BuffInfo // Cancels the ticking task. for (EffectTaskInfo effectTask : _tasks.values()) { - effectTask.getScheduledFuture().cancel(true); // Don't allow to finish current run. + final ScheduledFuture schedule = effectTask.getScheduledFuture(); + if ((schedule != null) && !schedule.isCancelled() && !schedule.isDone()) + { + schedule.cancel(true); // Don't allow to finish current run. + } } // Remove stats removeStats(); diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java index cfc578fc2a..c7c8e7ebd7 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java @@ -368,7 +368,11 @@ public final class BuffInfo final EffectTaskInfo task = getEffectTask(effect); if (task != null) { - task.getScheduledFuture().cancel(true); // Don't allow to finish current run. + final ScheduledFuture schedule = task.getScheduledFuture(); + if ((schedule != null) && !schedule.isCancelled() && !schedule.isDone()) + { + schedule.cancel(true); // Don't allow to finish current run. + } _effected.getEffectList().stopSkillEffects(true, _skill); // Remove the buff from the effect list. } } @@ -381,7 +385,11 @@ public final class BuffInfo { for (EffectTaskInfo effectTask : _tasks.values()) { - effectTask.getScheduledFuture().cancel(true); // Don't allow to finish current run. + final ScheduledFuture schedule = effectTask.getScheduledFuture(); + if ((schedule != null) && !schedule.isCancelled() && !schedule.isDone()) + { + schedule.cancel(true); // Don't allow to finish current run. + } } } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java index cfc578fc2a..c7c8e7ebd7 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java @@ -368,7 +368,11 @@ public final class BuffInfo final EffectTaskInfo task = getEffectTask(effect); if (task != null) { - task.getScheduledFuture().cancel(true); // Don't allow to finish current run. + final ScheduledFuture schedule = task.getScheduledFuture(); + if ((schedule != null) && !schedule.isCancelled() && !schedule.isDone()) + { + schedule.cancel(true); // Don't allow to finish current run. + } _effected.getEffectList().stopSkillEffects(true, _skill); // Remove the buff from the effect list. } } @@ -381,7 +385,11 @@ public final class BuffInfo { for (EffectTaskInfo effectTask : _tasks.values()) { - effectTask.getScheduledFuture().cancel(true); // Don't allow to finish current run. + final ScheduledFuture schedule = effectTask.getScheduledFuture(); + if ((schedule != null) && !schedule.isCancelled() && !schedule.isDone()) + { + schedule.cancel(true); // Don't allow to finish current run. + } } } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java index cfc578fc2a..c7c8e7ebd7 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java @@ -368,7 +368,11 @@ public final class BuffInfo final EffectTaskInfo task = getEffectTask(effect); if (task != null) { - task.getScheduledFuture().cancel(true); // Don't allow to finish current run. + final ScheduledFuture schedule = task.getScheduledFuture(); + if ((schedule != null) && !schedule.isCancelled() && !schedule.isDone()) + { + schedule.cancel(true); // Don't allow to finish current run. + } _effected.getEffectList().stopSkillEffects(true, _skill); // Remove the buff from the effect list. } } @@ -381,7 +385,11 @@ public final class BuffInfo { for (EffectTaskInfo effectTask : _tasks.values()) { - effectTask.getScheduledFuture().cancel(true); // Don't allow to finish current run. + final ScheduledFuture schedule = effectTask.getScheduledFuture(); + if ((schedule != null) && !schedule.isCancelled() && !schedule.isDone()) + { + schedule.cancel(true); // Don't allow to finish current run. + } } } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java index cfc578fc2a..c7c8e7ebd7 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java @@ -368,7 +368,11 @@ public final class BuffInfo final EffectTaskInfo task = getEffectTask(effect); if (task != null) { - task.getScheduledFuture().cancel(true); // Don't allow to finish current run. + final ScheduledFuture schedule = task.getScheduledFuture(); + if ((schedule != null) && !schedule.isCancelled() && !schedule.isDone()) + { + schedule.cancel(true); // Don't allow to finish current run. + } _effected.getEffectList().stopSkillEffects(true, _skill); // Remove the buff from the effect list. } } @@ -381,7 +385,11 @@ public final class BuffInfo { for (EffectTaskInfo effectTask : _tasks.values()) { - effectTask.getScheduledFuture().cancel(true); // Don't allow to finish current run. + final ScheduledFuture schedule = effectTask.getScheduledFuture(); + if ((schedule != null) && !schedule.isCancelled() && !schedule.isDone()) + { + schedule.cancel(true); // Don't allow to finish current run. + } } } diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java index cfc578fc2a..c7c8e7ebd7 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/skills/BuffInfo.java @@ -368,7 +368,11 @@ public final class BuffInfo final EffectTaskInfo task = getEffectTask(effect); if (task != null) { - task.getScheduledFuture().cancel(true); // Don't allow to finish current run. + final ScheduledFuture schedule = task.getScheduledFuture(); + if ((schedule != null) && !schedule.isCancelled() && !schedule.isDone()) + { + schedule.cancel(true); // Don't allow to finish current run. + } _effected.getEffectList().stopSkillEffects(true, _skill); // Remove the buff from the effect list. } } @@ -381,7 +385,11 @@ public final class BuffInfo { for (EffectTaskInfo effectTask : _tasks.values()) { - effectTask.getScheduledFuture().cancel(true); // Don't allow to finish current run. + final ScheduledFuture schedule = effectTask.getScheduledFuture(); + if ((schedule != null) && !schedule.isCancelled() && !schedule.isDone()) + { + schedule.cancel(true); // Don't allow to finish current run. + } } }