ThreadPool manager rework.

This commit is contained in:
MobiusDev
2017-08-23 05:23:31 +00:00
parent 374c53df4b
commit b77de360af
718 changed files with 3180 additions and 7193 deletions

View File

@@ -131,11 +131,11 @@ public final class Parade extends AbstractNpcAI
// Starts at 8:00 and repeats every 6 hours.
final long diff = timeLeftMilli(8, 0, 0), cycle = 3600000L;
ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new Start(), diff, cycle);
ThreadPoolManager.scheduleAtFixedRate(new Start(), diff, cycle);
// Test - Starts 3 minutes after server startup and repeats every 20 minutes.
// final long diff = timeLeftMilli(8, 0, 0), cycle = 600000L;
// ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new Start(), 180000L, cycle);
// ThreadPoolManager.scheduleAtFixedRate(new Start(), 180000L, cycle);
_log.info("Fantasy Isle: Parade starting at " + new SimpleDateFormat("yyyy/MM/dd HH:mm").format(System.currentTimeMillis() + diff) + " and is scheduled each next " + (cycle / 3600000) + " hours.");
}
@@ -173,9 +173,9 @@ public final class Parade extends AbstractNpcAI
public void run()
{
load();
spawnTask = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new Spawn(), 0, 5000);
deleteTask = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new Delete(), 10000, 1000);
cleanTask = ThreadPoolManager.getInstance().scheduleGeneral(new Clean(), 420000);
spawnTask = ThreadPoolManager.scheduleAtFixedRate(new Spawn(), 0, 5000);
deleteTask = ThreadPoolManager.scheduleAtFixedRate(new Delete(), 10000, 1000);
cleanTask = ThreadPoolManager.schedule(new Clean(), 420000);
}
}

View File

@@ -128,7 +128,7 @@ public final class DenOfEvil extends AbstractNpcAI
zone.addSkill(skillId, skillLevel + 1);
if (skillLevel == 3) // 3+1=4
{
ThreadPoolManager.getInstance().scheduleAi(new KashaDestruction(zone), 2 * 60 * 1000l);
ThreadPoolManager.schedule(new KashaDestruction(zone), 2 * 60 * 1000l);
zone.broadcastPacket(SystemMessage.getSystemMessage(SystemMessageId.KASHA_S_EYE_PITCHES_AND_TOSSES_LIKE_IT_S_ABOUT_TO_EXPLODE));
}
else if (skillLevel == 2)
@@ -141,7 +141,7 @@ public final class DenOfEvil extends AbstractNpcAI
@Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
ThreadPoolManager.getInstance().scheduleAi(new RespawnNewEye(npc.getLocation()), 15000);
ThreadPoolManager.schedule(new RespawnNewEye(npc.getLocation()), 15000);
final L2EffectZone zone = ZoneManager.getInstance().getZone(npc, L2EffectZone.class);
if (zone == null)
{
@@ -216,7 +216,7 @@ public final class DenOfEvil extends AbstractNpcAI
final L2Npc npc = (L2Npc) character;
if (Util.contains(EYE_IDS, npc.getId()))
{
ThreadPoolManager.getInstance().scheduleAi(new RespawnNewEye(npc.getLocation()), 15000);
ThreadPoolManager.schedule(new RespawnNewEye(npc.getLocation()), 15000);
}
}
}

View File

@@ -91,7 +91,7 @@ public final class RandomSpawn extends AbstractNpcAI
if (!npc.isInsideRadius(loc, 200, false, false))
{
npc.getSpawn().setLocation(loc);
ThreadPoolManager.getInstance().scheduleGeneral(new Teleport(npc, loc), 100);
ThreadPoolManager.schedule(new Teleport(npc, loc), 100);
}
return super.onSpawn(npc);
}

View File

@@ -246,7 +246,7 @@ public final class QueenAnt extends AbstractNpcAI
}
case QUEEN:
{
_task = ThreadPoolManager.getInstance().scheduleAiAtFixedRate(new QueenAntTask(), 5 * 1000, 5 * 1000);
_task = ThreadPoolManager.scheduleAtFixedRate(new QueenAntTask(), 5 * 1000, 5 * 1000);
break;
}
}

View File

@@ -55,8 +55,8 @@ public class TarBeetleSpawn implements IXmlReader
parseDatapackFile("data/spawnZones/tar_beetle.xml");
if (!zones.isEmpty())
{
spawnTask = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(() -> zones.forEach(SpawnZone::refreshSpawn), 1000, 60000);
shotTask = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(() -> zones.forEach(SpawnZone::refreshShots), 300000, 300000);
spawnTask = ThreadPoolManager.scheduleAtFixedRate(() -> zones.forEach(SpawnZone::refreshSpawn), 1000, 60000);
shotTask = ThreadPoolManager.scheduleAtFixedRate(() -> zones.forEach(SpawnZone::refreshShots), 300000, 300000);
}
}

View File

@@ -110,7 +110,7 @@ public class NpcBufferAI implements Runnable
break;
}
}
ThreadPoolManager.getInstance().scheduleGeneral(this, _skillData.getDelay());
ThreadPoolManager.schedule(this, _skillData.getDelay());
}
/**

View File

@@ -54,7 +54,7 @@ public final class NpcBuffers extends AbstractNpcAI
final NpcBufferData data = _npcBuffers.getNpcBuffer(npc.getId());
for (NpcBufferSkillData skill : data.getSkills())
{
ThreadPoolManager.getInstance().scheduleAi(new NpcBufferAI(npc, skill), skill.getInitialDelay());
ThreadPoolManager.schedule(new NpcBufferAI(npc, skill), skill.getInitialDelay());
}
return super.onSpawn(npc);
}

View File

@@ -76,8 +76,8 @@ public final class CabaleBuffer extends AbstractNpcAI
@Override
public String onSpawn(L2Npc npc)
{
ThreadPoolManager.getInstance().scheduleGeneral(new CabaleAI(npc), 3000);
ThreadPoolManager.getInstance().scheduleGeneral(new Talk(npc), 60000);
ThreadPoolManager.schedule(new CabaleAI(npc), 3000);
ThreadPoolManager.schedule(new Talk(npc), 60000);
return super.onSpawn(npc);
}
@@ -101,7 +101,7 @@ public final class CabaleBuffer extends AbstractNpcAI
messages = PREACHER_MSG;
}
broadcastSay(_npc, messages[getRandom(messages.length)], null, -1);
ThreadPoolManager.getInstance().scheduleGeneral(this, 60000);
ThreadPoolManager.schedule(this, 60000);
}
}
}
@@ -224,7 +224,7 @@ public final class CabaleBuffer extends AbstractNpcAI
break;
}
}
ThreadPoolManager.getInstance().scheduleGeneral(this, 3000);
ThreadPoolManager.schedule(this, 3000);
}
/**

View File

@@ -159,7 +159,7 @@ public final class FortressOfTheDead extends ClanHallSiegeEngine
{
cancelSiegeTask();
final long scheduleTime = (24 - hoursLeft) * 10 * 60000;
_siegeTask = ThreadPoolManager.getInstance().scheduleGeneral(new SiegeStarts(), scheduleTime);
_siegeTask = ThreadPoolManager.schedule(new SiegeStarts(), scheduleTime);
}
else
{

View File

@@ -116,7 +116,7 @@ public final class RainbowSpringsChateau extends ClanHallSiegeEngine
}
if (_acceptedClans.size() >= 2)
{
_nextSiege = ThreadPoolManager.getInstance().scheduleGeneral(new SiegeStart(), 3600000);
_nextSiege = ThreadPoolManager.schedule(new SiegeStart(), 3600000);
_rainbow.updateSiegeStatus(SiegeStatus.WAITING_BATTLE);
}
else
@@ -140,7 +140,7 @@ public final class RainbowSpringsChateau extends ClanHallSiegeEngine
// XXX _rainbow.siegeStarts();
spawnGourds();
_siegeEnd = ThreadPoolManager.getInstance().scheduleGeneral(new SiegeEnd(null), _rainbow.getSiegeLenght() - 120000);
_siegeEnd = ThreadPoolManager.schedule(new SiegeEnd(null), _rainbow.getSiegeLenght() - 120000);
}
}
@@ -178,10 +178,10 @@ public final class RainbowSpringsChateau extends ClanHallSiegeEngine
// XXX _rainbow.siegeEnds();
ThreadPoolManager.getInstance().scheduleGeneral(new SetFinalAttackers(), _rainbow.getNextSiegeTime());
ThreadPoolManager.schedule(new SetFinalAttackers(), _rainbow.getNextSiegeTime());
setRegistrationEndString((_rainbow.getNextSiegeTime() + System.currentTimeMillis()) - 3600000);
// Teleport out of the arenas is made 2 mins after game ends
ThreadPoolManager.getInstance().scheduleGeneral(new TeleportBack(), 120000);
ThreadPoolManager.schedule(new TeleportBack(), 120000);
}
}
@@ -287,7 +287,7 @@ public final class RainbowSpringsChateau extends ClanHallSiegeEngine
if (delay > -1)
{
setRegistrationEndString(delay - 3600000);
_nextSiege = ThreadPoolManager.getInstance().scheduleGeneral(new SetFinalAttackers(), delay);
_nextSiege = ThreadPoolManager.schedule(new SetFinalAttackers(), delay);
}
else
{
@@ -616,7 +616,7 @@ public final class RainbowSpringsChateau extends ClanHallSiegeEngine
{
_siegeEnd.cancel(false);
}
ThreadPoolManager.getInstance().executeGeneral(new SiegeEnd(clan));
ThreadPoolManager.execute(new SiegeEnd(clan));
}
}
@@ -896,7 +896,7 @@ public final class RainbowSpringsChateau extends ClanHallSiegeEngine
public static void launchSiege()
{
_nextSiege.cancel(false);
ThreadPoolManager.getInstance().executeGeneral(new SiegeStart());
ThreadPoolManager.execute(new SiegeStart());
}
@Override
@@ -906,7 +906,7 @@ public final class RainbowSpringsChateau extends ClanHallSiegeEngine
{
_siegeEnd.cancel(false);
}
ThreadPoolManager.getInstance().executeGeneral(new SiegeEnd(null));
ThreadPoolManager.execute(new SiegeEnd(null));
}
public static void updateAdminDate(long date)
@@ -923,7 +923,7 @@ public final class RainbowSpringsChateau extends ClanHallSiegeEngine
}
date -= 3600000;
setRegistrationEndString(date);
_nextSiege = ThreadPoolManager.getInstance().scheduleGeneral(new SetFinalAttackers(), _rainbow.getNextSiegeTime());
_nextSiege = ThreadPoolManager.schedule(new SetFinalAttackers(), _rainbow.getNextSiegeTime());
}
public static void main(String[] args)

View File

@@ -402,7 +402,7 @@ public abstract class FlagWar extends ClanHallSiegeEngine
doUnSpawns(data);
}
ThreadPoolManager.getInstance().scheduleGeneral(() ->
ThreadPoolManager.schedule(() ->
{
for (int doorId : INNER_DOORS_TO_OPEN)
{
@@ -457,7 +457,7 @@ public abstract class FlagWar extends ClanHallSiegeEngine
Broadcast.toAllOnlinePlayers(msg);
_hall.updateSiegeStatus(SiegeStatus.WAITING_BATTLE);
_siegeTask = ThreadPoolManager.getInstance().scheduleGeneral(new SiegeStarts(), 3600000);
_siegeTask = ThreadPoolManager.schedule(new SiegeStarts(), 3600000);
}
@Override
@@ -499,7 +499,7 @@ public abstract class FlagWar extends ClanHallSiegeEngine
}
// Schedule open doors closement and siege start in 2 minutes
ThreadPoolManager.getInstance().scheduleGeneral(new CloseOutterDoorsTask(this), 300000);
ThreadPoolManager.schedule(new CloseOutterDoorsTask(this), 300000);
}
/**

View File

@@ -111,7 +111,7 @@ public final class Elpies extends Event
Broadcast.toAllOnlinePlayers("Help us exterminate them!");
Broadcast.toAllOnlinePlayers("You have " + EVENT_DURATION_MINUTES + " minutes!");
_eventTask = ThreadPoolManager.getInstance().scheduleGeneral(() ->
_eventTask = ThreadPoolManager.schedule(() ->
{
Broadcast.toAllOnlinePlayers("Time is up!");
eventStop();

View File

@@ -137,7 +137,7 @@ public final class Race extends Event
Broadcast.toAllOnlinePlayers("Visit Event Manager in Dion village and signup, you have " + _time_register + " min before Race Start...");
// Schedule Event end
_eventTask = ThreadPoolManager.getInstance().scheduleGeneral(() -> StartRace(), _time_register * 60 * 1000);
_eventTask = ThreadPoolManager.schedule(() -> StartRace(), _time_register * 60 * 1000);
return true;
@@ -180,7 +180,7 @@ public final class Race extends Event
}
}
// Schedule timeup for Race
_eventTask = ThreadPoolManager.getInstance().scheduleGeneral(() -> timeUp(), _time_race * 60 * 1000);
_eventTask = ThreadPoolManager.schedule(() -> timeUp(), _time_race * 60 * 1000);
}
@Override

View File

@@ -943,7 +943,7 @@ public class EnergySeeds extends AbstractNpcAI
public void scheduleRespawn(long waitTime)
{
ThreadPoolManager.getInstance().scheduleGeneral(() ->
ThreadPoolManager.schedule(() ->
{
// if the AI is inactive, do not spawn the NPC
if (isSeedActive(_seedId))

View File

@@ -561,8 +561,8 @@ public class HallOfErosionAttack extends AbstractNpcAI
npc.deleteMe();
world.deadTumor = addSpawn(TUMOR_DEAD, loc, world.getInstanceId());
world.deadTumors.add(world.deadTumor);
ThreadPoolManager.getInstance().scheduleGeneral(new TumorRevival(world.deadTumor, world), tumorRespawnTime);
ThreadPoolManager.getInstance().scheduleGeneral(new RegenerationCoffinSpawn(world.deadTumor, world), 20000);
ThreadPoolManager.schedule(new TumorRevival(world.deadTumor, world), tumorRespawnTime);
ThreadPoolManager.schedule(new RegenerationCoffinSpawn(world.deadTumor, world), 20000);
if (world.tumorCount >= 1)
{
broadCastPacket(world, new ExShowScreenMessage(NpcStringId.THE_TUMOR_INSIDE_S1_HAS_BEEN_DESTROYED_NIN_ORDER_TO_DRAW_OUT_THE_COWARDLY_COHEMENES_YOU_MUST_DESTROY_ALL_THE_TUMORS, 2, 8000));

View File

@@ -358,7 +358,7 @@ public class HallOfErosionDefence extends AbstractNpcAI
world.addAllowed(player.getObjectId());
}
((HEDWorld) world).finishTask = ThreadPoolManager.getInstance().scheduleGeneral(new FinishTask((HEDWorld) world), 20 * 60000);
((HEDWorld) world).finishTask = ThreadPoolManager.schedule(new FinishTask((HEDWorld) world), 20 * 60000);
runTumors((HEDWorld) world);
}
}
@@ -391,7 +391,7 @@ public class HallOfErosionDefence extends AbstractNpcAI
{
final L2Npc npc = addSpawn(spawn[0], spawn[1], spawn[2], spawn[3], spawn[4], false, 0, false, world.getInstanceId());
world.deadTumors.add(npc);
ThreadPoolManager.getInstance().scheduleGeneral(new RegenerationCoffinSpawn(npc, world), 1000);
ThreadPoolManager.schedule(new RegenerationCoffinSpawn(npc, world), 1000);
}
}
@@ -403,7 +403,7 @@ public class HallOfErosionDefence extends AbstractNpcAI
}
}
ThreadPoolManager.getInstance().scheduleGeneral(() ->
ThreadPoolManager.schedule(() ->
{
if (!conquestEnded)
{
@@ -544,7 +544,7 @@ public class HallOfErosionDefence extends AbstractNpcAI
world.deadTumor = addSpawn(TUMOR_DEAD, npc.getLocation(), world.getInstanceId());
world.deadTumors.add(world.deadTumor);
broadCastPacket(world, new ExShowScreenMessage(NpcStringId.THE_TUMOR_INSIDE_S1_HAS_BEEN_DESTROYED_NTHE_NEARBY_UNDEAD_THAT_WERE_ATTACKING_SEED_OF_LIFE_START_LOSING_THEIR_ENERGY_AND_RUN_AWAY, 2, 8000));
ThreadPoolManager.getInstance().scheduleGeneral(() ->
ThreadPoolManager.schedule(() ->
{
world.deadTumor.deleteMe();
final L2Npc tumor = addSpawn(TUMOR_ALIVE, world.deadTumor.getLocation(), world.getInstanceId());

View File

@@ -358,7 +358,7 @@ public class HeartInfinityAttack extends Quest
}
conquestBegun = true;
ThreadPoolManager.getInstance().scheduleGeneral(() ->
ThreadPoolManager.schedule(() ->
{
for (int objId : world.getAllowed())
{
@@ -366,7 +366,7 @@ public class HeartInfinityAttack extends Quest
player.showQuestMovie(2); // ExStartScenePlayer.SCENE_ECHMUS_OPENING
}
ThreadPoolManager.getInstance().scheduleGeneral(() -> conquestBegins(world), 62500);
ThreadPoolManager.schedule(() -> conquestBegins(world), 62500);
}, 20000);
}
@@ -420,7 +420,7 @@ public class HeartInfinityAttack extends Quest
world.hounds.add(addSpawn(HOUND, -179224, 209624, -15504, 16384, false, 0, false, world.getInstanceId()));
world.hounds.add(addSpawn(HOUND, -179880, 209464, -15504, 16384, false, 0, false, world.getInstanceId()));
world.startTime = System.currentTimeMillis();
world.timerTask = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new TimerTask(world), 298 * 1000, 5 * 60 * 1000);
world.timerTask = ThreadPoolManager.scheduleAtFixedRate(new TimerTask(world), 298 * 1000, 5 * 60 * 1000);
}
@Override
@@ -607,8 +607,8 @@ public class HeartInfinityAttack extends Quest
npc.deleteMe();
world.deadTumor = addSpawn(DEADTUMOR, loc, world.getInstanceId());
world.deadTumors.add(world.deadTumor);
ThreadPoolManager.getInstance().scheduleGeneral(new TumorRevival(world.deadTumor, world), tumorRespawnTime);
ThreadPoolManager.getInstance().scheduleGeneral(new RegenerationCoffinSpawn(world.deadTumor, world), 20000);
ThreadPoolManager.schedule(new TumorRevival(world.deadTumor, world), tumorRespawnTime);
ThreadPoolManager.schedule(new RegenerationCoffinSpawn(world.deadTumor, world), 20000);
if (world.tumorCount < 1)
{
houndBlocked = true;
@@ -825,7 +825,7 @@ public class HeartInfinityAttack extends Quest
}
}
ThreadPoolManager.getInstance().scheduleGeneral(() -> broadCastPacket(world, new ExShowScreenMessage(NpcStringId.EKIMUS_HAS_SENSED_ABNORMAL_ACTIVITY_NTHE_ADVANCING_PARTY_IS_FORCEFULLY_EXPELLED, 2, 8000)), 10000);
ThreadPoolManager.schedule(() -> broadCastPacket(world, new ExShowScreenMessage(NpcStringId.EKIMUS_HAS_SENSED_ABNORMAL_ACTIVITY_NTHE_ADVANCING_PARTY_IS_FORCEFULLY_EXPELLED, 2, 8000)), 10000);
}
protected void conquestConclusion(HIAWorld world)

View File

@@ -365,15 +365,15 @@ public class HeartInfinityDefence extends Quest
}
}
((HIDWorld) world).startTime = System.currentTimeMillis();
((HIDWorld) world).finishTask = ThreadPoolManager.getInstance().scheduleGeneral(new FinishTask((HIDWorld) world), 30 * 60000);
((HIDWorld) world).timerTask = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new TimerTask((HIDWorld) world), 298 * 1000, 5 * 60 * 1000);
((HIDWorld) world).finishTask = ThreadPoolManager.schedule(new FinishTask((HIDWorld) world), 30 * 60000);
((HIDWorld) world).timerTask = ThreadPoolManager.scheduleAtFixedRate(new TimerTask((HIDWorld) world), 298 * 1000, 5 * 60 * 1000);
conquestBegins((HIDWorld) world);
}
}
private void conquestBegins(HIDWorld world)
{
ThreadPoolManager.getInstance().scheduleGeneral(() ->
ThreadPoolManager.schedule(() ->
{
broadCastPacket(world, new ExShowScreenMessage(NpcStringId.YOU_CAN_HEAR_THE_UNDEAD_OF_EKIMUS_RUSHING_TOWARD_YOU_S1_S2_IT_HAS_NOW_BEGUN, 2, 8000));
for (int[] spawn1 : ROOMS_MOBS)
@@ -406,7 +406,7 @@ public class HeartInfinityDefence extends Quest
InstanceManager.getInstance().getInstance(world.getInstanceId()).getDoor(14240102).openMe();
preawakenedEchmus = addSpawn(29161, -179534, 208510, -15496, 16342, false, 0, false, world.getInstanceId());
ThreadPoolManager.getInstance().scheduleGeneral(() ->
ThreadPoolManager.schedule(() ->
{
if (!conquestEnded)
{
@@ -423,7 +423,7 @@ public class HeartInfinityDefence extends Quest
}
}, 60000);
ThreadPoolManager.getInstance().scheduleGeneral(() ->
ThreadPoolManager.schedule(() ->
{
if (!conquestEnded)
{
@@ -452,7 +452,7 @@ public class HeartInfinityDefence extends Quest
}
}, tumorRespawnTime);
world.wagonSpawnTask = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(() -> addSpawn(SOULWAGON, -179544, 207400, -15496, 0, false, 0, false, world.getInstanceId()), 1000, wagonRespawnTime);
world.wagonSpawnTask = ThreadPoolManager.scheduleAtFixedRate(() -> addSpawn(SOULWAGON, -179544, 207400, -15496, 0, false, 0, false, world.getInstanceId()), 1000, wagonRespawnTime);
}, 20000);
}
@@ -593,7 +593,7 @@ public class HeartInfinityDefence extends Quest
wagonRespawnTime += 10000;
broadCastPacket(world, new ExShowScreenMessage(NpcStringId.THE_TUMOR_INSIDE_S1_HAS_BEEN_DESTROYED_NTHE_SPEED_THAT_EKIMUS_CALLS_OUT_HIS_PREY_HAS_SLOWED_DOWN, 2, 8000));
ThreadPoolManager.getInstance().scheduleGeneral(() ->
ThreadPoolManager.schedule(() ->
{
world.deadTumor.deleteMe();
final L2Npc alivetumor = addSpawn(ALIVETUMOR, loc, world.getInstanceId());

View File

@@ -307,11 +307,11 @@ public abstract class AirShipController extends Quest
}
}
ThreadPoolManager.getInstance().scheduleGeneral(_decayTask, 1000);
ThreadPoolManager.schedule(_decayTask, 1000);
}
else
{
_departSchedule = ThreadPoolManager.getInstance().scheduleGeneral(_departTask, DEPART_INTERVAL);
_departSchedule = ThreadPoolManager.schedule(_departTask, DEPART_INTERVAL);
}
}
}

View File

@@ -252,7 +252,7 @@ public final class AirShipGludioGracia extends Quest implements Runnable
case 1:
// _ship.teleToLocation(-167874, 256731, -509, 41035, false);
_ship.setOustLoc(OUST_GRACIA);
ThreadPoolManager.getInstance().scheduleGeneral(this, 5000);
ThreadPoolManager.schedule(this, 5000);
break;
case 2:
_ship.executePath(WARPGATE_TO_GRACIA);
@@ -261,7 +261,7 @@ public final class AirShipGludioGracia extends Quest implements Runnable
broadcastInGracia(NpcStringId.THE_REGULARLY_SCHEDULED_AIRSHIP_HAS_ARRIVED_IT_WILL_DEPART_FOR_THE_ADEN_CONTINENT_IN_1_MINUTE);
_ship.setInDock(GRACIA_DOCK_ID);
_ship.oustPlayers();
ThreadPoolManager.getInstance().scheduleGeneral(this, 60000);
ThreadPoolManager.schedule(this, 60000);
break;
case 4:
broadcastInGracia(NpcStringId.THE_REGULARLY_SCHEDULED_AIRSHIP_THAT_FLIES_TO_THE_ADEN_CONTINENT_HAS_DEPARTED);
@@ -271,7 +271,7 @@ public final class AirShipGludioGracia extends Quest implements Runnable
case 5:
// _ship.teleToLocation(-157261, 255664, 221, 64781, false);
_ship.setOustLoc(OUST_GLUDIO);
ThreadPoolManager.getInstance().scheduleGeneral(this, 5000);
ThreadPoolManager.schedule(this, 5000);
break;
case 6:
_ship.executePath(WARPGATE_TO_GLUDIO);
@@ -280,7 +280,7 @@ public final class AirShipGludioGracia extends Quest implements Runnable
broadcastInGludio(NpcStringId.THE_REGULARLY_SCHEDULED_AIRSHIP_HAS_ARRIVED_IT_WILL_DEPART_FOR_THE_GRACIA_CONTINENT_IN_1_MINUTE);
_ship.setInDock(GLUDIO_DOCK_ID);
_ship.oustPlayers();
ThreadPoolManager.getInstance().scheduleGeneral(this, 60000);
ThreadPoolManager.schedule(this, 60000);
break;
}
_cycle++;

View File

@@ -385,7 +385,7 @@ public class AdminEditChar implements IAdminCommandHandler
if ((race != player.getRace()) || (((race == Race.HUMAN) || (race == Race.ORC)) && (isMage != player.isMageClass())))
{
TransformData.getInstance().transformPlayer(105, player);
ThreadPoolManager.getInstance().scheduleGeneral(new Untransform(player), 200);
ThreadPoolManager.schedule(new Untransform(player), 200);
}
}
else
@@ -493,7 +493,7 @@ public class AdminEditChar implements IAdminCommandHandler
player.broadcastUserInfo();
// Transform-untransorm player quickly to force the client to reload the character textures
TransformData.getInstance().transformPlayer(105, player);
ThreadPoolManager.getInstance().scheduleGeneral(new Untransform(player), 200);
ThreadPoolManager.schedule(new Untransform(player), 200);
}
else if (command.startsWith("admin_setcolor"))

View File

@@ -109,7 +109,7 @@ public class AdminMonsterRace implements IAdminCommandHandler
activeChar.sendPacket(spk);
activeChar.broadcastPacket(spk);
ThreadPoolManager.getInstance().scheduleGeneral(new RunRace(codes, activeChar), 5000);
ThreadPoolManager.schedule(new RunRace(codes, activeChar), 5000);
}
}
@@ -139,7 +139,7 @@ public class AdminMonsterRace implements IAdminCommandHandler
final MonRaceInfo spk = new MonRaceInfo(codes[2][0], codes[2][1], MonsterRace.getInstance().getMonsters(), MonsterRace.getInstance().getSpeeds());
activeChar.sendPacket(spk);
activeChar.broadcastPacket(spk);
ThreadPoolManager.getInstance().scheduleGeneral(new RunEnd(activeChar), 30000);
ThreadPoolManager.schedule(new RunEnd(activeChar), 30000);
}
}

View File

@@ -553,7 +553,7 @@ public final class AdminPForge implements IAdminCommandHandler
p.setBuffers(bb, activeChar.getClient(), new NioNetStringBuffer(2000));
if (p.read())
{
ThreadPoolManager.getInstance().executePacket(p);
ThreadPoolManager.execute(p);
}
}
}

View File

@@ -20,15 +20,14 @@ import java.text.SimpleDateFormat;
import java.util.Collection;
import java.util.Date;
import java.util.HashSet;
import java.util.Map.Entry;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import com.l2jmobius.Config;
import com.l2jmobius.gameserver.GameServer;
import com.l2jmobius.gameserver.GameTimeController;
import com.l2jmobius.gameserver.ThreadPoolManager;
import com.l2jmobius.gameserver.cache.HtmCache;
import com.l2jmobius.gameserver.data.xml.impl.AdminData;
import com.l2jmobius.gameserver.handler.IAdminCommandHandler;
import com.l2jmobius.gameserver.model.L2World;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
@@ -71,14 +70,6 @@ public class AdminServerInfo implements IAdminCommandHandler
html.replace("%usedMem%", (RunTime.maxMemory() / mb) - (((RunTime.maxMemory() - RunTime.totalMemory()) + RunTime.freeMemory()) / mb));
html.replace("%freeMem%", ((RunTime.maxMemory() - RunTime.totalMemory()) + RunTime.freeMemory()) / mb);
html.replace("%totalMem%", Runtime.getRuntime().maxMemory() / 1048576);
html.replace("%theardInfoGen%", buildTheardInfo("GENERAL"));
html.replace("%theardInfoEff%", buildTheardInfo("EFFECTS"));
html.replace("%theardInfoAi%", buildTheardInfo("AI"));
html.replace("%theardInfoEvent%", buildTheardInfo("EVENT"));
html.replace("%theardInfoPack%", buildTheardInfo("PACKETS"));
html.replace("%theardInfoIOPack%", buildTheardInfo("IOPACKETS"));
html.replace("%theardInfoGenTask%", buildTheardInfo("GENERAL_TASKS"));
html.replace("%theardInfoEvnTask%", buildTheardInfo("EVENT_TASKS"));
activeChar.sendPacket(html);
}
return true;
@@ -92,25 +83,7 @@ public class AdminServerInfo implements IAdminCommandHandler
time -= TimeUnit.DAYS.toMillis(days);
final long hours = TimeUnit.MILLISECONDS.toHours(time);
time -= TimeUnit.HOURS.toMillis(hours);
final long minutes = TimeUnit.MILLISECONDS.toMinutes(time);
return days + " Days, " + hours + " Hours, " + minutes + " Minutes";
}
private String buildTheardInfo(String category)
{
final StringBuilder tb = new StringBuilder();
tb.append("<table width=\"270\" border=\"0\" bgcolor=\"444444\">");
for (Entry<String, Object> info : ThreadPoolManager.getInstance().getStats(category).getSet().entrySet())
{
tb.append("<tr>");
tb.append("<td>" + info.getKey() + ":</td>");
tb.append("<td><font color=\"00FF00\">" + info.getValue() + "</font></td>");
tb.append("</tr>");
}
tb.append("</table>");
return tb.toString();
return days + " Days, " + hours + " Hours, " + TimeUnit.MILLISECONDS.toMinutes(time) + " Minutes";
}
private int getPlayersCount(String type)
@@ -119,7 +92,7 @@ public class AdminServerInfo implements IAdminCommandHandler
{
case "ALL":
{
return L2World.getInstance().getAllPlayersCount();
return L2World.getInstance().getPlayers().size();
}
case "OFF_TRADE":
{
@@ -138,7 +111,7 @@ public class AdminServerInfo implements IAdminCommandHandler
case "GM":
{
int onlineGMcount = 0;
for (L2PcInstance gm : L2World.getInstance().getAllGMs())
for (L2PcInstance gm : AdminData.getInstance().getAllGms(true))
{
if ((gm != null) && gm.isOnline() && (gm.getClient() != null) && !gm.getClient().isDetached())
{
@@ -153,7 +126,7 @@ public class AdminServerInfo implements IAdminCommandHandler
for (L2PcInstance onlinePlayer : L2World.getInstance().getPlayers())
{
if (((onlinePlayer != null) && (onlinePlayer.getClient() != null)) && !onlinePlayer.getClient().isDetached())
if ((onlinePlayer != null) && (onlinePlayer.getClient() != null) && !onlinePlayer.getClient().isDetached())
{
realPlayers.add(onlinePlayer.getIPAddress());
}

View File

@@ -46,7 +46,7 @@ public class AdminTest implements IAdminCommandHandler
{
if (command.equals("admin_stats"))
{
for (String line : ThreadPoolManager.getInstance().getStats())
for (String line : ThreadPoolManager.getStats())
{
activeChar.sendMessage(line);
}

View File

@@ -74,7 +74,7 @@ public final class ServitorShare extends AbstractEffect
final L2Character effected = info.getEffected().isPlayer() ? info.getEffected().getSummon() : info.getEffected().getActingPlayer();
if (effected != null)
{
ThreadPoolManager.getInstance().scheduleEffect(new ScheduledEffectExitTask(effected, info.getSkill().getId()), 100);
ThreadPoolManager.schedule(new ScheduledEffectExitTask(effected, info.getSkill().getId()), 100);
}
}
}

View File

@@ -168,7 +168,7 @@ public class JailHandler implements IPunishmentHandler
OlympiadManager.getInstance().removeDisconnectedCompetitor(player);
}
ThreadPoolManager.getInstance().scheduleGeneral(new TeleportTask(player, L2JailZone.getLocationIn()), 2000);
ThreadPoolManager.schedule(new TeleportTask(player, L2JailZone.getLocationIn()), 2000);
// Open a Html message to inform the player
final NpcHtmlMessage msg = new NpcHtmlMessage();
@@ -204,7 +204,7 @@ public class JailHandler implements IPunishmentHandler
*/
private static void removeFromPlayer(L2PcInstance player)
{
ThreadPoolManager.getInstance().scheduleGeneral(new TeleportTask(player, L2JailZone.getLocationOut()), 2000);
ThreadPoolManager.schedule(new TeleportTask(player, L2JailZone.getLocationOut()), 2000);
// Open a Html message to inform the player
final NpcHtmlMessage msg = new NpcHtmlMessage();

View File

@@ -109,54 +109,6 @@ public class DebugHandler implements ITelnetHandler
targetPlayer.sendPacket(sp);
_print.println("Packet sent to player " + charName);
}
else if (dbg.equals("PacketTP"))
{
final String str = ThreadPoolManager.getInstance().getPacketStats();
_print.println(str);
int i = 0;
File f = new File("./log/StackTrace-PacketTP-" + i + ".txt");
while (f.exists())
{
i++;
f = new File("./log/StackTrace-PacketTP-" + i + ".txt");
}
f.getParentFile().mkdirs();
fos = new FileOutputStream(f);
out = new OutputStreamWriter(fos, "UTF-8");
out.write(str);
}
else if (dbg.equals("IOPacketTP"))
{
final String str = ThreadPoolManager.getInstance().getIOPacketStats();
_print.println(str);
int i = 0;
File f = new File("./log/StackTrace-IOPacketTP-" + i + ".txt");
while (f.exists())
{
i++;
f = new File("./log/StackTrace-IOPacketTP-" + i + ".txt");
}
f.getParentFile().mkdirs();
fos = new FileOutputStream(f);
out = new OutputStreamWriter(fos, "UTF-8");
out.write(str);
}
else if (dbg.equals("GeneralTP"))
{
final String str = ThreadPoolManager.getInstance().getGeneralStats();
_print.println(str);
int i = 0;
File f = new File("./log/StackTrace-GeneralTP-" + i + ".txt");
while (f.exists())
{
i++;
f = new File("./log/StackTrace-GeneralTP-" + i + ".txt");
}
f.getParentFile().mkdirs();
fos = new FileOutputStream(f);
out = new OutputStreamWriter(fos, "UTF-8");
out.write(str);
}
else if (dbg.equals("full"))
{
final Calendar cal = Calendar.getInstance();
@@ -248,7 +200,7 @@ public class DebugHandler implements ITelnetHandler
}
sb.append("\n\n## Thread Pool Manager Statistics ##\n");
for (String line : ThreadPoolManager.getInstance().getStats())
for (String line : ThreadPoolManager.getStats())
{
sb.append(line);
sb.append('\n');

View File

@@ -38,7 +38,7 @@ public class ThreadHandler implements ITelnetHandler
{
if (command.equals("performance"))
{
for (String line : ThreadPoolManager.getInstance().getStats())
for (String line : ThreadPoolManager.getStats())
{
_print.println(line);
}
@@ -46,10 +46,10 @@ public class ThreadHandler implements ITelnetHandler
}
else if (command.equals("purge"))
{
ThreadPoolManager.getInstance().purge();
ThreadPoolManager.purge();
_print.println("STATUS OF THREAD POOLS AFTER PURGE COMMAND:");
_print.println("");
for (String line : ThreadPoolManager.getInstance().getStats())
for (String line : ThreadPoolManager.getStats())
{
_print.println(line);
}

View File

@@ -111,7 +111,7 @@ public class Unstuck implements IUserCommandHandler
// End SoE Animation section
// continue execution later
activeChar.setSkillCast(ThreadPoolManager.getInstance().scheduleGeneral(new EscapeFinalizer(activeChar), unstuckTimer));
activeChar.setSkillCast(ThreadPoolManager.schedule(new EscapeFinalizer(activeChar), unstuckTimer));
return true;
}

View File

@@ -472,7 +472,7 @@ public class Wedding implements IVoicedCommandHandler
final EscapeFinalizer ef = new EscapeFinalizer(activeChar, partner.getLocation(), partner.isIn7sDungeon());
// continue execution later
activeChar.setSkillCast(ThreadPoolManager.getInstance().scheduleGeneral(ef, teleportTimer));
activeChar.setSkillCast(ThreadPoolManager.schedule(ef, teleportTimer));
activeChar.forceIsCasting(GameTimeController.getInstance().getGameTicks() + (teleportTimer / GameTimeController.MILLIS_IN_TICK));
return true;

View File

@@ -76,7 +76,7 @@ public final class Chimeras extends AbstractNpcAI
if (!npc.isInsideRadius(loc, 200, false, false))
{
npc.getSpawn().setLocation(loc);
ThreadPoolManager.getInstance().scheduleGeneral(new Teleport(npc, loc), 100);
ThreadPoolManager.schedule(new Teleport(npc, loc), 100);
}
}
return super.onSpawn(npc);

View File

@@ -557,7 +557,7 @@ public final class TowerOfNaia extends AbstractNpcAI
{
removeForeigners(npcId, party);
startRoom(npcId);
ThreadPoolManager.getInstance().scheduleGeneral(new StopRoomTask(npcId), 300000);
ThreadPoolManager.schedule(new StopRoomTask(npcId), 300000);
}
else
{
@@ -847,7 +847,7 @@ public final class TowerOfNaia extends AbstractNpcAI
}
else
{
ThreadPoolManager.getInstance().scheduleGeneral(() -> addSpawn(MUTATED_ELPY, -45474, 247450, -13994, 49152, false, 0, false), respawnTime - System.currentTimeMillis());
ThreadPoolManager.schedule(() -> addSpawn(MUTATED_ELPY, -45474, 247450, -13994, 49152, false, 0, false), respawnTime - System.currentTimeMillis());
}
}

View File

@@ -1207,7 +1207,7 @@ public final class TullyWorkshop extends AbstractNpcAI
DoorData.getInstance().getDoor(19260052).openMe();
countdownTime = 600000;
_countdown = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(() ->
_countdown = ThreadPoolManager.scheduleAtFixedRate(() ->
{
countdownTime -= 10000;
L2Npc _npc = null;
@@ -1570,20 +1570,20 @@ public final class TullyWorkshop extends AbstractNpcAI
{
DoorData.getInstance().getDoor(20250005).openMe();
DoorData.getInstance().getDoor(20250004).openMe();
ThreadPoolManager.getInstance().scheduleGeneral(new DoorTask(new int[]
ThreadPoolManager.schedule(new DoorTask(new int[]
{
20250006,
20250007
}, STATE_OPEN), 2000);
ThreadPoolManager.getInstance().scheduleGeneral(new DoorTask(new int[]
ThreadPoolManager.schedule(new DoorTask(new int[]
{
20250778
}, STATE_CLOSE), 3000);
ThreadPoolManager.getInstance().scheduleGeneral(new DoorTask(new int[]
ThreadPoolManager.schedule(new DoorTask(new int[]
{
20250777
}, STATE_CLOSE), 6000);
ThreadPoolManager.getInstance().scheduleGeneral(new DoorTask(new int[]
ThreadPoolManager.schedule(new DoorTask(new int[]
{
20250009,
20250008
@@ -1594,12 +1594,12 @@ public final class TullyWorkshop extends AbstractNpcAI
{
DoorData.getInstance().getDoor(20250009).closeMe();
DoorData.getInstance().getDoor(20250008).closeMe();
ThreadPoolManager.getInstance().scheduleGeneral(new DoorTask(new int[]
ThreadPoolManager.schedule(new DoorTask(new int[]
{
20250777,
20250778
}, STATE_OPEN), 1000);
ThreadPoolManager.getInstance().scheduleGeneral(new DoorTask(new int[]
ThreadPoolManager.schedule(new DoorTask(new int[]
{
20250005,
20250004,

View File

@@ -167,7 +167,7 @@ public final class UrbanArea extends AbstractInstance
final Instance inst = InstanceManager.getInstance().getInstance(world.getInstanceId());
inst.setDuration(5 * 60000);
inst.setEmptyDestroyTime(0);
ThreadPoolManager.getInstance().scheduleGeneral(new ExitInstance(party, world), 285000);
ThreadPoolManager.schedule(new ExitInstance(party, world), 285000);
htmltext = "32343-02d.htm";
}
}
@@ -221,7 +221,7 @@ public final class UrbanArea extends AbstractInstance
world.activeAmaskariCall.cancel(true);
}
world.activeAmaskariCall = ThreadPoolManager.getInstance().scheduleGeneral(new CallAmaskari(npc), 25000);
world.activeAmaskariCall = ThreadPoolManager.schedule(new CallAmaskari(npc), 25000);
}
}
}
@@ -267,7 +267,7 @@ public final class UrbanArea extends AbstractInstance
{
world.activeAmaskariCall.cancel(true);
}
world.activeAmaskariCall = ThreadPoolManager.getInstance().scheduleGeneral(new CallAmaskari(npc), 25000);
world.activeAmaskariCall = ThreadPoolManager.schedule(new CallAmaskari(npc), 25000);
}
}
}
@@ -313,7 +313,7 @@ public final class UrbanArea extends AbstractInstance
{
world.activeAmaskariCall.cancel(true);
}
world.activeAmaskariCall = ThreadPoolManager.getInstance().scheduleGeneral(new CallAmaskari(npc), 25000);
world.activeAmaskariCall = ThreadPoolManager.schedule(new CallAmaskari(npc), 25000);
}
}
}

View File

@@ -62,7 +62,7 @@ public abstract class Chamber extends AbstractInstance
{
currentRoom = 0;
partyInside = party;
_banishTask = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new BanishTask(), 60000, 60000);
_banishTask = ThreadPoolManager.scheduleAtFixedRate(new BanishTask(), 60000, 60000);
}
protected L2Party getPartyInside()
@@ -78,7 +78,7 @@ public abstract class Chamber extends AbstractInstance
// Schedule next room change only if remaining time is enough
if ((inst.getInstanceEndTime() - System.currentTimeMillis()) > nextInterval)
{
_roomChangeTask = ThreadPoolManager.getInstance().scheduleGeneral(new ChangeRoomTask(), nextInterval - 5000);
_roomChangeTask = ThreadPoolManager.schedule(new ChangeRoomTask(), nextInterval - 5000);
}
}

View File

@@ -619,7 +619,7 @@ public final class FinalEmperialTomb extends AbstractInstance implements IXmlRea
{
openDoor(doorId, world.getInstanceId());
}
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(world, 0), 600000);
ThreadPoolManager.schedule(new IntroTask(world, 0), 600000);
break;
case 3: // first morph
if (world.songEffectTask != null)
@@ -634,7 +634,7 @@ public final class FinalEmperialTomb extends AbstractInstance implements IXmlRea
}
handleReenterTime(world);
world.activeScarlet.doCast(FIRST_MORPH_SKILL.getSkill());
ThreadPoolManager.getInstance().scheduleGeneral(new SongTask(world, 2), 1500);
ThreadPoolManager.schedule(new SongTask(world, 2), 1500);
break;
case 4: // second morph
world.isVideo = true;
@@ -644,8 +644,8 @@ public final class FinalEmperialTomb extends AbstractInstance implements IXmlRea
world.songEffectTask.cancel(false);
}
world.songEffectTask = null;
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(world, 23), 2000);
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(world, 24), 2100);
ThreadPoolManager.schedule(new IntroTask(world, 23), 2000);
ThreadPoolManager.schedule(new IntroTask(world, 24), 2100);
break;
case 5: // raid success
world.isVideo = true;
@@ -660,7 +660,7 @@ public final class FinalEmperialTomb extends AbstractInstance implements IXmlRea
}
world.songTask = null;
world.songEffectTask = null;
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(world, 33), 500);
ThreadPoolManager.schedule(new IntroTask(world, 33), 500);
break;
case 6: // open doors
InstanceManager.getInstance().getInstance(world.getInstanceId()).setDuration(300000);
@@ -745,7 +745,7 @@ public final class FinalEmperialTomb extends AbstractInstance implements IXmlRea
updateKnownList(_world, demon);
_world.demons.add(demon);
}
ThreadPoolManager.getInstance().scheduleGeneral(new DemonSpawnTask(_world), TIME_BETWEEN_DEMON_SPAWNS);
ThreadPoolManager.schedule(new DemonSpawnTask(_world), TIME_BETWEEN_DEMON_SPAWNS);
}
}
@@ -788,7 +788,7 @@ public final class FinalEmperialTomb extends AbstractInstance implements IXmlRea
case 0: // new song play
if (_world.isVideo)
{
_world.songTask = ThreadPoolManager.getInstance().scheduleGeneral(new SongTask(_world, 0), 1000);
_world.songTask = ThreadPoolManager.schedule(new SongTask(_world, 0), 1000);
}
else if ((_world.frintezza != null) && !_world.frintezza.isDead())
{
@@ -802,15 +802,15 @@ public final class FinalEmperialTomb extends AbstractInstance implements IXmlRea
_world.OnSong = element;
broadCastPacket(_world, new ExShowScreenMessage(2, -1, 2, 0, 0, 0, 0, true, 4000, false, null, element.songName, null));
broadCastPacket(_world, new MagicSkillUse(_world.frintezza, _world.frintezza, element.skill.getSkillId(), element.skill.getSkillLvl(), element.skill.getSkill().getHitTime(), 0));
_world.songEffectTask = ThreadPoolManager.getInstance().scheduleGeneral(new SongTask(_world, 1), element.skill.getSkill().getHitTime() - 10000);
_world.songTask = ThreadPoolManager.getInstance().scheduleGeneral(new SongTask(_world, 0), element.skill.getSkill().getHitTime());
_world.songEffectTask = ThreadPoolManager.schedule(new SongTask(_world, 1), element.skill.getSkill().getHitTime() - 10000);
_world.songTask = ThreadPoolManager.schedule(new SongTask(_world, 0), element.skill.getSkill().getHitTime());
break;
}
}
}
else
{
ThreadPoolManager.getInstance().scheduleGeneral(new SoulBreakingArrow(_world.frintezza), 35000);
ThreadPoolManager.schedule(new SoulBreakingArrow(_world.frintezza), 35000);
}
}
break;
@@ -878,8 +878,8 @@ public final class FinalEmperialTomb extends AbstractInstance implements IXmlRea
switch (_status)
{
case 0:
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 1), 27000);
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 2), 30000);
ThreadPoolManager.schedule(new IntroTask(_world, 1), 27000);
ThreadPoolManager.schedule(new IntroTask(_world, 2), 30000);
broadCastPacket(_world, new Earthquake(-87784, -155083, -9087, 45, 27));
break;
case 1:
@@ -924,7 +924,7 @@ public final class FinalEmperialTomb extends AbstractInstance implements IXmlRea
_world.scarletDummy.setIsImmobilized(true);
stopPc();
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 3), 1000);
ThreadPoolManager.schedule(new IntroTask(_world, 3), 1000);
break;
case 3:
broadCastPacket(_world, new SpecialCamera(_world.overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
@@ -945,41 +945,41 @@ public final class FinalEmperialTomb extends AbstractInstance implements IXmlRea
updateKnownList(_world, demon);
_world.demons.add(demon);
}
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 4), 6500);
ThreadPoolManager.schedule(new IntroTask(_world, 4), 6500);
break;
case 4:
broadCastPacket(_world, new SpecialCamera(_world.frintezzaDummy, 1800, 90, 8, 6500, 7000, 0, 0, 1, 0, 0));
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 5), 900);
ThreadPoolManager.schedule(new IntroTask(_world, 5), 900);
break;
case 5:
broadCastPacket(_world, new SpecialCamera(_world.frintezzaDummy, 140, 90, 10, 2500, 4500, 0, 0, 1, 0, 0));
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 6), 4000);
ThreadPoolManager.schedule(new IntroTask(_world, 6), 4000);
break;
case 6:
broadCastPacket(_world, new SpecialCamera(_world.frintezza, 40, 75, -10, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(_world, new SpecialCamera(_world.frintezza, 40, 75, -10, 0, 12000, 0, 0, 1, 0, 0));
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 7), 1350);
ThreadPoolManager.schedule(new IntroTask(_world, 7), 1350);
break;
case 7:
broadCastPacket(_world, new SocialAction(_world.frintezza.getObjectId(), 2));
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 8), 7000);
ThreadPoolManager.schedule(new IntroTask(_world, 8), 7000);
break;
case 8:
_world.frintezzaDummy.deleteMe();
_world.frintezzaDummy = null;
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 9), 1000);
ThreadPoolManager.schedule(new IntroTask(_world, 9), 1000);
break;
case 9:
broadCastPacket(_world, new SocialAction(_world.demons.get(1).getObjectId(), 1));
broadCastPacket(_world, new SocialAction(_world.demons.get(2).getObjectId(), 1));
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 10), 400);
ThreadPoolManager.schedule(new IntroTask(_world, 10), 400);
break;
case 10:
broadCastPacket(_world, new SocialAction(_world.demons.get(0).getObjectId(), 1));
broadCastPacket(_world, new SocialAction(_world.demons.get(3).getObjectId(), 1));
sendPacketX(new SpecialCamera(_world.portraitDummy1, 1000, 118, 0, 0, 1000, 0, 0, 1, 0, 0), new SpecialCamera(_world.portraitDummy3, 1000, 62, 0, 0, 1000, 0, 0, 1, 0, 0), -87784);
sendPacketX(new SpecialCamera(_world.portraitDummy1, 1000, 118, 0, 0, 10000, 0, 0, 1, 0, 0), new SpecialCamera(_world.portraitDummy3, 1000, 62, 0, 0, 10000, 0, 0, 1, 0, 0), -87784);
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 11), 2000);
ThreadPoolManager.schedule(new IntroTask(_world, 11), 2000);
break;
case 11:
broadCastPacket(_world, new SpecialCamera(_world.frintezza, 240, 90, 0, 0, 1000, 0, 0, 1, 0, 0));
@@ -989,36 +989,36 @@ public final class FinalEmperialTomb extends AbstractInstance implements IXmlRea
_world.portraitDummy3.deleteMe();
_world.portraitDummy1 = null;
_world.portraitDummy3 = null;
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 12), 4500);
ThreadPoolManager.schedule(new IntroTask(_world, 12), 4500);
break;
case 12:
broadCastPacket(_world, new SpecialCamera(_world.frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 13), 700);
ThreadPoolManager.schedule(new IntroTask(_world, 13), 700);
break;
case 13:
broadCastPacket(_world, new SpecialCamera(_world.frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 14), 1300);
ThreadPoolManager.schedule(new IntroTask(_world, 14), 1300);
break;
case 14:
broadCastPacket(_world, new ExShowScreenMessage(NpcStringId.MOURNFUL_CHORALE_PRELUDE, 2, 5000));
broadCastPacket(_world, new SpecialCamera(_world.frintezza, 120, 180, 45, 1500, 10000, 0, 0, 1, 0, 0));
broadCastPacket(_world, new MagicSkillUse(_world.frintezza, _world.frintezza, 5006, 1, 34000, 0));
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 15), 1500);
ThreadPoolManager.schedule(new IntroTask(_world, 15), 1500);
break;
case 15:
broadCastPacket(_world, new SpecialCamera(_world.frintezza, 520, 135, 45, 8000, 10000, 0, 0, 1, 0, 0));
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 16), 7500);
ThreadPoolManager.schedule(new IntroTask(_world, 16), 7500);
break;
case 16:
broadCastPacket(_world, new SpecialCamera(_world.frintezza, 1500, 110, 25, 10000, 13000, 0, 0, 1, 0, 0));
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 17), 9500);
ThreadPoolManager.schedule(new IntroTask(_world, 17), 9500);
break;
case 17:
broadCastPacket(_world, new SpecialCamera(_world.overheadDummy, 930, 160, -20, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(_world, new SpecialCamera(_world.overheadDummy, 600, 180, -25, 0, 10000, 0, 0, 1, 0, 0));
broadCastPacket(_world, new MagicSkillUse(_world.scarletDummy, _world.overheadDummy, 5004, 1, 5800, 0));
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 18), 5000);
ThreadPoolManager.schedule(new IntroTask(_world, 18), 5000);
break;
case 18:
_world.activeScarlet = (L2GrandBossInstance) addSpawn(29046, -87789, -153295, -9176, 16384, false, 0, false, _world.getInstanceId());
@@ -1029,16 +1029,16 @@ public final class FinalEmperialTomb extends AbstractInstance implements IXmlRea
updateKnownList(_world, _world.activeScarlet);
broadCastPacket(_world, new SocialAction(_world.activeScarlet.getObjectId(), 3));
broadCastPacket(_world, new SpecialCamera(_world.scarletDummy, 800, 180, 10, 1000, 10000, 0, 0, 1, 0, 0));
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 19), 2100);
ThreadPoolManager.schedule(new IntroTask(_world, 19), 2100);
break;
case 19:
broadCastPacket(_world, new SpecialCamera(_world.activeScarlet, 300, 60, 8, 0, 10000, 0, 0, 1, 0, 0));
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 20), 2000);
ThreadPoolManager.schedule(new IntroTask(_world, 20), 2000);
break;
case 20:
broadCastPacket(_world, new SpecialCamera(_world.activeScarlet, 500, 90, 10, 3000, 5000, 0, 0, 1, 0, 0));
_world.songTask = ThreadPoolManager.getInstance().scheduleGeneral(new SongTask(_world, 0), 100);
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 21), 3000);
_world.songTask = ThreadPoolManager.schedule(new SongTask(_world, 0), 100);
ThreadPoolManager.schedule(new IntroTask(_world, 21), 3000);
break;
case 21:
for (int i = 0; i < PORTRAIT_SPAWNS.length; i++)
@@ -1053,7 +1053,7 @@ public final class FinalEmperialTomb extends AbstractInstance implements IXmlRea
_world.overheadDummy = null;
_world.scarletDummy = null;
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 22), 2000);
ThreadPoolManager.schedule(new IntroTask(_world, 22), 2000);
break;
case 22:
for (L2MonsterInstance demon : _world.demons)
@@ -1071,7 +1071,7 @@ public final class FinalEmperialTomb extends AbstractInstance implements IXmlRea
_world.frintezza.setIsMortal(false);
startPc();
ThreadPoolManager.getInstance().scheduleGeneral(new DemonSpawnTask(_world), TIME_BETWEEN_DEMON_SPAWNS);
ThreadPoolManager.schedule(new DemonSpawnTask(_world), TIME_BETWEEN_DEMON_SPAWNS);
break;
case 23:
broadCastPacket(_world, new SocialAction(_world.frintezza.getObjectId(), 4));
@@ -1085,16 +1085,16 @@ public final class FinalEmperialTomb extends AbstractInstance implements IXmlRea
_world.activeScarlet.setIsInvul(true);
_world.activeScarlet.setIsImmobilized(true);
_world.activeScarlet.disableAllSkills();
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 25), 7000);
ThreadPoolManager.schedule(new IntroTask(_world, 25), 7000);
break;
case 25:
broadCastPacket(_world, new MagicSkillUse(_world.frintezza, _world.frintezza, 5006, 1, 34000, 0));
broadCastPacket(_world, new SpecialCamera(_world.frintezza, 500, 70, 15, 3000, 10000, 0, 0, 1, 0, 0));
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 26), 3000);
ThreadPoolManager.schedule(new IntroTask(_world, 26), 3000);
break;
case 26:
broadCastPacket(_world, new SpecialCamera(_world.frintezza, 2500, 90, 12, 6000, 10000, 0, 0, 1, 0, 0));
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 27), 3000);
ThreadPoolManager.schedule(new IntroTask(_world, 27), 3000);
break;
case 27:
_world.scarlet_x = _world.activeScarlet.getX();
@@ -1111,13 +1111,13 @@ public final class FinalEmperialTomb extends AbstractInstance implements IXmlRea
}
broadCastPacket(_world, new SpecialCamera(_world.activeScarlet, 250, _world.scarlet_a, 12, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(_world, new SpecialCamera(_world.activeScarlet, 250, _world.scarlet_a, 12, 0, 10000, 0, 0, 1, 0, 0));
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 28), 500);
ThreadPoolManager.schedule(new IntroTask(_world, 28), 500);
break;
case 28:
_world.activeScarlet.doDie(_world.activeScarlet);
broadCastPacket(_world, new SpecialCamera(_world.activeScarlet, 450, _world.scarlet_a, 14, 8000, 8000, 0, 0, 1, 0, 0));
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 29), 6250);
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 30), 7200);
ThreadPoolManager.schedule(new IntroTask(_world, 29), 6250);
ThreadPoolManager.schedule(new IntroTask(_world, 30), 7200);
break;
case 29:
_world.activeScarlet.deleteMe();
@@ -1132,11 +1132,11 @@ public final class FinalEmperialTomb extends AbstractInstance implements IXmlRea
broadCastPacket(_world, new SpecialCamera(_world.activeScarlet, 450, _world.scarlet_a, 12, 500, 14000, 0, 0, 1, 0, 0));
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 31), 8100);
ThreadPoolManager.schedule(new IntroTask(_world, 31), 8100);
break;
case 31:
broadCastPacket(_world, new SocialAction(_world.activeScarlet.getObjectId(), 2));
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 32), 9000);
ThreadPoolManager.schedule(new IntroTask(_world, 32), 9000);
break;
case 32:
startPc();
@@ -1148,8 +1148,8 @@ public final class FinalEmperialTomb extends AbstractInstance implements IXmlRea
case 33:
broadCastPacket(_world, new SpecialCamera(_world.activeScarlet, 300, _world.scarlet_a - 180, 5, 0, 7000, 0, 0, 1, 0, 0));
broadCastPacket(_world, new SpecialCamera(_world.activeScarlet, 200, _world.scarlet_a, 85, 4000, 10000, 0, 0, 1, 0, 0));
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 34), 7400);
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 35), 7500);
ThreadPoolManager.schedule(new IntroTask(_world, 34), 7400);
ThreadPoolManager.schedule(new IntroTask(_world, 35), 7500);
break;
case 34:
_world.frintezza.doDie(_world.frintezza);
@@ -1157,11 +1157,11 @@ public final class FinalEmperialTomb extends AbstractInstance implements IXmlRea
case 35:
broadCastPacket(_world, new SpecialCamera(_world.frintezza, 100, 120, 5, 0, 7000, 0, 0, 1, 0, 0));
broadCastPacket(_world, new SpecialCamera(_world.frintezza, 100, 90, 5, 5000, 15000, 0, 0, 1, 0, 0));
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 36), 7000);
ThreadPoolManager.schedule(new IntroTask(_world, 36), 7000);
break;
case 36:
broadCastPacket(_world, new SpecialCamera(_world.frintezza, 900, 90, 25, 7000, 10000, 0, 0, 1, 0, 0));
ThreadPoolManager.getInstance().scheduleGeneral(new IntroTask(_world, 37), 9000);
ThreadPoolManager.schedule(new IntroTask(_world, 37), 9000);
break;
case 37:
controlStatus(_world);
@@ -1243,7 +1243,7 @@ public final class FinalEmperialTomb extends AbstractInstance implements IXmlRea
switch (_status)
{
case 0:
ThreadPoolManager.getInstance().scheduleGeneral(new StatusTask(_world, 1), 2000);
ThreadPoolManager.schedule(new StatusTask(_world, 1), 2000);
for (int doorId : FIRST_ROOM_DOORS)
{
openDoor(doorId, _world.getInstanceId());
@@ -1253,7 +1253,7 @@ public final class FinalEmperialTomb extends AbstractInstance implements IXmlRea
addAggroToMobs();
break;
case 2:
ThreadPoolManager.getInstance().scheduleGeneral(new StatusTask(_world, 3), 100);
ThreadPoolManager.schedule(new StatusTask(_world, 3), 100);
for (int doorId : SECOND_ROOM_DOORS)
{
openDoor(doorId, _world.getInstanceId());
@@ -1386,7 +1386,7 @@ public final class FinalEmperialTomb extends AbstractInstance implements IXmlRea
final FETWorld world = (FETWorld) tmpworld;
if (npc.getId() == HALL_ALARM)
{
ThreadPoolManager.getInstance().scheduleGeneral(new StatusTask(world, 0), 2000);
ThreadPoolManager.schedule(new StatusTask(world, 0), 2000);
if (debug)
{
_log.info("[Final Emperial Tomb] Hall alarm is disabled, doors will open!");
@@ -1397,7 +1397,7 @@ public final class FinalEmperialTomb extends AbstractInstance implements IXmlRea
world.darkChoirPlayerCount--;
if (world.darkChoirPlayerCount < 1)
{
ThreadPoolManager.getInstance().scheduleGeneral(new StatusTask(world, 2), 2000);
ThreadPoolManager.schedule(new StatusTask(world, 2), 2000);
if (debug)
{
_log.info("[Final Emperial Tomb] All Dark Choir Players are killed, doors will open!");

View File

@@ -296,7 +296,7 @@ public final class Q00511_AwlUnderFoot extends Quest
dungeon.setReEnterTime(System.currentTimeMillis() + REENTERTIME);
InstanceManager.getInstance().addWorld(world);
_log.info("Fortress AwlUnderFoot started " + template + " Instance: " + instanceId + " created by player: " + player.getName());
ThreadPoolManager.getInstance().scheduleGeneral(new spawnRaid((FAUWorld) world), RAID_SPAWN_DELAY);
ThreadPoolManager.schedule(new spawnRaid((FAUWorld) world), RAID_SPAWN_DELAY);
// teleport players
if (player.getParty() == null)
@@ -398,7 +398,7 @@ public final class Q00511_AwlUnderFoot extends Quest
else
{
world.incStatus();
ThreadPoolManager.getInstance().scheduleGeneral(new spawnRaid(world), RAID_SPAWN_DELAY);
ThreadPoolManager.schedule(new spawnRaid(world), RAID_SPAWN_DELAY);
}
}
return null;

View File

@@ -286,7 +286,7 @@ public class Q00726_LightWithinTheDarkness extends Quest
world.setStatus(0);
dungeon.setReEnterTime(System.currentTimeMillis() + 14400000);
InstanceManager.getInstance().addWorld(world);
ThreadPoolManager.getInstance().scheduleGeneral(new spawnNpcs((PAWORLD) world), 10000);
ThreadPoolManager.schedule(new spawnNpcs((PAWORLD) world), 10000);
for (L2PcInstance partyMember : party.getMembers())
{
@@ -397,7 +397,7 @@ public class Q00726_LightWithinTheDarkness extends Quest
protected void FirstWave(PAWORLD world)
{
ThreadPoolManager.getInstance().scheduleGeneral(() ->
ThreadPoolManager.schedule(() ->
{
addSpawn(SEDUCED_KNIGHT, 49384, -12232, -9384, 0, false, 0, false, world.getInstanceId());
addSpawn(SEDUCED_RANGER, 49192, -12232, -9384, 0, false, 0, false, world.getInstanceId());
@@ -409,7 +409,7 @@ public class Q00726_LightWithinTheDarkness extends Quest
{
addSpawn(KANADIS_FOLLOWER1, 50536, -12232, -9384, 32768, false, 0, false, world.getInstanceId());
}
ThreadPoolManager.getInstance().scheduleGeneral(() -> SecondWave(world), 8 * 60 * 1000);
ThreadPoolManager.schedule(() -> SecondWave(world), 8 * 60 * 1000);
}, 10000);
}
@@ -421,7 +421,7 @@ public class Q00726_LightWithinTheDarkness extends Quest
{
addSpawn(KANADIS_FOLLOWER2, 50536, -12232, -9384, 32768, false, 0, false, world.getInstanceId());
}
ThreadPoolManager.getInstance().scheduleGeneral(() -> ThirdWave(world), 8 * 60 * 1000);
ThreadPoolManager.schedule(() -> ThirdWave(world), 8 * 60 * 1000);
}
protected void ThirdWave(PAWORLD world)

View File

@@ -477,7 +477,7 @@ public class Q00727_HopeWithinTheDarkness extends Quest
// Destroy instance after 5 minutes
inst.setDuration(5 * 60000);
inst.setEmptyDestroyTime(0);
ThreadPoolManager.getInstance().scheduleGeneral(new completeDungeon(world, player), 1500);
ThreadPoolManager.schedule(new completeDungeon(world, player), 1500);
}
}
}
@@ -634,7 +634,7 @@ public class Q00727_HopeWithinTheDarkness extends Quest
world.setStatus(0);
dungeon.setReEnterTime(System.currentTimeMillis() + REENTER_INTERVAL);
InstanceManager.getInstance().addWorld(world);
ThreadPoolManager.getInstance().scheduleGeneral(new spawnNpcs((CAUWorld) world), INITIAL_SPAWN_DELAY);
ThreadPoolManager.schedule(new spawnNpcs((CAUWorld) world), INITIAL_SPAWN_DELAY);
if (DEBUG)
{
_log.info("Castle HopeWithinTheDarkness started " + template + " Instance: " + instanceId + " created by player: " + player.getName());
@@ -681,21 +681,21 @@ public class Q00727_HopeWithinTheDarkness extends Quest
_instance.spawnGroup("victims");
_instance.spawnGroup("bosses_1");
ThreadPoolManager.getInstance().scheduleGeneral(new spawnNpcs(_world), WAVE_SPAWN_DELAY);
ThreadPoolManager.getInstance().scheduleGeneral(new spawnPrivates(_world), PRIVATE_SPAWN_DELAY);
ThreadPoolManager.schedule(new spawnNpcs(_world), WAVE_SPAWN_DELAY);
ThreadPoolManager.schedule(new spawnPrivates(_world), PRIVATE_SPAWN_DELAY);
}
else if (_world.getStatus() == 1)
{
_instance.spawnGroup("bosses_2");
ThreadPoolManager.getInstance().scheduleGeneral(new spawnNpcs(_world), WAVE_SPAWN_DELAY);
ThreadPoolManager.getInstance().scheduleGeneral(new spawnPrivates(_world), PRIVATE_SPAWN_DELAY);
ThreadPoolManager.schedule(new spawnNpcs(_world), WAVE_SPAWN_DELAY);
ThreadPoolManager.schedule(new spawnPrivates(_world), PRIVATE_SPAWN_DELAY);
}
else if (_world.getStatus() == 2)
{
_instance.spawnGroup("bosses_3");
ThreadPoolManager.getInstance().scheduleGeneral(new spawnPrivates(_world), PRIVATE_SPAWN_DELAY);
ThreadPoolManager.schedule(new spawnPrivates(_world), PRIVATE_SPAWN_DELAY);
}
}
catch (Exception e)

View File

@@ -166,7 +166,7 @@ public final class Q10292_SevenSignsGirlOfDoubt extends Quest
creature1.setIsNoRndWalk(true);
final L2Npc creature2 = addSpawn(CREATURE_OF_THE_DUSK2, 89524, -238131, -9632, 56, false, 0, false, player.getInstanceId());
creature2.setIsNoRndWalk(true);
ThreadPoolManager.getInstance().scheduleGeneral(() ->
ThreadPoolManager.schedule(() ->
{
creature1.deleteMe();
creature2.deleteMe();

View File

@@ -161,30 +161,30 @@ public class BoatGiranTalking implements Runnable
{
case 0:
BoatManager.getInstance().broadcastPacket(GIRAN_DOCK, TALKING_DOCK[0], LEAVE_GIRAN5);
ThreadPoolManager.getInstance().scheduleGeneral(this, 240000);
ThreadPoolManager.schedule(this, 240000);
break;
case 1:
BoatManager.getInstance().broadcastPacket(GIRAN_DOCK, TALKING_DOCK[0], LEAVE_GIRAN1);
ThreadPoolManager.getInstance().scheduleGeneral(this, 40000);
ThreadPoolManager.schedule(this, 40000);
break;
case 2:
BoatManager.getInstance().broadcastPacket(GIRAN_DOCK, TALKING_DOCK[0], LEAVE_GIRAN0);
ThreadPoolManager.getInstance().scheduleGeneral(this, 20000);
ThreadPoolManager.schedule(this, 20000);
break;
case 3:
BoatManager.getInstance().broadcastPackets(GIRAN_DOCK, TALKING_DOCK[0], LEAVING_GIRAN, ARRIVAL_TALKING15);
_boat.broadcastPacket(GIRAN_SOUND);
_boat.payForRide(3946, 1, 46763, 187041, -3451);
_boat.executePath(GIRAN_TO_TALKING);
ThreadPoolManager.getInstance().scheduleGeneral(this, 250000);
ThreadPoolManager.schedule(this, 250000);
break;
case 4:
BoatManager.getInstance().broadcastPacket(TALKING_DOCK[0], GIRAN_DOCK, ARRIVAL_TALKING10);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
ThreadPoolManager.schedule(this, 300000);
break;
case 5:
BoatManager.getInstance().broadcastPacket(TALKING_DOCK[0], GIRAN_DOCK, ARRIVAL_TALKING5);
ThreadPoolManager.getInstance().scheduleGeneral(this, 240000);
ThreadPoolManager.schedule(this, 240000);
break;
case 6:
BoatManager.getInstance().broadcastPacket(TALKING_DOCK[0], GIRAN_DOCK, ARRIVAL_TALKING1);
@@ -203,7 +203,7 @@ public class BoatGiranTalking implements Runnable
_shoutCount = 0;
}
ThreadPoolManager.getInstance().scheduleGeneral(this, 5000);
ThreadPoolManager.schedule(this, 5000);
return;
}
_boat.executePath(TALKING_DOCK);
@@ -212,19 +212,19 @@ public class BoatGiranTalking implements Runnable
BoatManager.getInstance().dockShip(BoatManager.TALKING_ISLAND, true);
BoatManager.getInstance().broadcastPackets(TALKING_DOCK[0], GIRAN_DOCK, ARRIVED_AT_TALKING, ARRIVED_AT_TALKING_2);
_boat.broadcastPacket(TALKING_SOUND);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
ThreadPoolManager.schedule(this, 300000);
break;
case 9:
BoatManager.getInstance().broadcastPacket(TALKING_DOCK[0], GIRAN_DOCK, LEAVE_TALKING5);
ThreadPoolManager.getInstance().scheduleGeneral(this, 240000);
ThreadPoolManager.schedule(this, 240000);
break;
case 10:
BoatManager.getInstance().broadcastPacket(TALKING_DOCK[0], GIRAN_DOCK, LEAVE_TALKING1);
ThreadPoolManager.getInstance().scheduleGeneral(this, 40000);
ThreadPoolManager.schedule(this, 40000);
break;
case 11:
BoatManager.getInstance().broadcastPacket(TALKING_DOCK[0], GIRAN_DOCK, LEAVE_TALKING0);
ThreadPoolManager.getInstance().scheduleGeneral(this, 20000);
ThreadPoolManager.schedule(this, 20000);
break;
case 12:
BoatManager.getInstance().dockShip(BoatManager.TALKING_ISLAND, false);
@@ -232,23 +232,23 @@ public class BoatGiranTalking implements Runnable
_boat.broadcastPacket(TALKING_SOUND);
_boat.payForRide(3945, 1, -96777, 258970, -3623);
_boat.executePath(TALKING_TO_GIRAN);
ThreadPoolManager.getInstance().scheduleGeneral(this, 200000);
ThreadPoolManager.schedule(this, 200000);
break;
case 13:
BoatManager.getInstance().broadcastPacket(GIRAN_DOCK, TALKING_DOCK[0], ARRIVAL_GIRAN20);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
ThreadPoolManager.schedule(this, 300000);
break;
case 14:
BoatManager.getInstance().broadcastPacket(GIRAN_DOCK, TALKING_DOCK[0], ARRIVAL_GIRAN15);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
ThreadPoolManager.schedule(this, 300000);
break;
case 15:
BoatManager.getInstance().broadcastPacket(GIRAN_DOCK, TALKING_DOCK[0], ARRIVAL_GIRAN10);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
ThreadPoolManager.schedule(this, 300000);
break;
case 16:
BoatManager.getInstance().broadcastPacket(GIRAN_DOCK, TALKING_DOCK[0], ARRIVAL_GIRAN5);
ThreadPoolManager.getInstance().scheduleGeneral(this, 240000);
ThreadPoolManager.schedule(this, 240000);
break;
case 17:
BoatManager.getInstance().broadcastPacket(GIRAN_DOCK, TALKING_DOCK[0], ARRIVAL_GIRAN1);
@@ -256,7 +256,7 @@ public class BoatGiranTalking implements Runnable
case 18:
BoatManager.getInstance().broadcastPackets(GIRAN_DOCK, TALKING_DOCK[0], ARRIVED_AT_GIRAN, ARRIVED_AT_GIRAN_2);
_boat.broadcastPacket(GIRAN_SOUND);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
ThreadPoolManager.schedule(this, 300000);
break;
}
_shoutCount = 0;

View File

@@ -176,15 +176,15 @@ public class BoatGludinRune implements Runnable
{
case 0:
BoatManager.getInstance().broadcastPacket(GLUDIN_DOCK[0], RUNE_DOCK[0], LEAVE_GLUDIN5);
ThreadPoolManager.getInstance().scheduleGeneral(this, 240000);
ThreadPoolManager.schedule(this, 240000);
break;
case 1:
BoatManager.getInstance().broadcastPacket(GLUDIN_DOCK[0], RUNE_DOCK[0], LEAVE_GLUDIN1);
ThreadPoolManager.getInstance().scheduleGeneral(this, 40000);
ThreadPoolManager.schedule(this, 40000);
break;
case 2:
BoatManager.getInstance().broadcastPacket(GLUDIN_DOCK[0], RUNE_DOCK[0], LEAVE_GLUDIN0);
ThreadPoolManager.getInstance().scheduleGeneral(this, 20000);
ThreadPoolManager.schedule(this, 20000);
break;
case 3:
BoatManager.getInstance().dockShip(BoatManager.GLUDIN_HARBOR, false);
@@ -192,19 +192,19 @@ public class BoatGludinRune implements Runnable
_boat.broadcastPacket(GLUDIN_SOUND);
_boat.payForRide(7905, 1, -90015, 150422, -3610);
_boat.executePath(GLUDIN_TO_RUNE);
ThreadPoolManager.getInstance().scheduleGeneral(this, 250000);
ThreadPoolManager.schedule(this, 250000);
break;
case 4:
BoatManager.getInstance().broadcastPacket(RUNE_DOCK[0], GLUDIN_DOCK[0], ARRIVAL_RUNE15);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
ThreadPoolManager.schedule(this, 300000);
break;
case 5:
BoatManager.getInstance().broadcastPacket(RUNE_DOCK[0], GLUDIN_DOCK[0], ARRIVAL_RUNE10);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
ThreadPoolManager.schedule(this, 300000);
break;
case 6:
BoatManager.getInstance().broadcastPacket(RUNE_DOCK[0], GLUDIN_DOCK[0], ARRIVAL_RUNE5);
ThreadPoolManager.getInstance().scheduleGeneral(this, 240000);
ThreadPoolManager.schedule(this, 240000);
break;
case 7:
BoatManager.getInstance().broadcastPacket(RUNE_DOCK[0], GLUDIN_DOCK[0], ARRIVAL_RUNE1);
@@ -223,7 +223,7 @@ public class BoatGludinRune implements Runnable
_shoutCount = 0;
}
ThreadPoolManager.getInstance().scheduleGeneral(this, 5000);
ThreadPoolManager.schedule(this, 5000);
return;
}
_boat.executePath(RUNE_DOCK);
@@ -232,19 +232,19 @@ public class BoatGludinRune implements Runnable
BoatManager.getInstance().dockShip(BoatManager.RUNE_HARBOR, true);
BoatManager.getInstance().broadcastPackets(RUNE_DOCK[0], GLUDIN_DOCK[0], ARRIVED_AT_RUNE, ARRIVED_AT_RUNE_2);
_boat.broadcastPacket(RUNE_SOUND);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
ThreadPoolManager.schedule(this, 300000);
break;
case 10:
BoatManager.getInstance().broadcastPacket(RUNE_DOCK[0], GLUDIN_DOCK[0], LEAVE_RUNE5);
ThreadPoolManager.getInstance().scheduleGeneral(this, 240000);
ThreadPoolManager.schedule(this, 240000);
break;
case 11:
BoatManager.getInstance().broadcastPacket(RUNE_DOCK[0], GLUDIN_DOCK[0], LEAVE_RUNE1);
ThreadPoolManager.getInstance().scheduleGeneral(this, 40000);
ThreadPoolManager.schedule(this, 40000);
break;
case 12:
BoatManager.getInstance().broadcastPacket(RUNE_DOCK[0], GLUDIN_DOCK[0], LEAVE_RUNE0);
ThreadPoolManager.getInstance().scheduleGeneral(this, 20000);
ThreadPoolManager.schedule(this, 20000);
break;
case 13:
BoatManager.getInstance().dockShip(BoatManager.RUNE_HARBOR, false);
@@ -252,19 +252,19 @@ public class BoatGludinRune implements Runnable
_boat.broadcastPacket(RUNE_SOUND);
_boat.payForRide(7904, 1, 34513, -38009, -3640);
_boat.executePath(RUNE_TO_GLUDIN);
ThreadPoolManager.getInstance().scheduleGeneral(this, 60000);
ThreadPoolManager.schedule(this, 60000);
break;
case 14:
BoatManager.getInstance().broadcastPacket(GLUDIN_DOCK[0], RUNE_DOCK[0], ARRIVAL_GLUDIN15);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
ThreadPoolManager.schedule(this, 300000);
break;
case 15:
BoatManager.getInstance().broadcastPacket(GLUDIN_DOCK[0], RUNE_DOCK[0], ARRIVAL_GLUDIN10);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
ThreadPoolManager.schedule(this, 300000);
break;
case 16:
BoatManager.getInstance().broadcastPacket(GLUDIN_DOCK[0], RUNE_DOCK[0], ARRIVAL_GLUDIN5);
ThreadPoolManager.getInstance().scheduleGeneral(this, 240000);
ThreadPoolManager.schedule(this, 240000);
break;
case 17:
BoatManager.getInstance().broadcastPacket(GLUDIN_DOCK[0], RUNE_DOCK[0], ARRIVAL_GLUDIN1);
@@ -283,7 +283,7 @@ public class BoatGludinRune implements Runnable
_shoutCount = 0;
}
ThreadPoolManager.getInstance().scheduleGeneral(this, 5000);
ThreadPoolManager.schedule(this, 5000);
return;
}
_boat.executePath(GLUDIN_DOCK);
@@ -292,7 +292,7 @@ public class BoatGludinRune implements Runnable
BoatManager.getInstance().dockShip(BoatManager.GLUDIN_HARBOR, true);
BoatManager.getInstance().broadcastPackets(GLUDIN_DOCK[0], RUNE_DOCK[0], ARRIVED_AT_GLUDIN, ARRIVED_AT_GLUDIN_2);
_boat.broadcastPacket(GLUDIN_SOUND);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
ThreadPoolManager.schedule(this, 300000);
break;
}
_shoutCount = 0;

View File

@@ -119,44 +119,44 @@ public class BoatInnadrilTour implements Runnable
{
case 0:
BoatManager.getInstance().broadcastPacket(DOCK, DOCK, LEAVE_INNADRIL5);
ThreadPoolManager.getInstance().scheduleGeneral(this, 240000);
ThreadPoolManager.schedule(this, 240000);
break;
case 1:
BoatManager.getInstance().broadcastPacket(DOCK, DOCK, LEAVE_INNADRIL1);
ThreadPoolManager.getInstance().scheduleGeneral(this, 40000);
ThreadPoolManager.schedule(this, 40000);
break;
case 2:
BoatManager.getInstance().broadcastPacket(DOCK, DOCK, LEAVE_INNADRIL0);
ThreadPoolManager.getInstance().scheduleGeneral(this, 20000);
ThreadPoolManager.schedule(this, 20000);
break;
case 3:
BoatManager.getInstance().broadcastPackets(DOCK, DOCK, LEAVING_INNADRIL, INNADRIL_SOUND);
_boat.payForRide(0, 1, 107092, 219098, -3952);
_boat.executePath(TOUR);
ThreadPoolManager.getInstance().scheduleGeneral(this, 650000);
ThreadPoolManager.schedule(this, 650000);
break;
case 4:
BoatManager.getInstance().broadcastPacket(DOCK, DOCK, ARRIVAL20);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
ThreadPoolManager.schedule(this, 300000);
break;
case 5:
BoatManager.getInstance().broadcastPacket(DOCK, DOCK, ARRIVAL15);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
ThreadPoolManager.schedule(this, 300000);
break;
case 6:
BoatManager.getInstance().broadcastPacket(DOCK, DOCK, ARRIVAL10);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
ThreadPoolManager.schedule(this, 300000);
break;
case 7:
BoatManager.getInstance().broadcastPacket(DOCK, DOCK, ARRIVAL5);
ThreadPoolManager.getInstance().scheduleGeneral(this, 240000);
ThreadPoolManager.schedule(this, 240000);
break;
case 8:
BoatManager.getInstance().broadcastPacket(DOCK, DOCK, ARRIVAL1);
break;
case 9:
BoatManager.getInstance().broadcastPackets(DOCK, DOCK, ARRIVED_AT_INNADRIL, INNADRIL_SOUND);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
ThreadPoolManager.schedule(this, 300000);
break;
}
_cycle++;

View File

@@ -118,7 +118,7 @@ public class BoatRunePrimeval implements Runnable
break;
case 1:
BoatManager.getInstance().broadcastPackets(PRIMEVAL_DOCK, RUNE_DOCK[0], ARRIVED_AT_PRIMEVAL, ARRIVED_AT_PRIMEVAL_2, PRIMEVAL_SOUND);
ThreadPoolManager.getInstance().scheduleGeneral(this, 180000);
ThreadPoolManager.schedule(this, 180000);
break;
case 2:
BoatManager.getInstance().broadcastPackets(PRIMEVAL_DOCK, RUNE_DOCK[0], LEAVING_PRIMEVAL, PRIMEVAL_SOUND);
@@ -139,7 +139,7 @@ public class BoatRunePrimeval implements Runnable
_shoutCount = 0;
}
ThreadPoolManager.getInstance().scheduleGeneral(this, 5000);
ThreadPoolManager.schedule(this, 5000);
return;
}
_boat.executePath(RUNE_DOCK);
@@ -147,7 +147,7 @@ public class BoatRunePrimeval implements Runnable
case 4:
BoatManager.getInstance().dockShip(BoatManager.RUNE_HARBOR, true);
BoatManager.getInstance().broadcastPackets(RUNE_DOCK[0], PRIMEVAL_DOCK, ARRIVED_AT_RUNE, ARRIVED_AT_RUNE_2, RUNE_SOUND);
ThreadPoolManager.getInstance().scheduleGeneral(this, 180000);
ThreadPoolManager.schedule(this, 180000);
break;
}
_shoutCount = 0;

View File

@@ -145,15 +145,15 @@ public class BoatTalkingGludin implements Runnable
{
case 0:
BoatManager.getInstance().broadcastPacket(TALKING_DOCK[0], GLUDIN_DOCK[0], LEAVE_TALKING5);
ThreadPoolManager.getInstance().scheduleGeneral(this, 240000);
ThreadPoolManager.schedule(this, 240000);
break;
case 1:
BoatManager.getInstance().broadcastPackets(TALKING_DOCK[0], GLUDIN_DOCK[0], LEAVE_TALKING1, LEAVE_TALKING1_2);
ThreadPoolManager.getInstance().scheduleGeneral(this, 40000);
ThreadPoolManager.schedule(this, 40000);
break;
case 2:
BoatManager.getInstance().broadcastPacket(TALKING_DOCK[0], GLUDIN_DOCK[0], LEAVE_TALKING0);
ThreadPoolManager.getInstance().scheduleGeneral(this, 20000);
ThreadPoolManager.schedule(this, 20000);
break;
case 3:
BoatManager.getInstance().dockShip(BoatManager.TALKING_ISLAND, false);
@@ -161,15 +161,15 @@ public class BoatTalkingGludin implements Runnable
_boat.broadcastPacket(TALKING_SOUND);
_boat.payForRide(1074, 1, -96777, 258970, -3623);
_boat.executePath(TALKING_TO_GLUDIN);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
ThreadPoolManager.schedule(this, 300000);
break;
case 4:
BoatManager.getInstance().broadcastPacket(GLUDIN_DOCK[0], TALKING_DOCK[0], ARRIVAL_GLUDIN10);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
ThreadPoolManager.schedule(this, 300000);
break;
case 5:
BoatManager.getInstance().broadcastPacket(GLUDIN_DOCK[0], TALKING_DOCK[0], ARRIVAL_GLUDIN5);
ThreadPoolManager.getInstance().scheduleGeneral(this, 240000);
ThreadPoolManager.schedule(this, 240000);
break;
case 6:
BoatManager.getInstance().broadcastPacket(GLUDIN_DOCK[0], TALKING_DOCK[0], ARRIVAL_GLUDIN1);
@@ -188,7 +188,7 @@ public class BoatTalkingGludin implements Runnable
_shoutCount = 0;
}
ThreadPoolManager.getInstance().scheduleGeneral(this, 5000);
ThreadPoolManager.schedule(this, 5000);
return;
}
_boat.executePath(GLUDIN_DOCK);
@@ -197,19 +197,19 @@ public class BoatTalkingGludin implements Runnable
BoatManager.getInstance().dockShip(BoatManager.GLUDIN_HARBOR, true);
BoatManager.getInstance().broadcastPackets(GLUDIN_DOCK[0], TALKING_DOCK[0], ARRIVED_AT_GLUDIN, ARRIVED_AT_GLUDIN_2);
_boat.broadcastPacket(GLUDIN_SOUND);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
ThreadPoolManager.schedule(this, 300000);
break;
case 9:
BoatManager.getInstance().broadcastPacket(TALKING_DOCK[0], GLUDIN_DOCK[0], LEAVE_GLUDIN5);
ThreadPoolManager.getInstance().scheduleGeneral(this, 240000);
ThreadPoolManager.schedule(this, 240000);
break;
case 10:
BoatManager.getInstance().broadcastPackets(TALKING_DOCK[0], GLUDIN_DOCK[0], LEAVE_GLUDIN1, LEAVE_TALKING1_2);
ThreadPoolManager.getInstance().scheduleGeneral(this, 40000);
ThreadPoolManager.schedule(this, 40000);
break;
case 11:
BoatManager.getInstance().broadcastPacket(TALKING_DOCK[0], GLUDIN_DOCK[0], LEAVE_GLUDIN0);
ThreadPoolManager.getInstance().scheduleGeneral(this, 20000);
ThreadPoolManager.schedule(this, 20000);
break;
case 12:
BoatManager.getInstance().dockShip(BoatManager.GLUDIN_HARBOR, false);
@@ -217,15 +217,15 @@ public class BoatTalkingGludin implements Runnable
_boat.broadcastPacket(GLUDIN_SOUND);
_boat.payForRide(1075, 1, -90015, 150422, -3610);
_boat.executePath(GLUDIN_TO_TALKING);
ThreadPoolManager.getInstance().scheduleGeneral(this, 150000);
ThreadPoolManager.schedule(this, 150000);
break;
case 13:
BoatManager.getInstance().broadcastPacket(TALKING_DOCK[0], GLUDIN_DOCK[0], ARRIVAL_TALKING10);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
ThreadPoolManager.schedule(this, 300000);
break;
case 14:
BoatManager.getInstance().broadcastPacket(TALKING_DOCK[0], GLUDIN_DOCK[0], ARRIVAL_TALKING5);
ThreadPoolManager.getInstance().scheduleGeneral(this, 240000);
ThreadPoolManager.schedule(this, 240000);
break;
case 15:
BoatManager.getInstance().broadcastPacket(TALKING_DOCK[0], GLUDIN_DOCK[0], ARRIVAL_TALKING1);
@@ -244,7 +244,7 @@ public class BoatTalkingGludin implements Runnable
_shoutCount = 0;
}
ThreadPoolManager.getInstance().scheduleGeneral(this, 5000);
ThreadPoolManager.schedule(this, 5000);
return;
}
_boat.executePath(TALKING_DOCK);
@@ -253,7 +253,7 @@ public class BoatTalkingGludin implements Runnable
BoatManager.getInstance().dockShip(BoatManager.TALKING_ISLAND, true);
BoatManager.getInstance().broadcastPackets(TALKING_DOCK[0], GLUDIN_DOCK[0], ARRIVED_AT_TALKING, ARRIVED_AT_TALKING_2);
_boat.broadcastPacket(TALKING_SOUND);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
ThreadPoolManager.schedule(this, 300000);
break;
}
_shoutCount = 0;