From d141c446479ec2e725090513362f035bb8980270 Mon Sep 17 00:00:00 2001 From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com> Date: Thu, 7 Sep 2017 11:56:32 +0000 Subject: [PATCH] Improved Fantasy Isle Parade. --- .../scripts/ai/areas/FantasyIsle/Parade.java | 20 +++++++------------ .../dist/game/data/stats/npcs/32300-32399.xml | 2 +- .../scripts/ai/areas/FantasyIsle/Parade.java | 20 +++++++------------ .../dist/game/data/stats/npcs/32300-32399.xml | 2 +- .../scripts/ai/areas/FantasyIsle/Parade.java | 20 +++++++------------ .../dist/game/data/stats/npcs/32300-32399.xml | 2 +- .../data/scripts/ai/fantasy_isle/Parade.java | 20 +++++++------------ 7 files changed, 31 insertions(+), 55 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 e42870fd2d..21f7d8c4cb 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 @@ -120,7 +120,7 @@ public final class Parade extends AbstractNpcAI // @formatter:on int npcIndex; - CopyOnWriteArrayList spawns; + CopyOnWriteArrayList spawns = new CopyOnWriteArrayList<>(); ScheduledFuture spawnTask; ScheduledFuture deleteTask; ScheduledFuture cleanTask; @@ -141,16 +141,12 @@ public final class Parade extends AbstractNpcAI void load() { npcIndex = 0; - spawns = new CopyOnWriteArrayList<>(); } void clean() { - if (spawns != null) - { - spawns.forEach(L2Npc::deleteMe); - } - spawns = null; + spawns.forEach(L2Npc::deleteMe); + spawns.clear(); } private long timeLeftMilli(int hh, int mm, int ss) @@ -199,6 +195,7 @@ public final class Parade extends AbstractNpcAI final int[] start = START[route][i]; final int[] goal = GOAL[route][i]; final L2Npc actor = addSpawn(npcId, start[0], start[1], start[2], start[3], false, 0); + actor.setRunning(); actor.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(goal[0], goal[1], goal[2], goal[3])); spawns.add(actor); } @@ -242,12 +239,9 @@ public final class Parade extends AbstractNpcAI @Override public void run() { - spawnTask.cancel(false); - spawnTask = null; - deleteTask.cancel(false); - deleteTask = null; - cleanTask.cancel(false); - cleanTask = null; + spawnTask.cancel(true); + deleteTask.cancel(true); + cleanTask.cancel(true); clean(); } } diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/npcs/32300-32399.xml b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/npcs/32300-32399.xml index 6abfbb179f..d3077fe77a 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/npcs/32300-32399.xml +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/npcs/32300-32399.xml @@ -3473,7 +3473,7 @@ - + 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 e42870fd2d..21f7d8c4cb 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 @@ -120,7 +120,7 @@ public final class Parade extends AbstractNpcAI // @formatter:on int npcIndex; - CopyOnWriteArrayList spawns; + CopyOnWriteArrayList spawns = new CopyOnWriteArrayList<>(); ScheduledFuture spawnTask; ScheduledFuture deleteTask; ScheduledFuture cleanTask; @@ -141,16 +141,12 @@ public final class Parade extends AbstractNpcAI void load() { npcIndex = 0; - spawns = new CopyOnWriteArrayList<>(); } void clean() { - if (spawns != null) - { - spawns.forEach(L2Npc::deleteMe); - } - spawns = null; + spawns.forEach(L2Npc::deleteMe); + spawns.clear(); } private long timeLeftMilli(int hh, int mm, int ss) @@ -199,6 +195,7 @@ public final class Parade extends AbstractNpcAI final int[] start = START[route][i]; final int[] goal = GOAL[route][i]; final L2Npc actor = addSpawn(npcId, start[0], start[1], start[2], start[3], false, 0); + actor.setRunning(); actor.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(goal[0], goal[1], goal[2], goal[3])); spawns.add(actor); } @@ -242,12 +239,9 @@ public final class Parade extends AbstractNpcAI @Override public void run() { - spawnTask.cancel(false); - spawnTask = null; - deleteTask.cancel(false); - deleteTask = null; - cleanTask.cancel(false); - cleanTask = null; + spawnTask.cancel(true); + deleteTask.cancel(true); + cleanTask.cancel(true); clean(); } } diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/npcs/32300-32399.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/npcs/32300-32399.xml index f3bd0540c1..70807a87df 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/npcs/32300-32399.xml +++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/npcs/32300-32399.xml @@ -3473,7 +3473,7 @@ - + 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 e42870fd2d..21f7d8c4cb 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 @@ -120,7 +120,7 @@ public final class Parade extends AbstractNpcAI // @formatter:on int npcIndex; - CopyOnWriteArrayList spawns; + CopyOnWriteArrayList spawns = new CopyOnWriteArrayList<>(); ScheduledFuture spawnTask; ScheduledFuture deleteTask; ScheduledFuture cleanTask; @@ -141,16 +141,12 @@ public final class Parade extends AbstractNpcAI void load() { npcIndex = 0; - spawns = new CopyOnWriteArrayList<>(); } void clean() { - if (spawns != null) - { - spawns.forEach(L2Npc::deleteMe); - } - spawns = null; + spawns.forEach(L2Npc::deleteMe); + spawns.clear(); } private long timeLeftMilli(int hh, int mm, int ss) @@ -199,6 +195,7 @@ public final class Parade extends AbstractNpcAI final int[] start = START[route][i]; final int[] goal = GOAL[route][i]; final L2Npc actor = addSpawn(npcId, start[0], start[1], start[2], start[3], false, 0); + actor.setRunning(); actor.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(goal[0], goal[1], goal[2], goal[3])); spawns.add(actor); } @@ -242,12 +239,9 @@ public final class Parade extends AbstractNpcAI @Override public void run() { - spawnTask.cancel(false); - spawnTask = null; - deleteTask.cancel(false); - deleteTask = null; - cleanTask.cancel(false); - cleanTask = null; + spawnTask.cancel(true); + deleteTask.cancel(true); + cleanTask.cancel(true); clean(); } } diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/npcs/32300-32399.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/npcs/32300-32399.xml index f3bd0540c1..70807a87df 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/npcs/32300-32399.xml +++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/npcs/32300-32399.xml @@ -3473,7 +3473,7 @@ - + diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/fantasy_isle/Parade.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/fantasy_isle/Parade.java index 624a7ccf86..4d7e572a77 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/fantasy_isle/Parade.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/fantasy_isle/Parade.java @@ -120,7 +120,7 @@ public final class Parade extends AbstractNpcAI // @formatter:on int npcIndex; - CopyOnWriteArrayList spawns; + CopyOnWriteArrayList spawns = new CopyOnWriteArrayList<>(); ScheduledFuture spawnTask; ScheduledFuture deleteTask; ScheduledFuture cleanTask; @@ -143,16 +143,12 @@ public final class Parade extends AbstractNpcAI void load() { npcIndex = 0; - spawns = new CopyOnWriteArrayList<>(); } void clean() { - if (spawns != null) - { - spawns.forEach(L2Npc::deleteMe); - } - spawns = null; + spawns.forEach(L2Npc::deleteMe); + spawns.clear(); } private long timeLeftMilli(int hh, int mm, int ss) @@ -201,6 +197,7 @@ public final class Parade extends AbstractNpcAI final int[] start = START[route][i]; final int[] goal = GOAL[route][i]; final L2Npc actor = addSpawn(npcId, start[0], start[1], start[2], start[3], false, 0); + actor.setRunning(); actor.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(goal[0], goal[1], goal[2], goal[3])); spawns.add(actor); } @@ -244,12 +241,9 @@ public final class Parade extends AbstractNpcAI @Override public void run() { - spawnTask.cancel(false); - spawnTask = null; - deleteTask.cancel(false); - deleteTask = null; - cleanTask.cancel(false); - cleanTask = null; + spawnTask.cancel(true); + deleteTask.cancel(true); + cleanTask.cancel(true); clean(); } }