From 4a32f63be7bd41ebdf7deef05a37ae423f00e7be Mon Sep 17 00:00:00 2001 From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com> Date: Mon, 23 Apr 2018 12:51:55 +0000 Subject: [PATCH] Fixed probable Parade NPE. --- .../scripts/ai/areas/FantasyIsle/Parade.java | 23 +++++++++++++++---- .../scripts/ai/areas/FantasyIsle/Parade.java | 23 +++++++++++++++---- .../scripts/ai/areas/FantasyIsle/Parade.java | 23 +++++++++++++++---- .../scripts/ai/areas/FantasyIsle/Parade.java | 23 +++++++++++++++---- .../scripts/ai/areas/FantasyIsle/Parade.java | 23 +++++++++++++++---- 5 files changed, 95 insertions(+), 20 deletions(-) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java index e86278e0e3..9826764be0 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java @@ -145,7 +145,13 @@ public final class Parade extends AbstractNpcAI void clean() { - spawns.forEach(L2Npc::deleteMe); + for (L2Npc spawn : spawns) + { + if (spawn != null) + { + spawn.deleteMe(); + } + } spawns.clear(); } @@ -239,9 +245,18 @@ public final class Parade extends AbstractNpcAI @Override public void run() { - spawnTask.cancel(true); - deleteTask.cancel(true); - cleanTask.cancel(true); + if (spawnTask != null) + { + spawnTask.cancel(true); + } + if (deleteTask != null) + { + deleteTask.cancel(true); + } + if (cleanTask != null) + { + cleanTask.cancel(true); + } clean(); } } diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java index e86278e0e3..9826764be0 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java @@ -145,7 +145,13 @@ public final class Parade extends AbstractNpcAI void clean() { - spawns.forEach(L2Npc::deleteMe); + for (L2Npc spawn : spawns) + { + if (spawn != null) + { + spawn.deleteMe(); + } + } spawns.clear(); } @@ -239,9 +245,18 @@ public final class Parade extends AbstractNpcAI @Override public void run() { - spawnTask.cancel(true); - deleteTask.cancel(true); - cleanTask.cancel(true); + if (spawnTask != null) + { + spawnTask.cancel(true); + } + if (deleteTask != null) + { + deleteTask.cancel(true); + } + if (cleanTask != null) + { + cleanTask.cancel(true); + } clean(); } } diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java index e86278e0e3..9826764be0 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java @@ -145,7 +145,13 @@ public final class Parade extends AbstractNpcAI void clean() { - spawns.forEach(L2Npc::deleteMe); + for (L2Npc spawn : spawns) + { + if (spawn != null) + { + spawn.deleteMe(); + } + } spawns.clear(); } @@ -239,9 +245,18 @@ public final class Parade extends AbstractNpcAI @Override public void run() { - spawnTask.cancel(true); - deleteTask.cancel(true); - cleanTask.cancel(true); + if (spawnTask != null) + { + spawnTask.cancel(true); + } + if (deleteTask != null) + { + deleteTask.cancel(true); + } + if (cleanTask != null) + { + cleanTask.cancel(true); + } clean(); } } diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java index e86278e0e3..9826764be0 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java @@ -145,7 +145,13 @@ public final class Parade extends AbstractNpcAI void clean() { - spawns.forEach(L2Npc::deleteMe); + for (L2Npc spawn : spawns) + { + if (spawn != null) + { + spawn.deleteMe(); + } + } spawns.clear(); } @@ -239,9 +245,18 @@ public final class Parade extends AbstractNpcAI @Override public void run() { - spawnTask.cancel(true); - deleteTask.cancel(true); - cleanTask.cancel(true); + if (spawnTask != null) + { + spawnTask.cancel(true); + } + if (deleteTask != null) + { + deleteTask.cancel(true); + } + if (cleanTask != null) + { + cleanTask.cancel(true); + } clean(); } } diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java index e86278e0e3..9826764be0 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java @@ -145,7 +145,13 @@ public final class Parade extends AbstractNpcAI void clean() { - spawns.forEach(L2Npc::deleteMe); + for (L2Npc spawn : spawns) + { + if (spawn != null) + { + spawn.deleteMe(); + } + } spawns.clear(); } @@ -239,9 +245,18 @@ public final class Parade extends AbstractNpcAI @Override public void run() { - spawnTask.cancel(true); - deleteTask.cancel(true); - cleanTask.cancel(true); + if (spawnTask != null) + { + spawnTask.cancel(true); + } + if (deleteTask != null) + { + deleteTask.cancel(true); + } + if (cleanTask != null) + { + cleanTask.cancel(true); + } clean(); } }