Use TimeUnit for time calculations
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user