Rename and clean up MapleQuestRequirement

This commit is contained in:
P0nk
2021-09-09 23:06:28 +02:00
parent 0777e5529f
commit c4318bef7b
22 changed files with 68 additions and 65 deletions

View File

@@ -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();

View File

@@ -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;
}
}

View File

@@ -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) {

View File

@@ -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) {

View File

@@ -31,7 +31,7 @@ import server.quest.QuestRequirementType;
*
* @author Tyler (Twdtwd)
*/
public class CompletedQuestRequirement extends MapleQuestRequirement {
public class CompletedQuestRequirement extends AbstractQuestRequirement {
private int reqQuest;

View File

@@ -33,7 +33,7 @@ import java.util.Calendar;
*
* @author Tyler (Twdtwd)
*/
public class EndDateRequirement extends MapleQuestRequirement {
public class EndDateRequirement extends AbstractQuestRequirement {
private String timeStr;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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<>();

View File

@@ -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) {

View File

@@ -31,7 +31,7 @@ import server.quest.QuestRequirementType;
*
* @author Tyler (Twdtwd)
*/
public class MaxLevelRequirement extends MapleQuestRequirement {
public class MaxLevelRequirement extends AbstractQuestRequirement {
private int maxLevel;

View File

@@ -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) {

View File

@@ -31,7 +31,7 @@ import server.quest.QuestRequirementType;
*
* @author Tyler (Twdtwd)
*/
public class MinLevelRequirement extends MapleQuestRequirement {
public class MinLevelRequirement extends AbstractQuestRequirement {
private int minLevel;

View File

@@ -32,7 +32,7 @@ import server.quest.QuestRequirementType;
*
* @author Tyler (Twdtwd)
*/
public class MinTamenessRequirement extends MapleQuestRequirement {
public class MinTamenessRequirement extends AbstractQuestRequirement {
private int minTameness;

View File

@@ -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;

View File

@@ -31,7 +31,7 @@ import server.quest.QuestRequirementType;
*
* @author Tyler (Twdtwd)
*/
public class MonsterBookCountRequirement extends MapleQuestRequirement {
public class MonsterBookCountRequirement extends AbstractQuestRequirement {
private int reqCards;

View File

@@ -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) {

View File

@@ -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<>();

View File

@@ -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) {

View File

@@ -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) {