Rename and clean up MapleQuestRequirement
This commit is contained in:
@@ -58,8 +58,8 @@ public class Quest {
|
||||
|
||||
protected short id;
|
||||
protected int timeLimit, timeLimit2;
|
||||
protected Map<QuestRequirementType, MapleQuestRequirement> startReqs = new EnumMap<>(QuestRequirementType.class);
|
||||
protected Map<QuestRequirementType, MapleQuestRequirement> completeReqs = new EnumMap<>(QuestRequirementType.class);
|
||||
protected Map<QuestRequirementType, AbstractQuestRequirement> startReqs = new EnumMap<>(QuestRequirementType.class);
|
||||
protected Map<QuestRequirementType, AbstractQuestRequirement> completeReqs = new EnumMap<>(QuestRequirementType.class);
|
||||
protected Map<QuestActionType, AbstractQuestAction> startActs = new EnumMap<>(QuestActionType.class);
|
||||
protected Map<QuestActionType, AbstractQuestAction> completeActs = new EnumMap<>(QuestActionType.class);
|
||||
protected List<Integer> relevantMobs = new LinkedList<>();
|
||||
@@ -113,7 +113,7 @@ public class Quest {
|
||||
}
|
||||
}
|
||||
|
||||
MapleQuestRequirement req = this.getRequirement(type, startReq);
|
||||
AbstractQuestRequirement req = this.getRequirement(type, startReq);
|
||||
if (req == null) {
|
||||
continue;
|
||||
}
|
||||
@@ -127,7 +127,7 @@ public class Quest {
|
||||
for (Data completeReq : completeReqData.getChildren()) {
|
||||
QuestRequirementType type = QuestRequirementType.getByWZName(completeReq.getName());
|
||||
|
||||
MapleQuestRequirement req = this.getRequirement(type, completeReq);
|
||||
AbstractQuestRequirement req = this.getRequirement(type, completeReq);
|
||||
if (req == null) {
|
||||
continue;
|
||||
}
|
||||
@@ -241,7 +241,7 @@ public class Quest {
|
||||
return false;
|
||||
}
|
||||
|
||||
for (MapleQuestRequirement r : startReqs.values()) {
|
||||
for (AbstractQuestRequirement r : startReqs.values()) {
|
||||
if (!r.check(chr, npcid)) {
|
||||
return false;
|
||||
}
|
||||
@@ -256,7 +256,7 @@ public class Quest {
|
||||
return false;
|
||||
}
|
||||
|
||||
for (MapleQuestRequirement r : completeReqs.values()) {
|
||||
for (AbstractQuestRequirement r : completeReqs.values()) {
|
||||
if (!r.check(chr, npcid)) {
|
||||
return false;
|
||||
}
|
||||
@@ -381,7 +381,7 @@ public class Quest {
|
||||
}
|
||||
|
||||
public int getStartItemAmountNeeded(int itemid) {
|
||||
MapleQuestRequirement req = startReqs.get(QuestRequirementType.ITEM);
|
||||
AbstractQuestRequirement req = startReqs.get(QuestRequirementType.ITEM);
|
||||
if (req == null) {
|
||||
return Integer.MIN_VALUE;
|
||||
}
|
||||
@@ -391,7 +391,7 @@ public class Quest {
|
||||
}
|
||||
|
||||
public int getCompleteItemAmountNeeded(int itemid) {
|
||||
MapleQuestRequirement req = completeReqs.get(QuestRequirementType.ITEM);
|
||||
AbstractQuestRequirement req = completeReqs.get(QuestRequirementType.ITEM);
|
||||
if (req == null) {
|
||||
return Integer.MAX_VALUE;
|
||||
}
|
||||
@@ -401,7 +401,7 @@ public class Quest {
|
||||
}
|
||||
|
||||
public int getMobAmountNeeded(int mid) {
|
||||
MapleQuestRequirement req = completeReqs.get(QuestRequirementType.MOB);
|
||||
AbstractQuestRequirement req = completeReqs.get(QuestRequirementType.MOB);
|
||||
if (req == null) {
|
||||
return 0;
|
||||
}
|
||||
@@ -413,9 +413,9 @@ public class Quest {
|
||||
|
||||
public short getInfoNumber(Status qs) {
|
||||
boolean checkEnd = qs.equals(Status.STARTED);
|
||||
Map<QuestRequirementType, MapleQuestRequirement> reqs = !checkEnd ? startReqs : completeReqs;
|
||||
Map<QuestRequirementType, AbstractQuestRequirement> reqs = !checkEnd ? startReqs : completeReqs;
|
||||
|
||||
MapleQuestRequirement req = reqs.get(QuestRequirementType.INFO_NUMBER);
|
||||
AbstractQuestRequirement req = reqs.get(QuestRequirementType.INFO_NUMBER);
|
||||
if (req != null) {
|
||||
InfoNumberRequirement inReq = (InfoNumberRequirement) req;
|
||||
return inReq.getInfoNumber();
|
||||
@@ -426,9 +426,9 @@ public class Quest {
|
||||
|
||||
public String getInfoEx(Status qs, int index) {
|
||||
boolean checkEnd = qs.equals(Status.STARTED);
|
||||
Map<QuestRequirementType, MapleQuestRequirement> reqs = !checkEnd ? startReqs : completeReqs;
|
||||
Map<QuestRequirementType, AbstractQuestRequirement> reqs = !checkEnd ? startReqs : completeReqs;
|
||||
try {
|
||||
MapleQuestRequirement req = reqs.get(QuestRequirementType.INFO_EX);
|
||||
AbstractQuestRequirement req = reqs.get(QuestRequirementType.INFO_EX);
|
||||
InfoExRequirement ixReq = (InfoExRequirement) req;
|
||||
return ixReq.getInfo().get(index);
|
||||
} catch (Exception e) {
|
||||
@@ -438,9 +438,9 @@ public class Quest {
|
||||
|
||||
public List<String> getInfoEx(Status qs) {
|
||||
boolean checkEnd = qs.equals(Status.STARTED);
|
||||
Map<QuestRequirementType, MapleQuestRequirement> reqs = !checkEnd ? startReqs : completeReqs;
|
||||
Map<QuestRequirementType, AbstractQuestRequirement> reqs = !checkEnd ? startReqs : completeReqs;
|
||||
try {
|
||||
MapleQuestRequirement req = reqs.get(QuestRequirementType.INFO_EX);
|
||||
AbstractQuestRequirement req = reqs.get(QuestRequirementType.INFO_EX);
|
||||
InfoExRequirement ixReq = (InfoExRequirement) req;
|
||||
return ixReq.getInfo();
|
||||
} catch (Exception e) {
|
||||
@@ -460,8 +460,8 @@ public class Quest {
|
||||
quests.clear();
|
||||
}
|
||||
|
||||
private MapleQuestRequirement getRequirement(QuestRequirementType type, Data data) {
|
||||
MapleQuestRequirement ret = null;
|
||||
private AbstractQuestRequirement getRequirement(QuestRequirementType type, Data data) {
|
||||
AbstractQuestRequirement ret = null;
|
||||
switch (type) {
|
||||
case END_DATE:
|
||||
ret = new EndDateRequirement(this, data);
|
||||
@@ -597,8 +597,8 @@ public class Quest {
|
||||
}
|
||||
|
||||
public int getNpcRequirement(boolean checkEnd) {
|
||||
Map<QuestRequirementType, MapleQuestRequirement> reqs = !checkEnd ? startReqs : completeReqs;
|
||||
MapleQuestRequirement mqr = reqs.get(QuestRequirementType.NPC);
|
||||
Map<QuestRequirementType, AbstractQuestRequirement> reqs = !checkEnd ? startReqs : completeReqs;
|
||||
AbstractQuestRequirement mqr = reqs.get(QuestRequirementType.NPC);
|
||||
if (mqr != null) {
|
||||
return ((NpcRequirement) mqr).get();
|
||||
} else {
|
||||
@@ -607,8 +607,8 @@ public class Quest {
|
||||
}
|
||||
|
||||
public boolean hasScriptRequirement(boolean checkEnd) {
|
||||
Map<QuestRequirementType, MapleQuestRequirement> reqs = !checkEnd ? startReqs : completeReqs;
|
||||
MapleQuestRequirement mqr = reqs.get(QuestRequirementType.SCRIPT);
|
||||
Map<QuestRequirementType, AbstractQuestRequirement> reqs = !checkEnd ? startReqs : completeReqs;
|
||||
AbstractQuestRequirement mqr = reqs.get(QuestRequirementType.SCRIPT);
|
||||
|
||||
if (mqr != null) {
|
||||
return ((ScriptRequirement) mqr).get();
|
||||
|
||||
@@ -27,30 +27,33 @@ import server.quest.QuestRequirementType;
|
||||
|
||||
/**
|
||||
* Base class for a Quest Requirement. Quest system uses it for all requirements.
|
||||
*
|
||||
* @author Tyler (Twdtwd)
|
||||
*/
|
||||
public abstract class MapleQuestRequirement {
|
||||
private final QuestRequirementType type;
|
||||
|
||||
public MapleQuestRequirement(QuestRequirementType type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks the requirement to see if the player currently meets it.
|
||||
* @param chr The {@link Character} to check on.
|
||||
* @param npcid The NPC ID it was called from.
|
||||
* @return boolean If the check was passed or not.
|
||||
*/
|
||||
public abstract boolean check(Character chr, Integer npcid);
|
||||
|
||||
/**
|
||||
* Processes the data and stores it in the class for future use.
|
||||
* @param data The data to process.
|
||||
*/
|
||||
public abstract void processData(Data data);
|
||||
|
||||
public QuestRequirementType getType() {
|
||||
return type;
|
||||
}
|
||||
public abstract class AbstractQuestRequirement {
|
||||
private final QuestRequirementType type;
|
||||
|
||||
public AbstractQuestRequirement(QuestRequirementType type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks the requirement to see if the player currently meets it.
|
||||
*
|
||||
* @param chr The {@link Character} to check on.
|
||||
* @param npcid The NPC ID it was called from.
|
||||
* @return boolean If the check was passed or not.
|
||||
*/
|
||||
public abstract boolean check(Character chr, Integer npcid);
|
||||
|
||||
/**
|
||||
* Processes the data and stores it in the class for future use.
|
||||
*
|
||||
* @param data The data to process.
|
||||
*/
|
||||
public abstract void processData(Data data);
|
||||
|
||||
public QuestRequirementType getType() {
|
||||
return type;
|
||||
}
|
||||
}
|
||||
@@ -29,7 +29,7 @@ import server.quest.QuestRequirementType;
|
||||
*
|
||||
* @author Ronan
|
||||
*/
|
||||
public class BuffExceptRequirement extends MapleQuestRequirement {
|
||||
public class BuffExceptRequirement extends AbstractQuestRequirement {
|
||||
private int buffId = -1;
|
||||
|
||||
public BuffExceptRequirement(Quest quest, Data data) {
|
||||
|
||||
@@ -29,7 +29,7 @@ import server.quest.QuestRequirementType;
|
||||
*
|
||||
* @author Ronan
|
||||
*/
|
||||
public class BuffRequirement extends MapleQuestRequirement {
|
||||
public class BuffRequirement extends AbstractQuestRequirement {
|
||||
private int buffId = 1;
|
||||
|
||||
public BuffRequirement(Quest quest, Data data) {
|
||||
|
||||
@@ -31,7 +31,7 @@ import server.quest.QuestRequirementType;
|
||||
*
|
||||
* @author Tyler (Twdtwd)
|
||||
*/
|
||||
public class CompletedQuestRequirement extends MapleQuestRequirement {
|
||||
public class CompletedQuestRequirement extends AbstractQuestRequirement {
|
||||
private int reqQuest;
|
||||
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ import java.util.Calendar;
|
||||
*
|
||||
* @author Tyler (Twdtwd)
|
||||
*/
|
||||
public class EndDateRequirement extends MapleQuestRequirement {
|
||||
public class EndDateRequirement extends AbstractQuestRequirement {
|
||||
private String timeStr;
|
||||
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ import server.quest.QuestRequirementType;
|
||||
*
|
||||
* @author Tyler (Twdtwd)
|
||||
*/
|
||||
public class FieldEnterRequirement extends MapleQuestRequirement {
|
||||
public class FieldEnterRequirement extends AbstractQuestRequirement {
|
||||
private int mapId = -1;
|
||||
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ import java.util.List;
|
||||
*
|
||||
* @author Tyler (Twdtwd)
|
||||
*/
|
||||
public class InfoExRequirement extends MapleQuestRequirement {
|
||||
public class InfoExRequirement extends AbstractQuestRequirement {
|
||||
private List<String> infoExpected = new ArrayList<>();
|
||||
private int questID;
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ import server.quest.QuestRequirementType;
|
||||
*
|
||||
* @author Ronan
|
||||
*/
|
||||
public class InfoNumberRequirement extends MapleQuestRequirement {
|
||||
public class InfoNumberRequirement extends AbstractQuestRequirement {
|
||||
|
||||
private short infoNumber;
|
||||
private int questID;
|
||||
|
||||
@@ -32,7 +32,7 @@ import server.quest.QuestRequirementType;
|
||||
*
|
||||
* @author Tyler (Twdtwd)
|
||||
*/
|
||||
public class IntervalRequirement extends MapleQuestRequirement {
|
||||
public class IntervalRequirement extends AbstractQuestRequirement {
|
||||
private int interval = -1;
|
||||
private int questID;
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ import java.util.Map;
|
||||
*
|
||||
* @author Tyler (Twdtwd)
|
||||
*/
|
||||
public class ItemRequirement extends MapleQuestRequirement {
|
||||
public class ItemRequirement extends AbstractQuestRequirement {
|
||||
Map<Integer, Integer> items = new HashMap<>();
|
||||
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ import java.util.List;
|
||||
*
|
||||
* @author Tyler (Twdtwd)
|
||||
*/
|
||||
public class JobRequirement extends MapleQuestRequirement {
|
||||
public class JobRequirement extends AbstractQuestRequirement {
|
||||
List<Integer> jobs = new ArrayList<>();
|
||||
|
||||
public JobRequirement(Quest quest, Data data) {
|
||||
|
||||
@@ -31,7 +31,7 @@ import server.quest.QuestRequirementType;
|
||||
*
|
||||
* @author Tyler (Twdtwd)
|
||||
*/
|
||||
public class MaxLevelRequirement extends MapleQuestRequirement {
|
||||
public class MaxLevelRequirement extends AbstractQuestRequirement {
|
||||
private int maxLevel;
|
||||
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ import server.quest.QuestRequirementType;
|
||||
*
|
||||
* @author Ronan
|
||||
*/
|
||||
public class MesoRequirement extends MapleQuestRequirement {
|
||||
public class MesoRequirement extends AbstractQuestRequirement {
|
||||
private int meso = 0;
|
||||
|
||||
public MesoRequirement(Quest quest, Data data) {
|
||||
|
||||
@@ -31,7 +31,7 @@ import server.quest.QuestRequirementType;
|
||||
*
|
||||
* @author Tyler (Twdtwd)
|
||||
*/
|
||||
public class MinLevelRequirement extends MapleQuestRequirement {
|
||||
public class MinLevelRequirement extends AbstractQuestRequirement {
|
||||
private int minLevel;
|
||||
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ import server.quest.QuestRequirementType;
|
||||
*
|
||||
* @author Tyler (Twdtwd)
|
||||
*/
|
||||
public class MinTamenessRequirement extends MapleQuestRequirement {
|
||||
public class MinTamenessRequirement extends AbstractQuestRequirement {
|
||||
private int minTameness;
|
||||
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ import java.util.Map;
|
||||
*
|
||||
* @author Tyler (Twdtwd)
|
||||
*/
|
||||
public class MobRequirement extends MapleQuestRequirement {
|
||||
public class MobRequirement extends AbstractQuestRequirement {
|
||||
Map<Integer, Integer> mobs = new HashMap<>();
|
||||
private int questID;
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ import server.quest.QuestRequirementType;
|
||||
*
|
||||
* @author Tyler (Twdtwd)
|
||||
*/
|
||||
public class MonsterBookCountRequirement extends MapleQuestRequirement {
|
||||
public class MonsterBookCountRequirement extends AbstractQuestRequirement {
|
||||
private int reqCards;
|
||||
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ import server.quest.QuestRequirementType;
|
||||
*
|
||||
* @author Tyler (Twdtwd)
|
||||
*/
|
||||
public class NpcRequirement extends MapleQuestRequirement {
|
||||
public class NpcRequirement extends AbstractQuestRequirement {
|
||||
private int reqNPC;
|
||||
|
||||
public NpcRequirement(Quest quest, Data data) {
|
||||
|
||||
@@ -35,7 +35,7 @@ import java.util.List;
|
||||
*
|
||||
* @author Tyler (Twdtwd)
|
||||
*/
|
||||
public class PetRequirement extends MapleQuestRequirement {
|
||||
public class PetRequirement extends AbstractQuestRequirement {
|
||||
List<Integer> petIDs = new ArrayList<>();
|
||||
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ import java.util.Map;
|
||||
*
|
||||
* @author Tyler (Twdtwd)
|
||||
*/
|
||||
public class QuestRequirement extends MapleQuestRequirement {
|
||||
public class QuestRequirement extends AbstractQuestRequirement {
|
||||
Map<Integer, Integer> quests = new HashMap<>();
|
||||
|
||||
public QuestRequirement(Quest quest, Data data) {
|
||||
|
||||
@@ -29,7 +29,7 @@ import server.quest.QuestRequirementType;
|
||||
*
|
||||
* @author Ronan
|
||||
*/
|
||||
public class ScriptRequirement extends MapleQuestRequirement {
|
||||
public class ScriptRequirement extends AbstractQuestRequirement {
|
||||
private boolean reqScript;
|
||||
|
||||
public ScriptRequirement(Quest quest, Data data) {
|
||||
|
||||
Reference in New Issue
Block a user