/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package server.farm; import client.MapleCharacter; import java.io.Serializable; import java.sql.ResultSet; import java.sql.SQLException; import java.util.LinkedList; import java.util.List; import server.quest.MapleQuest; import server.quest.MapleQuestRequirementType; import tools.Pair; /** * * @author Itzik */ public class MapleFarmQuestRequirement implements Serializable { private static final long serialVersionUID = 9179541993413738569L; private MapleQuest quest; private int intStore; private int reqCompleted; private int installObjectID; private int installObjectCount; private int farmLevel; private boolean repeat; private int npcClick; private boolean achieve; private int harvestCount; private int careCount; private int playCount; private int combineCount; private int decoPoint; /** * Creates a new instance of MapleQuestRequirement * @param quest * @param type * @param rse * @throws java.sql.SQLException */ public MapleFarmQuestRequirement(MapleQuest quest, boolean repeatable, ResultSet rse) throws SQLException { this.quest = quest; if (repeatable) { intStore = Integer.parseInt(rse.getString("stringStore")); } reqCompleted = rse.getInt("reqCompleted"); installObjectID = rse.getInt("installObjectID"); installObjectCount = rse.getInt("installObjectCount"); farmLevel = rse.getInt("farmLevel"); repeat = rse.getInt("repeat") > 0; npcClick = rse.getInt("npcClick"); achieve = rse.getInt("achieve") > 0; harvestCount = rse.getInt("harvestCount"); careCount = rse.getInt("careCount"); playCount = rse.getInt("playCount"); combineCount = rse.getInt("combineCount"); decoPoint = rse.getInt("decoPoint"); } public boolean check(MapleCharacter c, boolean repeatable) { //getQuest into getFarmQuest if (repeatable && (c.getQuest(quest).getStatus() != 2 || c.getQuest(quest).getCompletionTime() <= System.currentTimeMillis() - intStore * 60 * 1000L)) { return true; } return false; } public MapleQuestRequirementType getType() { return MapleQuestRequirementType.interval; } @Override public String toString() { return "interval"; } }