Improved Fantasy Isle Parade.

This commit is contained in:
MobiusDev 2017-09-07 11:56:32 +00:00
parent ea14bb8c3e
commit d141c44647
7 changed files with 31 additions and 55 deletions

View File

@ -120,7 +120,7 @@ public final class Parade extends AbstractNpcAI
// @formatter:on
int npcIndex;
CopyOnWriteArrayList<L2Npc> spawns;
CopyOnWriteArrayList<L2Npc> 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.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();
}
}

View File

@ -3473,7 +3473,7 @@
<defence fire="150" water="150" wind="150" earth="150" holy="150" dark="150" default="150" />
</attribute>
<speed>
<walk ground="60" />
<walk ground="40" />
<run ground="40" />
</speed>
<abnormalResist physical="10" magical="10" />

View File

@ -120,7 +120,7 @@ public final class Parade extends AbstractNpcAI
// @formatter:on
int npcIndex;
CopyOnWriteArrayList<L2Npc> spawns;
CopyOnWriteArrayList<L2Npc> 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.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();
}
}

View File

@ -3473,7 +3473,7 @@
<defence fire="150" water="150" wind="150" earth="150" holy="150" dark="150" default="150" />
</attribute>
<speed>
<walk ground="60" />
<walk ground="40" />
<run ground="40" />
</speed>
<abnormalResist physical="10" magical="10" />

View File

@ -120,7 +120,7 @@ public final class Parade extends AbstractNpcAI
// @formatter:on
int npcIndex;
CopyOnWriteArrayList<L2Npc> spawns;
CopyOnWriteArrayList<L2Npc> 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.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();
}
}

View File

@ -3473,7 +3473,7 @@
<defence fire="150" water="150" wind="150" earth="150" holy="150" dark="150" default="150" />
</attribute>
<speed>
<walk ground="60" />
<walk ground="40" />
<run ground="40" />
</speed>
<abnormalResist physical="10" magical="10" />

View File

@ -120,7 +120,7 @@ public final class Parade extends AbstractNpcAI
// @formatter:on
int npcIndex;
CopyOnWriteArrayList<L2Npc> spawns;
CopyOnWriteArrayList<L2Npc> 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.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();
}
}