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