/** * License * THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS * CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). * THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. * ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR * COPYRIGHT LAW IS PROHIBITED. * * BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND * AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE * MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED * HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. * */ package l1j.server.server.model; import java.util.TimerTask; import java.util.logging.Level; import java.util.logging.Logger; import l1j.server.server.model.L1Awake; import l1j.server.server.model.Instance.L1PcInstance; public class MpReductionByAwake extends TimerTask { private static Logger _log = Logger.getLogger(MpReductionByAwake.class .getName()); private final L1PcInstance _pc; public MpReductionByAwake(L1PcInstance pc) { _pc = pc; } @Override public void run() { try { if (_pc.isDead()) { return; } decreaseMp(); } catch (Throwable e) { _log.log(Level.WARNING, e.getLocalizedMessage(), e); } } public void decreaseMp() { int newMp = _pc.getCurrentMp() - 8; if (newMp < 0) { newMp = 0; L1Awake.stop(_pc); } _pc.setCurrentMp(newMp); } }