Use TimeUnit for time calculations

This commit is contained in:
P0nk
2021-09-10 18:56:03 +02:00
parent d52aedac4f
commit cdc17ef3dd
49 changed files with 268 additions and 161 deletions

View File

@@ -55,6 +55,8 @@ import java.util.*;
import java.util.Map.Entry;
import java.util.concurrent.ScheduledFuture;
import static java.util.concurrent.TimeUnit.*;
public final class Channel {
private static final Logger log = LoggerFactory.getLogger(Channel.class);
private static final int BASE_PORT = 7575;
@@ -865,7 +867,7 @@ public final class Channel {
ongoingStartTime = System.currentTimeMillis();
if (weddingId != null) {
ScheduledFuture<?> weddingTask = TimerManager.getInstance().schedule(() -> closeOngoingWedding(cathedral), YamlConfig.config.server.WEDDING_RESERVATION_TIMEOUT * 60 * 1000);
ScheduledFuture<?> weddingTask = TimerManager.getInstance().schedule(() -> closeOngoingWedding(cathedral), MINUTES.toMillis(YamlConfig.config.server.WEDDING_RESERVATION_TIMEOUT));
if (cathedral) {
cathedralReservationTask = weddingTask;
@@ -904,25 +906,25 @@ public final class Channel {
}
byte mode = 0;
if (leftTime / (60 * 1000) > 0) {
if (leftTime / (MINUTES.toMillis(1)) > 0) {
mode++; //counts minutes
if (leftTime / (60 * 60 * 1000) > 0) {
if (leftTime / (HOURS.toMillis(1)) > 0) {
mode++; //counts hours
}
}
switch (mode) {
case 2:
int hours = (int) ((leftTime / (1000 * 60 * 60)));
int hours = (int) ((leftTime / (HOURS.toMillis(1))));
str.append(hours + " hours, ");
case 1:
int minutes = (int) ((leftTime / (1000 * 60)) % 60);
int minutes = (int) ((leftTime / (MINUTES.toMillis(1))) % 60);
str.append(minutes + " minutes, ");
default:
int seconds = (int) (leftTime / 1000) % 60;
int seconds = (int) (leftTime / SECONDS.toMillis(1)) % 60;
str.append(seconds + " seconds");
}
@@ -934,7 +936,7 @@ public final class Channel {
}
public static long getRelativeWeddingTicketExpireTime(int resSlot) {
return (resSlot * YamlConfig.config.server.WEDDING_RESERVATION_INTERVAL * 60 * 1000);
return MINUTES.toMillis((long) resSlot * YamlConfig.config.server.WEDDING_RESERVATION_INTERVAL);
}
public String getWeddingReservationTimeLeft(Integer weddingId) {
@@ -962,7 +964,7 @@ public final class Channel {
return venue + " - RIGHT NOW";
}
return venue + " - " + getTimeLeft(ongoingStartTime + (resStatus * YamlConfig.config.server.WEDDING_RESERVATION_INTERVAL * 60 * 1000)) + " from now";
return venue + " - " + getTimeLeft(ongoingStartTime + MINUTES.toMillis((long) resStatus * YamlConfig.config.server.WEDDING_RESERVATION_INTERVAL)) + " from now";
} finally {
lock.unlock();
}

View File

@@ -48,6 +48,9 @@ import java.awt.*;
import java.util.List;
import java.util.*;
import static java.util.concurrent.TimeUnit.MINUTES;
import static java.util.concurrent.TimeUnit.SECONDS;
public abstract class AbstractDealDamageHandler extends AbstractPacketHandler {
public static class AttackInfo {
@@ -302,9 +305,11 @@ public abstract class AbstractDealDamageHandler extends AbstractPacketHandler {
}
}
} else if (attack.skill == FPArchMage.FIRE_DEMON) {
monster.setTempEffectiveness(Element.ICE, ElementalEffectiveness.WEAK, SkillFactory.getSkill(FPArchMage.FIRE_DEMON).getEffect(player.getSkillLevel(SkillFactory.getSkill(FPArchMage.FIRE_DEMON))).getDuration() * 1000);
long duration = SECONDS.toMillis(SkillFactory.getSkill(FPArchMage.FIRE_DEMON).getEffect(player.getSkillLevel(SkillFactory.getSkill(FPArchMage.FIRE_DEMON))).getDuration());
monster.setTempEffectiveness(Element.ICE, ElementalEffectiveness.WEAK, duration);
} else if (attack.skill == ILArchMage.ICE_DEMON) {
monster.setTempEffectiveness(Element.FIRE, ElementalEffectiveness.WEAK, SkillFactory.getSkill(ILArchMage.ICE_DEMON).getEffect(player.getSkillLevel(SkillFactory.getSkill(ILArchMage.ICE_DEMON))).getDuration() * 1000);
long duration = SECONDS.toMillis(SkillFactory.getSkill(ILArchMage.ICE_DEMON).getEffect(player.getSkillLevel(SkillFactory.getSkill(ILArchMage.ICE_DEMON))).getDuration());
monster.setTempEffectiveness(Element.FIRE, ElementalEffectiveness.WEAK, duration);
} else if (attack.skill == Outlaw.HOMING_BEACON || attack.skill == Corsair.BULLSEYE) {
StatEffect beacon = SkillFactory.getSkill(attack.skill).getEffect(player.getSkillLevel(attack.skill));
beacon.applyBeaconBuff(player, monster.getObjectId());
@@ -324,7 +329,8 @@ public abstract class AbstractDealDamageHandler extends AbstractPacketHandler {
Skill snowCharge = SkillFactory.getSkill(Aran.SNOW_CHARGE);
if (totDamageToOneMonster > 0) {
MonsterStatusEffect monsterStatusEffect = new MonsterStatusEffect(Collections.singletonMap(MonsterStatus.SPEED, snowCharge.getEffect(player.getSkillLevel(snowCharge)).getX()), snowCharge, null, false);
monster.applyStatus(player, monsterStatusEffect, false, snowCharge.getEffect(player.getSkillLevel(snowCharge)).getY() * 1000);
long duration = SECONDS.toMillis(snowCharge.getEffect(player.getSkillLevel(snowCharge)).getY());
monster.applyStatus(player, monsterStatusEffect, false, duration);
}
}
}
@@ -332,21 +338,24 @@ public abstract class AbstractDealDamageHandler extends AbstractPacketHandler {
Skill hamstring = SkillFactory.getSkill(Bowmaster.HAMSTRING);
if (hamstring.getEffect(player.getSkillLevel(hamstring)).makeChanceResult()) {
MonsterStatusEffect monsterStatusEffect = new MonsterStatusEffect(Collections.singletonMap(MonsterStatus.SPEED, hamstring.getEffect(player.getSkillLevel(hamstring)).getX()), hamstring, null, false);
monster.applyStatus(player, monsterStatusEffect, false, hamstring.getEffect(player.getSkillLevel(hamstring)).getY() * 1000);
long duration = SECONDS.toMillis(hamstring.getEffect(player.getSkillLevel(hamstring)).getY());
monster.applyStatus(player, monsterStatusEffect, false, duration);
}
}
if (player.getBuffedValue(BuffStat.SLOW) != null) {
Skill slow = SkillFactory.getSkill(Evan.SLOW);
if (slow.getEffect(player.getSkillLevel(slow)).makeChanceResult()) {
MonsterStatusEffect monsterStatusEffect = new MonsterStatusEffect(Collections.singletonMap(MonsterStatus.SPEED, slow.getEffect(player.getSkillLevel(slow)).getX()), slow, null, false);
monster.applyStatus(player, monsterStatusEffect, false, slow.getEffect(player.getSkillLevel(slow)).getY() * 60 * 1000);
long duration = MINUTES.toMillis(slow.getEffect(player.getSkillLevel(slow)).getY());
monster.applyStatus(player, monsterStatusEffect, false, duration);
}
}
if (player.getBuffedValue(BuffStat.BLIND) != null) {
Skill blind = SkillFactory.getSkill(Marksman.BLIND);
if (blind.getEffect(player.getSkillLevel(blind)).makeChanceResult()) {
MonsterStatusEffect monsterStatusEffect = new MonsterStatusEffect(Collections.singletonMap(MonsterStatus.ACC, blind.getEffect(player.getSkillLevel(blind)).getX()), blind, null, false);
monster.applyStatus(player, monsterStatusEffect, false, blind.getEffect(player.getSkillLevel(blind)).getY() * 1000);
long duration = SECONDS.toMillis(blind.getEffect(player.getSkillLevel(blind)).getY());
monster.applyStatus(player, monsterStatusEffect, false, duration);
}
}
if (job == 121 || job == 122) {

View File

@@ -47,6 +47,8 @@ import java.util.Calendar;
import java.util.List;
import java.util.Map;
import static java.util.concurrent.TimeUnit.DAYS;
public final class CashOperationHandler extends AbstractPacketHandler {
@Override
@@ -418,7 +420,7 @@ public final class CashOperationHandler extends AbstractPacketHandler {
c.sendPacket(PacketCreator.showCashShopMessage((byte) 0));
c.enableCSActions();
return;
} else if (c.getTempBanCalendar() != null && c.getTempBanCalendar().getTimeInMillis() + (30 * 24 * 60 * 60 * 1000) > Calendar.getInstance().getTimeInMillis()) {
} else if (c.getTempBanCalendar() != null && (c.getTempBanCalendar().getTimeInMillis() + DAYS.toMillis(30)) > Calendar.getInstance().getTimeInMillis()) {
c.sendPacket(PacketCreator.showCashShopMessage((byte) 0));
c.enableCSActions();
return;

View File

@@ -35,6 +35,8 @@ import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import static java.util.concurrent.TimeUnit.SECONDS;
public final class CloseRangeDamageHandler extends AbstractDealDamageHandler {
@Override
@@ -166,7 +168,7 @@ public final class CloseRangeDamageHandler extends AbstractDealDamageHandler {
return;
} else {
c.sendPacket(PacketCreator.skillCooldown(attack.skill, effect_.getCooldown()));
chr.addCooldown(attack.skill, currentServerTime(), effect_.getCooldown() * 1000);
chr.addCooldown(attack.skill, currentServerTime(), SECONDS.toMillis(effect_.getCooldown()));
}
}
}

View File

@@ -63,7 +63,7 @@ public final class ItemRewardHandler extends AbstractPacketHandler {
if (ItemConstants.getInventoryType(reward.itemid) == InventoryType.EQUIP) {
final Item item = ii.getEquipById(reward.itemid);
if (reward.period != -1) {
item.setExpiration(currentServerTime() + (reward.period * 60 * 60 * 10));
item.setExpiration(currentServerTime() + reward.period * 60 * 60 * 10);
}
InventoryManipulator.addFromDrop(c, item, false);
} else {

View File

@@ -34,6 +34,8 @@ import net.packet.Packet;
import server.StatEffect;
import tools.PacketCreator;
import static java.util.concurrent.TimeUnit.SECONDS;
public final class MagicDamageHandler extends AbstractDealDamageHandler {
@Override
public final void handlePacket(InPacket p, Client c) {
@@ -72,7 +74,7 @@ public final class MagicDamageHandler extends AbstractDealDamageHandler {
return;
} else {
c.sendPacket(PacketCreator.skillCooldown(attack.skill, effect_.getCooldown()));
chr.addCooldown(attack.skill, currentServerTime(), effect_.getCooldown() * 1000);
chr.addCooldown(attack.skill, currentServerTime(), SECONDS.toMillis(effect_.getCooldown()));
}
}
applyAttack(attack, chr, effect.getAttackCount());

View File

@@ -39,6 +39,8 @@ import server.StatEffect;
import tools.PacketCreator;
import tools.Randomizer;
import static java.util.concurrent.TimeUnit.SECONDS;
public final class RangedAttackHandler extends AbstractDealDamageHandler {
@@ -214,7 +216,7 @@ public final class RangedAttackHandler extends AbstractDealDamageHandler {
return;
} else {
c.sendPacket(PacketCreator.skillCooldown(attack.skill, effect_.getCooldown()));
chr.addCooldown(attack.skill, currentServerTime(), effect_.getCooldown() * 1000);
chr.addCooldown(attack.skill, currentServerTime(), SECONDS.toMillis(effect_.getCooldown()));
}
}
}

View File

@@ -36,6 +36,8 @@ import tools.PacketCreator;
import java.awt.*;
import static java.util.concurrent.TimeUnit.SECONDS;
public final class SpecialMoveHandler extends AbstractPacketHandler {
@Override
@@ -82,7 +84,7 @@ public final class SpecialMoveHandler extends AbstractPacketHandler {
}
c.sendPacket(PacketCreator.skillCooldown(skillid, cooldownTime));
chr.addCooldown(skillid, currentServerTime(), cooldownTime * 1000);
chr.addCooldown(skillid, currentServerTime(), SECONDS.toMillis(cooldownTime));
}
}
if (skillid == Hero.MONSTER_MAGNET || skillid == Paladin.MONSTER_MAGNET || skillid == DarkKnight.MONSTER_MAGNET) { // Monster Magnet

View File

@@ -31,6 +31,8 @@ import tools.PacketCreator;
import java.sql.*;
import java.util.Calendar;
import static java.util.concurrent.TimeUnit.DAYS;
/**
* @author Ronan
* @author Ubaware
@@ -54,7 +56,7 @@ public final class TransferNameHandler extends AbstractPacketHandler {
if (chr.getLevel() < 10) {
c.sendPacket(PacketCreator.sendNameTransferRules(4));
return;
} else if (c.getTempBanCalendar() != null && c.getTempBanCalendar().getTimeInMillis() + (30 * 24 * 60 * 60 * 1000) < Calendar.getInstance().getTimeInMillis()) {
} else if (c.getTempBanCalendar() != null && c.getTempBanCalendar().getTimeInMillis() + DAYS.toMillis(30) < Calendar.getInstance().getTimeInMillis()) {
c.sendPacket(PacketCreator.sendNameTransferRules(2));
return;
}

View File

@@ -50,6 +50,9 @@ import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import static java.util.concurrent.TimeUnit.DAYS;
import static java.util.concurrent.TimeUnit.SECONDS;
public final class UseCashItemHandler extends AbstractPacketHandler {
@Override
@@ -231,7 +234,7 @@ public final class UseCashItemHandler extends AbstractPacketHandler {
}
if (period > 0) {
eq.setExpiration(currentServerTime() + (period * 60 * 60 * 24 * 1000));
eq.setExpiration(currentServerTime() + DAYS.toMillis(period));
}
// double-remove found thanks to BHB
@@ -444,7 +447,7 @@ public final class UseCashItemHandler extends AbstractPacketHandler {
final int world = c.getWorld();
Server.getInstance().broadcastMessage(world, PacketCreator.getAvatarMega(player, medal, c.getChannel(), itemId, strLines, (p.readByte() != 0)));
TimerManager.getInstance().schedule(() -> Server.getInstance().broadcastMessage(world, PacketCreator.byeAvatarMega()), 1000 * 10);
TimerManager.getInstance().schedule(() -> Server.getInstance().broadcastMessage(world, PacketCreator.byeAvatarMega()), SECONDS.toMillis(10));
remove(c, position, itemId);
} else if (itemType == 540) {
p.readByte();
@@ -594,7 +597,7 @@ public final class UseCashItemHandler extends AbstractPacketHandler {
}
client.sendPacket(PacketCreator.enableActions());
}, 1000 * 3);
}, SECONDS.toMillis(3));
} else {
System.out.println("NEW CASH ITEM: " + itemType + "\n" + p);
c.sendPacket(PacketCreator.enableActions());