Addition of the Chronos class.

This commit is contained in:
MobiusDevelopment
2021-02-20 11:17:45 +00:00
parent dd0d74a8e6
commit c16a199407
3419 changed files with 13203 additions and 8113 deletions

View File

@@ -22,6 +22,7 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ScheduledFuture;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.GameTimeController;
import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.model.Location;
@@ -137,7 +138,7 @@ public class Parade extends AbstractNpcAI
// final long diff = timeLeftMilli(8, 0, 0), cycle = 600000;
// ThreadPoolManager.scheduleAtFixedRate(new Start(), 180000, cycle);
LOGGER.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.");
LOGGER.info("Fantasy Isle: Parade starting at " + new SimpleDateFormat("yyyy/MM/dd HH:mm").format(Chronos.currentTimeMillis() + diff) + " and is scheduled each next " + (cycle / 3600000) + " hours.");
}
void load()

View File

@@ -20,6 +20,7 @@ import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.Map;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.GameTimeController;
import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.enums.ChatType;
@@ -304,7 +305,7 @@ public class TalentShow extends AbstractNpcAI
hourDiff *= 3600000;
minDiff *= 60000;
diff = hourDiff + minDiff;
LOGGER.info("Fantasy Isle: MC show script starting at " + (new SimpleDateFormat("dd/MM/yyyy HH:mm:ss")).format(System.currentTimeMillis() + diff) + " and is scheduled each next 4 hours.");
LOGGER.info("Fantasy Isle: MC show script starting at " + (new SimpleDateFormat("dd/MM/yyyy HH:mm:ss")).format(Chronos.currentTimeMillis() + diff) + " and is scheduled each next 4 hours.");
startQuestTimer("Start", diff, null, null); // first start
}

View File

@@ -16,6 +16,7 @@
*/
package ai.areas.GainakUnderground.Lailly;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
import org.l2jmobius.gameserver.model.actor.Npc;
@@ -64,7 +65,7 @@ public class Lailly extends AbstractNpcAI
case "okay":
{
final Instance instance = InstanceManager.getInstance().getPlayerInstance(player, false);
if ((instance != null) && (instance.getEndTime() > System.currentTimeMillis()))
if ((instance != null) && (instance.getEndTime() > Chronos.currentTimeMillis()))
{
switch (instance.getTemplateId())
{

View File

@@ -29,6 +29,7 @@ import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.IXmlReader;
import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.enums.ChatType;
@@ -516,7 +517,7 @@ public class FourSepulchers extends AbstractNpcAI implements IXmlReader
final GlobalVariablesManager vars = GlobalVariablesManager.getInstance();
final long var = vars.getLong("FourSepulchers" + npcId, 0) + (TIME_ATTACK * 60 * 1000);
if (var > System.currentTimeMillis())
if (var > Chronos.currentTimeMillis())
{
showHtmlFile(player, npcId + "-NE.html", npc, null);
return;
@@ -581,7 +582,7 @@ public class FourSepulchers extends AbstractNpcAI implements IXmlReader
ThreadPool.schedule(() -> ZoneManager.getInstance().getZoneById(MANAGER_ZONES.get(npcId)).oustAllPlayers(), TIME_ATTACK * 60 * 1000);
// Save attack time
vars.set("FourSepulchers" + npcId, System.currentTimeMillis());
vars.set("FourSepulchers" + npcId, Chronos.currentTimeMillis());
// Init progress
STORED_PROGRESS.put(sepulcherId, 1); // start from 1
// Start

View File

@@ -19,6 +19,7 @@ package ai.areas.KeucereusAllianceBase;
import java.util.Calendar;
import java.util.GregorianCalendar;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.data.SpawnTable;
import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.enums.Movie;
@@ -109,7 +110,7 @@ public class LindviorScene extends AbstractNpcAI
final GregorianCalendar date = new GregorianCalendar();
date.set(Calendar.MINUTE, RESET_MIN);
date.set(Calendar.HOUR_OF_DAY, RESET_HOUR);
if (System.currentTimeMillis() >= date.getTimeInMillis())
if (Chronos.currentTimeMillis() >= date.getTimeInMillis())
{
date.add(Calendar.DAY_OF_WEEK, 1);
}
@@ -135,7 +136,7 @@ public class LindviorScene extends AbstractNpcAI
{
date.add(Calendar.DAY_OF_WEEK, 1 + RESET_DAY_1);
}
return date.getTimeInMillis() - System.currentTimeMillis();
return date.getTimeInMillis() - Chronos.currentTimeMillis();
}
public static void main(String[] args)

View File

@@ -19,6 +19,7 @@ package ai.areas.Rune.RuneCastle.Venom;
import java.util.ArrayList;
import java.util.List;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.enums.TeleportWhereType;
@@ -111,7 +112,7 @@ public class Venom extends AbstractNpcAI
setCastleSiegeStartId(this::onSiegeStart, CASTLE);
setCastleSiegeFinishId(this::onSiegeFinish, CASTLE);
final long currentTime = System.currentTimeMillis();
final long currentTime = Chronos.currentTimeMillis();
final long startSiegeDate = CastleManager.getInstance().getCastleById(CASTLE).getSiegeDate().getTimeInMillis();
final long openingDungeonDate = startSiegeDate - (HOURS_BEFORE * 360000);
if ((currentTime > openingDungeonDate) && (currentTime < startSiegeDate))

View File

@@ -20,6 +20,7 @@ import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.CommonUtil;
import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.data.xml.SkillData;
@@ -229,7 +230,7 @@ public class SeedOfAnnihilation extends AbstractNpcAI
int buffsNow = 0;
final Long var = GlobalVariablesManager.getInstance().getLong("SeedNextStatusChange", 0);
if (var < System.currentTimeMillis())
if (var < Chronos.currentTimeMillis())
{
buffsNow = getRandom(ZONE_BUFFS_LIST.length);
GlobalVariablesManager.getInstance().set("SeedBuffsList", String.valueOf(buffsNow));
@@ -254,7 +255,7 @@ public class SeedOfAnnihilation extends AbstractNpcAI
reenter.set(Calendar.MINUTE, 0);
reenter.set(Calendar.HOUR_OF_DAY, 13);
reenter.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
if (reenter.getTimeInMillis() <= System.currentTimeMillis())
if (reenter.getTimeInMillis() <= Chronos.currentTimeMillis())
{
reenter.add(Calendar.DAY_OF_MONTH, 7);
}
@@ -272,7 +273,7 @@ public class SeedOfAnnihilation extends AbstractNpcAI
}
ZoneManager.getInstance().getZoneById(a_regionsData.buff_zone, EffectZone.class).addSkill(ZONE_BUFFS[a_regionsData.activeBuff], 1);
}
startQuestTimer("ChangeSeedsStatus", _seedsNextStatusChange - System.currentTimeMillis(), null, null);
startQuestTimer("ChangeSeedsStatus", _seedsNextStatusChange - Chronos.currentTimeMillis(), null, null);
}
private void spawnGroupOfMinion(MonsterInstance npc, int[] mobIds)
@@ -317,7 +318,7 @@ public class SeedOfAnnihilation extends AbstractNpcAI
zone.clearSkills();
zone.addSkill(ZONE_BUFFS[_regionsData[i].activeBuff], 1);
}
startQuestTimer("ChangeSeedsStatus", _seedsNextStatusChange - System.currentTimeMillis(), null, null);
startQuestTimer("ChangeSeedsStatus", _seedsNextStatusChange - Chronos.currentTimeMillis(), null, null);
}
else if (event.equalsIgnoreCase("transform"))
{

View File

@@ -21,6 +21,7 @@ import java.util.Calendar;
import java.util.List;
import org.l2jmobius.Config;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.CommonUtil;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.ai.CtrlIntention;
@@ -345,7 +346,7 @@ public class Anakim extends AbstractNpcAI
final int status = GrandBossManager.getInstance().getBossStatus(ANAKIM);
if (status == DEAD)
{
final long time = info.getLong("respawn_time") - System.currentTimeMillis();
final long time = info.getLong("respawn_time") - Chronos.currentTimeMillis();
if (time > 0)
{
startQuestTimer("unlock_anakim", time, null, null);
@@ -373,7 +374,7 @@ public class Anakim extends AbstractNpcAI
}
case "check_activity_task":
{
if ((_lastAction + 900000) < System.currentTimeMillis())
if ((_lastAction + 900000) < Chronos.currentTimeMillis())
{
GrandBossManager.getInstance().setBossStatus(ANAKIM, ALIVE);
for (Creature creature : BOSS_ZONE.getCharactersInside())
@@ -550,7 +551,7 @@ public class Anakim extends AbstractNpcAI
}
_remnants.clear();
notifyEvent("spawn_remant", null, null);
_lastAction = System.currentTimeMillis();
_lastAction = Chronos.currentTimeMillis();
startQuestTimer("check_activity_task", 60000, null, null, true);
}
else if ((_anakimStatus == WAITING) && (npc.getId() == ANAKIM_CUBIC))
@@ -578,7 +579,7 @@ public class Anakim extends AbstractNpcAI
@Override
public String onAttack(Npc npc, PlayerInstance attacker, int damage, boolean isPet)
{
_lastAction = System.currentTimeMillis();
_lastAction = Chronos.currentTimeMillis();
if (npc.isMinion() || npc.isRaid())// Anakim and minions
{
// Anti BUGGERS
@@ -614,7 +615,7 @@ public class Anakim extends AbstractNpcAI
GrandBossManager.getInstance().setBossStatus(ANAKIM, DEAD);
final long respawnTime = getRespawnTime();
final StatSet info = GrandBossManager.getInstance().getStatSet(ANAKIM);
info.set("respawn_time", System.currentTimeMillis() + respawnTime);
info.set("respawn_time", Chronos.currentTimeMillis() + respawnTime);
GrandBossManager.getInstance().setStatSet(ANAKIM, info);
startQuestTimer("unlock_anakim", respawnTime, null, null);
@@ -686,7 +687,7 @@ public class Anakim extends AbstractNpcAI
{
reenter = day2;
}
return reenter.getTimeInMillis() - System.currentTimeMillis();
return reenter.getTimeInMillis() - Chronos.currentTimeMillis();
}
public static void main(String[] args)

View File

@@ -21,6 +21,7 @@ import java.util.List;
import java.util.Map;
import org.l2jmobius.Config;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.CommonUtil;
import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.enums.MountType;
@@ -169,14 +170,14 @@ public class Antharas extends AbstractNpcAI
_antharas = (GrandBossInstance) addSpawn(ANTHARAS, loc_x, loc_y, loc_z, heading, false, 0);
_antharas.setCurrentHpMp(curr_hp, curr_mp);
addBoss(_antharas);
_lastAttack = System.currentTimeMillis();
_lastAttack = Chronos.currentTimeMillis();
startQuestTimer("CHECK_ATTACK", 60000, _antharas, null);
startQuestTimer("SPAWN_MINION", 300000, _antharas, null);
break;
}
case DEAD:
{
final long remain = respawnTime - System.currentTimeMillis();
final long remain = respawnTime - Chronos.currentTimeMillis();
if (remain > 0)
{
startQuestTimer("CLEAR_STATUS", remain, null, null);
@@ -272,7 +273,7 @@ public class Antharas extends AbstractNpcAI
_antharas.setRandomWalking(false);
_antharas.teleToLocation(181323, 114850, -7623, 32542);
setStatus(IN_FIGHT);
_lastAttack = System.currentTimeMillis();
_lastAttack = Chronos.currentTimeMillis();
zone.broadcastPacket(new PlaySound("BS02_A"));
startQuestTimer("CAMERA_1", 23, _antharas, null);
break;
@@ -367,7 +368,7 @@ public class Antharas extends AbstractNpcAI
}
case "CHECK_ATTACK":
{
if ((npc != null) && ((_lastAttack + 900000) < System.currentTimeMillis()))
if ((npc != null) && ((_lastAttack + 900000) < Chronos.currentTimeMillis()))
{
setStatus(ALIVE);
for (Creature creature : zone.getCharactersInside())
@@ -619,7 +620,7 @@ public class Antharas extends AbstractNpcAI
@Override
public String onAttack(Npc npc, PlayerInstance attacker, int damage, boolean isSummon, Skill skill)
{
_lastAttack = System.currentTimeMillis();
_lastAttack = Chronos.currentTimeMillis();
if (npc.getId() == BOMBER)
{
if (npc.calculateDistance3D(attacker) < 230)
@@ -765,7 +766,7 @@ public class Antharas extends AbstractNpcAI
private void setRespawn(long respawnTime)
{
GrandBossManager.getInstance().getStatSet(ANTHARAS).set("respawn_time", System.currentTimeMillis() + respawnTime);
GrandBossManager.getInstance().getStatSet(ANTHARAS).set("respawn_time", Chronos.currentTimeMillis() + respawnTime);
}
private final void refreshAiParams(PlayerInstance attacker, int damage)

View File

@@ -17,6 +17,7 @@
package ai.bosses.Baium;
import org.l2jmobius.Config;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.CommonUtil;
import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.enums.CategoryType;
@@ -136,7 +137,7 @@ public class Baium extends AbstractNpcAI
final int heading = info.getInt("heading");
_baium = (GrandBossInstance) addSpawn(BAIUM, loc_x, loc_y, loc_z, heading, false, 0);
_baium.setCurrentHpMp(curr_hp, curr_mp);
_lastAttack = System.currentTimeMillis();
_lastAttack = Chronos.currentTimeMillis();
addBoss(_baium);
for (Location loc : ARCHANGEL_LOC)
@@ -149,7 +150,7 @@ public class Baium extends AbstractNpcAI
}
case DEAD:
{
final long remain = info.getLong("respawn_time") - System.currentTimeMillis();
final long remain = info.getLong("respawn_time") - Chronos.currentTimeMillis();
if (remain > 0)
{
startQuestTimer("CLEAR_STATUS", remain, null, null);
@@ -209,7 +210,7 @@ public class Baium extends AbstractNpcAI
_baium.disableCoreAI(true);
_baium.setRandomWalking(false);
addBoss(_baium);
_lastAttack = System.currentTimeMillis();
_lastAttack = Chronos.currentTimeMillis();
startQuestTimer("WAKEUP_ACTION", 50, _baium, null);
startQuestTimer("MANAGE_EARTHQUAKE", 2000, _baium, player);
startQuestTimer("CHECK_ATTACK", 60000, _baium, null);
@@ -375,7 +376,7 @@ public class Baium extends AbstractNpcAI
}
case "CHECK_ATTACK":
{
if ((npc != null) && ((_lastAttack + 1800000) < System.currentTimeMillis()))
if ((npc != null) && ((_lastAttack + 1800000) < Chronos.currentTimeMillis()))
{
notifyEvent("CLEAR_ZONE", null, null);
addSpawn(BAIUM_STONE, BAIUM_LOC, false, 0);
@@ -383,7 +384,7 @@ public class Baium extends AbstractNpcAI
}
else if (npc != null)
{
if (((_lastAttack + 300000) < System.currentTimeMillis()) && (npc.getCurrentHp() < (npc.getMaxHp() * 0.75)))
if (((_lastAttack + 300000) < Chronos.currentTimeMillis()) && (npc.getCurrentHp() < (npc.getMaxHp() * 0.75)))
{
npc.setTarget(npc);
npc.doCast(HEAL_OF_BAIUM.getSkill());
@@ -484,7 +485,7 @@ public class Baium extends AbstractNpcAI
@Override
public String onAttack(Npc npc, PlayerInstance attacker, int damage, boolean isSummon, Skill skill)
{
_lastAttack = System.currentTimeMillis();
_lastAttack = Chronos.currentTimeMillis();
if (npc.getId() == BAIUM)
{
if ((attacker.getMountType() == MountType.STRIDER) && !attacker.isAffectedBySkill(ANTI_STRIDER.getSkillId()) && !npc.isSkillDisabled(ANTI_STRIDER.getSkill()))
@@ -663,7 +664,7 @@ public class Baium extends AbstractNpcAI
private void setRespawn(long respawnTime)
{
GrandBossManager.getInstance().getStatSet(BAIUM).set("respawn_time", (System.currentTimeMillis() + respawnTime));
GrandBossManager.getInstance().getStatSet(BAIUM).set("respawn_time", (Chronos.currentTimeMillis() + respawnTime));
}
private void manageSkills(Npc npc)

View File

@@ -20,6 +20,7 @@ import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
import org.l2jmobius.Config;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.cache.HtmCache;
import org.l2jmobius.gameserver.data.xml.DoorData;
@@ -108,7 +109,7 @@ public class Beleth extends AbstractNpcAI
final int status = GrandBossManager.getInstance().getBossStatus(REAL_BELETH);
if (status == DEAD)
{
final long time = info.getLong("respawn_time") - System.currentTimeMillis();
final long time = info.getLong("respawn_time") - Chronos.currentTimeMillis();
if (time > 0)
{
startQuestTimer("BELETH_UNLOCK", time, null, null);
@@ -349,7 +350,7 @@ public class Beleth extends AbstractNpcAI
c.setImmobilized(false);
}
_lastAttack = System.currentTimeMillis();
_lastAttack = Chronos.currentTimeMillis();
startQuestTimer("CHECK_ATTACK", 60000, null, null);
startQuestTimer("SPAWN25", 60000, null, null);
break;
@@ -507,7 +508,7 @@ public class Beleth extends AbstractNpcAI
}
case "CHECK_ATTACK":
{
if ((_lastAttack + 900000) < System.currentTimeMillis())
if ((_lastAttack + 900000) < Chronos.currentTimeMillis())
{
GrandBossManager.getInstance().setBossStatus(REAL_BELETH, ALIVE);
for (Creature creature : ZONE.getCharactersInside())
@@ -708,7 +709,7 @@ public class Beleth extends AbstractNpcAI
GrandBossManager.getInstance().setBossStatus(REAL_BELETH, DEAD);
final long respawnTime = (Config.BELETH_SPAWN_INTERVAL + getRandom(-Config.BELETH_SPAWN_RANDOM, Config.BELETH_SPAWN_RANDOM)) * 3600000;
final StatSet info = GrandBossManager.getInstance().getStatSet(REAL_BELETH);
info.set("respawn_time", System.currentTimeMillis() + respawnTime);
info.set("respawn_time", Chronos.currentTimeMillis() + respawnTime);
GrandBossManager.getInstance().setStatSet(REAL_BELETH, info);
startQuestTimer("BELETH_UNLOCK", respawnTime, null, null);
deleteAll();

View File

@@ -23,6 +23,7 @@ import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
import org.l2jmobius.Config;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.instancemanager.GlobalVariablesManager;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
@@ -89,7 +90,7 @@ public class Core extends AbstractNpcAI
if (GrandBossManager.getInstance().getBossStatus(CORE) == DEAD)
{
// Load the unlock date and time for Core from DB.
final long temp = info.getLong("respawn_time") - System.currentTimeMillis();
final long temp = info.getLong("respawn_time") - Chronos.currentTimeMillis();
// If Core is locked until a certain time, mark it so and start the unlock timer the unlock time has not yet expired.
if (temp > 0)
{
@@ -206,7 +207,7 @@ public class Core extends AbstractNpcAI
startQuestTimer("core_unlock", respawnTime, null, null);
// Also save the respawn time so that the info is maintained past reboots.
final StatSet info = GrandBossManager.getInstance().getStatSet(CORE);
info.set("respawn_time", System.currentTimeMillis() + respawnTime);
info.set("respawn_time", Chronos.currentTimeMillis() + respawnTime);
GrandBossManager.getInstance().setStatSet(CORE, info);
startQuestTimer("despawn_minions", 20000, null, null);
cancelQuestTimers("spawn_minion");

View File

@@ -20,6 +20,7 @@ import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.enums.MountType;
@@ -295,7 +296,7 @@ public class IceQueensCastleBattle extends AbstractInstance
{
startQuestTimer("STAGE_2_FAILED", 360000, controller, null);
manageTimer(world, 360, NpcStringId.BATTLE_END_LIMIT_TIME);
controller.getVariables().set("TIMER_END", System.currentTimeMillis() + 360000);
controller.getVariables().set("TIMER_END", Chronos.currentTimeMillis() + 360000);
}
break;
}
@@ -688,7 +689,7 @@ public class IceQueensCastleBattle extends AbstractInstance
}
case "SHOW_GLAKIAS_TIMER":
{
final int time = (int) ((controller.getVariables().getLong("TIMER_END", 0) - System.currentTimeMillis()) / 1000);
final int time = (int) ((controller.getVariables().getLong("TIMER_END", 0) - Chronos.currentTimeMillis()) / 1000);
manageTimer(world, time, NpcStringId.BATTLE_END_LIMIT_TIME);
break;
}

View File

@@ -23,6 +23,7 @@ import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE;
import java.util.ArrayList;
import java.util.List;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.geoengine.GeoEngine;
import org.l2jmobius.gameserver.model.actor.Creature;
@@ -143,11 +144,11 @@ public class ScarletVanHalisha extends AbstractNpcAI
{
return SkillData.getInstance().getSkill(FRINTEZZA_DAEMON_CHARGE, 2);
}
else if (((_lastRangedSkillTime + RANGED_SKILL_MIN_COOLTIME) < System.currentTimeMillis()) && (getRandom(100) < 10))
else if (((_lastRangedSkillTime + RANGED_SKILL_MIN_COOLTIME) < Chronos.currentTimeMillis()) && (getRandom(100) < 10))
{
return SkillData.getInstance().getSkill(FRINTEZZA_DAEMON_FIELD, 1);
}
else if (((_lastRangedSkillTime + RANGED_SKILL_MIN_COOLTIME) < System.currentTimeMillis()) && (getRandom(100) < 10))
else if (((_lastRangedSkillTime + RANGED_SKILL_MIN_COOLTIME) < Chronos.currentTimeMillis()) && (getRandom(100) < 10))
{
return SkillData.getInstance().getSkill(FRINTEZZA_DAEMON_MORPH, 1);
}
@@ -248,7 +249,7 @@ public class ScarletVanHalisha extends AbstractNpcAI
case FRINTEZZA_DAEMON_MORPH:
case FRINTEZZA_DAEMON_FIELD:
{
_lastRangedSkillTime = System.currentTimeMillis();
_lastRangedSkillTime = Chronos.currentTimeMillis();
skillRange = 550;
break;
}

View File

@@ -22,6 +22,7 @@ import java.util.concurrent.ScheduledFuture;
import org.l2jmobius.Config;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.enums.Movie;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
@@ -150,7 +151,7 @@ public class Helios extends AbstractNpcAI
final int status = GrandBossManager.getInstance().getBossStatus(HELIOS3);
if (status == DEAD)
{
final long time = info.getLong("respawn_time") - System.currentTimeMillis();
final long time = info.getLong("respawn_time") - Chronos.currentTimeMillis();
if (time > 0)
{
startQuestTimer("unlock_helios", time, null, null);
@@ -496,7 +497,7 @@ public class Helios extends AbstractNpcAI
GrandBossManager.getInstance().setBossStatus(HELIOS3, DEAD);
final long respawnTime = (Config.HELIOS_SPAWN_INTERVAL + getRandom(-Config.HELIOS_SPAWN_RANDOM, Config.HELIOS_SPAWN_RANDOM)) * 3600000;
final StatSet info = GrandBossManager.getInstance().getStatSet(HELIOS3);
info.set("respawn_time", System.currentTimeMillis() + respawnTime);
info.set("respawn_time", Chronos.currentTimeMillis() + respawnTime);
GrandBossManager.getInstance().setStatSet(HELIOS3, info);
startQuestTimer("unlock_helios", respawnTime, null, null);
break;

View File

@@ -20,6 +20,7 @@ import java.util.ArrayList;
import java.util.List;
import org.l2jmobius.Config;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.enums.Movie;
@@ -121,7 +122,7 @@ public class Kelbim extends AbstractNpcAI
final int status = GrandBossManager.getInstance().getBossStatus(KELBIM);
if (status == DEAD)
{
final long time = info.getLong("respawn_time") - System.currentTimeMillis();
final long time = info.getLong("respawn_time") - Chronos.currentTimeMillis();
if (time > 0)
{
startQuestTimer("unlock_kelbim", time, null, null);
@@ -156,7 +157,7 @@ public class Kelbim extends AbstractNpcAI
}
case "check_activity_task":
{
if ((_lastAction + 900000) < System.currentTimeMillis())
if ((_lastAction + 900000) < Chronos.currentTimeMillis())
{
GrandBossManager.getInstance().setBossStatus(KELBIM, ALIVE);
for (Creature creature : ZONE.getCharactersInside())
@@ -193,7 +194,7 @@ public class Kelbim extends AbstractNpcAI
{
_kelbimBoss = (GrandBossInstance) addSpawn(KELBIM, -56340, 60801, -269, 54262, false, 0);
GrandBossManager.getInstance().addBoss(_kelbimBoss);
_lastAction = System.currentTimeMillis();
_lastAction = Chronos.currentTimeMillis();
startQuestTimer("check_activity_task", 60000, null, null);
startQuestTimer("stage_all_random_area_attack", Rnd.get(2, 3) * 60000, null, null);
break;
@@ -369,7 +370,7 @@ public class Kelbim extends AbstractNpcAI
{
if (npc.getId() == KELBIM)
{
_lastAction = System.currentTimeMillis();
_lastAction = Chronos.currentTimeMillis();
switch (_bossStage)
{
@@ -434,7 +435,7 @@ public class Kelbim extends AbstractNpcAI
GrandBossManager.getInstance().setBossStatus(KELBIM, DEAD);
final long respawnTime = (Config.KELBIM_SPAWN_INTERVAL + getRandom(-Config.KELBIM_SPAWN_RANDOM, Config.KELBIM_SPAWN_RANDOM)) * 3600000;
final StatSet info = GrandBossManager.getInstance().getStatSet(KELBIM);
info.set("respawn_time", System.currentTimeMillis() + respawnTime);
info.set("respawn_time", Chronos.currentTimeMillis() + respawnTime);
GrandBossManager.getInstance().setStatSet(KELBIM, info);
startQuestTimer("unlock_kelbim", respawnTime, null, null);
startQuestTimer("end_kelbim", 1800000, null, null);

View File

@@ -21,6 +21,7 @@ import java.util.Calendar;
import java.util.List;
import org.l2jmobius.Config;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.CommonUtil;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.ai.CtrlIntention;
@@ -371,7 +372,7 @@ public class Lilith extends AbstractNpcAI
final int status = GrandBossManager.getInstance().getBossStatus(LILITH);
if (status == DEAD)
{
final long time = info.getLong("respawn_time") - System.currentTimeMillis();
final long time = info.getLong("respawn_time") - Chronos.currentTimeMillis();
if (time > 0)
{
startQuestTimer("unlock_lilith", time, null, null);
@@ -399,7 +400,7 @@ public class Lilith extends AbstractNpcAI
}
case "check_activity_task":
{
if ((_lastAction + 900000) < System.currentTimeMillis())
if ((_lastAction + 900000) < Chronos.currentTimeMillis())
{
GrandBossManager.getInstance().setBossStatus(LILITH, ALIVE);
for (Creature creature : BOSS_ZONE.getCharactersInside())
@@ -576,7 +577,7 @@ public class Lilith extends AbstractNpcAI
}
_remnants.clear();
notifyEvent("spawn_remant", null, null);
_lastAction = System.currentTimeMillis();
_lastAction = Chronos.currentTimeMillis();
startQuestTimer("check_activity_task", 60000, null, null, true);
}
else if ((_lilithStatus == WAITING) && (npc.getId() == LILITH_CUBIC))
@@ -594,7 +595,7 @@ public class Lilith extends AbstractNpcAI
@Override
public String onAttack(Npc npc, PlayerInstance attacker, int damage, boolean isPet)
{
_lastAction = System.currentTimeMillis();
_lastAction = Chronos.currentTimeMillis();
if (npc.isMinion() || npc.isRaid()) // Lilith and minions
{
// Anti BUGGERS
@@ -630,7 +631,7 @@ public class Lilith extends AbstractNpcAI
GrandBossManager.getInstance().setBossStatus(LILITH, DEAD);
final long respawnTime = getRespawnTime();
final StatSet info = GrandBossManager.getInstance().getStatSet(LILITH);
info.set("respawn_time", System.currentTimeMillis() + respawnTime);
info.set("respawn_time", Chronos.currentTimeMillis() + respawnTime);
GrandBossManager.getInstance().setStatSet(LILITH, info);
startQuestTimer("unlock_lilith", respawnTime, null, null);
@@ -702,7 +703,7 @@ public class Lilith extends AbstractNpcAI
{
reenter = day2;
}
return reenter.getTimeInMillis() - System.currentTimeMillis();
return reenter.getTimeInMillis() - Chronos.currentTimeMillis();
}
@Override

View File

@@ -22,6 +22,7 @@ import java.util.concurrent.ScheduledFuture;
import org.l2jmobius.Config;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.data.SpawnTable;
@@ -213,7 +214,7 @@ public class Lindvior extends AbstractNpcAI
final int status = GrandBossManager.getInstance().getBossStatus(LINDVIOR_RAID);
if (status == DEAD)
{
final long time = info.getLong("respawn_time") - System.currentTimeMillis();
final long time = info.getLong("respawn_time") - Chronos.currentTimeMillis();
if (time > 0)
{
startQuestTimer("unlock_lindvior", time, null, null);
@@ -863,7 +864,7 @@ public class Lindvior extends AbstractNpcAI
GrandBossManager.getInstance().setBossStatus(LINDVIOR_RAID, DEAD);
final long respawnTime = (Config.LINDVIOR_SPAWN_INTERVAL + getRandom(-Config.LINDVIOR_SPAWN_RANDOM, Config.LINDVIOR_SPAWN_RANDOM)) * 3600000;
final StatSet info = GrandBossManager.getInstance().getStatSet(LINDVIOR_RAID);
info.set("respawn_time", System.currentTimeMillis() + respawnTime);
info.set("respawn_time", Chronos.currentTimeMillis() + respawnTime);
GrandBossManager.getInstance().setStatSet(LINDVIOR_RAID, info);
startQuestTimer("unlock_lindvior", respawnTime, null, null);
}

View File

@@ -20,6 +20,7 @@ import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import org.l2jmobius.Config;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
@@ -97,7 +98,7 @@ public class Orfen extends AbstractNpcAI
if (status == DEAD)
{
// load the unlock date and time for Orfen from DB
final long temp = info.getLong("respawn_time") - System.currentTimeMillis();
final long temp = info.getLong("respawn_time") - Chronos.currentTimeMillis();
// if Orfen is locked until a certain time, mark it so and start the unlock timer
// the unlock time has not yet expired.
if (temp > 0)
@@ -328,7 +329,7 @@ public class Orfen extends AbstractNpcAI
startQuestTimer("orfen_unlock", respawnTime, null, null);
// also save the respawn time so that the info is maintained past reboots
final StatSet info = GrandBossManager.getInstance().getStatSet(ORFEN);
info.set("respawn_time", System.currentTimeMillis() + respawnTime);
info.set("respawn_time", Chronos.currentTimeMillis() + respawnTime);
GrandBossManager.getInstance().setStatSet(ORFEN, info);
cancelQuestTimer("check_minion_loc", npc, null);
cancelQuestTimer("check_orfen_pos", npc, null);

View File

@@ -20,6 +20,7 @@ import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import org.l2jmobius.Config;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
@@ -96,7 +97,7 @@ public class QueenAnt extends AbstractNpcAI
if (status == DEAD)
{
// load the unlock date and time for queen ant from DB
final long temp = info.getLong("respawn_time") - System.currentTimeMillis();
final long temp = info.getLong("respawn_time") - Chronos.currentTimeMillis();
// if queen ant is locked until a certain time, mark it so and start the unlock timer
// the unlock time has not yet expired.
if (temp > 0)
@@ -367,7 +368,7 @@ public class QueenAnt extends AbstractNpcAI
cancelQuestTimer("heal", null, null);
// also save the respawn time so that the info is maintained past reboots
final StatSet info = GrandBossManager.getInstance().getStatSet(QUEEN);
info.set("respawn_time", System.currentTimeMillis() + respawnTime);
info.set("respawn_time", Chronos.currentTimeMillis() + respawnTime);
GrandBossManager.getInstance().setStatSet(QUEEN, info);
_nurses.clear();
_larva.deleteMe();

View File

@@ -16,6 +16,7 @@
*/
package ai.bosses.QueenShyeed;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.instancemanager.GlobalVariablesManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
@@ -87,7 +88,7 @@ public class QueenShyeed extends AbstractNpcAI
private void spawnShyeed()
{
final long respawn = GlobalVariablesManager.getInstance().getLong("QueenShyeedRespawn", 0);
final long remain = respawn != 0 ? respawn - System.currentTimeMillis() : 0;
final long remain = respawn != 0 ? respawn - Chronos.currentTimeMillis() : 0;
if (remain > 0)
{
startQuestTimer("respawn", remain, null, null);
@@ -103,7 +104,7 @@ public class QueenShyeed extends AbstractNpcAI
private void startRespawn()
{
final int respawnTime = RESPAWN - getRandom(RANDOM_RESPAWN);
GlobalVariablesManager.getInstance().set("QueenShyeedRespawn", Long.toString(System.currentTimeMillis() + respawnTime));
GlobalVariablesManager.getInstance().set("QueenShyeedRespawn", Long.toString(Chronos.currentTimeMillis() + respawnTime));
startQuestTimer("respawn", respawnTime, null, null);
// MOB_BUFF_ZONE.setEnabled(false);
MOB_BUFF_DISPLAY_ZONE.setEnabled(false);

View File

@@ -20,6 +20,7 @@ import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
import org.l2jmobius.Config;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.CommonUtil;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.data.xml.SkillData;
@@ -137,7 +138,7 @@ public class Ramona extends AbstractNpcAI
addAttackId(MP_CONTROL, RAMONA_1, RAMONA_2, RAMONA_3);
addSpawnId(RAMONA_1, RAMONA_2, RAMONA_3);
final long temp = GlobalVariablesManager.getInstance().getLong(RAMONA_RESPAWN_VAR, 0) - System.currentTimeMillis();
final long temp = GlobalVariablesManager.getInstance().getLong(RAMONA_RESPAWN_VAR, 0) - Chronos.currentTimeMillis();
if (temp > 0)
{
_boss = Status.DEAD;
@@ -167,7 +168,7 @@ public class Ramona extends AbstractNpcAI
npc.setInvul(false);
cancelQuestTimers("SPAWN_MS");
startQuestTimer("CHECK_ACTIVITY_TASK", 5000, null, null);
_lastAction = System.currentTimeMillis();
_lastAction = Chronos.currentTimeMillis();
}
break;
}
@@ -186,7 +187,7 @@ public class Ramona extends AbstractNpcAI
startQuestTimer("GENERATOR_2", getRandom(900000, 1200000), null, null);
startQuestTimer("GENERATOR_3", getRandom(1500000, 1800000), null, null);
startQuestTimer("GENERATOR_4", getRandom(2100000, 2400000), null, null);
_lastAction = System.currentTimeMillis();
_lastAction = Chronos.currentTimeMillis();
startQuestTimer("RAMONA1_SKILL", 6000, _ramona1, null);
break;
}
@@ -300,7 +301,7 @@ public class Ramona extends AbstractNpcAI
}
case "CHECK_ACTIVITY_TASK":
{
if ((_lastAction + 900000) < System.currentTimeMillis())
if ((_lastAction + 900000) < Chronos.currentTimeMillis())
{
for (Creature creature : ZONE.getCharactersInside())
{
@@ -396,17 +397,17 @@ public class Ramona extends AbstractNpcAI
}
case RAMONA_1:
{
_lastAction = System.currentTimeMillis();
_lastAction = Chronos.currentTimeMillis();
break;
}
case RAMONA_2:
{
_lastAction = System.currentTimeMillis();
_lastAction = Chronos.currentTimeMillis();
break;
}
case RAMONA_3:
{
_lastAction = System.currentTimeMillis();
_lastAction = Chronos.currentTimeMillis();
break;
}
}
@@ -540,7 +541,7 @@ public class Ramona extends AbstractNpcAI
{
_boss = Status.DEAD;
final long respawnTime = (Config.RAMONA_SPAWN_INTERVAL + getRandom(-Config.RAMONA_SPAWN_RANDOM, Config.RAMONA_SPAWN_RANDOM)) * 3600000;
GlobalVariablesManager.getInstance().set(RAMONA_RESPAWN_VAR, System.currentTimeMillis() + respawnTime);
GlobalVariablesManager.getInstance().set(RAMONA_RESPAWN_VAR, Chronos.currentTimeMillis() + respawnTime);
startQuestTimer("RAMONA_UNLOCK", respawnTime, null, null);
startQuestTimer("END_RAMONA", 90000, null, null);
break;
@@ -568,13 +569,13 @@ public class Ramona extends AbstractNpcAI
case RAMONA_1:
{
_boss = Status.IN_FIGHT;
_lastAction = System.currentTimeMillis();
_lastAction = Chronos.currentTimeMillis();
break;
}
case RAMONA_2:
case RAMONA_3:
{
_lastAction = System.currentTimeMillis();
_lastAction = Chronos.currentTimeMillis();
break;
}
}

View File

@@ -16,6 +16,7 @@
*/
package ai.bosses.Sailren;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.enums.TeleportWhereType;
import org.l2jmobius.gameserver.instancemanager.GlobalVariablesManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
@@ -71,7 +72,7 @@ public class Sailren extends AbstractNpcAI
addKillId(VELOCIRAPTOR, PTEROSAUR, TREX, SAILREN);
addAttackId(VELOCIRAPTOR, PTEROSAUR, TREX, SAILREN);
final long remain = GlobalVariablesManager.getInstance().getLong("SailrenRespawn", 0) - System.currentTimeMillis();
final long remain = GlobalVariablesManager.getInstance().getLong("SailrenRespawn", 0) - Chronos.currentTimeMillis();
if (remain > 0)
{
STATUS = Status.DEAD;
@@ -118,7 +119,7 @@ public class Sailren extends AbstractNpcAI
{
takeItems(player, GAZKH, 1);
STATUS = Status.IN_FIGHT;
_lastAttack = System.currentTimeMillis();
_lastAttack = Chronos.currentTimeMillis();
for (PlayerInstance member : player.getParty().getMembers())
{
if (member.isInsideRadius3D(npc, 1000))
@@ -237,7 +238,7 @@ public class Sailren extends AbstractNpcAI
}
case "CHECK_ATTACK":
{
if (!zone.getPlayersInside().isEmpty() && ((_lastAttack + 600000) < System.currentTimeMillis()))
if (!zone.getPlayersInside().isEmpty() && ((_lastAttack + 600000) < Chronos.currentTimeMillis()))
{
cancelQuestTimer("TIME_OUT", null, null);
notifyEvent("TIME_OUT", null, null);
@@ -257,7 +258,7 @@ public class Sailren extends AbstractNpcAI
{
if (zone.isCharacterInZone(attacker))
{
_lastAttack = System.currentTimeMillis();
_lastAttack = Chronos.currentTimeMillis();
}
return super.onAttack(npc, attacker, damage, isSummon);
}
@@ -274,7 +275,7 @@ public class Sailren extends AbstractNpcAI
STATUS = Status.DEAD;
addSpawn(CUBIC, 27644, -6638, -2008, 0, false, 300000);
final long respawnTime = RESPAWN * 3600000;
GlobalVariablesManager.getInstance().set("SailrenRespawn", System.currentTimeMillis() + respawnTime);
GlobalVariablesManager.getInstance().set("SailrenRespawn", Chronos.currentTimeMillis() + respawnTime);
cancelQuestTimer("CHECK_ATTACK", null, null);
cancelQuestTimer("TIME_OUT", null, null);
startQuestTimer("CLEAR_STATUS", respawnTime, null, null);

View File

@@ -21,6 +21,7 @@ import java.util.concurrent.atomic.AtomicInteger;
import org.l2jmobius.Config;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.data.SpawnTable;
import org.l2jmobius.gameserver.data.xml.DoorData;
@@ -326,7 +327,7 @@ public class Trasken extends AbstractNpcAI
final int status = GrandBossManager.getInstance().getBossStatus(TRASKEN);
if (status == DEAD)
{
final long time = info.getLong("respawn_time") - System.currentTimeMillis();
final long time = info.getLong("respawn_time") - Chronos.currentTimeMillis();
if (time > 0)
{
startQuestTimer("unlock_trasken", time, null, null);
@@ -604,7 +605,7 @@ public class Trasken extends AbstractNpcAI
GrandBossManager.getInstance().setBossStatus(TRASKEN, DEAD);
final long respawnTime = (Config.TRASKEN_SPAWN_INTERVAL + getRandom(-Config.TRASKEN_SPAWN_RANDOM, Config.TRASKEN_SPAWN_RANDOM)) * 3600000;
final StatSet info = GrandBossManager.getInstance().getStatSet(TRASKEN);
info.set("respawn_time", System.currentTimeMillis() + respawnTime);
info.set("respawn_time", Chronos.currentTimeMillis() + respawnTime);
GrandBossManager.getInstance().setStatSet(TRASKEN, info);
startQuestTimer("unlock_trasken", respawnTime, null, null);
break;

View File

@@ -20,6 +20,7 @@ import java.util.ArrayList;
import java.util.List;
import org.l2jmobius.Config;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.enums.MountType;
@@ -129,7 +130,7 @@ public class Valakas extends AbstractNpcAI
if (status == DEAD)
{
// load the unlock date and time for valakas from DB
final long temp = info.getLong("respawn_time") - System.currentTimeMillis();
final long temp = info.getLong("respawn_time") - Chronos.currentTimeMillis();
if (temp > 0)
{
// The time has not yet expired. Mark Valakas as currently locked (dead).
@@ -168,7 +169,7 @@ public class Valakas extends AbstractNpcAI
if (status == FIGHTING)
{
// stores current time for inactivity task.
_timeTracker = System.currentTimeMillis();
_timeTracker = Chronos.currentTimeMillis();
startQuestTimer("regen_task", 60000, valakas, null, true);
startQuestTimer("skill_task", 2000, valakas, null, true);
@@ -196,7 +197,7 @@ public class Valakas extends AbstractNpcAI
if (event.equalsIgnoreCase("beginning"))
{
// Stores current time
_timeTracker = System.currentTimeMillis();
_timeTracker = Chronos.currentTimeMillis();
// Teleport Valakas to his lair.
npc.teleToLocation(VALAKAS_LAIR);
@@ -220,7 +221,7 @@ public class Valakas extends AbstractNpcAI
else if (event.equalsIgnoreCase("regen_task"))
{
// Inactivity task - 15min
if ((GrandBossManager.getInstance().getBossStatus(VALAKAS) == FIGHTING) && ((_timeTracker + 900000) < System.currentTimeMillis()))
if ((GrandBossManager.getInstance().getBossStatus(VALAKAS) == FIGHTING) && ((_timeTracker + 900000) < Chronos.currentTimeMillis()))
{
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
npc.teleToLocation(VALAKAS_REGENERATION_LOC);
@@ -416,7 +417,7 @@ public class Valakas extends AbstractNpcAI
npc.setTarget(attacker);
npc.doCast(SkillData.getInstance().getSkill(4258, 1));
}
_timeTracker = System.currentTimeMillis();
_timeTracker = Chronos.currentTimeMillis();
return super.onAttack(npc, attacker, damage, isSummon);
}
@@ -447,7 +448,7 @@ public class Valakas extends AbstractNpcAI
startQuestTimer("valakas_unlock", respawnTime, null, null);
// also save the respawn time so that the info is maintained past reboots
final StatSet info = GrandBossManager.getInstance().getStatSet(VALAKAS);
info.set("respawn_time", System.currentTimeMillis() + respawnTime);
info.set("respawn_time", Chronos.currentTimeMillis() + respawnTime);
GrandBossManager.getInstance().setStatSet(VALAKAS, info);
return super.onKill(npc, killer, isSummon);

View File

@@ -46,8 +46,8 @@ import org.l2jmobius.gameserver.model.events.impl.creature.npc.OnNpcManorBypass;
import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.itemcontainer.Inventory;
import org.l2jmobius.gameserver.model.siege.Castle;
import org.l2jmobius.gameserver.model.siege.Fort;
import org.l2jmobius.gameserver.model.siege.Castle.CastleFunction;
import org.l2jmobius.gameserver.model.siege.Fort;
import org.l2jmobius.gameserver.model.teleporter.TeleportHolder;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.ExShowCropInfo;

View File

@@ -26,6 +26,7 @@ import java.util.Optional;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.data.xml.ClanHallData;
import org.l2jmobius.gameserver.instancemanager.ClanHallAuctionManager;
import org.l2jmobius.gameserver.model.actor.Npc;
@@ -153,7 +154,7 @@ public class ClanHallAuctioneer extends AbstractNpcAI
htmltext = htmltext.replace("%id%", String.valueOf(clanHallAuction.getClanHallId()));
htmltext = htmltext.replace("%minBid%", String.valueOf(clanHallAuction.getHighestBid()));
htmltext = htmltext.replace("%myBid%", String.valueOf(clanHallAuction.getClanBid(clan)));
htmltext = htmltext.replace("%auctionEnd%", builder.appendPattern("dd/MM/yyyy HH").appendLiteral(" hour ").appendPattern("mm").appendLiteral(" minutes").toFormatter().format(Instant.ofEpochMilli(System.currentTimeMillis() + clanHallAuction.getRemaingTime()).atZone(ZoneId.systemDefault())));
htmltext = htmltext.replace("%auctionEnd%", builder.appendPattern("dd/MM/yyyy HH").appendLiteral(" hour ").appendPattern("mm").appendLiteral(" minutes").toFormatter().format(Instant.ofEpochMilli(Chronos.currentTimeMillis() + clanHallAuction.getRemaingTime()).atZone(ZoneId.systemDefault())));
}
}
else
@@ -189,7 +190,7 @@ public class ClanHallAuctioneer extends AbstractNpcAI
final ClanHall clanHall = ClanHallData.getInstance().getClanHallById(clanHallAuction.getClanHallId());
final Clan owner = clanHall.getOwner();
final long remainingTime = clanHallAuction.getRemaingTime();
final Instant endTime = Instant.ofEpochMilli(System.currentTimeMillis() + remainingTime);
final Instant endTime = Instant.ofEpochMilli(Chronos.currentTimeMillis() + remainingTime);
final DateTimeFormatterBuilder builder = new DateTimeFormatterBuilder();
htmltext = getHtm(player, "ClanHallAuctioneer-bidInfo.html");
@@ -247,7 +248,7 @@ public class ClanHallAuctioneer extends AbstractNpcAI
final ClanHallAuction clanHallAuction = ClanHallAuctionManager.getInstance().getClanHallAuctionById(clanHallId);
final Clan owner = clanHall.getOwner();
final long remainingTime = clanHallAuction.getRemaingTime();
final Instant endTime = Instant.ofEpochMilli(System.currentTimeMillis() + remainingTime);
final Instant endTime = Instant.ofEpochMilli(Chronos.currentTimeMillis() + remainingTime);
final DateTimeFormatterBuilder builder = new DateTimeFormatterBuilder();
final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId());
html.setHtml(getHtm(player, "ClanHallAuctioneer-info.html"));
@@ -296,7 +297,7 @@ public class ClanHallAuctioneer extends AbstractNpcAI
sb.append("\"><font color=\"ffffaa\">&%");
sb.append(clanHall.getResidenceId());
sb.append(";[0]</font></a></td><td width=50>");
sb.append(DateTimeFormatter.ofPattern("dd/MM/yyyy").format(Instant.ofEpochMilli(System.currentTimeMillis() + auction.getRemaingTime()).atZone(ZoneId.systemDefault())));
sb.append(DateTimeFormatter.ofPattern("dd/MM/yyyy").format(Instant.ofEpochMilli(Chronos.currentTimeMillis() + auction.getRemaingTime()).atZone(ZoneId.systemDefault())));
sb.append("</td><td width=70 align=right><font color=\"aaffff\">");
sb.append(auction.getHighestBid());
sb.append("</font></td></tr>");

View File

@@ -21,6 +21,7 @@ import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Map.Entry;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.data.xml.ClanHallData;
import org.l2jmobius.gameserver.instancemanager.GlobalVariablesManager;
import org.l2jmobius.gameserver.model.Location;
@@ -73,7 +74,7 @@ public class ProvisionalHalls extends AbstractNpcAI
if (resetTime > 0)
{
cancelQuestTimers(HALL_RESET_VAR + id);
startQuestTimer(HALL_RESET_VAR + id, Math.max(1000, (TWO_WEEKS - (System.currentTimeMillis() - resetTime) - 30000)), null, null);
startQuestTimer(HALL_RESET_VAR + id, Math.max(1000, (TWO_WEEKS - (Chronos.currentTimeMillis() - resetTime) - 30000)), null, null);
}
}
}
@@ -126,7 +127,7 @@ public class ProvisionalHalls extends AbstractNpcAI
for (int id : CLAN_HALLS.keySet())
{
if ((GlobalVariablesManager.getInstance().getInt(HALL_OWNER_VAR + id, 0) == 0) && ((GlobalVariablesManager.getInstance().getLong(HALL_TIME_VAR + id, 0) + TWO_WEEKS) < System.currentTimeMillis()))
if ((GlobalVariablesManager.getInstance().getInt(HALL_OWNER_VAR + id, 0) == 0) && ((GlobalVariablesManager.getInstance().getLong(HALL_TIME_VAR + id, 0) + TWO_WEEKS) < Chronos.currentTimeMillis()))
{
player.reduceAdena("ProvisionalHall", HALL_PRICE, player, true);
GlobalVariablesManager.getInstance().set(HALL_OWNER_VAR + id, player.getClanId());
@@ -137,7 +138,7 @@ public class ProvisionalHalls extends AbstractNpcAI
clanHall.setOwner(player.getClan());
}
player.sendMessage("Congratulations! You now own a provisional clan hall!");
startQuestTimer("RESET_ORCHID_HALL", TWO_WEEKS - (System.currentTimeMillis() - calendar.getTimeInMillis()), null, null);
startQuestTimer("RESET_ORCHID_HALL", TWO_WEEKS - (Chronos.currentTimeMillis() - calendar.getTimeInMillis()), null, null);
return null;
}
}
@@ -177,7 +178,7 @@ public class ProvisionalHalls extends AbstractNpcAI
else if (event.startsWith(HALL_RESET_VAR))
{
final String id = event.replace(HALL_RESET_VAR, "");
if (((GlobalVariablesManager.getInstance().getLong(HALL_TIME_VAR + id, 0) + TWO_WEEKS) - 60000) <= System.currentTimeMillis())
if (((GlobalVariablesManager.getInstance().getLong(HALL_TIME_VAR + id, 0) + TWO_WEEKS) - 60000) <= Chronos.currentTimeMillis())
{
final int clanId = GlobalVariablesManager.getInstance().getInt(HALL_OWNER_VAR + id, 0);
if (clanId > 0)

View File

@@ -19,6 +19,7 @@ package ai.others.TrainingCamp;
import java.util.concurrent.TimeUnit;
import org.l2jmobius.Config;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.data.xml.ExperienceData;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.actor.Npc;
@@ -111,7 +112,7 @@ public class TrainingCamp extends AbstractNpcAI
player.teleToLocation(TRAINING_LOCATION);
player.setImmobilized(true);
// @Sdw: Here we are supposed to send ExUserInfoEquipSlot with a fake equip of a SLS, feels ugly to me, not doing it.
player.setTraingCampInfo(new TrainingHolder(player.getObjectId(), player.getClassIndex(), player.getLevel(), System.currentTimeMillis(), -1));
player.setTraingCampInfo(new TrainingHolder(player.getObjectId(), player.getClassIndex(), player.getLevel(), Chronos.currentTimeMillis(), -1));
final long timeRemaining = Config.TRAINING_CAMP_MAX_DURATION - trainingCampDuration;
player.sendPacket(new ExTrainingZone_Admission(player.getLevel(), 0, timeRemaining));
startQuestTimer("finish", TimeUnit.SECONDS.toMillis(timeRemaining), npc, player);
@@ -203,7 +204,7 @@ public class TrainingCamp extends AbstractNpcAI
final TrainingHolder holder = player.getTraingCampInfo();
if ((holder != null) && (holder.getObjectId() == player.getObjectId()))
{
holder.setEndTime(System.currentTimeMillis());
holder.setEndTime(Chronos.currentTimeMillis());
player.setTraingCampInfo(holder);
player.enableAllSkills();
player.setInvul(false);

View File

@@ -16,6 +16,7 @@
*/
package events.FreyaCelebration;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.CommonUtil;
import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.model.WorldObject;
@@ -79,7 +80,7 @@ public class FreyaCelebration extends LongTimeEvent
{
if (getQuestItemsCount(player, Inventory.ADENA_ID) > 1)
{
final long currentTime = System.currentTimeMillis();
final long currentTime = Chronos.currentTimeMillis();
final long reuseTime = player.getVariables().getLong(RESET_VAR, 0);
if (currentTime > reuseTime)
{

View File

@@ -16,6 +16,7 @@
*/
package events.GiftOfVitality;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.SkillHolder;
@@ -94,9 +95,9 @@ public class GiftOfVitality extends LongTimeEvent
case "vitality":
{
final long reuse = player.getVariables().getLong(REUSE, 0);
if (reuse > System.currentTimeMillis())
if (reuse > Chronos.currentTimeMillis())
{
final long remainingTime = (reuse - System.currentTimeMillis()) / 1000;
final long remainingTime = (reuse - Chronos.currentTimeMillis()) / 1000;
final int hours = (int) (remainingTime / 3600);
final int minutes = (int) ((remainingTime % 3600) / 60);
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_WILL_BE_AVAILABLE_FOR_RE_USE_AFTER_S2_HR_S3_MIN);
@@ -110,7 +111,7 @@ public class GiftOfVitality extends LongTimeEvent
{
SkillCaster.triggerCast(player, player, GIFT_OF_VITALITY.getSkill());
SkillCaster.triggerCast(player, player, JOY_OF_VITALITY.getSkill());
player.getVariables().set(REUSE, System.currentTimeMillis() + (HOURS * 3600000));
player.getVariables().set(REUSE, Chronos.currentTimeMillis() + (HOURS * 3600000));
htmltext = "4306-okvitality.htm";
}
break;

View File

@@ -16,6 +16,7 @@
*/
package events.HappyHours;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@@ -39,7 +40,7 @@ public class HappyHours extends LongTimeEvent
// Other
private static final int MIN_LEVEL = 20;
private static final int REWARD_INTERVAL = 60 * 60 * 1000; // 1 hour
private static long _lastRewardTime = System.currentTimeMillis();
private static long _lastRewardTime = Chronos.currentTimeMillis();
private HappyHours()
{
@@ -76,9 +77,9 @@ public class HappyHours extends LongTimeEvent
{
if (isEventPeriod())
{
if ((System.currentTimeMillis() - (_lastRewardTime + REWARD_INTERVAL)) > 0) // Exploit check - Just in case.
if ((Chronos.currentTimeMillis() - (_lastRewardTime + REWARD_INTERVAL)) > 0) // Exploit check - Just in case.
{
_lastRewardTime = System.currentTimeMillis();
_lastRewardTime = Chronos.currentTimeMillis();
final ExShowScreenMessage screenMsg = new ExShowScreenMessage("You obtained 20 Sibi's coins.", ExShowScreenMessage.TOP_CENTER, 7000, 0, true, true);
final SystemMessage systemMsg = new SystemMessage(SystemMessageId.YOU_HAVE_OBTAINED_S1_SIBI_S_COINS);
systemMsg.addInt(20);

View File

@@ -16,6 +16,7 @@
*/
package events.LoveYourGatekeeper;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.SkillHolder;
@@ -58,9 +59,9 @@ public class LoveYourGatekeeper extends LongTimeEvent
if (player.getAdena() >= PRICE)
{
final long reuse = player.getVariables().getLong(REUSE, 0);
if (reuse > System.currentTimeMillis())
if (reuse > Chronos.currentTimeMillis())
{
final long remainingTime = (reuse - System.currentTimeMillis()) / 1000;
final long remainingTime = (reuse - Chronos.currentTimeMillis()) / 1000;
final int hours = (int) (remainingTime / 3600);
final int minutes = (int) ((remainingTime % 3600) / 60);
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_WILL_BE_AVAILABLE_FOR_RE_USE_AFTER_S2_HR_S3_MIN);
@@ -73,7 +74,7 @@ public class LoveYourGatekeeper extends LongTimeEvent
{
takeItems(player, Inventory.ADENA_ID, PRICE);
giveItems(player, GATEKEEPER_TRANSFORMATION_STICK, 1);
player.getVariables().set(REUSE, System.currentTimeMillis() + (HOURS * 3600000));
player.getVariables().set(REUSE, Chronos.currentTimeMillis() + (HOURS * 3600000));
}
}
else

View File

@@ -16,6 +16,7 @@
*/
package events.MasterOfEnchanting;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.itemcontainer.Inventory;
@@ -86,7 +87,7 @@ public class MasterOfEnchanting extends LongTimeEvent
}
else if (event.equalsIgnoreCase("buy_scroll_24"))
{
final long curTime = System.currentTimeMillis();
final long curTime = Chronos.currentTimeMillis();
final String value = player.getVariables().getString("MasterOfEnchanting", "");
final long reuse = value.equals("") ? 0 : Long.parseLong(value);
if (player.getCreateDate().after(getEventPeriod().getStartDate()))
@@ -100,7 +101,7 @@ public class MasterOfEnchanting extends LongTimeEvent
{
takeItems(player, Inventory.ADENA_ID, SCROLL_24_PRICE);
giveItems(player, MASTER_YOGI_SCROLL, 24);
player.getVariables().set("MasterOfEnchanting", Long.toString(System.currentTimeMillis() + (SCROLL_24_TIME * 3600000)));
player.getVariables().set("MasterOfEnchanting", Long.toString(Chronos.currentTimeMillis() + (SCROLL_24_TIME * 3600000)));
htmltext = "32599-scroll24.htm";
}
else
@@ -134,7 +135,7 @@ public class MasterOfEnchanting extends LongTimeEvent
{
takeItems(player, Inventory.ADENA_ID, SCROLL_24_PRICE);
giveItems(player, MASTER_YOGI_SCROLL, 24);
player.getVariables().set("MasterOfEnchanting", Long.toString(System.currentTimeMillis() + (SCROLL_24_TIME * 3600000)));
player.getVariables().set("MasterOfEnchanting", Long.toString(Chronos.currentTimeMillis() + (SCROLL_24_TIME * 3600000)));
htmltext = "32599-scroll24.htm";
}
else

View File

@@ -22,6 +22,7 @@ import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.data.ItemTable;
import org.l2jmobius.gameserver.data.xml.SkillData;
@@ -324,7 +325,7 @@ public class SavingSanta extends LongTimeEvent
{
if (_rewardedPlayers.containsKey(pl.getAccountName()))
{
final long elapsedTimeSinceLastRewarded = System.currentTimeMillis() - _rewardedPlayers.get(pl.getAccountName());
final long elapsedTimeSinceLastRewarded = Chronos.currentTimeMillis() - _rewardedPlayers.get(pl.getAccountName());
if (elapsedTimeSinceLastRewarded < MIN_TIME_BETWEEN_2_REWARDS)
{
continue;
@@ -333,7 +334,7 @@ public class SavingSanta extends LongTimeEvent
else
{
final long time = player.getVariables().getLong("LAST_SANTA_REWARD", 0);
if ((System.currentTimeMillis() - time) < MIN_TIME_BETWEEN_2_REWARDS)
if ((Chronos.currentTimeMillis() - time) < MIN_TIME_BETWEEN_2_REWARDS)
{
_rewardedPlayers.put(pl.getAccountName(), time);
continue;
@@ -343,8 +344,8 @@ public class SavingSanta extends LongTimeEvent
final int locy = (int) (pl.getY() + (Math.pow(-1, getRandom(1, 2)) * 50));
final int heading = Util.calculateHeadingFrom(locx, locy, pl.getX(), pl.getY());
final Npc santa = addSpawn(HOLIDAY_SANTA_ID, locx, locy, pl.getZ(), heading, false, 30000);
_rewardedPlayers.put(pl.getAccountName(), System.currentTimeMillis());
player.getVariables().set("LAST_SANTA_REWARD", System.currentTimeMillis());
_rewardedPlayers.put(pl.getAccountName(), Chronos.currentTimeMillis());
player.getVariables().set("LAST_SANTA_REWARD", Chronos.currentTimeMillis());
startQuestTimer("SantaRewarding0", 500, santa, pl);
}
}
@@ -437,7 +438,7 @@ public class SavingSanta extends LongTimeEvent
else if (event.equalsIgnoreCase("SantaBlessings") && SANTAS_HELPER_AUTOBUFF)
{
startQuestTimer("SantaBlessings", 15000, null, null);
final long currentTime = System.currentTimeMillis();
final long currentTime = Chronos.currentTimeMillis();
for (Npc santaHelper1 : _santaHelpers)
{
for (PlayerInstance plb : World.getInstance().getVisibleObjects(santaHelper1, PlayerInstance.class))

View File

@@ -19,6 +19,7 @@ package handlers.admincommandhandlers;
import java.util.Collection;
import java.util.StringTokenizer;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.handler.IAdminCommandHandler;
import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
import org.l2jmobius.gameserver.model.CursedWeapon;
@@ -209,7 +210,7 @@ public class AdminCursedWeapons implements IAdminCommandHandler
{
activeChar.addItem("AdminCursedWeaponAdd", id, 1, activeChar, true);
}
cw.setEndTime(System.currentTimeMillis() + (cw.getDuration() * 60000));
cw.setEndTime(Chronos.currentTimeMillis() + (cw.getDuration() * 60000));
cw.reActivate();
}
}

View File

@@ -19,6 +19,7 @@ package handlers.admincommandhandlers;
import java.util.Calendar;
import java.util.StringTokenizer;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.handler.IAdminCommandHandler;
import org.l2jmobius.gameserver.instancemanager.GraciaSeedsManager;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@@ -66,7 +67,7 @@ public class AdminGraciaSeeds implements IAdminCommandHandler
if (GraciaSeedsManager.getInstance().getSoDTimeForNextStateChange() > 0)
{
final Calendar nextChangeDate = Calendar.getInstance();
nextChangeDate.setTimeInMillis(System.currentTimeMillis() + GraciaSeedsManager.getInstance().getSoDTimeForNextStateChange());
nextChangeDate.setTimeInMillis(Chronos.currentTimeMillis() + GraciaSeedsManager.getInstance().getSoDTimeForNextStateChange());
html.replace("%sodtime%", nextChangeDate.getTime().toString());
}
else

View File

@@ -20,6 +20,7 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.StringTokenizer;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.handler.IAdminCommandHandler;
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
import org.l2jmobius.gameserver.model.World;
@@ -118,7 +119,7 @@ public class AdminInstanceZone implements IAdminCommandHandler
int hours = 0;
int minutes = 0;
final int id = entry.getKey();
final long remainingTime = (entry.getValue() - System.currentTimeMillis()) / 1000;
final long remainingTime = (entry.getValue() - Chronos.currentTimeMillis()) / 1000;
if (remainingTime > 0)
{
hours = (int) (remainingTime / 3600);

View File

@@ -24,6 +24,7 @@ import java.util.StringTokenizer;
import java.util.logging.Logger;
import org.l2jmobius.Config;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.CommonUtil;
import org.l2jmobius.gameserver.cache.HtmCache;
import org.l2jmobius.gameserver.data.sql.CharNameTable;
@@ -233,7 +234,7 @@ public class AdminPunishment implements IAdminCommandHandler
long expirationTime = Integer.parseInt(exp);
if (expirationTime > 0)
{
expirationTime = System.currentTimeMillis() + (expirationTime * 60 * 1000);
expirationTime = Chronos.currentTimeMillis() + (expirationTime * 60 * 1000);
}
final PunishmentAffect affect = PunishmentAffect.getByName(af);

View File

@@ -24,6 +24,7 @@ import java.util.Set;
import java.util.concurrent.TimeUnit;
import org.l2jmobius.Config;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.GameServer;
import org.l2jmobius.gameserver.GameTimeController;
import org.l2jmobius.gameserver.cache.HtmCache;
@@ -60,7 +61,7 @@ public class AdminServerInfo implements IAdminCommandHandler
html.replace("%gameTime%", GameTimeController.getInstance().getGameHour() + ":" + GameTimeController.getInstance().getGameMinute());
html.replace("%dayNight%", GameTimeController.getInstance().isNight() ? "Night" : "Day");
html.replace("%geodata%", Config.PATHFINDING ? "Enabled" : "Disabled");
html.replace("%serverTime%", SDF.format(new Date(System.currentTimeMillis())));
html.replace("%serverTime%", SDF.format(new Date(Chronos.currentTimeMillis())));
html.replace("%serverUpTime%", getServerUpTime());
html.replace("%onlineAll%", getPlayersCount("ALL"));
html.replace("%offlineTrade%", getPlayersCount("OFF_TRADE"));
@@ -76,7 +77,7 @@ public class AdminServerInfo implements IAdminCommandHandler
private String getServerUpTime()
{
long time = System.currentTimeMillis() - GameServer.dateTimeServerStarted.getTimeInMillis();
long time = Chronos.currentTimeMillis() - GameServer.dateTimeServerStarted.getTimeInMillis();
final long days = TimeUnit.MILLISECONDS.toDays(time);
time -= TimeUnit.DAYS.toMillis(days);

View File

@@ -21,6 +21,7 @@ import java.util.Map;
import java.util.Map.Entry;
import org.l2jmobius.Config;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.handler.IBypassHandler;
@@ -133,7 +134,7 @@ public class FindPvP implements IBypassHandler
player.setSpawnProtection(true);
if (!player.isGM())
{
player.setPvpFlagLasts(System.currentTimeMillis() + Config.PVP_PVP_TIME);
player.setPvpFlagLasts(Chronos.currentTimeMillis() + Config.PVP_PVP_TIME);
player.startPvPFlag();
}
}

View File

@@ -16,6 +16,7 @@
*/
package handlers.dailymissionhandlers;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.enums.DailyMissionStatus;
import org.l2jmobius.gameserver.handler.AbstractDailyMissionHandler;
import org.l2jmobius.gameserver.model.DailyMissionDataHolder;
@@ -61,9 +62,9 @@ public class LoginMonthDailyMissionHandler extends AbstractDailyMissionHandler
final long lastCompleted = entry.getLastCompleted();
if (lastCompleted == 0) // Initial entry.
{
entry.setLastCompleted(System.currentTimeMillis());
entry.setLastCompleted(Chronos.currentTimeMillis());
}
else if ((System.currentTimeMillis() - lastCompleted) > 2506000000L) // 2506000000L (29 day) delay.
else if ((Chronos.currentTimeMillis() - lastCompleted) > 2506000000L) // 2506000000L (29 day) delay.
{
entry.setProgress(1);
entry.setStatus(DailyMissionStatus.AVAILABLE);

View File

@@ -18,6 +18,7 @@ package handlers.dailymissionhandlers;
import java.util.Calendar;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.enums.DailyMissionStatus;
import org.l2jmobius.gameserver.handler.AbstractDailyMissionHandler;
import org.l2jmobius.gameserver.model.DailyMissionDataHolder;
@@ -63,7 +64,7 @@ public class LoginWeekendDailyMissionHandler extends AbstractDailyMissionHandler
final int currentDay = Calendar.getInstance().get(Calendar.DAY_OF_WEEK);
final long lastCompleted = entry.getLastCompleted();
if (((currentDay == Calendar.SATURDAY) || (currentDay == Calendar.SUNDAY)) // Reward only on weekend.
&& ((lastCompleted == 0) || ((System.currentTimeMillis() - lastCompleted) > 172800000))) // Initial entry or 172800000 (2 day) delay.
&& ((lastCompleted == 0) || ((Chronos.currentTimeMillis() - lastCompleted) > 172800000))) // Initial entry or 172800000 (2 day) delay.
{
entry.setProgress(1);
entry.setStatus(DailyMissionStatus.AVAILABLE);

View File

@@ -16,6 +16,7 @@
*/
package handlers.punishmenthandlers;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.handler.IPunishmentHandler;
import org.l2jmobius.gameserver.model.World;
@@ -126,7 +127,7 @@ public class ChatBanHandler implements IPunishmentHandler
*/
private void applyToPlayer(PunishmentTask task, PlayerInstance player)
{
final long delay = ((task.getExpirationTime() - System.currentTimeMillis()) / 1000);
final long delay = ((task.getExpirationTime() - Chronos.currentTimeMillis()) / 1000);
if (delay > 0)
{
player.sendMessage("You've been chat banned for " + (delay > 60 ? ((delay / 60) + " minutes.") : delay + " seconds."));

View File

@@ -17,6 +17,7 @@
package handlers.punishmenthandlers;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.cache.HtmCache;
import org.l2jmobius.gameserver.handler.IPunishmentHandler;
@@ -180,7 +181,7 @@ public class JailHandler implements IPunishmentHandler
player.sendPacket(msg);
if (task != null)
{
final long delay = ((task.getExpirationTime() - System.currentTimeMillis()) / 1000);
final long delay = ((task.getExpirationTime() - Chronos.currentTimeMillis()) / 1000);
if (delay > 0)
{
player.sendMessage("You've been jailed for " + (delay > 60 ? ((delay / 60) + " minutes.") : delay + " seconds."));

View File

@@ -16,6 +16,7 @@
*/
package handlers.telnethandlers.player;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.data.sql.CharNameTable;
import org.l2jmobius.gameserver.instancemanager.PunishmentManager;
import org.l2jmobius.gameserver.model.punishment.PunishmentAffect;
@@ -65,7 +66,7 @@ public class Ban implements ITelnetCommand
if (Util.isDigit(token))
{
time = Integer.parseInt(token) * 60 * 1000;
time += System.currentTimeMillis();
time += Chronos.currentTimeMillis();
}
if (args.length > 2)
{

View File

@@ -16,6 +16,7 @@
*/
package handlers.telnethandlers.player;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.data.sql.CharNameTable;
import org.l2jmobius.gameserver.instancemanager.PunishmentManager;
import org.l2jmobius.gameserver.model.punishment.PunishmentAffect;
@@ -65,7 +66,7 @@ public class BanChat implements ITelnetCommand
if (Util.isDigit(token))
{
time = Integer.parseInt(token) * 60 * 1000;
time += System.currentTimeMillis();
time += Chronos.currentTimeMillis();
}
if (args.length > 2)
{

View File

@@ -16,6 +16,7 @@
*/
package handlers.telnethandlers.player;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.data.sql.CharNameTable;
import org.l2jmobius.gameserver.instancemanager.PunishmentManager;
import org.l2jmobius.gameserver.model.punishment.PunishmentAffect;
@@ -65,7 +66,7 @@ public class Jail implements ITelnetCommand
if (Util.isDigit(token))
{
time = Integer.parseInt(token) * 60 * 1000;
time += System.currentTimeMillis();
time += Chronos.currentTimeMillis();
}
if (args.length > 2)
{

View File

@@ -18,6 +18,7 @@ package handlers.usercommandhandlers;
import java.text.SimpleDateFormat;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.handler.IUserCommandHandler;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
@@ -46,7 +47,7 @@ public class ClanPenalty implements IUserCommandHandler
final StringBuilder htmlContent = new StringBuilder(500);
htmlContent.append("<html><body><center><table width=270 border=0 bgcolor=111111><tr><td width=170>Penalty</td><td width=100 align=center>Expiration Date</td></tr></table><table width=270 border=0><tr>");
if (player.getClanJoinExpiryTime() > System.currentTimeMillis())
if (player.getClanJoinExpiryTime() > Chronos.currentTimeMillis())
{
htmlContent.append("<td width=170>Unable to join a clan.</td><td width=100 align=center>");
htmlContent.append(format.format(player.getClanJoinExpiryTime()));
@@ -54,7 +55,7 @@ public class ClanPenalty implements IUserCommandHandler
penalty = true;
}
if (player.getClanCreateExpiryTime() > System.currentTimeMillis())
if (player.getClanCreateExpiryTime() > Chronos.currentTimeMillis())
{
htmlContent.append("<td width=170>Unable to create a clan.</td><td width=100 align=center>");
htmlContent.append(format.format(player.getClanCreateExpiryTime()));
@@ -62,7 +63,7 @@ public class ClanPenalty implements IUserCommandHandler
penalty = true;
}
if ((player.getClan() != null) && (player.getClan().getCharPenaltyExpiryTime() > System.currentTimeMillis()))
if ((player.getClan() != null) && (player.getClan().getCharPenaltyExpiryTime() > Chronos.currentTimeMillis()))
{
htmlContent.append("<td width=170>Unable to invite a clan member.</td><td width=100 align=center>");
htmlContent.append(format.format(player.getClan().getCharPenaltyExpiryTime()));

View File

@@ -20,6 +20,7 @@ import java.text.SimpleDateFormat;
import java.util.Date;
import org.l2jmobius.Config;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.GameTimeController;
import org.l2jmobius.gameserver.handler.IUserCommandHandler;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@@ -74,7 +75,7 @@ public class Time implements IUserCommandHandler
player.sendPacket(sm);
if (Config.DISPLAY_SERVER_TIME)
{
player.sendMessage("Server time is " + SDF.format(new Date(System.currentTimeMillis())));
player.sendMessage("Server time is " + SDF.format(new Date(Chronos.currentTimeMillis())));
}
return true;
}

View File

@@ -18,6 +18,7 @@ package handlers.voicedcommandhandlers;
import java.util.StringTokenizer;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.data.sql.CharNameTable;
import org.l2jmobius.gameserver.data.xml.AdminData;
import org.l2jmobius.gameserver.handler.IVoicedCommandHandler;
@@ -103,7 +104,7 @@ public class ChatAdmin implements IVoicedCommandHandler
return false;
}
PunishmentManager.getInstance().startPunishment(new PunishmentTask(objId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN, System.currentTimeMillis() + (expirationTime * 1000 * 60), "Chat banned by moderator", activeChar.getName()));
PunishmentManager.getInstance().startPunishment(new PunishmentTask(objId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN, Chronos.currentTimeMillis() + (expirationTime * 1000 * 60), "Chat banned by moderator", activeChar.getName()));
if (expirationTime > 0)
{
BuilderUtil.sendSysMessage(activeChar, "Player " + player.getName() + " chat banned for " + expirationTime + " minutes.");

View File

@@ -19,6 +19,7 @@ package handlers.voicedcommandhandlers;
import java.text.SimpleDateFormat;
import org.l2jmobius.Config;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.handler.IVoicedCommandHandler;
import org.l2jmobius.gameserver.instancemanager.PremiumManager;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@@ -74,7 +75,7 @@ public class Premium implements IVoicedCommandHandler
html.append("<tr><td>Spoil Chance: <font color=\"LEVEL\">x" + (Config.RATE_SPOIL_DROP_CHANCE_MULTIPLIER * Config.PREMIUM_RATE_SPOIL_CHANCE) + " <br1></font></td></tr>");
html.append("<tr><td>Spoil Amount: <font color=\"LEVEL\">x" + (Config.RATE_SPOIL_DROP_AMOUNT_MULTIPLIER * Config.PREMIUM_RATE_SPOIL_AMOUNT) + " <br1></font></td></tr>");
html.append("<tr><td>Expires: <font color=\"00A5FF\">" + format.format(endDate) + "</font></td></tr>");
html.append("<tr><td>Current Date: <font color=\"70FFCA\">" + format.format(System.currentTimeMillis()) + "<br><br></font></td></tr>");
html.append("<tr><td>Current Date: <font color=\"70FFCA\">" + format.format(Chronos.currentTimeMillis()) + "<br><br></font></td></tr>");
html.append("<tr><td><center>Premium Info & Rules<br></center></td></tr>");
html.append("<tr><td><font color=\"70FFCA\">1. Premium accounts CAN NOT BE TRANSFERED.<br1></font></td></tr>");
html.append("<tr><td><font color=\"70FFCA\">2. Premium does not effect party members.<br1></font></td></tr>");

View File

@@ -24,6 +24,7 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ScheduledFuture;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.CommonUtil;
import org.l2jmobius.gameserver.enums.QuestSound;
import org.l2jmobius.gameserver.model.Location;
@@ -156,7 +157,7 @@ public class CastleDungeon extends AbstractInstance
public void onInstanceCreated(Instance instance, PlayerInstance player)
{
// Put re-enter for instance
REENETER_HOLDER.put(instance.getTemplateId(), System.currentTimeMillis() + REENTER);
REENETER_HOLDER.put(instance.getTemplateId(), Chronos.currentTimeMillis() + REENTER);
// Schedule spawn of first raid
spawnRaid(instance);
}
@@ -174,7 +175,7 @@ public class CastleDungeon extends AbstractInstance
else if (REENETER_HOLDER.containsKey(template.getId()))
{
final long time = REENETER_HOLDER.get(template.getId());
if (time > System.currentTimeMillis())
if (time > Chronos.currentTimeMillis())
{
showHtmlFile(groupLeader, "enterRestricted.html");
return false;

View File

@@ -24,6 +24,7 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ScheduledFuture;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.CommonUtil;
import org.l2jmobius.gameserver.enums.QuestSound;
import org.l2jmobius.gameserver.model.Location;
@@ -169,7 +170,7 @@ public class FortressDungeon extends AbstractInstance
public void onInstanceCreated(Instance instance, PlayerInstance player)
{
// Put re-enter for instance
REENETER_HOLDER.put(instance.getTemplateId(), System.currentTimeMillis() + REENTER);
REENETER_HOLDER.put(instance.getTemplateId(), Chronos.currentTimeMillis() + REENTER);
// Schedule spawn of first raid
spawnRaid(instance);
}
@@ -197,7 +198,7 @@ public class FortressDungeon extends AbstractInstance
else if (REENETER_HOLDER.containsKey(template.getId()))
{
final long time = REENETER_HOLDER.get(template.getId());
if (time > System.currentTimeMillis())
if (time > Chronos.currentTimeMillis())
{
showHtmlFile(groupLeader, "enterRestricted.html");
return false;

View File

@@ -24,6 +24,7 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.logging.Level;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
import org.l2jmobius.gameserver.model.Location;
@@ -469,7 +470,7 @@ public class Kamaloka extends AbstractInstance
continue;
}
// if found instance still can't be reentered - exit
if (System.currentTimeMillis() < entry.getValue().longValue())
if (Chronos.currentTimeMillis() < entry.getValue().longValue())
{
final SystemMessage sm = new SystemMessage(SystemMessageId.C1_MAY_NOT_RE_ENTER_YET);
sm.addPcName(partyMember);

View File

@@ -22,6 +22,7 @@ import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance;
import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance;
@@ -260,7 +261,7 @@ public class PailakaRuneCastle extends AbstractInstance
public void onInstanceCreated(Instance instance, PlayerInstance player)
{
// Put re-enter for instance
REENETER_HOLDER.put(instance.getTemplateId(), System.currentTimeMillis() + REENTER);
REENETER_HOLDER.put(instance.getTemplateId(), Chronos.currentTimeMillis() + REENTER);
// Schedule spawn of first wave
startQuestTimer("SPAWN_NEXT_WAVE", 120000, null, player, false); // 2 minutes
}
@@ -280,7 +281,7 @@ public class PailakaRuneCastle extends AbstractInstance
else if (REENETER_HOLDER.containsKey(template.getId()))
{
final long time = REENETER_HOLDER.get(template.getId());
if (time > System.currentTimeMillis())
if (time > Chronos.currentTimeMillis())
{
showHtmlFile(groupLeader, "enterRestricted.html");
return false;
@@ -309,7 +310,7 @@ public class PailakaRuneCastle extends AbstractInstance
else if (REENETER_HOLDER.containsKey(template.getId()))
{
final long time = REENETER_HOLDER.get(template.getId());
if (time > System.currentTimeMillis())
if (time > Chronos.currentTimeMillis())
{
showHtmlFile(groupLeader, "enterRestricted.html");
return false;

View File

@@ -0,0 +1,80 @@
/*
* Copyright (c) 2021 Pantelis Andrianakis
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package org.l2jmobius.commons.util;
/**
* Chronos updates an internal long value with System.currentTimeMillis() approximately every 1 millisecond.<br>
* To get the current time in milliseconds use Chronos.currentTimeMillis()
* @author Pantelis Andrianakis
* @version February 3rd 2021
*/
public class Chronos extends Thread
{
private long _currentTimeMillis = System.currentTimeMillis();
public Chronos()
{
super.setName("Chronos");
super.setPriority(MAX_PRIORITY);
super.setDaemon(true);
super.start();
}
@Override
public void run()
{
while (true)
{
_currentTimeMillis = System.currentTimeMillis();
// Sleep for approximately 1 millisecond.
try
{
Thread.sleep(1);
}
catch (Exception e)
{
}
}
}
/**
* Returns the current time in milliseconds. Note that while the unit of time of the return value is a millisecond,the granularity of the value depends on the underlying operating system and may be larger. For example, many operating systems measure time in units of tens of milliseconds.<br>
* <br>
* See the description of the class Date for a discussion of slight discrepancies that may arise between "computer time" and coordinated universal time (UTC).
* @return the difference, measured in milliseconds, between the current time and midnight, January 1, 1970 UTC.
*/
public static long currentTimeMillis()
{
return getInstance()._currentTimeMillis;
}
public static Chronos getInstance()
{
return SingletonHolder.INSTANCE;
}
private static class SingletonHolder
{
protected static final Chronos INSTANCE = new Chronos();
}
}

View File

@@ -32,6 +32,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.enums.ServerMode;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.DeadLockDetector;
import org.l2jmobius.gameserver.cache.HtmCache;
import org.l2jmobius.gameserver.data.BotReportTable;
@@ -182,7 +183,7 @@ public class GameServer
public GameServer() throws Exception
{
final long serverLoadStart = System.currentTimeMillis();
final long serverLoadStart = Chronos.currentTimeMillis();
// GUI
if (!GraphicsEnvironment.isHeadless())
@@ -465,7 +466,7 @@ public class GameServer
final long totalMem = Runtime.getRuntime().maxMemory() / 1048576;
LOGGER.info(getClass().getSimpleName() + ": Started, using " + getUsedMemoryMB() + " of " + totalMem + " MB total memory.");
LOGGER.info(getClass().getSimpleName() + ": Maximum number of connected players is " + Config.MAXIMUM_ONLINE_USERS + ".");
LOGGER.info(getClass().getSimpleName() + ": Server loaded in " + ((System.currentTimeMillis() - serverLoadStart) / 1000) + " seconds.");
LOGGER.info(getClass().getSimpleName() + ": Server loaded in " + ((Chronos.currentTimeMillis() - serverLoadStart) / 1000) + " seconds.");
ClientNetworkManager.getInstance().start();

View File

@@ -22,6 +22,7 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.events.EventDispatcher;
import org.l2jmobius.gameserver.model.events.impl.OnDayNightChange;
@@ -97,7 +98,7 @@ public class GameTimeController extends Thread
*/
public int getGameTicks()
{
return (int) ((System.currentTimeMillis() - _referenceTime) / MILLIS_IN_TICK);
return (int) ((Chronos.currentTimeMillis() - _referenceTime) / MILLIS_IN_TICK);
}
/**
@@ -155,7 +156,7 @@ public class GameTimeController extends Thread
while (true)
{
nextTickTime = ((System.currentTimeMillis() / MILLIS_IN_TICK) * MILLIS_IN_TICK) + 100;
nextTickTime = ((Chronos.currentTimeMillis() / MILLIS_IN_TICK) * MILLIS_IN_TICK) + 100;
try
{
@@ -166,7 +167,7 @@ public class GameTimeController extends Thread
LOGGER.log(Level.WARNING, getClass().getSimpleName(), e);
}
sleepTime = nextTickTime - System.currentTimeMillis();
sleepTime = nextTickTime - Chronos.currentTimeMillis();
if (sleepTime > 0)
{
try

View File

@@ -22,6 +22,7 @@ import java.util.List;
import org.l2jmobius.Config;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.enums.ItemLocation;
import org.l2jmobius.gameserver.instancemanager.ItemsOnGroundManager;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
@@ -42,7 +43,7 @@ public class ItemsAutoDestroy
public synchronized void addItem(ItemInstance item)
{
item.setDropTime(System.currentTimeMillis());
item.setDropTime(Chronos.currentTimeMillis());
_items.add(item);
}
@@ -53,7 +54,7 @@ public class ItemsAutoDestroy
return;
}
final long curtime = System.currentTimeMillis();
final long curtime = Chronos.currentTimeMillis();
final Iterator<ItemInstance> itemIterator = _items.iterator();
while (itemIterator.hasNext())
{

View File

@@ -23,6 +23,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.database.DatabaseBackup;
import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.data.BotReportTable;
import org.l2jmobius.gameserver.data.sql.ClanTable;
import org.l2jmobius.gameserver.data.sql.OfflineTraderTable;
@@ -529,19 +530,19 @@ public class Shutdown extends Thread
protected void restartCounter()
{
_startTime = System.currentTimeMillis();
_startTime = Chronos.currentTimeMillis();
}
protected long getEstimatedTimeAndRestartCounter()
{
final long toReturn = System.currentTimeMillis() - _startTime;
final long toReturn = Chronos.currentTimeMillis() - _startTime;
restartCounter();
return toReturn;
}
protected long getEstimatedTime()
{
return System.currentTimeMillis() - _startTime;
return Chronos.currentTimeMillis() - _startTime;
}
}

View File

@@ -33,6 +33,7 @@ import java.util.logging.Logger;
import org.l2jmobius.Config;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.enums.ItemLocation;
import org.l2jmobius.gameserver.geoengine.GeoEngine;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
@@ -308,7 +309,7 @@ public class CreatureAI extends AbstractAI
if (_actor.isAttackingNow())
{
ThreadPool.schedule(new CastTask(_actor, skill, target, item, forceUse, dontMove), _actor.getAttackEndTime() - TimeUnit.MILLISECONDS.toNanos(System.currentTimeMillis()));
ThreadPool.schedule(new CastTask(_actor, skill, target, item, forceUse, dontMove), _actor.getAttackEndTime() - TimeUnit.MILLISECONDS.toNanos(Chronos.currentTimeMillis()));
}
else
{

View File

@@ -22,6 +22,7 @@ import java.util.concurrent.ConcurrentHashMap;
import org.l2jmobius.Config;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
/**
@@ -39,7 +40,7 @@ public class WarehouseCacheManager
public void addCacheTask(PlayerInstance pc)
{
CACHED_WH.put(pc, System.currentTimeMillis());
CACHED_WH.put(pc, Chronos.currentTimeMillis());
}
public void remCacheTask(PlayerInstance pc)
@@ -56,7 +57,7 @@ public class WarehouseCacheManager
@Override
public void run()
{
final long cTime = System.currentTimeMillis();
final long cTime = Chronos.currentTimeMillis();
for (Entry<PlayerInstance, Long> entry : CACHED_WH.entrySet())
{
if ((cTime - entry.getValue().longValue()) > CACHE_TIME)

View File

@@ -39,6 +39,7 @@ import org.xml.sax.helpers.DefaultHandler;
import org.l2jmobius.Config;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
@@ -124,7 +125,7 @@ public class BotReportTable
final Calendar c = Calendar.getInstance();
c.set(Calendar.HOUR_OF_DAY, Integer.parseInt(hour[0]));
c.set(Calendar.MINUTE, Integer.parseInt(hour[1]));
if (System.currentTimeMillis() < c.getTimeInMillis())
if (Chronos.currentTimeMillis() < c.getTimeInMillis())
{
c.set(Calendar.DAY_OF_YEAR, c.get(Calendar.DAY_OF_YEAR) - 1);
}
@@ -290,7 +291,7 @@ public class BotReportTable
return false;
}
final long reuse = (System.currentTimeMillis() - rcdRep.getLastReporTime());
final long reuse = (Chronos.currentTimeMillis() - rcdRep.getLastReporTime());
if (reuse < Config.BOTREPORT_REPORT_DELAY)
{
final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_CAN_MAKE_ANOTHER_REPORT_IN_S1_MIN_YOU_HAVE_S2_POINT_S_REMAINING_ON_THIS_ACCOUNT);
@@ -301,7 +302,7 @@ public class BotReportTable
}
}
final long curTime = System.currentTimeMillis();
final long curTime = Chronos.currentTimeMillis();
if (rcd == null)
{
rcd = new ReportedCharData();
@@ -418,12 +419,12 @@ public class BotReportTable
final Calendar c = Calendar.getInstance();
c.set(Calendar.HOUR_OF_DAY, Integer.parseInt(hour[0]));
c.set(Calendar.MINUTE, Integer.parseInt(hour[1]));
if (System.currentTimeMillis() > c.getTimeInMillis())
if (Chronos.currentTimeMillis() > c.getTimeInMillis())
{
c.set(Calendar.DAY_OF_YEAR, c.get(Calendar.DAY_OF_YEAR) + 1);
}
ThreadPool.schedule(new ResetPointTask(), c.getTimeInMillis() - System.currentTimeMillis());
ThreadPool.schedule(new ResetPointTask(), c.getTimeInMillis() - Chronos.currentTimeMillis());
}
catch (Exception e)
{
@@ -464,7 +465,7 @@ public class BotReportTable
{
if (map.containsKey(objectId))
{
return (System.currentTimeMillis() - map.get(objectId)) > Config.BOTREPORT_REPORT_DELAY;
return (Chronos.currentTimeMillis() - map.get(objectId)) > Config.BOTREPORT_REPORT_DELAY;
}
return true;
}

View File

@@ -31,6 +31,7 @@ import java.util.logging.Logger;
import org.l2jmobius.Config;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.communitybbs.Manager.ForumsBBSManager;
import org.l2jmobius.gameserver.data.xml.ClanHallData;
import org.l2jmobius.gameserver.enums.ClanWarState;
@@ -171,7 +172,7 @@ public class ClanTable
player.sendPacket(SystemMessageId.YOU_HAVE_FAILED_TO_CREATE_A_CLAN);
return null;
}
if (System.currentTimeMillis() < player.getClanCreateExpiryTime())
if (Chronos.currentTimeMillis() < player.getClanCreateExpiryTime())
{
player.sendPacket(SystemMessageId.YOU_MUST_WAIT_10_DAYS_BEFORE_CREATING_A_NEW_CLAN);
return null;
@@ -346,7 +347,7 @@ public class ClanTable
{
destroyClan(clanId);
}
}, Math.max(getClan(clanId).getDissolvingExpiryTime() - System.currentTimeMillis(), 300000));
}, Math.max(getClan(clanId).getDissolvingExpiryTime() - Chronos.currentTimeMillis(), 300000));
}
public boolean isAllyExists(String allyName)

View File

@@ -29,6 +29,7 @@ import java.util.logging.Logger;
import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.enums.PrivateStoreType;
import org.l2jmobius.gameserver.model.TradeItem;
import org.l2jmobius.gameserver.model.World;
@@ -185,7 +186,7 @@ public class OfflineTraderTable
final Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(time);
cal.add(Calendar.DAY_OF_YEAR, Config.OFFLINE_MAX_DAYS);
if (cal.getTimeInMillis() <= System.currentTimeMillis())
if (cal.getTimeInMillis() <= Chronos.currentTimeMillis())
{
continue;
}

View File

@@ -26,6 +26,7 @@ import java.util.logging.Level;
import java.util.logging.Logger;
import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.enums.DailyMissionStatus;
import org.l2jmobius.gameserver.enums.SpecialItemType;
import org.l2jmobius.gameserver.model.DailyMissionDataHolder;
@@ -114,7 +115,7 @@ public abstract class AbstractDailyMissionHandler extends ListenersContainer
final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true);
entry.setStatus(DailyMissionStatus.COMPLETED);
entry.setLastCompleted(System.currentTimeMillis());
entry.setLastCompleted(Chronos.currentTimeMillis());
entry.setRecentlyCompleted(true);
storePlayerEntry(entry);

View File

@@ -23,6 +23,7 @@ import java.util.logging.Logger;
import org.l2jmobius.Config;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.data.xml.AdminData;
import org.l2jmobius.gameserver.enums.PlayerAction;
import org.l2jmobius.gameserver.model.WorldObject;
@@ -115,7 +116,7 @@ public class AdminCommandHandler implements IHandler<IAdminCommandHandler, Strin
// Admin Commands must run through a long running task, otherwise a command that takes too much time will freeze the server, this way you'll feel only a minor spike.
ThreadPool.execute(() ->
{
final long begin = System.currentTimeMillis();
final long begin = Chronos.currentTimeMillis();
try
{
if (Config.GMAUDIT)
@@ -133,7 +134,7 @@ public class AdminCommandHandler implements IHandler<IAdminCommandHandler, Strin
}
finally
{
final long runtime = System.currentTimeMillis() - begin;
final long runtime = Chronos.currentTimeMillis() - begin;
if (runtime > 5000)
{
player.sendMessage("The execution of '" + fullCommand + "' took " + TimeAmountInterpreter.consolidateMillis(runtime) + ".");

View File

@@ -22,6 +22,7 @@ import java.util.concurrent.atomic.AtomicInteger;
import java.util.logging.Logger;
import org.l2jmobius.Config;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.network.GameClient;
@@ -48,7 +49,7 @@ public class AntiFeedManager
*/
public void setLastDeathTime(int objectId)
{
_lastDeathTimes.put(objectId, System.currentTimeMillis());
_lastDeathTimes.put(objectId, Chronos.currentTimeMillis());
}
/**
@@ -81,7 +82,7 @@ public class AntiFeedManager
return false;
}
if ((Config.ANTIFEED_INTERVAL > 0) && _lastDeathTimes.containsKey(targetPlayer.getObjectId()) && ((System.currentTimeMillis() - _lastDeathTimes.get(targetPlayer.getObjectId())) < Config.ANTIFEED_INTERVAL))
if ((Config.ANTIFEED_INTERVAL > 0) && _lastDeathTimes.containsKey(targetPlayer.getObjectId()) && ((Chronos.currentTimeMillis() - _lastDeathTimes.get(targetPlayer.getObjectId())) < Config.ANTIFEED_INTERVAL))
{
return false;
}

View File

@@ -41,6 +41,7 @@ import org.w3c.dom.Node;
import org.l2jmobius.Config;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.IXmlReader;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.enums.ManorMode;
@@ -276,7 +277,7 @@ public class CastleManorManager implements IXmlReader, IStorable
}
}
// Schedule mode change
ThreadPool.schedule(this::changeMode, (_nextModeChange.getTimeInMillis() - System.currentTimeMillis()));
ThreadPool.schedule(this::changeMode, (_nextModeChange.getTimeInMillis() - Chronos.currentTimeMillis()));
}
public void changeMode()

View File

@@ -35,6 +35,7 @@ import org.w3c.dom.Node;
import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.IXmlReader;
import org.l2jmobius.gameserver.model.CursedWeapon;
import org.l2jmobius.gameserver.model.actor.Attackable;
@@ -313,7 +314,7 @@ public class CursedWeaponsManager implements IXmlReader
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_HAS_S2_MIN_OF_USAGE_TIME_REMAINING);
sm.addString(cw.getName());
// sm.addItemName(cw.getItemId());
sm.addInt((int) ((cw.getEndTime() - System.currentTimeMillis()) / 60000));
sm.addInt((int) ((cw.getEndTime() - Chronos.currentTimeMillis()) / 60000));
player.sendPacket(sm);
}
}

View File

@@ -32,6 +32,7 @@ import java.util.logging.Logger;
import org.l2jmobius.Config;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.data.SpawnTable;
import org.l2jmobius.gameserver.data.xml.NpcData;
@@ -193,7 +194,7 @@ public class DBSpawnManager
final int respawnMinDelay = (int) (npc.getSpawn().getRespawnMinDelay() * Config.RAID_MIN_RESPAWN_MULTIPLIER);
final int respawnMaxDelay = (int) (npc.getSpawn().getRespawnMaxDelay() * Config.RAID_MAX_RESPAWN_MULTIPLIER);
final int respawnDelay = Rnd.get(respawnMinDelay, respawnMaxDelay);
final long respawnTime = System.currentTimeMillis() + respawnDelay;
final long respawnTime = Chronos.currentTimeMillis() + respawnDelay;
info.set("currentHP", npc.getMaxHp());
info.set("currentMP", npc.getMaxMp());
info.set("respawnTime", respawnTime);
@@ -235,7 +236,7 @@ public class DBSpawnManager
}
final int npcId = spawn.getId();
final long time = System.currentTimeMillis();
final long time = Chronos.currentTimeMillis();
SpawnTable.getInstance().addNewSpawn(spawn, false);
if ((respawnTime == 0) || (time > respawnTime))
{
@@ -257,7 +258,7 @@ public class DBSpawnManager
}
else
{
final long spawnTime = respawnTime - System.currentTimeMillis();
final long spawnTime = respawnTime - Chronos.currentTimeMillis();
_schedules.put(npcId, ThreadPool.schedule(() -> scheduleSpawn(npcId), spawnTime));
}

View File

@@ -21,6 +21,7 @@ import java.util.logging.Logger;
import org.l2jmobius.Config;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.instancemanager.tasks.UpdateSoDStateTask;
import org.l2jmobius.gameserver.model.quest.Quest;
@@ -104,7 +105,7 @@ public class GraciaSeedsManager
case 2:
{
// Conquest Complete state, if too much time is passed than change to defense state
final long timePast = System.currentTimeMillis() - _SoDLastStateChangeDate.getTimeInMillis();
final long timePast = Chronos.currentTimeMillis() - _SoDLastStateChangeDate.getTimeInMillis();
if (timePast >= Config.SOD_STAGE_2_LENGTH)
{
// change to Attack state because Defend statet is not implemented
@@ -172,7 +173,7 @@ public class GraciaSeedsManager
public void setSoDState(int value, boolean doSave)
{
LOGGER.info(getClass().getSimpleName() + ": New Seed of Destruction state -> " + value + ".");
_SoDLastStateChangeDate.setTimeInMillis(System.currentTimeMillis());
_SoDLastStateChangeDate.setTimeInMillis(Chronos.currentTimeMillis());
_SoDState = value;
// reset number of Tiat kills
if (_SoDState == 1)
@@ -198,7 +199,7 @@ public class GraciaSeedsManager
}
case 2:
{
return ((_SoDLastStateChangeDate.getTimeInMillis() + Config.SOD_STAGE_2_LENGTH) - System.currentTimeMillis());
return ((_SoDLastStateChangeDate.getTimeInMillis() + Config.SOD_STAGE_2_LENGTH) - Chronos.currentTimeMillis());
}
case 3:
{

View File

@@ -30,6 +30,7 @@ import java.util.logging.Logger;
import org.l2jmobius.Config;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.util.PrimeFinder;
/**
@@ -85,7 +86,7 @@ public class IdManager
try (Connection con = DatabaseFactory.getConnection();
Statement statement = con.createStatement())
{
final long cleanupStart = System.currentTimeMillis();
final long cleanupStart = Chronos.currentTimeMillis();
int cleanCount = 0;
// Characters
@@ -157,7 +158,7 @@ public class IdManager
statement.executeUpdate("UPDATE characters SET clanid=0, clan_privs=0, wantspeace=0, subpledge=0, lvl_joined_academy=0, apprentice=0, sponsor=0, clan_join_expiry_time=0, clan_create_expiry_time=0 WHERE characters.clanid > 0 AND characters.clanid NOT IN (SELECT clan_id FROM clan_data);");
statement.executeUpdate("UPDATE fort SET owner=0 WHERE owner NOT IN (SELECT clan_id FROM clan_data);");
LOGGER.info("IdManager: Cleaned " + cleanCount + " elements from database in " + ((System.currentTimeMillis() - cleanupStart) / 1000) + " seconds.");
LOGGER.info("IdManager: Cleaned " + cleanCount + " elements from database in " + ((Chronos.currentTimeMillis() - cleanupStart) / 1000) + " seconds.");
}
catch (Exception e)
{
@@ -173,7 +174,7 @@ public class IdManager
{
try (PreparedStatement statement = con.prepareStatement(line))
{
statement.setLong(1, System.currentTimeMillis());
statement.setLong(1, Chronos.currentTimeMillis());
cleanCount += statement.executeUpdate();
}
}

View File

@@ -40,6 +40,7 @@ import org.w3c.dom.Node;
import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.IXmlReader;
import org.l2jmobius.gameserver.data.xml.DoorData;
import org.l2jmobius.gameserver.data.xml.SpawnData;
@@ -521,7 +522,7 @@ public class InstanceManager implements IXmlReader
{
// Check if instance penalty passed
final long time = rs.getLong("time");
if (time > System.currentTimeMillis())
if (time > Chronos.currentTimeMillis())
{
// Load params
final int charId = rs.getInt("charId");
@@ -556,7 +557,7 @@ public class InstanceManager implements IXmlReader
final List<Integer> invalidPenalty = new ArrayList<>(instanceTimes.size());
for (Entry<Integer, Long> entry : instanceTimes.entrySet())
{
if (entry.getValue() <= System.currentTimeMillis())
if (entry.getValue() <= Chronos.currentTimeMillis())
{
invalidPenalty.add(entry.getKey());
}
@@ -615,7 +616,7 @@ public class InstanceManager implements IXmlReader
// If reenter time is higher then current, delete it
final long time = playerData.get(id);
if (time <= System.currentTimeMillis())
if (time <= Chronos.currentTimeMillis())
{
deleteInstanceTime(player, id);
return -1;

View File

@@ -29,6 +29,7 @@ import java.util.logging.Logger;
import org.l2jmobius.Config;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.ItemsAutoDestroy;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
@@ -83,7 +84,7 @@ public class ItemsOnGroundManager implements Runnable
try (Connection con = DatabaseFactory.getConnection();
PreparedStatement ps = con.prepareStatement(str))
{
ps.setLong(1, System.currentTimeMillis());
ps.setLong(1, Chronos.currentTimeMillis());
ps.execute();
}
catch (Exception e)

View File

@@ -29,6 +29,7 @@ import java.util.logging.Level;
import java.util.logging.Logger;
import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.model.Mentee;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@@ -145,7 +146,7 @@ public class MentorManager
{
final PlayerInstance player = World.getInstance().getPlayer(mentorId);
final PlayerVariables vars = player != null ? player.getVariables() : new PlayerVariables(mentorId);
vars.set("Mentor-Penalty-" + mentorId, String.valueOf(System.currentTimeMillis() + penalty));
vars.set("Mentor-Penalty-" + mentorId, String.valueOf(Chronos.currentTimeMillis() + penalty));
}
public long getMentorPenalty(int mentorId)

View File

@@ -29,6 +29,7 @@ import java.util.logging.Logger;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.events.Containers;
@@ -79,7 +80,7 @@ public class PremiumManager
final PlayerInstance player = event.getPlayer();
final String accountName = player.getAccountName();
loadPremiumData(accountName);
final long now = System.currentTimeMillis();
final long now = Chronos.currentTimeMillis();
final long premiumExpiration = getPremiumExpiration(accountName);
player.setPremiumStatus(premiumExpiration > now);
if (player.hasPremiumStatus())
@@ -153,7 +154,7 @@ public class PremiumManager
public void addPremiumTime(String accountName, int timeValue, TimeUnit timeUnit)
{
final long addTime = timeUnit.toMillis(timeValue);
final long now = System.currentTimeMillis();
final long now = Chronos.currentTimeMillis();
// new premium task at least from now
final long oldPremiumExpiration = Math.max(now, getPremiumExpiration(accountName));
final long newPremiumExpiration = oldPremiumExpiration + addTime;

View File

@@ -25,6 +25,7 @@ import java.util.logging.Level;
import java.util.logging.Logger;
import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.model.holders.PunishmentHolder;
import org.l2jmobius.gameserver.model.punishment.PunishmentAffect;
import org.l2jmobius.gameserver.model.punishment.PunishmentTask;
@@ -71,7 +72,7 @@ public class PunishmentManager
final String punishedBy = rset.getString("punishedBy");
if ((type != null) && (affect != null))
{
if ((expirationTime > 0) && (System.currentTimeMillis() > expirationTime)) // expired task.
if ((expirationTime > 0) && (Chronos.currentTimeMillis() > expirationTime)) // expired task.
{
expired++;
}

View File

@@ -25,6 +25,7 @@ import java.util.logging.Level;
import java.util.logging.Logger;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.data.SpawnTable;
import org.l2jmobius.gameserver.data.xml.NpcData;
@@ -424,7 +425,7 @@ public class BlockChecker
// Start up player parameters
setUpPlayers();
// Set the started time
_startedTime = System.currentTimeMillis() + 300000;
_startedTime = Chronos.currentTimeMillis() + 300000;
}
}
@@ -524,7 +525,7 @@ public class BlockChecker
_redPoints += _numOfBoxes / 2;
_bluePoints += _numOfBoxes / 2;
final int timeLeft = (int) ((_startedTime - System.currentTimeMillis()) / 1000);
final int timeLeft = (int) ((_startedTime - Chronos.currentTimeMillis()) / 1000);
final ExCubeGameChangePoints changePoints = new ExCubeGameChangePoints(timeLeft, getBluePoints(), getRedPoints());
_holder.broadCastPacketToTeam(changePoints);
}

View File

@@ -26,6 +26,7 @@ import java.util.logging.Logger;
import org.l2jmobius.Config;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
@@ -237,7 +238,7 @@ public class CursedWeapon implements INamable
@Override
public void run()
{
if (System.currentTimeMillis() >= _endTime)
if (Chronos.currentTimeMillis() >= _endTime)
{
endOfLife();
}
@@ -366,7 +367,7 @@ public class CursedWeapon implements INamable
public void reActivate()
{
_isActivated = true;
if ((_endTime - System.currentTimeMillis()) <= 0)
if ((_endTime - Chronos.currentTimeMillis()) <= 0)
{
endOfLife();
}
@@ -384,7 +385,7 @@ public class CursedWeapon implements INamable
dropIt(attackable, player);
// Start the Life Task
_endTime = System.currentTimeMillis() + (_duration * 60000);
_endTime = Chronos.currentTimeMillis() + (_duration * 60000);
_removeTask = ThreadPool.scheduleAtFixedRate(new RemoveTask(), _durationLost * 12000, _durationLost * 12000);
return true;
}
@@ -678,7 +679,7 @@ public class CursedWeapon implements INamable
public long getTimeLeft()
{
return _endTime - System.currentTimeMillis();
return _endTime - Chronos.currentTimeMillis();
}
public void goTo(PlayerInstance player)

View File

@@ -20,6 +20,7 @@ import java.util.Collection;
import java.util.Collections;
import java.util.Objects;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.enums.AttributeType;
import org.l2jmobius.gameserver.model.buylist.Product;
import org.l2jmobius.gameserver.model.ensoul.EnsoulOption;
@@ -151,14 +152,14 @@ public class ItemInfo
_soulCrystalOptions = item.getSpecialAbilities();
_soulCrystalSpecialOptions = item.getAdditionalSpecialAbilities();
_visualId = item.getVisualId();
_visualExpiration = item.getVisualLifeTime() > 0 ? (item.getVisualLifeTime() - System.currentTimeMillis()) / 1000 : 0;
_visualExpiration = item.getVisualLifeTime() > 0 ? (item.getVisualLifeTime() - Chronos.currentTimeMillis()) / 1000 : 0;
}
public ItemInfo(ItemInstance item, int change)
{
this(item);
_change = change;
_visualExpiration = item.getVisualLifeTime() > 0 ? (item.getVisualLifeTime() - System.currentTimeMillis()) / 1000 : 0;
_visualExpiration = item.getVisualLifeTime() > 0 ? (item.getVisualLifeTime() - Chronos.currentTimeMillis()) / 1000 : 0;
}
public ItemInfo(TradeItem item)

View File

@@ -21,6 +21,7 @@ import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.data.sql.CharNameTable;
import org.l2jmobius.gameserver.enums.AttributeType;
import org.l2jmobius.gameserver.enums.MailType;
@@ -104,7 +105,7 @@ public class Message
_receiverId = receiverId;
_subject = subject;
_content = text;
_expiration = (isCod ? System.currentTimeMillis() + (COD_EXPIRATION * 3600000) : System.currentTimeMillis() + (EXPIRATION * 3600000));
_expiration = (isCod ? Chronos.currentTimeMillis() + (COD_EXPIRATION * 3600000) : Chronos.currentTimeMillis() + (EXPIRATION * 3600000));
_hasAttachments = false;
_unread = true;
_deletedBySender = false;
@@ -123,7 +124,7 @@ public class Message
_receiverId = receiverId;
_subject = subject;
_content = content;
_expiration = System.currentTimeMillis() + (EXPIRATION * 3600000);
_expiration = Chronos.currentTimeMillis() + (EXPIRATION * 3600000);
_reqAdena = 0;
_hasAttachments = false;
_unread = true;
@@ -143,7 +144,7 @@ public class Message
_receiverId = receiverId;
_subject = subject;
_content = content;
_expiration = System.currentTimeMillis() + (EXPIRATION * 3600000);
_expiration = Chronos.currentTimeMillis() + (EXPIRATION * 3600000);
_hasAttachments = false;
_unread = true;
_deletedBySender = true;
@@ -162,7 +163,7 @@ public class Message
_receiverId = msg.getSenderId();
_subject = "";
_content = "";
_expiration = System.currentTimeMillis() + (EXPIRATION * 3600000);
_expiration = Chronos.currentTimeMillis() + (EXPIRATION * 3600000);
_unread = true;
_deletedBySender = true;
_deletedByReceiver = false;
@@ -182,7 +183,7 @@ public class Message
_receiverId = receiverId;
_subject = "";
_content = item.getName();
_expiration = System.currentTimeMillis() + (EXPIRATION * 3600000);
_expiration = Chronos.currentTimeMillis() + (EXPIRATION * 3600000);
_unread = true;
_deletedBySender = true;
_messageType = mailType;

View File

@@ -19,6 +19,7 @@ package org.l2jmobius.gameserver.model;
import java.util.Collection;
import java.util.concurrent.ConcurrentHashMap;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.enums.PetitionState;
import org.l2jmobius.gameserver.enums.PetitionType;
import org.l2jmobius.gameserver.instancemanager.IdManager;
@@ -36,7 +37,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
*/
public class Petition
{
private final long _submitTime = System.currentTimeMillis();
private final long _submitTime = Chronos.currentTimeMillis();
private final int _id;
private final PetitionType _type;
private PetitionState _state = PetitionState.PENDING;

View File

@@ -24,6 +24,7 @@ import java.util.logging.Level;
import java.util.logging.Logger;
import org.l2jmobius.Config;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.data.xml.NpcData;
import org.l2jmobius.gameserver.geoengine.GeoEngine;
@@ -258,7 +259,7 @@ public class Spawn extends Location implements IIdentifiable, INamable
_scheduledCount++;
// Schedule the next respawn.
RespawnTaskManager.getInstance().add(oldNpc, System.currentTimeMillis() + (hasRespawnRandom() ? Rnd.get(_respawnMinDelay, _respawnMaxDelay) : _respawnMinDelay));
RespawnTaskManager.getInstance().add(oldNpc, Chronos.currentTimeMillis() + (hasRespawnRandom() ? Rnd.get(_respawnMinDelay, _respawnMaxDelay) : _respawnMinDelay));
}
}

View File

@@ -16,6 +16,7 @@
*/
package org.l2jmobius.gameserver.model;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill;
@@ -52,7 +53,7 @@ public class TimeStamp
_id2 = skill.getLevel();
_id3 = skill.getSubLevel();
_reuse = reuse;
_stamp = systime > 0 ? systime : reuse != 0 ? System.currentTimeMillis() + reuse : 0;
_stamp = systime > 0 ? systime : reuse != 0 ? Chronos.currentTimeMillis() + reuse : 0;
_group = -1;
}
@@ -68,7 +69,7 @@ public class TimeStamp
_id2 = item.getObjectId();
_id3 = 0;
_reuse = reuse;
_stamp = systime > 0 ? systime : reuse != 0 ? System.currentTimeMillis() + reuse : 0;
_stamp = systime > 0 ? systime : reuse != 0 ? Chronos.currentTimeMillis() + reuse : 0;
_group = item.getSharedReuseGroup();
}
@@ -155,7 +156,7 @@ public class TimeStamp
{
return 0;
}
final long remainingTime = Math.max(_stamp - System.currentTimeMillis(), 0);
final long remainingTime = Math.max(_stamp - Chronos.currentTimeMillis(), 0);
if (remainingTime == 0)
{
_stamp = 0;
@@ -173,7 +174,7 @@ public class TimeStamp
{
return false;
}
final boolean hasNotPassed = System.currentTimeMillis() < _stamp;
final boolean hasNotPassed = Chronos.currentTimeMillis() < _stamp;
if (!hasNotPassed)
{
_stamp = 0;

View File

@@ -28,6 +28,7 @@ import java.util.logging.Level;
import org.l2jmobius.Config;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.ai.AttackableAI;
import org.l2jmobius.gameserver.ai.CreatureAI;
@@ -215,7 +216,7 @@ public class Attackable extends Npc
if (_firstCommandChannelAttacked != null)
{
_commandChannelTimer = new CommandChannelTimer(this);
_commandChannelLastAttack = System.currentTimeMillis();
_commandChannelLastAttack = Chronos.currentTimeMillis();
ThreadPool.schedule(_commandChannelTimer, 10000); // check for last attack
_firstCommandChannelAttacked.broadcastPacket(new CreatureSay(null, ChatType.PARTYROOM_ALL, "", "You have looting rights!")); // TODO: retail msg
}
@@ -224,7 +225,7 @@ public class Attackable extends Npc
}
else if (attacker.getParty().getCommandChannel().equals(_firstCommandChannelAttacked)) // is in same channel
{
_commandChannelLastAttack = System.currentTimeMillis(); // update last attack time
_commandChannelLastAttack = Chronos.currentTimeMillis(); // update last attack time
}
}

View File

@@ -41,6 +41,7 @@ import java.util.logging.Logger;
import org.l2jmobius.Config;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.EmptyQueue;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.GameTimeController;
@@ -1393,7 +1394,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
{
if ((group > 0) && !_reuseTimeStampsItems.isEmpty())
{
final long currentTime = System.currentTimeMillis();
final long currentTime = Chronos.currentTimeMillis();
for (TimeStamp ts : _reuseTimeStampsItems.values())
{
if (ts.getSharedReuseGroup() == group)
@@ -1523,7 +1524,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
{
return;
}
_disabledSkills.put(skill.getReuseHashCode(), delay > 0 ? System.currentTimeMillis() + delay : Long.MAX_VALUE);
_disabledSkills.put(skill.getReuseHashCode(), delay > 0 ? Chronos.currentTimeMillis() + delay : Long.MAX_VALUE);
}
/**
@@ -1571,7 +1572,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
{
return false;
}
if (stamp < System.currentTimeMillis())
if (stamp < Chronos.currentTimeMillis())
{
_disabledSkills.remove(hashCode);
return false;

View File

@@ -22,6 +22,7 @@ import java.util.logging.Level;
import org.l2jmobius.Config;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.ItemsAutoDestroy;
import org.l2jmobius.gameserver.cache.HtmCache;
@@ -203,7 +204,7 @@ public class Npc extends Creature
public void onRandomAnimation(int animationId)
{
// Send a packet SocialAction to all PlayerInstance in the _KnownPlayers of the NpcInstance
final long now = System.currentTimeMillis();
final long now = Chronos.currentTimeMillis();
if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL)
{
_lastSocialBroadcast = now;

View File

@@ -16,6 +16,7 @@
*/
package org.l2jmobius.gameserver.model.actor.instance;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.data.ItemTable;
import org.l2jmobius.gameserver.instancemanager.games.BlockChecker;
@@ -141,7 +142,7 @@ public class BlockInstance extends MonsterInstance
{
eng.increasePlayerPoints(player, team);
final int timeLeft = (int) ((eng.getStarterTime() - System.currentTimeMillis()) / 1000);
final int timeLeft = (int) ((eng.getStarterTime() - Chronos.currentTimeMillis()) / 1000);
final boolean isRed = eng.getHolder().getRedPlayers().contains(player);
final ExCubeGameChangePoints changePoints = new ExCubeGameChangePoints(timeLeft, eng.getBluePoints(), eng.getRedPoints());
final ExCubeGameExtendedChangePoints secretPoints = new ExCubeGameExtendedChangePoints(timeLeft, eng.getBluePoints(), eng.getRedPoints(), isRed, player, eng.getPlayerPoints(player, isRed));

View File

@@ -45,6 +45,7 @@ import java.util.stream.Collectors;
import org.l2jmobius.Config;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.CommonUtil;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.GameTimeController;
@@ -2829,7 +2830,7 @@ public class PlayerInstance extends Playable
public void setOnlineTime(long time)
{
_onlineTime = time;
_onlineBeginTime = System.currentTimeMillis();
_onlineBeginTime = Chronos.currentTimeMillis();
}
/**
@@ -3874,22 +3875,22 @@ public class PlayerInstance extends Playable
public boolean isSpawnProtected()
{
return (_spawnProtectEndTime != 0) && (_spawnProtectEndTime > System.currentTimeMillis());
return (_spawnProtectEndTime != 0) && (_spawnProtectEndTime > Chronos.currentTimeMillis());
}
public boolean isTeleportProtected()
{
return (_teleportProtectEndTime != 0) && (_teleportProtectEndTime > System.currentTimeMillis());
return (_teleportProtectEndTime != 0) && (_teleportProtectEndTime > Chronos.currentTimeMillis());
}
public void setSpawnProtection(boolean protect)
{
_spawnProtectEndTime = protect ? System.currentTimeMillis() + (Config.PLAYER_SPAWN_PROTECTION * 1000) : 0;
_spawnProtectEndTime = protect ? Chronos.currentTimeMillis() + (Config.PLAYER_SPAWN_PROTECTION * 1000) : 0;
}
public void setTeleportProtection(boolean protect)
{
_teleportProtectEndTime = protect ? System.currentTimeMillis() + (Config.PLAYER_TELEPORT_PROTECTION * 1000) : 0;
_teleportProtectEndTime = protect ? Chronos.currentTimeMillis() + (Config.PLAYER_TELEPORT_PROTECTION * 1000) : 0;
}
/**
@@ -5215,7 +5216,7 @@ public class PlayerInstance extends Playable
{
return;
}
setPvpFlagLasts(System.currentTimeMillis() + Config.PVP_NORMAL_TIME);
setPvpFlagLasts(Chronos.currentTimeMillis() + Config.PVP_NORMAL_TIME);
if (_pvpFlag == 0)
{
startPvPFlag();
@@ -5248,11 +5249,11 @@ public class PlayerInstance extends Playable
{
if (checkIfPvP(targetPlayer))
{
setPvpFlagLasts(System.currentTimeMillis() + Config.PVP_PVP_TIME);
setPvpFlagLasts(Chronos.currentTimeMillis() + Config.PVP_PVP_TIME);
}
else
{
setPvpFlagLasts(System.currentTimeMillis() + Config.PVP_NORMAL_TIME);
setPvpFlagLasts(Chronos.currentTimeMillis() + Config.PVP_NORMAL_TIME);
}
if (_pvpFlag == 0)
{
@@ -6129,7 +6130,7 @@ public class PlayerInstance extends Playable
public long getUptime()
{
return System.currentTimeMillis() - _uptime;
return Chronos.currentTimeMillis() - _uptime;
}
/**
@@ -6373,7 +6374,7 @@ public class PlayerInstance extends Playable
PreparedStatement statement = con.prepareStatement("UPDATE characters SET online=?, lastAccess=? WHERE charId=?"))
{
statement.setInt(1, isOnlineInt());
statement.setLong(2, System.currentTimeMillis());
statement.setLong(2, Chronos.currentTimeMillis());
statement.setInt(3, getObjectId());
statement.execute();
}
@@ -6499,12 +6500,12 @@ public class PlayerInstance extends Playable
}
player.setClanJoinExpiryTime(rset.getLong("clan_join_expiry_time"));
if (player.getClanJoinExpiryTime() < System.currentTimeMillis())
if (player.getClanJoinExpiryTime() < Chronos.currentTimeMillis())
{
player.setClanJoinExpiryTime(0);
}
player.setClanCreateExpiryTime(rset.getLong("clan_create_expiry_time"));
if (player.getClanCreateExpiryTime() < System.currentTimeMillis())
if (player.getClanCreateExpiryTime() < Chronos.currentTimeMillis())
{
player.setClanCreateExpiryTime(0);
}
@@ -6566,7 +6567,7 @@ public class PlayerInstance extends Playable
player.getAppearance().setTitleColor(titleColor);
}
player.setFistsWeaponItem(player.findFistsWeaponItem(activeClassId));
player.setUptime(System.currentTimeMillis());
player.setUptime(Chronos.currentTimeMillis());
currentHp = rset.getDouble("curHp");
currentCp = rset.getDouble("curCp");
@@ -7082,7 +7083,7 @@ public class PlayerInstance extends Playable
long totalOnlineTime = _onlineTime;
if (_onlineBeginTime > 0)
{
totalOnlineTime += (System.currentTimeMillis() - _onlineBeginTime) / 1000;
totalOnlineTime += (Chronos.currentTimeMillis() - _onlineBeginTime) / 1000;
}
statement.setLong(34, totalOnlineTime);
@@ -7168,7 +7169,7 @@ public class PlayerInstance extends Playable
int buffIndex = 0;
final List<Long> storedSkills = new ArrayList<>();
final long currentTime = System.currentTimeMillis();
final long currentTime = Chronos.currentTimeMillis();
// Store all effect data along with calulated remaining
// reuse delays for matching skills. 'restore_type'= 0.
@@ -7283,7 +7284,7 @@ public class PlayerInstance extends Playable
ps1.setInt(1, getObjectId());
ps1.execute();
final long currentTime = System.currentTimeMillis();
final long currentTime = Chronos.currentTimeMillis();
for (TimeStamp ts : getItemReuseTimeStamps().values())
{
if ((ts != null) && (currentTime < ts.getStamp()))
@@ -7606,7 +7607,7 @@ public class PlayerInstance extends Playable
statement.setInt(2, _classIndex);
try (ResultSet rset = statement.executeQuery())
{
final long currentTime = System.currentTimeMillis();
final long currentTime = Chronos.currentTimeMillis();
while (rset.next())
{
final int remainingTime = rset.getInt("remaining_time");
@@ -7668,7 +7669,7 @@ public class PlayerInstance extends Playable
long systime;
boolean isInInventory;
long remainingTime;
final long currentTime = System.currentTimeMillis();
final long currentTime = Chronos.currentTimeMillis();
while (rset.next())
{
itemId = rset.getInt("itemId");
@@ -7743,7 +7744,7 @@ public class PlayerInstance extends Playable
{
int slot;
int symbolId;
final long currentTime = System.currentTimeMillis();
final long currentTime = Chronos.currentTimeMillis();
while (rset.next())
{
slot = rset.getInt("slot");
@@ -7866,7 +7867,7 @@ public class PlayerInstance extends Playable
// Send Server->Client UserInfo packet to this PlayerInstance
broadcastUserInfo(UserInfoType.BASE_STATS, UserInfoType.MAX_HPCPMP, UserInfoType.STATS, UserInfoType.SPEED);
final long currentTime = System.currentTimeMillis();
final long currentTime = Chronos.currentTimeMillis();
final long timeLeft = getVariables().getLong("HennaDuration" + slot, currentTime) - currentTime;
if ((henna.getDuration() < 0) || (timeLeft > 0))
{
@@ -7957,7 +7958,7 @@ public class PlayerInstance extends Playable
// Task for henna duration
if (henna.getDuration() > 0)
{
final long currentTime = System.currentTimeMillis();
final long currentTime = Chronos.currentTimeMillis();
final long durationInMillis = henna.getDuration() * 60000;
getVariables().set("HennaDuration" + i, currentTime + durationInMillis);
_hennaRemoveSchedules.put(i, ThreadPool.schedule(new HennaDurationTask(this, i), currentTime + durationInMillis));
@@ -12413,7 +12414,7 @@ public class PlayerInstance extends Playable
public int getBirthdays()
{
long time = (System.currentTimeMillis() - _createDate.getTimeInMillis()) / 1000;
long time = (Chronos.currentTimeMillis() - _createDate.getTimeInMillis()) / 1000;
time /= TimeUnit.DAYS.toMillis(365);
return (int) time;
}
@@ -12653,7 +12654,7 @@ public class PlayerInstance extends Playable
return false;
}
if ((_fallingTimestamp != 0) && (System.currentTimeMillis() < _fallingTimestamp))
if ((_fallingTimestamp != 0) && (Chronos.currentTimeMillis() < _fallingTimestamp))
{
return true;
}
@@ -12713,7 +12714,7 @@ public class PlayerInstance extends Playable
*/
public void setFalling()
{
_fallingTimestamp = System.currentTimeMillis() + FALLING_VALIDATION_DELAY;
_fallingTimestamp = Chronos.currentTimeMillis() + FALLING_VALIDATION_DELAY;
}
/**
@@ -12734,7 +12735,7 @@ public class PlayerInstance extends Playable
*/
public void updateLastItemAuctionRequest()
{
_lastItemAuctionInfoRequest = System.currentTimeMillis();
_lastItemAuctionInfoRequest = Chronos.currentTimeMillis();
}
/**
@@ -12743,7 +12744,7 @@ public class PlayerInstance extends Playable
*/
public boolean isItemAuctionPolling()
{
return (System.currentTimeMillis() - _lastItemAuctionInfoRequest) < 2000;
return (Chronos.currentTimeMillis() - _lastItemAuctionInfoRequest) < 2000;
}
@Override
@@ -13127,7 +13128,7 @@ public class PlayerInstance extends Playable
public void updateNotMoveUntil()
{
_notMoveUntil = System.currentTimeMillis() + Config.PLAYER_MOVEMENT_BLOCK_TIME;
_notMoveUntil = Chronos.currentTimeMillis() + Config.PLAYER_MOVEMENT_BLOCK_TIME;
}
@Override
@@ -14174,7 +14175,7 @@ public class PlayerInstance extends Playable
public boolean isInTraingCamp()
{
final TrainingHolder trainingHolder = getTraingCampInfo();
return (trainingHolder != null) && (trainingHolder.getEndTime() > System.currentTimeMillis());
return (trainingHolder != null) && (trainingHolder.getEndTime() > Chronos.currentTimeMillis());
}
public AttendanceInfoHolder getAttendanceInfo()

View File

@@ -21,6 +21,7 @@ import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
import org.l2jmobius.Config;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.data.sql.ClanTable;
import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.instancemanager.CastleManager;
@@ -280,13 +281,13 @@ public class VillageMasterInstance extends NpcInstance
player.sendPacket(SystemMessageId.YOU_CANNOT_DISSOLVE_A_CLAN_DURING_A_SIEGE_OR_WHILE_PROTECTING_A_CASTLE);
return;
}
if (clan.getDissolvingExpiryTime() > System.currentTimeMillis())
if (clan.getDissolvingExpiryTime() > Chronos.currentTimeMillis())
{
player.sendPacket(SystemMessageId.YOU_HAVE_ALREADY_REQUESTED_THE_DISSOLUTION_OF_YOUR_CLAN);
return;
}
clan.setDissolvingExpiryTime(System.currentTimeMillis() + (Config.ALT_CLAN_DISSOLVE_DAYS * 86400000)); // 24*60*60*1000 = 86400000
clan.setDissolvingExpiryTime(Chronos.currentTimeMillis() + (Config.ALT_CLAN_DISSOLVE_DAYS * 86400000)); // 24*60*60*1000 = 86400000
clan.updateClanInDB();
// The clan leader should take the XP penalty of a full death.

View File

@@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.model.actor.tasks.attackable;
import org.l2jmobius.Config;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.model.actor.Attackable;
/**
@@ -40,7 +41,7 @@ public class CommandChannelTimer implements Runnable
return;
}
if ((System.currentTimeMillis() - _attackable.getCommandChannelLastAttack()) > Config.LOOT_RAIDS_PRIVILEGE_INTERVAL)
if ((Chronos.currentTimeMillis() - _attackable.getCommandChannelLastAttack()) > Config.LOOT_RAIDS_PRIVILEGE_INTERVAL)
{
_attackable.setCommandChannelTimer(null);
_attackable.setFirstCommandChannelAttacked(null);

View File

@@ -19,6 +19,7 @@ package org.l2jmobius.gameserver.model.actor.tasks.player;
import java.util.logging.Logger;
import org.l2jmobius.Config;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.enums.IllegalActionPunishmentType;
import org.l2jmobius.gameserver.instancemanager.PunishmentManager;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@@ -92,12 +93,12 @@ public class IllegalPlayerActionTask implements Runnable
}
case KICKBAN:
{
PunishmentManager.getInstance().startPunishment(new PunishmentTask(_actor.getObjectId(), PunishmentAffect.CHARACTER, PunishmentType.BAN, System.currentTimeMillis() + (Config.DEFAULT_PUNISH_PARAM * 1000), _message, getClass().getSimpleName()));
PunishmentManager.getInstance().startPunishment(new PunishmentTask(_actor.getObjectId(), PunishmentAffect.CHARACTER, PunishmentType.BAN, Chronos.currentTimeMillis() + (Config.DEFAULT_PUNISH_PARAM * 1000), _message, getClass().getSimpleName()));
break;
}
case JAIL:
{
PunishmentManager.getInstance().startPunishment(new PunishmentTask(_actor.getObjectId(), PunishmentAffect.CHARACTER, PunishmentType.JAIL, System.currentTimeMillis() + (Config.DEFAULT_PUNISH_PARAM * 1000), _message, getClass().getSimpleName()));
PunishmentManager.getInstance().startPunishment(new PunishmentTask(_actor.getObjectId(), PunishmentAffect.CHARACTER, PunishmentType.JAIL, Chronos.currentTimeMillis() + (Config.DEFAULT_PUNISH_PARAM * 1000), _message, getClass().getSimpleName()));
break;
}
}

View File

@@ -25,6 +25,7 @@ import java.util.logging.Logger;
import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.model.items.Item;
import org.l2jmobius.gameserver.model.items.type.EtcItemType;
import org.l2jmobius.gameserver.taskmanager.BuyListTaskManager;
@@ -134,7 +135,7 @@ public class Product
public void restartRestockTask(long nextRestockTime)
{
final long remainTime = nextRestockTime - System.currentTimeMillis();
final long remainTime = nextRestockTime - Chronos.currentTimeMillis();
if (remainTime > 0)
{
BuyListTaskManager.getInstance().update(this, remainTime);

View File

@@ -28,6 +28,7 @@ import java.util.logging.Logger;
import java.util.stream.Collectors;
import org.l2jmobius.Config;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.enums.CeremonyOfChaosResult;
import org.l2jmobius.gameserver.enums.QuestSound;
@@ -278,7 +279,7 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
});
}
}
_battleStartTime = System.currentTimeMillis();
_battleStartTime = Chronos.currentTimeMillis();
getTimers().addRepeatingTimer("update", 1000, null, null);
}
@@ -505,7 +506,7 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
private void updateLifeTime(CeremonyOfChaosMember member)
{
member.setLifeTime(((int) (System.currentTimeMillis() - _battleStartTime) / 1000));
member.setLifeTime(((int) (Chronos.currentTimeMillis() - _battleStartTime) / 1000));
}
public List<CeremonyOfChaosMember> getWinners()

View File

@@ -35,6 +35,7 @@ import java.util.logging.Logger;
import org.l2jmobius.Config;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.communitybbs.BB.Forum;
import org.l2jmobius.gameserver.communitybbs.Manager.ForumsBBSManager;
import org.l2jmobius.gameserver.data.sql.CharNameTable;
@@ -505,7 +506,7 @@ public class Clan implements IIdentifiable, INamable
if (player.isClanLeader())
{
SiegeManager.getInstance().removeSiegeSkills(player);
player.setClanCreateExpiryTime(System.currentTimeMillis() + (Config.ALT_CLAN_CREATE_DAYS * 86400000)); // 24*60*60*1000 = 86400000
player.setClanCreateExpiryTime(Chronos.currentTimeMillis() + (Config.ALT_CLAN_CREATE_DAYS * 86400000)); // 24*60*60*1000 = 86400000
}
// remove Clan skills from Player
@@ -537,7 +538,7 @@ public class Clan implements IIdentifiable, INamable
}
else
{
removeMemberInDatabase(exMember, clanJoinExpiryTime, getLeaderId() == objectId ? System.currentTimeMillis() + (Config.ALT_CLAN_CREATE_DAYS * 86400000) : 0);
removeMemberInDatabase(exMember, clanJoinExpiryTime, getLeaderId() == objectId ? Chronos.currentTimeMillis() + (Config.ALT_CLAN_CREATE_DAYS * 86400000) : 0);
}
// Notify to scripts
@@ -1002,12 +1003,12 @@ public class Clan implements IIdentifiable, INamable
setAllyId(clanData.getInt("ally_id"));
setAllyName(clanData.getString("ally_name"));
setAllyPenaltyExpiryTime(clanData.getLong("ally_penalty_expiry_time"), clanData.getInt("ally_penalty_type"));
if (_allyPenaltyExpiryTime < System.currentTimeMillis())
if (_allyPenaltyExpiryTime < Chronos.currentTimeMillis())
{
setAllyPenaltyExpiryTime(0, 0);
}
setCharPenaltyExpiryTime(clanData.getLong("char_penalty_expiry_time"));
if ((_charPenaltyExpiryTime + (Config.ALT_CLAN_JOIN_DAYS * 86400000)) < System.currentTimeMillis()) // 24*60*60*1000 = 86400000
if ((_charPenaltyExpiryTime + (Config.ALT_CLAN_JOIN_DAYS * 86400000)) < Chronos.currentTimeMillis()) // 24*60*60*1000 = 86400000
{
setCharPenaltyExpiryTime(0);
}
@@ -2048,7 +2049,7 @@ public class Clan implements IIdentifiable, INamable
player.sendPacket(SystemMessageId.YOU_CANNOT_ASK_YOURSELF_TO_APPLY_TO_A_CLAN);
return false;
}
if (_charPenaltyExpiryTime > System.currentTimeMillis())
if (_charPenaltyExpiryTime > Chronos.currentTimeMillis())
{
player.sendPacket(SystemMessageId.AFTER_A_CLAN_MEMBER_IS_DISMISSED_FROM_A_CLAN_THE_CLAN_MUST_WAIT_AT_LEAST_A_DAY_BEFORE_ACCEPTING_A_NEW_MEMBER);
return false;
@@ -2060,7 +2061,7 @@ public class Clan implements IIdentifiable, INamable
player.sendPacket(sm);
return false;
}
if (target.getClanJoinExpiryTime() > System.currentTimeMillis())
if (target.getClanJoinExpiryTime() > Chronos.currentTimeMillis())
{
final SystemMessage sm = new SystemMessage(SystemMessageId.C1_CANNOT_JOIN_THE_CLAN_BECAUSE_ONE_DAY_HAS_NOT_YET_PASSED_SINCE_THEY_LEFT_ANOTHER_CLAN);
sm.addString(target.getName());
@@ -2102,7 +2103,7 @@ public class Clan implements IIdentifiable, INamable
return false;
}
final Clan leaderClan = player.getClan();
if ((leaderClan.getAllyPenaltyExpiryTime() > System.currentTimeMillis()) && (leaderClan.getAllyPenaltyType() == PENALTY_TYPE_DISMISS_CLAN))
if ((leaderClan.getAllyPenaltyExpiryTime() > Chronos.currentTimeMillis()) && (leaderClan.getAllyPenaltyType() == PENALTY_TYPE_DISMISS_CLAN))
{
player.sendPacket(SystemMessageId.YOU_MAY_NOT_ACCEPT_ANY_CLAN_WITHIN_A_DAY_AFTER_EXPELLING_ANOTHER_CLAN);
return false;
@@ -2138,7 +2139,7 @@ public class Clan implements IIdentifiable, INamable
player.sendPacket(sm);
return false;
}
if (targetClan.getAllyPenaltyExpiryTime() > System.currentTimeMillis())
if (targetClan.getAllyPenaltyExpiryTime() > Chronos.currentTimeMillis())
{
if (targetClan.getAllyPenaltyType() == PENALTY_TYPE_CLAN_LEAVED)
{
@@ -2232,12 +2233,12 @@ public class Clan implements IIdentifiable, INamable
player.sendPacket(SystemMessageId.TO_CREATE_AN_ALLIANCE_YOUR_CLAN_MUST_BE_LEVEL_5_OR_HIGHER);
return;
}
if ((_allyPenaltyExpiryTime > System.currentTimeMillis()) && (_allyPenaltyType == PENALTY_TYPE_DISSOLVE_ALLY))
if ((_allyPenaltyExpiryTime > Chronos.currentTimeMillis()) && (_allyPenaltyType == PENALTY_TYPE_DISSOLVE_ALLY))
{
player.sendPacket(SystemMessageId.YOU_CANNOT_CREATE_A_NEW_ALLIANCE_WITHIN_1_DAY_OF_DISSOLUTION);
return;
}
if (_dissolvingExpiryTime > System.currentTimeMillis())
if (_dissolvingExpiryTime > Chronos.currentTimeMillis())
{
player.sendPacket(SystemMessageId.AS_YOU_ARE_CURRENTLY_SCHEDULE_FOR_CLAN_DISSOLUTION_NO_ALLIANCE_CAN_BE_CREATED);
return;
@@ -2289,7 +2290,7 @@ public class Clan implements IIdentifiable, INamable
broadcastToOnlineAllyMembers(new SystemMessage(SystemMessageId.THE_ALLIANCE_HAS_BEEN_DISSOLVED));
final long currentTime = System.currentTimeMillis();
final long currentTime = Chronos.currentTimeMillis();
for (Clan clan : ClanTable.getInstance().getClanAllies(getAllyId()))
{
if (clan.getId() != getId())
@@ -2315,7 +2316,7 @@ public class Clan implements IIdentifiable, INamable
player.sendPacket(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT);
return false;
}
if (System.currentTimeMillis() < _dissolvingExpiryTime)
if (Chronos.currentTimeMillis() < _dissolvingExpiryTime)
{
player.sendPacket(SystemMessageId.AS_YOU_ARE_CURRENTLY_SCHEDULE_FOR_CLAN_DISSOLUTION_YOUR_CLAN_LEVEL_CANNOT_BE_INCREASED);
return false;
@@ -2700,7 +2701,7 @@ public class Clan implements IIdentifiable, INamable
public void addMasterySkill(int id)
{
getVariables().set(ClanVariables.CLAN_MASTERY_SKILL_TIME + id, System.currentTimeMillis() + 1296000000);
getVariables().set(ClanVariables.CLAN_MASTERY_SKILL_TIME + id, Chronos.currentTimeMillis() + 1296000000);
final ScheduledFuture<?> task = ThreadPool.schedule(() -> removeMasterySkill(id), 1296000000); // 1296000000 = 15 days
masterySkillTasks.add(task);
addNewSkill(SkillData.getInstance().getSkill(id, 1));
@@ -2719,7 +2720,7 @@ public class Clan implements IIdentifiable, INamable
{
return -1;
}
return (int) (endTime - System.currentTimeMillis());
return (int) (endTime - Chronos.currentTimeMillis());
}
public void setDevelopmentPoints(int count)

View File

@@ -22,6 +22,7 @@ import java.util.concurrent.atomic.AtomicInteger;
import org.l2jmobius.Config;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.data.sql.ClanTable;
import org.l2jmobius.gameserver.enums.ClanWarState;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@@ -54,9 +55,9 @@ public class ClanWar
{
_attackerClanId = attacker.getId();
_attackedClanId = attacked.getId();
_startTime = System.currentTimeMillis();
_startTime = Chronos.currentTimeMillis();
_state = ClanWarState.BLOOD_DECLARATION;
_cancelTask = ThreadPool.schedule(this::clanWarTimeout, (_startTime + TIME_TO_CANCEL_NON_MUTUAL_CLAN_WAR) - System.currentTimeMillis());
_cancelTask = ThreadPool.schedule(this::clanWarTimeout, (_startTime + TIME_TO_CANCEL_NON_MUTUAL_CLAN_WAR) - Chronos.currentTimeMillis());
attacker.addWar(attacked.getId(), this);
attacked.addWar(attacker.getId(), this);
EventDispatcher.getInstance().notifyEventAsync(new OnClanWarStart(attacker, attacked));
@@ -79,15 +80,15 @@ public class ClanWar
_attackerKillCount.set(attackerKillCount);
_attackedKillCount.set(attackedKillCount);
_winnerClanId = winnerClan;
if ((_startTime + TIME_TO_CANCEL_NON_MUTUAL_CLAN_WAR) > System.currentTimeMillis())
if ((_startTime + TIME_TO_CANCEL_NON_MUTUAL_CLAN_WAR) > Chronos.currentTimeMillis())
{
_cancelTask = ThreadPool.schedule(this::clanWarTimeout, (_startTime + TIME_TO_CANCEL_NON_MUTUAL_CLAN_WAR) - System.currentTimeMillis());
_cancelTask = ThreadPool.schedule(this::clanWarTimeout, (_startTime + TIME_TO_CANCEL_NON_MUTUAL_CLAN_WAR) - Chronos.currentTimeMillis());
}
if (_endTime > 0)
{
final long endTimePeriod = _endTime + (_state == ClanWarState.TIE ? TIME_TO_DELETION_AFTER_CANCELLATION : TIME_TO_DELETION_AFTER_DEFEAT);
if (endTimePeriod > System.currentTimeMillis())
if (endTimePeriod > Chronos.currentTimeMillis())
{
ThreadPool.schedule(() -> ClanTable.getInstance().deleteClanWars(_attackerClanId, _attackedClanId), 10000);
}
@@ -177,8 +178,8 @@ public class ClanWar
winnerClan.broadcastToOnlineMembers(sm);
_winnerClanId = winnerClan.getId();
_endTime = System.currentTimeMillis();
ThreadPool.schedule(() -> ClanTable.getInstance().deleteClanWars(cancelor.getId(), winnerClan.getId()), (_endTime + TIME_TO_DELETION_AFTER_DEFEAT) - System.currentTimeMillis());
_endTime = Chronos.currentTimeMillis();
ThreadPool.schedule(() -> ClanTable.getInstance().deleteClanWars(cancelor.getId(), winnerClan.getId()), (_endTime + TIME_TO_DELETION_AFTER_DEFEAT) - Chronos.currentTimeMillis());
}
public void clanWarTimeout()
@@ -196,8 +197,8 @@ public class ClanWar
attackerClan.broadcastToOnlineMembers(sm);
_state = ClanWarState.TIE;
_endTime = System.currentTimeMillis();
ThreadPool.schedule(() -> ClanTable.getInstance().deleteClanWars(attackerClan.getId(), attackedClan.getId()), (_endTime + TIME_TO_DELETION_AFTER_CANCELLATION) - System.currentTimeMillis());
_endTime = Chronos.currentTimeMillis();
ThreadPool.schedule(() -> ClanTable.getInstance().deleteClanWars(attackerClan.getId(), attackedClan.getId()), (_endTime + TIME_TO_DELETION_AFTER_CANCELLATION) - Chronos.currentTimeMillis());
}
}

View File

@@ -28,6 +28,7 @@ import java.util.logging.Logger;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.model.StatSet;
import it.sauronsoftware.cron4j.PastPredictor;
@@ -112,7 +113,7 @@ public class EventScheduler
final Predictor predictor = new Predictor(_pattern);
final long nextSchedule = predictor.nextMatchingTime();
final long timeSchedule = nextSchedule - System.currentTimeMillis();
final long timeSchedule = nextSchedule - Chronos.currentTimeMillis();
if (timeSchedule <= (30 * 1000))
{
LOGGER.warning("Wrong reschedule for " + _eventManager.getClass().getSimpleName() + " end up run in " + (timeSchedule / 1000) + " seconds!");
@@ -144,10 +145,10 @@ public class EventScheduler
{
ps.setString(1, _eventManager.getName());
ps.setString(2, _name);
ps.setTimestamp(3, new Timestamp(System.currentTimeMillis()));
ps.setTimestamp(3, new Timestamp(Chronos.currentTimeMillis()));
ps.setString(4, _eventManager.getName());
ps.setString(5, _name);
ps.setTimestamp(6, new Timestamp(System.currentTimeMillis()));
ps.setTimestamp(6, new Timestamp(Chronos.currentTimeMillis()));
ps.execute();
return true;
}

View File

@@ -76,7 +76,6 @@ import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerClanWH
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerCreate;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerDelete;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerDlgAnswer;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerItemEquip;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerFameChanged;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerFishing;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerHennaAdd;
@@ -84,8 +83,10 @@ import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerHennaR
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerItemAdd;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerItemDestroy;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerItemDrop;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerItemEquip;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerItemPickup;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerItemTransfer;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerItemUnequip;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLogin;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLogout;
@@ -114,7 +115,6 @@ import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerSummon
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerSummonTalk;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerTakeHero;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerTransform;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerItemUnequip;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerUnsummonAgathion;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnTrapAction;
import org.l2jmobius.gameserver.model.events.impl.instance.OnInstanceCreated;

Some files were not shown because too many files have changed in this diff Show More