Rename and clean up MapleQuestStatus

This commit is contained in:
P0nk
2021-09-09 21:23:06 +02:00
parent f4f5e12a50
commit 8af0999510
16 changed files with 122 additions and 119 deletions

View File

@@ -176,7 +176,7 @@ public class Character extends AbstractCharacterObject {
private List<Integer> lastmonthfameids;
private final List<WeakReference<MapleMap>> lastVisitedMaps = new LinkedList<>();
private WeakReference<MapleMap> ownedMap = new WeakReference<>(null);
private final Map<Short, MapleQuestStatus> quests;
private final Map<Short, QuestStatus> quests;
private final Set<MapleMonster> controlled = new LinkedHashSet<>();
private final Map<Integer, String> entered = new LinkedHashMap<>();
private final Set<MapleMapObject> visibleMapObjects = Collections.newSetFromMap(new ConcurrentHashMap<>());
@@ -4622,16 +4622,16 @@ public class Character extends AbstractCharacterObject {
return client.getAbstractPlayerInteraction();
}
private List<MapleQuestStatus> getQuests() {
private List<QuestStatus> getQuests() {
synchronized (quests) {
return new ArrayList<>(quests.values());
}
}
public final List<MapleQuestStatus> getCompletedQuests() {
List<MapleQuestStatus> ret = new LinkedList<>();
for (MapleQuestStatus qs : getQuests()) {
if (qs.getStatus().equals(MapleQuestStatus.Status.COMPLETED)) {
public final List<QuestStatus> getCompletedQuests() {
List<QuestStatus> ret = new LinkedList<>();
for (QuestStatus qs : getQuests()) {
if (qs.getStatus().equals(QuestStatus.Status.COMPLETED)) {
ret.add(qs);
}
}
@@ -5676,7 +5676,7 @@ public class Character extends AbstractCharacterObject {
public final byte getQuestStatus(final int quest) {
synchronized (quests) {
MapleQuestStatus mqs = quests.get((short) quest);
QuestStatus mqs = quests.get((short) quest);
if (mqs != null) {
return (byte) mqs.getStatus().getId();
} else {
@@ -5685,16 +5685,16 @@ public class Character extends AbstractCharacterObject {
}
}
public MapleQuestStatus getQuest(final int quest) {
public QuestStatus getQuest(final int quest) {
return getQuest(MapleQuest.getInstance(quest));
}
public MapleQuestStatus getQuest(MapleQuest quest) {
public QuestStatus getQuest(MapleQuest quest) {
synchronized (quests) {
short questid = quest.getId();
MapleQuestStatus qs = quests.get(questid);
QuestStatus qs = quests.get(questid);
if (qs == null) {
qs = new MapleQuestStatus(quest, MapleQuestStatus.Status.NOT_STARTED);
qs = new QuestStatus(quest, QuestStatus.Status.NOT_STARTED);
quests.put(questid, qs);
}
return qs;
@@ -5706,17 +5706,17 @@ public class Character extends AbstractCharacterObject {
public final void setQuestAdd(final MapleQuest quest, final byte status, final String customData) {
synchronized (quests) {
if (!quests.containsKey(quest.getId())) {
final MapleQuestStatus stat = new MapleQuestStatus(quest, MapleQuestStatus.Status.getById(status));
final QuestStatus stat = new QuestStatus(quest, QuestStatus.Status.getById(status));
stat.setCustomData(customData);
quests.put(quest.getId(), stat);
}
}
}
public final MapleQuestStatus getQuestNAdd(final MapleQuest quest) {
public final QuestStatus getQuestNAdd(final MapleQuest quest) {
synchronized (quests) {
if (!quests.containsKey(quest.getId())) {
final MapleQuestStatus status = new MapleQuestStatus(quest, MapleQuestStatus.Status.NOT_STARTED);
final QuestStatus status = new QuestStatus(quest, QuestStatus.Status.NOT_STARTED);
quests.put(quest.getId(), status);
return status;
}
@@ -5724,13 +5724,13 @@ public class Character extends AbstractCharacterObject {
}
}
public final MapleQuestStatus getQuestNoAdd(final MapleQuest quest) {
public final QuestStatus getQuestNoAdd(final MapleQuest quest) {
synchronized (quests) {
return quests.get(quest.getId());
}
}
public final MapleQuestStatus getQuestRemove(final MapleQuest quest) {
public final QuestStatus getQuestRemove(final MapleQuest quest) {
synchronized (quests) {
return quests.remove(quest.getId());
}
@@ -5838,10 +5838,10 @@ public class Character extends AbstractCharacterObject {
return slots;
}
public final List<MapleQuestStatus> getStartedQuests() {
List<MapleQuestStatus> ret = new LinkedList<>();
for (MapleQuestStatus qs : getQuests()) {
if (qs.getStatus().equals(MapleQuestStatus.Status.STARTED)) {
public final List<QuestStatus> getStartedQuests() {
List<QuestStatus> ret = new LinkedList<>();
for (QuestStatus qs : getQuests()) {
if (qs.getStatus().equals(QuestStatus.Status.STARTED)) {
ret.add(qs);
}
}
@@ -7233,7 +7233,7 @@ public class Character extends AbstractCharacterObject {
}
if (channelserver) {
final Map<Integer, MapleQuestStatus> loadedQuestStatus = new LinkedHashMap<>();
final Map<Integer, QuestStatus> loadedQuestStatus = new LinkedHashMap<>();
// Quest status
try (PreparedStatement ps = con.prepareStatement("SELECT * FROM queststatus WHERE characterid = ?")) {
@@ -7242,7 +7242,7 @@ public class Character extends AbstractCharacterObject {
try (ResultSet rs = ps.executeQuery()) {
while (rs.next()) {
MapleQuest q = MapleQuest.getInstance(rs.getShort("quest"));
MapleQuestStatus status = new MapleQuestStatus(q, MapleQuestStatus.Status.getById(rs.getInt("status")));
QuestStatus status = new QuestStatus(q, QuestStatus.Status.getById(rs.getInt("status")));
long cTime = rs.getLong("time");
if (cTime > -1) {
status.setCompletionTime(cTime * 1000);
@@ -7267,7 +7267,7 @@ public class Character extends AbstractCharacterObject {
ps.setInt(1, charid);
try (ResultSet rsProgress = ps.executeQuery()) {
while (rsProgress.next()) {
MapleQuestStatus status = loadedQuestStatus.get(rsProgress.getInt("queststatusid"));
QuestStatus status = loadedQuestStatus.get(rsProgress.getInt("queststatusid"));
if (status != null) {
status.setProgress(rsProgress.getInt("progressid"), rsProgress.getString("progress"));
}
@@ -7280,7 +7280,7 @@ public class Character extends AbstractCharacterObject {
ps.setInt(1, charid);
try (ResultSet rsMedalMaps = ps.executeQuery()) {
while (rsMedalMaps.next()) {
MapleQuestStatus status = loadedQuestStatus.get(rsMedalMaps.getInt("queststatusid"));
QuestStatus status = loadedQuestStatus.get(rsMedalMaps.getInt("queststatusid"));
if (status != null) {
status.addMedalMap(rsMedalMaps.getInt("mapid"));
}
@@ -7453,7 +7453,7 @@ public class Character extends AbstractCharacterObject {
}
public void reloadQuestExpirations() {
for (MapleQuestStatus mqs : getStartedQuests()) {
for (QuestStatus mqs : getStartedQuests()) {
if (mqs.getExpirationTime() > 0) {
questTimeLimit2(mqs.getQuest(), mqs.getExpirationTime());
}
@@ -7521,9 +7521,9 @@ public class Character extends AbstractCharacterObject {
int lastQuestProcessed = 0;
try {
synchronized (quests) {
for (MapleQuestStatus qs : getQuests()) {
for (QuestStatus qs : getQuests()) {
lastQuestProcessed = qs.getQuest().getId();
if (qs.getStatus() == MapleQuestStatus.Status.COMPLETED || qs.getQuest().canComplete(this, null)) {
if (qs.getStatus() == QuestStatus.Status.COMPLETED || qs.getQuest().canComplete(this, null)) {
continue;
}
@@ -8675,7 +8675,7 @@ public class Character extends AbstractCharacterObject {
PreparedStatement psMedal = con.prepareStatement("INSERT INTO medalmaps VALUES (DEFAULT, ?, ?, ?)")) {
psStatus.setInt(1, id);
for (MapleQuestStatus qs : getQuests()) {
for (QuestStatus qs : getQuests()) {
psStatus.setInt(2, qs.getQuest().getId());
psStatus.setInt(3, qs.getStatus().getId());
psStatus.setInt(4, (int) (qs.getCompletionTime() / 1000));
@@ -9822,11 +9822,11 @@ public class Character extends AbstractCharacterObject {
public void setQuestProgress(int id, int infoNumber, String progress) {
MapleQuest q = MapleQuest.getInstance(id);
MapleQuestStatus qs = getQuest(q);
QuestStatus qs = getQuest(q);
if (qs.getInfoNumber() == infoNumber && infoNumber > 0) {
MapleQuest iq = MapleQuest.getInstance(infoNumber);
MapleQuestStatus iqs = getQuest(iq);
QuestStatus iqs = getQuest(iq);
iqs.setProgress(0, progress);
} else {
qs.setProgress(infoNumber, progress); // quest progress is thoroughly a string match, infoNumber is actually another questid
@@ -9865,7 +9865,7 @@ public class Character extends AbstractCharacterObject {
switch (questUpdate.getLeft()) {
case UPDATE:
sendPacket(PacketCreator.updateQuest(chr, (MapleQuestStatus) objs[0], (Boolean) objs[1]));
sendPacket(PacketCreator.updateQuest(chr, (QuestStatus) objs[0], (Boolean) objs[1]));
break;
case FORFEIT:
@@ -9877,7 +9877,7 @@ public class Character extends AbstractCharacterObject {
break;
case INFO:
MapleQuestStatus qs = (MapleQuestStatus) objs[0];
QuestStatus qs = (QuestStatus) objs[0];
sendPacket(PacketCreator.updateQuestInfo(qs.getQuest().getId(), qs.getNpc()));
break;
}
@@ -9908,17 +9908,17 @@ public class Character extends AbstractCharacterObject {
}
}
public void updateQuestStatus(MapleQuestStatus qs) {
public void updateQuestStatus(QuestStatus qs) {
synchronized (quests) {
quests.put(qs.getQuestID(), qs);
}
if (qs.getStatus().equals(MapleQuestStatus.Status.STARTED)) {
if (qs.getStatus().equals(QuestStatus.Status.STARTED)) {
announceUpdateQuest(DelayedQuestUpdate.UPDATE, qs, false);
if (qs.getInfoNumber() > 0) {
announceUpdateQuest(DelayedQuestUpdate.UPDATE, qs, true);
}
announceUpdateQuest(DelayedQuestUpdate.INFO, qs);
} else if (qs.getStatus().equals(MapleQuestStatus.Status.COMPLETED)) {
} else if (qs.getStatus().equals(QuestStatus.Status.COMPLETED)) {
MapleQuest mquest = qs.getQuest();
short questid = mquest.getId();
if (!mquest.isSameDayRepeatable() && !MapleQuest.isExploitableQuest(questid)) {
@@ -9928,7 +9928,7 @@ public class Character extends AbstractCharacterObject {
announceUpdateQuest(DelayedQuestUpdate.COMPLETE, questid, qs.getCompletionTime());
//announceUpdateQuest(DelayedQuestUpdate.INFO, qs); // happens after giving rewards, for non-next quests only
} else if (qs.getStatus().equals(MapleQuestStatus.Status.NOT_STARTED)) {
} else if (qs.getStatus().equals(QuestStatus.Status.NOT_STARTED)) {
announceUpdateQuest(DelayedQuestUpdate.UPDATE, qs, false);
if (qs.getInfoNumber() > 0) {
announceUpdateQuest(DelayedQuestUpdate.UPDATE, qs, true);

View File

@@ -27,10 +27,9 @@ import tools.StringUtil;
import java.util.*;
/**
*
* @author Matze
*/
public class MapleQuestStatus {
public class QuestStatus {
public enum Status {
UNDEFINED(-1),
NOT_STARTED(0),
@@ -38,7 +37,7 @@ public class MapleQuestStatus {
COMPLETED(2);
final int status;
private Status(int id) {
Status(int id) {
status = id;
}
@@ -55,7 +54,8 @@ public class MapleQuestStatus {
return null;
}
}
private short questID;
private final short questID;
private Status status;
//private boolean updated; //maybe this can be of use for someone?
private final Map<Integer, String> progress = new LinkedHashMap<>();
@@ -65,17 +65,18 @@ public class MapleQuestStatus {
private int forfeited = 0, completed = 0;
private String customData;
public MapleQuestStatus(MapleQuest quest, Status status) {
public QuestStatus(MapleQuest quest, Status status) {
this.questID = quest.getId();
this.setStatus(status);
this.completionTime = System.currentTimeMillis();
this.expirationTime = 0;
//this.updated = true;
if (status == Status.STARTED)
registerMobs();
if (status == Status.STARTED) {
registerMobs();
}
}
public MapleQuestStatus(MapleQuest quest, Status status, int npc) {
public QuestStatus(MapleQuest quest, Status status, int npc) {
this.questID = quest.getId();
this.setStatus(status);
this.setNpc(npc);
@@ -90,7 +91,7 @@ public class MapleQuestStatus {
public MapleQuest getQuest() {
return MapleQuest.getInstance(questID);
}
public short getQuestID() {
return questID;
}
@@ -133,7 +134,9 @@ public class MapleQuestStatus {
}
public boolean addMedalMap(int mapid) {
if (medalProgress.contains(mapid)) return false;
if (medalProgress.contains(mapid)) {
return false;
}
medalProgress.add(mapid);
//this.setUpdated();
return true;
@@ -152,12 +155,12 @@ public class MapleQuestStatus {
if (currentStr == null) {
return false;
}
int current = Integer.parseInt(currentStr);
if (current >= this.getQuest().getMobAmountNeeded(id)) {
return false;
}
String str = StringUtil.getLeftPaddedStr(Integer.toString(++current), '0', 3);
progress.put(id, str);
//this.setUpdated();
@@ -172,7 +175,7 @@ public class MapleQuestStatus {
public boolean madeProgress() {
return progress.size() > 0;
}
public String getProgress(int id) {
String ret = progress.get(id);
if (ret == null) {
@@ -181,13 +184,13 @@ public class MapleQuestStatus {
return ret;
}
}
public void resetProgress(int id) {
setProgress(id, "000");
}
public void resetAllProgress() {
for(Map.Entry<Integer, String> entry : progress.entrySet()) {
for (Map.Entry<Integer, String> entry : progress.entrySet()) {
setProgress(entry.getKey(), "000");
}
}
@@ -195,25 +198,25 @@ public class MapleQuestStatus {
public Map<Integer, String> getProgress() {
return Collections.unmodifiableMap(progress);
}
public short getInfoNumber() {
MapleQuest q = this.getQuest();
Status s = this.getStatus();
return q.getInfoNumber(s);
}
public String getInfoEx(int index) {
MapleQuest q = this.getQuest();
Status s = this.getStatus();
return q.getInfoEx(s, index);
}
public List<String> getInfoEx() {
MapleQuest q = this.getQuest();
Status s = this.getStatus();
return q.getInfoEx(s);
}
@@ -224,11 +227,11 @@ public class MapleQuestStatus {
public void setCompletionTime(long completionTime) {
this.completionTime = completionTime;
}
public long getExpirationTime() {
return expirationTime;
}
public void setExpirationTime(long expirationTime) {
this.expirationTime = expirationTime;
}
@@ -236,7 +239,7 @@ public class MapleQuestStatus {
public int getForfeited() {
return forfeited;
}
public int getCompleted() {
return completed;
}
@@ -248,7 +251,7 @@ public class MapleQuestStatus {
throw new IllegalArgumentException("Can't set forfeits to something lower than before.");
}
}
public void setCompleted(int completed) {
if (completed >= this.completed) {
this.completed = completed;
@@ -264,7 +267,7 @@ public class MapleQuestStatus {
public final String getCustomData() {
return customData;
}
public String getProgressData() {
StringBuilder str = new StringBuilder();
for (String ps : progress.values()) {

View File

@@ -2,7 +2,7 @@ package net.server.channel.handlers;
import client.Character;
import client.Client;
import client.MapleQuestStatus;
import client.QuestStatus;
import client.inventory.Inventory;
import client.inventory.InventoryType;
import client.inventory.manipulator.InventoryManipulator;
@@ -41,7 +41,7 @@ public class RaiseIncExpHandler extends AbstractPacketHandler {
Character chr = c.getPlayer();
MapleQuest quest = MapleQuest.getInstanceFromInfoNumber(infoNumber);
if (!chr.getQuest(quest).getStatus().equals(MapleQuestStatus.Status.STARTED)) {
if (!chr.getQuest(quest).getStatus().equals(QuestStatus.Status.STARTED)) {
c.sendPacket(PacketCreator.enableActions());
return;
}

View File

@@ -3,7 +3,7 @@ package net.server.channel.handlers;
import client.Character;
import client.Character.DelayedQuestUpdate;
import client.Client;
import client.MapleQuestStatus;
import client.QuestStatus;
import net.AbstractPacketHandler;
import net.packet.InPacket;
import scripting.quest.QuestScriptManager;
@@ -23,14 +23,14 @@ public class RaiseUIStateHandler extends AbstractPacketHandler {
try {
Character chr = c.getPlayer();
MapleQuest quest = MapleQuest.getInstanceFromInfoNumber(infoNumber);
MapleQuestStatus mqs = chr.getQuest(quest);
QuestStatus mqs = chr.getQuest(quest);
QuestScriptManager.getInstance().raiseOpen(c, (short) infoNumber, mqs.getNpc());
if (mqs.getStatus() == MapleQuestStatus.Status.NOT_STARTED) {
if (mqs.getStatus() == QuestStatus.Status.NOT_STARTED) {
quest.forceStart(chr, 22000);
c.getAbstractPlayerInteraction().setQuestProgress(quest.getId(), infoNumber, 0);
} else if (mqs.getStatus() == MapleQuestStatus.Status.STARTED) {
} else if (mqs.getStatus() == QuestStatus.Status.STARTED) {
chr.announceUpdateQuest(DelayedQuestUpdate.UPDATE, mqs, mqs.getInfoNumber() > 0);
}
} finally {

View File

@@ -319,11 +319,11 @@ public class AbstractPlayerInteraction {
//---- \/ \/ \/ \/ \/ \/ \/ NOT TESTED \/ \/ \/ \/ \/ \/ \/ \/ \/ ----
public final MapleQuestStatus getQuestRecord(final int id) {
public final QuestStatus getQuestRecord(final int id) {
return c.getPlayer().getQuestNAdd(MapleQuest.getInstance(id));
}
public final MapleQuestStatus getQuestNoRecord(final int id) {
public final QuestStatus getQuestNoRecord(final int id) {
return c.getPlayer().getQuestNoAdd(MapleQuest.getInstance(id));
}
@@ -347,13 +347,13 @@ public class AbstractPlayerInteraction {
return c.getPlayer().getQuest(MapleQuest.getInstance(id)).getStatus().getId();
}
private MapleQuestStatus.Status getQuestStat(int id) {
private QuestStatus.Status getQuestStat(int id) {
return c.getPlayer().getQuest(MapleQuest.getInstance(id)).getStatus();
}
public boolean isQuestCompleted(int id) {
try {
return getQuestStat(id) == MapleQuestStatus.Status.COMPLETED;
return getQuestStat(id) == QuestStatus.Status.COMPLETED;
} catch (NullPointerException e) {
e.printStackTrace();
return false;
@@ -366,7 +366,7 @@ public class AbstractPlayerInteraction {
public boolean isQuestStarted(int id) {
try {
return getQuestStat(id) == MapleQuestStatus.Status.STARTED;
return getQuestStat(id) == QuestStatus.Status.STARTED;
} catch (NullPointerException e) {
e.printStackTrace();
return false;
@@ -394,7 +394,7 @@ public class AbstractPlayerInteraction {
}
public String getQuestProgress(int id, int infoNumber) {
MapleQuestStatus qs = getPlayer().getQuest(MapleQuest.getInstance(id));
QuestStatus qs = getPlayer().getQuest(MapleQuest.getInstance(id));
if (qs.getInfoNumber() == infoNumber && infoNumber > 0) {
qs = getPlayer().getQuest(MapleQuest.getInstance(infoNumber));
@@ -425,7 +425,7 @@ public class AbstractPlayerInteraction {
}
public void resetAllQuestProgress(int id) {
MapleQuestStatus qs = getPlayer().getQuest(MapleQuest.getInstance(id));
QuestStatus qs = getPlayer().getQuest(MapleQuest.getInstance(id));
if (qs != null) {
qs.resetAllProgress();
getPlayer().announceUpdateQuest(DelayedQuestUpdate.UPDATE, qs, false);
@@ -433,7 +433,7 @@ public class AbstractPlayerInteraction {
}
public void resetQuestProgress(int id, int infoNumber) {
MapleQuestStatus qs = getPlayer().getQuest(MapleQuest.getInstance(id));
QuestStatus qs = getPlayer().getQuest(MapleQuest.getInstance(id));
if (qs != null) {
qs.resetProgress(infoNumber);
getPlayer().announceUpdateQuest(DelayedQuestUpdate.UPDATE, qs, false);

View File

@@ -23,7 +23,7 @@ package scripting.map;
import client.Character.DelayedQuestUpdate;
import client.Client;
import client.MapleQuestStatus;
import client.QuestStatus;
import scripting.AbstractPlayerInteraction;
import server.quest.MapleQuest;
import tools.PacketCreator;
@@ -122,7 +122,7 @@ public class MapScriptMethods extends AbstractPlayerInteraction {
return;
}
}
MapleQuestStatus qs = getPlayer().getQuest(quest);
QuestStatus qs = getPlayer().getQuest(quest);
if (!qs.addMedalMap(getPlayer().getMapId())) {
return;
}
@@ -151,7 +151,7 @@ public class MapScriptMethods extends AbstractPlayerInteraction {
return;
}
}
MapleQuestStatus qs = getPlayer().getQuest(quest);
QuestStatus qs = getPlayer().getQuest(quest);
if (!qs.addMedalMap(getPlayer().getMapId())) {
return;
}

View File

@@ -22,7 +22,7 @@
package scripting.quest;
import client.Client;
import client.MapleQuestStatus;
import client.QuestStatus;
import constants.game.GameConstants;
import scripting.AbstractScriptManager;
import server.quest.MapleQuest;
@@ -110,7 +110,7 @@ public class QuestScriptManager extends AbstractScriptManager {
public void end(Client c, short questid, int npc) {
MapleQuest quest = MapleQuest.getInstance(questid);
if (!c.getPlayer().getQuest(quest).getStatus().equals(MapleQuestStatus.Status.STARTED) || !c.getPlayer().getMap().containsNPC(npc)) {
if (!c.getPlayer().getQuest(quest).getStatus().equals(QuestStatus.Status.STARTED) || !c.getPlayer().getMap().containsNPC(npc)) {
dispose(c);
return;
}

View File

@@ -1383,7 +1383,7 @@ public class MapleMap {
AutobanFactory.GENERAL.alert(chr, " for killing a " + monster.getName() + " which is over 30 levels higher.");
}
/*if (chr.getQuest(MapleQuest.getInstance(29400)).getStatus().equals(MapleQuestStatus.Status.STARTED)) {
/*if (chr.getQuest(MapleQuest.getInstance(29400)).getStatus().equals(QuestStatus.Status.STARTED)) {
if (chr.getLevel() >= 120 && monster.getStats().getLevel() >= 120) {
//FIX MEDAL SHET
} else if (monster.getStats().getLevel() >= chr.getLevel()) {

View File

@@ -22,8 +22,8 @@
package server.quest;
import client.Character;
import client.MapleQuestStatus;
import client.MapleQuestStatus.Status;
import client.QuestStatus;
import client.QuestStatus.Status;
import config.YamlConfig;
import provider.MapleData;
import provider.MapleDataProvider;
@@ -203,12 +203,12 @@ public class MapleQuest {
}
public boolean canStartQuestByStatus(Character chr) {
MapleQuestStatus mqs = chr.getQuest(this);
QuestStatus mqs = chr.getQuest(this);
return !(!mqs.getStatus().equals(Status.NOT_STARTED) && !(mqs.getStatus().equals(Status.COMPLETED) && repeatable));
}
public boolean canQuestByInfoProgress(Character chr) {
MapleQuestStatus mqs = chr.getQuest(this);
QuestStatus mqs = chr.getQuest(this);
List<String> ix = mqs.getInfoEx();
if (!ix.isEmpty()) {
short questid = mqs.getQuestID();
@@ -250,7 +250,7 @@ public class MapleQuest {
}
public boolean canComplete(Character chr, Integer npcid) {
MapleQuestStatus mqs = chr.getQuest(this);
QuestStatus mqs = chr.getQuest(this);
if (!mqs.getStatus().equals(Status.STARTED)) {
return false;
}
@@ -306,7 +306,7 @@ public class MapleQuest {
}
public void reset(Character chr) {
MapleQuestStatus newStatus = new MapleQuestStatus(this, MapleQuestStatus.Status.NOT_STARTED);
QuestStatus newStatus = new QuestStatus(this, QuestStatus.Status.NOT_STARTED);
chr.updateQuestStatus(newStatus);
}
@@ -317,16 +317,16 @@ public class MapleQuest {
if (timeLimit > 0) {
chr.sendPacket(PacketCreator.removeQuestTimeLimit(id));
}
MapleQuestStatus newStatus = new MapleQuestStatus(this, MapleQuestStatus.Status.NOT_STARTED);
QuestStatus newStatus = new QuestStatus(this, QuestStatus.Status.NOT_STARTED);
newStatus.setForfeited(chr.getQuest(this).getForfeited() + 1);
chr.updateQuestStatus(newStatus);
return true;
}
public boolean forceStart(Character chr, int npc) {
MapleQuestStatus newStatus = new MapleQuestStatus(this, MapleQuestStatus.Status.STARTED, npc);
QuestStatus newStatus = new QuestStatus(this, QuestStatus.Status.STARTED, npc);
MapleQuestStatus oldStatus = chr.getQuest(this.getId());
QuestStatus oldStatus = chr.getQuest(this.getId());
for (Entry<Integer, String> e : oldStatus.getProgress().entrySet()) {
newStatus.setProgress(e.getKey(), e.getValue());
}
@@ -364,7 +364,7 @@ public class MapleQuest {
chr.sendPacket(PacketCreator.removeQuestTimeLimit(id));
}
MapleQuestStatus newStatus = new MapleQuestStatus(this, MapleQuestStatus.Status.COMPLETED, npc);
QuestStatus newStatus = new QuestStatus(this, QuestStatus.Status.COMPLETED, npc);
newStatus.setForfeited(chr.getQuest(this).getForfeited());
newStatus.setCompleted(chr.getQuest(this).getCompleted());
newStatus.setCompletionTime(System.currentTimeMillis());
@@ -581,7 +581,7 @@ public class MapleQuest {
}
public boolean restoreLostItem(Character chr, int itemid) {
if (chr.getQuest(this).getStatus().equals(MapleQuestStatus.Status.STARTED)) {
if (chr.getQuest(this).getStatus().equals(QuestStatus.Status.STARTED)) {
ItemAction itemAct = (ItemAction) startActs.get(MapleQuestActionType.ITEM);
if (itemAct != null) {
return itemAct.restoreLostItem(chr, itemid);

View File

@@ -22,7 +22,7 @@
package server.quest.actions;
import client.Character;
import client.MapleQuestStatus;
import client.QuestStatus;
import provider.MapleData;
import provider.MapleDataTool;
import server.quest.MapleQuest;
@@ -49,7 +49,7 @@ public class NextQuestAction extends MapleQuestAction {
@Override
public void run(Character chr, Integer extSelection) {
MapleQuestStatus status = chr.getQuest(MapleQuest.getInstance(questID));
QuestStatus status = chr.getQuest(MapleQuest.getInstance(questID));
chr.sendPacket(PacketCreator.updateQuestFinish((short) questID, status.getNpc(), (short) nextQuest));
}
}

View File

@@ -22,7 +22,7 @@
package server.quest.actions;
import client.Character;
import client.MapleQuestStatus;
import client.QuestStatus;
import constants.inventory.ItemConstants;
import provider.MapleData;
import provider.MapleDataTool;
@@ -50,8 +50,8 @@ public class PetSkillAction extends MapleQuestAction {
@Override
public boolean check(Character chr, Integer extSelection) {
MapleQuestStatus status = chr.getQuest(MapleQuest.getInstance(questID));
if(!(status.getStatus() == MapleQuestStatus.Status.NOT_STARTED && status.getForfeited() > 0))
QuestStatus status = chr.getQuest(MapleQuest.getInstance(questID));
if(!(status.getStatus() == QuestStatus.Status.NOT_STARTED && status.getForfeited() > 0))
return false;
return chr.getPet(0) != null;

View File

@@ -22,7 +22,7 @@
package server.quest.actions;
import client.Character;
import client.MapleQuestStatus;
import client.QuestStatus;
import provider.MapleData;
import provider.MapleDataTool;
import server.quest.MapleQuest;
@@ -59,7 +59,7 @@ public class QuestAction extends MapleQuestAction {
public void run(Character chr, Integer extSelection) {
for(Integer questID : quests.keySet()) {
int stat = quests.get(questID);
chr.updateQuestStatus(new MapleQuestStatus(MapleQuest.getInstance(questID), MapleQuestStatus.Status.getById(stat)));
chr.updateQuestStatus(new QuestStatus(MapleQuest.getInstance(questID), QuestStatus.Status.getById(stat)));
}
}
}

View File

@@ -22,7 +22,7 @@
package server.quest.requirements;
import client.Character;
import client.MapleQuestStatus;
import client.QuestStatus;
import provider.MapleData;
import provider.MapleDataTool;
import server.quest.MapleQuest;
@@ -84,7 +84,7 @@ public class IntervalRequirement extends MapleQuestRequirement {
@Override
public boolean check(Character chr, Integer npcid) {
boolean check = !chr.getQuest(MapleQuest.getInstance(questID)).getStatus().equals(MapleQuestStatus.Status.COMPLETED);
boolean check = !chr.getQuest(MapleQuest.getInstance(questID)).getStatus().equals(QuestStatus.Status.COMPLETED);
boolean check2 = chr.getQuest(MapleQuest.getInstance(questID)).getCompletionTime() <= System.currentTimeMillis() - interval;
if (check || check2) {

View File

@@ -22,7 +22,7 @@
package server.quest.requirements;
import client.Character;
import client.MapleQuestStatus;
import client.QuestStatus;
import provider.MapleData;
import provider.MapleDataTool;
import server.quest.MapleQuest;
@@ -62,7 +62,7 @@ public class MobRequirement extends MapleQuestRequirement {
@Override
public boolean check(Character chr, Integer npcid) {
MapleQuestStatus status = chr.getQuest(MapleQuest.getInstance(questID));
QuestStatus status = chr.getQuest(MapleQuest.getInstance(questID));
for(Integer mobID : mobs.keySet()) {
int countReq = mobs.get(mobID);
int progress;

View File

@@ -19,7 +19,7 @@
package server.quest.requirements;
import client.Character;
import client.MapleQuestStatus;
import client.QuestStatus;
import provider.MapleData;
import provider.MapleDataTool;
import server.quest.MapleQuest;
@@ -58,12 +58,12 @@ public class QuestRequirement extends MapleQuestRequirement {
public boolean check(Character chr, Integer npcid) {
for(Integer questID : quests.keySet()) {
int stateReq = quests.get(questID);
MapleQuestStatus qs = chr.getQuest(MapleQuest.getInstance(questID));
QuestStatus qs = chr.getQuest(MapleQuest.getInstance(questID));
if(qs == null && MapleQuestStatus.Status.getById(stateReq).equals(MapleQuestStatus.Status.NOT_STARTED))
if(qs == null && QuestStatus.Status.getById(stateReq).equals(QuestStatus.Status.NOT_STARTED))
continue;
if(qs == null || !qs.getStatus().equals(MapleQuestStatus.Status.getById(stateReq))) {
if(qs == null || !qs.getStatus().equals(QuestStatus.Status.getById(stateReq))) {
return false;
}

View File

@@ -310,29 +310,29 @@ public class PacketCreator {
}
private static void addQuestInfo(OutPacket p, Character chr) {
List<MapleQuestStatus> started = chr.getStartedQuests();
List<QuestStatus> started = chr.getStartedQuests();
int startedSize = 0;
for (MapleQuestStatus qs : started) {
for (QuestStatus qs : started) {
if (qs.getInfoNumber() > 0) {
startedSize++;
}
startedSize++;
}
p.writeShort(startedSize);
for (MapleQuestStatus qs : started) {
for (QuestStatus qs : started) {
p.writeShort(qs.getQuest().getId());
p.writeString(qs.getProgressData());
short infoNumber = qs.getInfoNumber();
if (infoNumber > 0) {
MapleQuestStatus iqs = chr.getQuest(infoNumber);
QuestStatus iqs = chr.getQuest(infoNumber);
p.writeShort(infoNumber);
p.writeString(iqs.getProgressData());
}
}
List<MapleQuestStatus> completed = chr.getCompletedQuests();
List<QuestStatus> completed = chr.getCompletedQuests();
p.writeShort(completed.size());
for (MapleQuestStatus qs : completed) {
for (QuestStatus qs : completed) {
p.writeShort(qs.getQuest().getId());
p.writeLong(getTime(qs.getCompletionTime()));
}
@@ -2738,8 +2738,8 @@ public class PacketCreator {
p.writeInt(0);
}
ArrayList<Short> medalQuests = new ArrayList<>();
List<MapleQuestStatus> completed = chr.getCompletedQuests();
for (MapleQuestStatus qs : completed) {
List<QuestStatus> completed = chr.getCompletedQuests();
for (QuestStatus qs : completed) {
if (qs.getQuest().getId() >= 29000) { // && q.getQuest().getId() <= 29923
medalQuests.add(qs.getQuest().getId());
}
@@ -2878,11 +2878,11 @@ public class PacketCreator {
return p;
}
public static Packet updateQuest(Character chr, MapleQuestStatus qs, boolean infoUpdate) {
public static Packet updateQuest(Character chr, QuestStatus qs, boolean infoUpdate) {
final OutPacket p = OutPacket.create(SendOpcode.SHOW_STATUS_INFO);
p.writeByte(1);
if (infoUpdate) {
MapleQuestStatus iqs = chr.getQuest(qs.getInfoNumber());
QuestStatus iqs = chr.getQuest(qs.getInfoNumber());
p.writeShort(iqs.getQuestID());
p.writeByte(1);
p.writeString(iqs.getProgressData());