Rename and clean up MapleQuest
This commit is contained in:
@@ -74,7 +74,7 @@ import server.partyquest.AriantColiseum;
|
|||||||
import server.partyquest.MonsterCarnival;
|
import server.partyquest.MonsterCarnival;
|
||||||
import server.partyquest.MonsterCarnivalParty;
|
import server.partyquest.MonsterCarnivalParty;
|
||||||
import server.partyquest.PartyQuest;
|
import server.partyquest.PartyQuest;
|
||||||
import server.quest.MapleQuest;
|
import server.quest.Quest;
|
||||||
import tools.*;
|
import tools.*;
|
||||||
import tools.exceptions.NotEnabledException;
|
import tools.exceptions.NotEnabledException;
|
||||||
import tools.packets.WeddingPackets;
|
import tools.packets.WeddingPackets;
|
||||||
@@ -195,7 +195,7 @@ public class Character extends AbstractCharacterObject {
|
|||||||
private byte[] m_aQuickslotLoaded;
|
private byte[] m_aQuickslotLoaded;
|
||||||
private QuickslotBinding m_pQuickslotKeyMapped;
|
private QuickslotBinding m_pQuickslotKeyMapped;
|
||||||
private Door pdoor = null;
|
private Door pdoor = null;
|
||||||
private Map<MapleQuest, Long> questExpirations = new LinkedHashMap<>();
|
private Map<Quest, Long> questExpirations = new LinkedHashMap<>();
|
||||||
private ScheduledFuture<?> dragonBloodSchedule;
|
private ScheduledFuture<?> dragonBloodSchedule;
|
||||||
private ScheduledFuture<?> hpDecreaseTask;
|
private ScheduledFuture<?> hpDecreaseTask;
|
||||||
private ScheduledFuture<?> beholderHealingSchedule, beholderBuffSchedule, berserkSchedule;
|
private ScheduledFuture<?> beholderHealingSchedule, beholderBuffSchedule, berserkSchedule;
|
||||||
@@ -5686,10 +5686,10 @@ public class Character extends AbstractCharacterObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public QuestStatus getQuest(final int quest) {
|
public QuestStatus getQuest(final int quest) {
|
||||||
return getQuest(MapleQuest.getInstance(quest));
|
return getQuest(Quest.getInstance(quest));
|
||||||
}
|
}
|
||||||
|
|
||||||
public QuestStatus getQuest(MapleQuest quest) {
|
public QuestStatus getQuest(Quest quest) {
|
||||||
synchronized (quests) {
|
synchronized (quests) {
|
||||||
short questid = quest.getId();
|
short questid = quest.getId();
|
||||||
QuestStatus qs = quests.get(questid);
|
QuestStatus qs = quests.get(questid);
|
||||||
@@ -5703,7 +5703,7 @@ public class Character extends AbstractCharacterObject {
|
|||||||
|
|
||||||
//---- \/ \/ \/ \/ \/ \/ \/ NOT TESTED \/ \/ \/ \/ \/ \/ \/ \/ \/ ----
|
//---- \/ \/ \/ \/ \/ \/ \/ NOT TESTED \/ \/ \/ \/ \/ \/ \/ \/ \/ ----
|
||||||
|
|
||||||
public final void setQuestAdd(final MapleQuest quest, final byte status, final String customData) {
|
public final void setQuestAdd(final Quest quest, final byte status, final String customData) {
|
||||||
synchronized (quests) {
|
synchronized (quests) {
|
||||||
if (!quests.containsKey(quest.getId())) {
|
if (!quests.containsKey(quest.getId())) {
|
||||||
final QuestStatus stat = new QuestStatus(quest, QuestStatus.Status.getById(status));
|
final QuestStatus stat = new QuestStatus(quest, QuestStatus.Status.getById(status));
|
||||||
@@ -5713,7 +5713,7 @@ public class Character extends AbstractCharacterObject {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public final QuestStatus getQuestNAdd(final MapleQuest quest) {
|
public final QuestStatus getQuestNAdd(final Quest quest) {
|
||||||
synchronized (quests) {
|
synchronized (quests) {
|
||||||
if (!quests.containsKey(quest.getId())) {
|
if (!quests.containsKey(quest.getId())) {
|
||||||
final QuestStatus status = new QuestStatus(quest, QuestStatus.Status.NOT_STARTED);
|
final QuestStatus status = new QuestStatus(quest, QuestStatus.Status.NOT_STARTED);
|
||||||
@@ -5724,13 +5724,13 @@ public class Character extends AbstractCharacterObject {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public final QuestStatus getQuestNoAdd(final MapleQuest quest) {
|
public final QuestStatus getQuestNoAdd(final Quest quest) {
|
||||||
synchronized (quests) {
|
synchronized (quests) {
|
||||||
return quests.get(quest.getId());
|
return quests.get(quest.getId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public final QuestStatus getQuestRemove(final MapleQuest quest) {
|
public final QuestStatus getQuestRemove(final Quest quest) {
|
||||||
synchronized (quests) {
|
synchronized (quests) {
|
||||||
return quests.remove(quest.getId());
|
return quests.remove(quest.getId());
|
||||||
}
|
}
|
||||||
@@ -5745,14 +5745,14 @@ public class Character extends AbstractCharacterObject {
|
|||||||
|
|
||||||
int amountNeeded, questStatus = this.getQuestStatus(questid);
|
int amountNeeded, questStatus = this.getQuestStatus(questid);
|
||||||
if (questStatus == 0) {
|
if (questStatus == 0) {
|
||||||
amountNeeded = MapleQuest.getInstance(questid).getStartItemAmountNeeded(itemid);
|
amountNeeded = Quest.getInstance(questid).getStartItemAmountNeeded(itemid);
|
||||||
if (amountNeeded == Integer.MIN_VALUE) {
|
if (amountNeeded == Integer.MIN_VALUE) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
} else if (questStatus != 1) {
|
} else if (questStatus != 1) {
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
amountNeeded = MapleQuest.getInstance(questid).getCompleteItemAmountNeeded(itemid);
|
amountNeeded = Quest.getInstance(questid).getCompleteItemAmountNeeded(itemid);
|
||||||
if (amountNeeded == Integer.MAX_VALUE) {
|
if (amountNeeded == Integer.MAX_VALUE) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -7241,7 +7241,7 @@ public class Character extends AbstractCharacterObject {
|
|||||||
|
|
||||||
try (ResultSet rs = ps.executeQuery()) {
|
try (ResultSet rs = ps.executeQuery()) {
|
||||||
while (rs.next()) {
|
while (rs.next()) {
|
||||||
MapleQuest q = MapleQuest.getInstance(rs.getShort("quest"));
|
Quest q = Quest.getInstance(rs.getShort("quest"));
|
||||||
QuestStatus status = new QuestStatus(q, QuestStatus.Status.getById(rs.getInt("status")));
|
QuestStatus status = new QuestStatus(q, QuestStatus.Status.getById(rs.getInt("status")));
|
||||||
long cTime = rs.getLong("time");
|
long cTime = rs.getLong("time");
|
||||||
if (cTime > -1) {
|
if (cTime > -1) {
|
||||||
@@ -9821,11 +9821,11 @@ public class Character extends AbstractCharacterObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void setQuestProgress(int id, int infoNumber, String progress) {
|
public void setQuestProgress(int id, int infoNumber, String progress) {
|
||||||
MapleQuest q = MapleQuest.getInstance(id);
|
Quest q = Quest.getInstance(id);
|
||||||
QuestStatus qs = getQuest(q);
|
QuestStatus qs = getQuest(q);
|
||||||
|
|
||||||
if (qs.getInfoNumber() == infoNumber && infoNumber > 0) {
|
if (qs.getInfoNumber() == infoNumber && infoNumber > 0) {
|
||||||
MapleQuest iq = MapleQuest.getInstance(infoNumber);
|
Quest iq = Quest.getInstance(infoNumber);
|
||||||
QuestStatus iqs = getQuest(iq);
|
QuestStatus iqs = getQuest(iq);
|
||||||
iqs.setProgress(0, progress);
|
iqs.setProgress(0, progress);
|
||||||
} else {
|
} else {
|
||||||
@@ -9919,9 +9919,9 @@ public class Character extends AbstractCharacterObject {
|
|||||||
}
|
}
|
||||||
announceUpdateQuest(DelayedQuestUpdate.INFO, qs);
|
announceUpdateQuest(DelayedQuestUpdate.INFO, qs);
|
||||||
} else if (qs.getStatus().equals(QuestStatus.Status.COMPLETED)) {
|
} else if (qs.getStatus().equals(QuestStatus.Status.COMPLETED)) {
|
||||||
MapleQuest mquest = qs.getQuest();
|
Quest mquest = qs.getQuest();
|
||||||
short questid = mquest.getId();
|
short questid = mquest.getId();
|
||||||
if (!mquest.isSameDayRepeatable() && !MapleQuest.isExploitableQuest(questid)) {
|
if (!mquest.isSameDayRepeatable() && !Quest.isExploitableQuest(questid)) {
|
||||||
awardQuestPoint(YamlConfig.config.server.QUEST_POINT_PER_QUEST_COMPLETE);
|
awardQuestPoint(YamlConfig.config.server.QUEST_POINT_PER_QUEST_COMPLETE);
|
||||||
}
|
}
|
||||||
qs.setCompleted(qs.getCompleted() + 1); // Jayd's idea - count quest completed
|
qs.setCompleted(qs.getCompleted() + 1); // Jayd's idea - count quest completed
|
||||||
@@ -9937,7 +9937,7 @@ public class Character extends AbstractCharacterObject {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void expireQuest(MapleQuest quest) {
|
private void expireQuest(Quest quest) {
|
||||||
if (quest.forfeit(this)) {
|
if (quest.forfeit(this)) {
|
||||||
sendPacket(PacketCreator.questExpire(quest.getId()));
|
sendPacket(PacketCreator.questExpire(quest.getId()));
|
||||||
}
|
}
|
||||||
@@ -9958,7 +9958,7 @@ public class Character extends AbstractCharacterObject {
|
|||||||
public void forfeitExpirableQuests() {
|
public void forfeitExpirableQuests() {
|
||||||
evtLock.lock();
|
evtLock.lock();
|
||||||
try {
|
try {
|
||||||
for (MapleQuest quest : questExpirations.keySet()) {
|
for (Quest quest : questExpirations.keySet()) {
|
||||||
quest.forfeit(this);
|
quest.forfeit(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9990,16 +9990,16 @@ public class Character extends AbstractCharacterObject {
|
|||||||
evtLock.lock();
|
evtLock.lock();
|
||||||
try {
|
try {
|
||||||
long timeNow = Server.getInstance().getCurrentTime();
|
long timeNow = Server.getInstance().getCurrentTime();
|
||||||
List<MapleQuest> expireList = new LinkedList<>();
|
List<Quest> expireList = new LinkedList<>();
|
||||||
|
|
||||||
for (Entry<MapleQuest, Long> qe : questExpirations.entrySet()) {
|
for (Entry<Quest, Long> qe : questExpirations.entrySet()) {
|
||||||
if (qe.getValue() <= timeNow) {
|
if (qe.getValue() <= timeNow) {
|
||||||
expireList.add(qe.getKey());
|
expireList.add(qe.getKey());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!expireList.isEmpty()) {
|
if (!expireList.isEmpty()) {
|
||||||
for (MapleQuest quest : expireList) {
|
for (Quest quest : expireList) {
|
||||||
expireQuest(quest);
|
expireQuest(quest);
|
||||||
questExpirations.remove(quest);
|
questExpirations.remove(quest);
|
||||||
}
|
}
|
||||||
@@ -10014,7 +10014,7 @@ public class Character extends AbstractCharacterObject {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void registerQuestExpire(MapleQuest quest, long time) {
|
private void registerQuestExpire(Quest quest, long time) {
|
||||||
evtLock.lock();
|
evtLock.lock();
|
||||||
try {
|
try {
|
||||||
if (questExpireTask == null) {
|
if (questExpireTask == null) {
|
||||||
@@ -10032,12 +10032,12 @@ public class Character extends AbstractCharacterObject {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void questTimeLimit(final MapleQuest quest, int seconds) {
|
public void questTimeLimit(final Quest quest, int seconds) {
|
||||||
registerQuestExpire(quest, seconds * 1000);
|
registerQuestExpire(quest, seconds * 1000);
|
||||||
sendPacket(PacketCreator.addQuestTimeLimit(quest.getId(), seconds * 1000));
|
sendPacket(PacketCreator.addQuestTimeLimit(quest.getId(), seconds * 1000));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void questTimeLimit2(final MapleQuest quest, long expires) {
|
public void questTimeLimit2(final Quest quest, long expires) {
|
||||||
long timeLeft = expires - System.currentTimeMillis();
|
long timeLeft = expires - System.currentTimeMillis();
|
||||||
|
|
||||||
if (timeLeft <= 0) {
|
if (timeLeft <= 0) {
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
*/
|
*/
|
||||||
package client;
|
package client;
|
||||||
|
|
||||||
import server.quest.MapleQuest;
|
import server.quest.Quest;
|
||||||
import tools.StringUtil;
|
import tools.StringUtil;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@@ -65,7 +65,7 @@ public class QuestStatus {
|
|||||||
private int forfeited = 0, completed = 0;
|
private int forfeited = 0, completed = 0;
|
||||||
private String customData;
|
private String customData;
|
||||||
|
|
||||||
public QuestStatus(MapleQuest quest, Status status) {
|
public QuestStatus(Quest quest, Status status) {
|
||||||
this.questID = quest.getId();
|
this.questID = quest.getId();
|
||||||
this.setStatus(status);
|
this.setStatus(status);
|
||||||
this.completionTime = System.currentTimeMillis();
|
this.completionTime = System.currentTimeMillis();
|
||||||
@@ -76,7 +76,7 @@ public class QuestStatus {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public QuestStatus(MapleQuest quest, Status status, int npc) {
|
public QuestStatus(Quest quest, Status status, int npc) {
|
||||||
this.questID = quest.getId();
|
this.questID = quest.getId();
|
||||||
this.setStatus(status);
|
this.setStatus(status);
|
||||||
this.setNpc(npc);
|
this.setNpc(npc);
|
||||||
@@ -88,8 +88,8 @@ public class QuestStatus {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public MapleQuest getQuest() {
|
public Quest getQuest() {
|
||||||
return MapleQuest.getInstance(questID);
|
return Quest.getInstance(questID);
|
||||||
}
|
}
|
||||||
|
|
||||||
public short getQuestID() {
|
public short getQuestID() {
|
||||||
@@ -127,7 +127,7 @@ public class QuestStatus {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void registerMobs() {
|
private void registerMobs() {
|
||||||
for (int i : MapleQuest.getInstance(questID).getRelevantMobs()) {
|
for (int i : Quest.getInstance(questID).getRelevantMobs()) {
|
||||||
progress.put(i, "000");
|
progress.put(i, "000");
|
||||||
}
|
}
|
||||||
//this.setUpdated();
|
//this.setUpdated();
|
||||||
@@ -200,21 +200,21 @@ public class QuestStatus {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public short getInfoNumber() {
|
public short getInfoNumber() {
|
||||||
MapleQuest q = this.getQuest();
|
Quest q = this.getQuest();
|
||||||
Status s = this.getStatus();
|
Status s = this.getStatus();
|
||||||
|
|
||||||
return q.getInfoNumber(s);
|
return q.getInfoNumber(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getInfoEx(int index) {
|
public String getInfoEx(int index) {
|
||||||
MapleQuest q = this.getQuest();
|
Quest q = this.getQuest();
|
||||||
Status s = this.getStatus();
|
Status s = this.getStatus();
|
||||||
|
|
||||||
return q.getInfoEx(s, index);
|
return q.getInfoEx(s, index);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> getInfoEx() {
|
public List<String> getInfoEx() {
|
||||||
MapleQuest q = this.getQuest();
|
Quest q = this.getQuest();
|
||||||
Status s = this.getStatus();
|
Status s = this.getStatus();
|
||||||
|
|
||||||
return q.getInfoEx(s);
|
return q.getInfoEx(s);
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ import provider.DataProviderFactory;
|
|||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import provider.wz.WZFiles;
|
import provider.wz.WZFiles;
|
||||||
import server.MapleItemInformationProvider;
|
import server.MapleItemInformationProvider;
|
||||||
import server.quest.MapleQuest;
|
import server.quest.Quest;
|
||||||
import tools.Pair;
|
import tools.Pair;
|
||||||
|
|
||||||
public class SearchCommand extends Command {
|
public class SearchCommand extends Command {
|
||||||
@@ -105,7 +105,7 @@ public class SearchCommand extends Command {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for (MapleQuest mq : MapleQuest.getMatchedQuests(search)) {
|
for (Quest mq : Quest.getMatchedQuests(search)) {
|
||||||
sb.append("#b").append(mq.getId()).append("#k - #r");
|
sb.append("#b").append(mq.getId()).append("#k - #r");
|
||||||
|
|
||||||
String parentName = mq.getParentName();
|
String parentName = mq.getParentName();
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ package client.command.commands.gm3;
|
|||||||
import client.Character;
|
import client.Character;
|
||||||
import client.Client;
|
import client.Client;
|
||||||
import client.command.Command;
|
import client.command.Command;
|
||||||
import server.quest.MapleQuest;
|
import server.quest.Quest;
|
||||||
|
|
||||||
public class QuestCompleteCommand extends Command {
|
public class QuestCompleteCommand extends Command {
|
||||||
{
|
{
|
||||||
@@ -45,7 +45,7 @@ public class QuestCompleteCommand extends Command {
|
|||||||
int questId = Integer.parseInt(params[0]);
|
int questId = Integer.parseInt(params[0]);
|
||||||
|
|
||||||
if (player.getQuestStatus(questId) == 1) {
|
if (player.getQuestStatus(questId) == 1) {
|
||||||
MapleQuest quest = MapleQuest.getInstance(questId);
|
Quest quest = Quest.getInstance(questId);
|
||||||
if (quest != null && quest.getNpcRequirement(true) != -1) {
|
if (quest != null && quest.getNpcRequirement(true) != -1) {
|
||||||
c.getAbstractPlayerInteraction().forceCompleteQuest(questId, quest.getNpcRequirement(true));
|
c.getAbstractPlayerInteraction().forceCompleteQuest(questId, quest.getNpcRequirement(true));
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ package client.command.commands.gm3;
|
|||||||
import client.Character;
|
import client.Character;
|
||||||
import client.Client;
|
import client.Client;
|
||||||
import client.command.Command;
|
import client.command.Command;
|
||||||
import server.quest.MapleQuest;
|
import server.quest.Quest;
|
||||||
|
|
||||||
public class QuestResetCommand extends Command {
|
public class QuestResetCommand extends Command {
|
||||||
{
|
{
|
||||||
@@ -45,7 +45,7 @@ public class QuestResetCommand extends Command {
|
|||||||
int questid_ = Integer.parseInt(params[0]);
|
int questid_ = Integer.parseInt(params[0]);
|
||||||
|
|
||||||
if (player.getQuestStatus(questid_) != 0) {
|
if (player.getQuestStatus(questid_) != 0) {
|
||||||
MapleQuest quest = MapleQuest.getInstance(questid_);
|
Quest quest = Quest.getInstance(questid_);
|
||||||
if (quest != null) {
|
if (quest != null) {
|
||||||
quest.reset(player);
|
quest.reset(player);
|
||||||
player.dropMessage(5, "QUEST " + questid_ + " reseted.");
|
player.dropMessage(5, "QUEST " + questid_ + " reseted.");
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ package client.command.commands.gm3;
|
|||||||
import client.Character;
|
import client.Character;
|
||||||
import client.Client;
|
import client.Client;
|
||||||
import client.command.Command;
|
import client.command.Command;
|
||||||
import server.quest.MapleQuest;
|
import server.quest.Quest;
|
||||||
|
|
||||||
public class QuestStartCommand extends Command {
|
public class QuestStartCommand extends Command {
|
||||||
{
|
{
|
||||||
@@ -45,7 +45,7 @@ public class QuestStartCommand extends Command {
|
|||||||
int questid = Integer.parseInt(params[0]);
|
int questid = Integer.parseInt(params[0]);
|
||||||
|
|
||||||
if (player.getQuestStatus(questid) == 0) {
|
if (player.getQuestStatus(questid) == 0) {
|
||||||
MapleQuest quest = MapleQuest.getInstance(questid);
|
Quest quest = Quest.getInstance(questid);
|
||||||
if (quest != null && quest.getNpcRequirement(false) != -1) {
|
if (quest != null && quest.getNpcRequirement(false) != -1) {
|
||||||
c.getAbstractPlayerInteraction().forceStartQuest(questid, quest.getNpcRequirement(false));
|
c.getAbstractPlayerInteraction().forceStartQuest(questid, quest.getNpcRequirement(false));
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ package client.command.commands.gm6;
|
|||||||
import client.Character;
|
import client.Character;
|
||||||
import client.Client;
|
import client.Client;
|
||||||
import client.command.Command;
|
import client.command.Command;
|
||||||
import server.quest.MapleQuest;
|
import server.quest.Quest;
|
||||||
|
|
||||||
public class ClearQuestCacheCommand extends Command {
|
public class ClearQuestCacheCommand extends Command {
|
||||||
{
|
{
|
||||||
@@ -36,7 +36,7 @@ public class ClearQuestCacheCommand extends Command {
|
|||||||
@Override
|
@Override
|
||||||
public void execute(Client c, String[] params) {
|
public void execute(Client c, String[] params) {
|
||||||
Character player = c.getPlayer();
|
Character player = c.getPlayer();
|
||||||
MapleQuest.clearCache();
|
Quest.clearCache();
|
||||||
player.dropMessage(5, "Quest Cache Cleared.");
|
player.dropMessage(5, "Quest Cache Cleared.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ package client.command.commands.gm6;
|
|||||||
import client.Character;
|
import client.Character;
|
||||||
import client.Client;
|
import client.Client;
|
||||||
import client.command.Command;
|
import client.command.Command;
|
||||||
import server.quest.MapleQuest;
|
import server.quest.Quest;
|
||||||
|
|
||||||
public class ClearQuestCommand extends Command {
|
public class ClearQuestCommand extends Command {
|
||||||
{
|
{
|
||||||
@@ -40,7 +40,7 @@ public class ClearQuestCommand extends Command {
|
|||||||
player.dropMessage(5, "Please include a quest ID.");
|
player.dropMessage(5, "Please include a quest ID.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
MapleQuest.clearCache(Integer.parseInt(params[0]));
|
Quest.clearCache(Integer.parseInt(params[0]));
|
||||||
player.dropMessage(5, "Quest Cache for quest " + params[0] + " cleared.");
|
player.dropMessage(5, "Quest Cache for quest " + params[0] + " cleared.");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import provider.*;
|
|||||||
import provider.wz.WZFiles;
|
import provider.wz.WZFiles;
|
||||||
import server.maps.FieldLimit;
|
import server.maps.FieldLimit;
|
||||||
import server.maps.MapleMap;
|
import server.maps.MapleMap;
|
||||||
import server.quest.MapleQuest;
|
import server.quest.Quest;
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
import java.text.NumberFormat;
|
import java.text.NumberFormat;
|
||||||
@@ -616,7 +616,7 @@ public class GameConstants {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isMedalQuest(short questid) {
|
public static boolean isMedalQuest(short questid) {
|
||||||
return MapleQuest.getInstance(questid).getMedalRequirement() != -1;
|
return Quest.getInstance(questid).getMedalRequirement() != -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean hasSPTable(Job job) {
|
public static boolean hasSPTable(Job job) {
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ import server.ThreadManager;
|
|||||||
import server.TimerManager;
|
import server.TimerManager;
|
||||||
import server.expeditions.ExpeditionBossLog;
|
import server.expeditions.ExpeditionBossLog;
|
||||||
import server.life.PlayerNPCFactory;
|
import server.life.PlayerNPCFactory;
|
||||||
import server.quest.MapleQuest;
|
import server.quest.Quest;
|
||||||
import tools.DatabaseConnection;
|
import tools.DatabaseConnection;
|
||||||
import tools.FilePrinter;
|
import tools.FilePrinter;
|
||||||
import tools.Pair;
|
import tools.Pair;
|
||||||
@@ -839,7 +839,7 @@ public class Server {
|
|||||||
final List<Future<?>> futures = new ArrayList<>();
|
final List<Future<?>> futures = new ArrayList<>();
|
||||||
futures.add(initExecutor.submit(() -> SkillFactory.loadAllSkills()));
|
futures.add(initExecutor.submit(() -> SkillFactory.loadAllSkills()));
|
||||||
futures.add(initExecutor.submit(() -> CashItemFactory.loadAllCashItems()));
|
futures.add(initExecutor.submit(() -> CashItemFactory.loadAllCashItems()));
|
||||||
futures.add(initExecutor.submit(() -> MapleQuest.loadAllQuests()));
|
futures.add(initExecutor.submit(() -> Quest.loadAllQuests()));
|
||||||
futures.add(initExecutor.submit(() -> MapleSkillbookInformationProvider.loadAllSkillbookInformation()));
|
futures.add(initExecutor.submit(() -> MapleSkillbookInformationProvider.loadAllSkillbookInformation()));
|
||||||
futures.add(initExecutor.submit(() -> PlayerNPCFactory.loadFactoryMetadata()));
|
futures.add(initExecutor.submit(() -> PlayerNPCFactory.loadFactoryMetadata()));
|
||||||
|
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ import server.life.LifeFactory;
|
|||||||
import server.life.Monster;
|
import server.life.Monster;
|
||||||
import server.maps.MapObject;
|
import server.maps.MapObject;
|
||||||
import server.maps.MapObjectType;
|
import server.maps.MapObjectType;
|
||||||
import server.quest.MapleQuest;
|
import server.quest.Quest;
|
||||||
import tools.PacketCreator;
|
import tools.PacketCreator;
|
||||||
import tools.Randomizer;
|
import tools.Randomizer;
|
||||||
|
|
||||||
@@ -135,7 +135,7 @@ public final class AdminCommandHandler extends AbstractPacketHandler {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 0x16: // Questreset
|
case 0x16: // Questreset
|
||||||
MapleQuest.getInstance(p.readShort()).reset(c.getPlayer());
|
Quest.getInstance(p.readShort()).reset(c.getPlayer());
|
||||||
break;
|
break;
|
||||||
case 0x17: // Summon
|
case 0x17: // Summon
|
||||||
int mobId = p.readInt();
|
int mobId = p.readInt();
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ import net.AbstractPacketHandler;
|
|||||||
import net.packet.InPacket;
|
import net.packet.InPacket;
|
||||||
import scripting.quest.QuestScriptManager;
|
import scripting.quest.QuestScriptManager;
|
||||||
import server.life.NPC;
|
import server.life.NPC;
|
||||||
import server.quest.MapleQuest;
|
import server.quest.Quest;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
|
||||||
@@ -38,7 +38,7 @@ import java.awt.*;
|
|||||||
public final class QuestActionHandler extends AbstractPacketHandler {
|
public final class QuestActionHandler extends AbstractPacketHandler {
|
||||||
|
|
||||||
// isNpcNearby thanks to GabrielSin
|
// isNpcNearby thanks to GabrielSin
|
||||||
private static boolean isNpcNearby(InPacket p, Character player, MapleQuest quest, int npcId) {
|
private static boolean isNpcNearby(InPacket p, Character player, Quest quest, int npcId) {
|
||||||
Point playerP;
|
Point playerP;
|
||||||
Point pos = player.getPosition();
|
Point pos = player.getPosition();
|
||||||
|
|
||||||
@@ -72,7 +72,7 @@ public final class QuestActionHandler extends AbstractPacketHandler {
|
|||||||
byte action = p.readByte();
|
byte action = p.readByte();
|
||||||
short questid = p.readShort();
|
short questid = p.readShort();
|
||||||
Character player = c.getPlayer();
|
Character player = c.getPlayer();
|
||||||
MapleQuest quest = MapleQuest.getInstance(questid);
|
Quest quest = Quest.getInstance(questid);
|
||||||
|
|
||||||
if (action == 0) { // Restore lost item, Credits Darter ( Rajan )
|
if (action == 0) { // Restore lost item, Credits Darter ( Rajan )
|
||||||
p.readInt();
|
p.readInt();
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import net.AbstractPacketHandler;
|
|||||||
import net.packet.InPacket;
|
import net.packet.InPacket;
|
||||||
import server.MapleItemInformationProvider;
|
import server.MapleItemInformationProvider;
|
||||||
import server.MapleItemInformationProvider.QuestConsItem;
|
import server.MapleItemInformationProvider.QuestConsItem;
|
||||||
import server.quest.MapleQuest;
|
import server.quest.Quest;
|
||||||
import tools.PacketCreator;
|
import tools.PacketCreator;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -40,7 +40,7 @@ public class RaiseIncExpHandler extends AbstractPacketHandler {
|
|||||||
Map<Integer, Integer> consumables = consItem.items;
|
Map<Integer, Integer> consumables = consItem.items;
|
||||||
|
|
||||||
Character chr = c.getPlayer();
|
Character chr = c.getPlayer();
|
||||||
MapleQuest quest = MapleQuest.getInstanceFromInfoNumber(infoNumber);
|
Quest quest = Quest.getInstanceFromInfoNumber(infoNumber);
|
||||||
if (!chr.getQuest(quest).getStatus().equals(QuestStatus.Status.STARTED)) {
|
if (!chr.getQuest(quest).getStatus().equals(QuestStatus.Status.STARTED)) {
|
||||||
c.sendPacket(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import client.QuestStatus;
|
|||||||
import net.AbstractPacketHandler;
|
import net.AbstractPacketHandler;
|
||||||
import net.packet.InPacket;
|
import net.packet.InPacket;
|
||||||
import scripting.quest.QuestScriptManager;
|
import scripting.quest.QuestScriptManager;
|
||||||
import server.quest.MapleQuest;
|
import server.quest.Quest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -22,7 +22,7 @@ public class RaiseUIStateHandler extends AbstractPacketHandler {
|
|||||||
if (c.tryacquireClient()) {
|
if (c.tryacquireClient()) {
|
||||||
try {
|
try {
|
||||||
Character chr = c.getPlayer();
|
Character chr = c.getPlayer();
|
||||||
MapleQuest quest = MapleQuest.getInstanceFromInfoNumber(infoNumber);
|
Quest quest = Quest.getInstanceFromInfoNumber(infoNumber);
|
||||||
QuestStatus mqs = chr.getQuest(quest);
|
QuestStatus mqs = chr.getQuest(quest);
|
||||||
|
|
||||||
QuestScriptManager.getInstance().raiseOpen(c, (short) infoNumber, mqs.getNpc());
|
QuestScriptManager.getInstance().raiseOpen(c, (short) infoNumber, mqs.getNpc());
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ import server.maps.MapObjectType;
|
|||||||
import server.maps.MapleMap;
|
import server.maps.MapleMap;
|
||||||
import server.partyquest.PartyQuest;
|
import server.partyquest.PartyQuest;
|
||||||
import server.partyquest.Pyramid;
|
import server.partyquest.Pyramid;
|
||||||
import server.quest.MapleQuest;
|
import server.quest.Quest;
|
||||||
import tools.PacketCreator;
|
import tools.PacketCreator;
|
||||||
import tools.Pair;
|
import tools.Pair;
|
||||||
|
|
||||||
@@ -320,11 +320,11 @@ public class AbstractPlayerInteraction {
|
|||||||
//---- \/ \/ \/ \/ \/ \/ \/ NOT TESTED \/ \/ \/ \/ \/ \/ \/ \/ \/ ----
|
//---- \/ \/ \/ \/ \/ \/ \/ NOT TESTED \/ \/ \/ \/ \/ \/ \/ \/ \/ ----
|
||||||
|
|
||||||
public final QuestStatus getQuestRecord(final int id) {
|
public final QuestStatus getQuestRecord(final int id) {
|
||||||
return c.getPlayer().getQuestNAdd(MapleQuest.getInstance(id));
|
return c.getPlayer().getQuestNAdd(Quest.getInstance(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
public final QuestStatus getQuestNoRecord(final int id) {
|
public final QuestStatus getQuestNoRecord(final int id) {
|
||||||
return c.getPlayer().getQuestNoAdd(MapleQuest.getInstance(id));
|
return c.getPlayer().getQuestNoAdd(Quest.getInstance(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
//---- /\ /\ /\ /\ /\ /\ /\ NOT TESTED /\ /\ /\ /\ /\ /\ /\ /\ /\ ----
|
//---- /\ /\ /\ /\ /\ /\ /\ NOT TESTED /\ /\ /\ /\ /\ /\ /\ /\ /\ ----
|
||||||
@@ -344,11 +344,11 @@ public class AbstractPlayerInteraction {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public int getQuestStatus(int id) {
|
public int getQuestStatus(int id) {
|
||||||
return c.getPlayer().getQuest(MapleQuest.getInstance(id)).getStatus().getId();
|
return c.getPlayer().getQuest(Quest.getInstance(id)).getStatus().getId();
|
||||||
}
|
}
|
||||||
|
|
||||||
private QuestStatus.Status getQuestStat(int id) {
|
private QuestStatus.Status getQuestStat(int id) {
|
||||||
return c.getPlayer().getQuest(MapleQuest.getInstance(id)).getStatus();
|
return c.getPlayer().getQuest(Quest.getInstance(id)).getStatus();
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isQuestCompleted(int id) {
|
public boolean isQuestCompleted(int id) {
|
||||||
@@ -394,10 +394,10 @@ public class AbstractPlayerInteraction {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public String getQuestProgress(int id, int infoNumber) {
|
public String getQuestProgress(int id, int infoNumber) {
|
||||||
QuestStatus qs = getPlayer().getQuest(MapleQuest.getInstance(id));
|
QuestStatus qs = getPlayer().getQuest(Quest.getInstance(id));
|
||||||
|
|
||||||
if (qs.getInfoNumber() == infoNumber && infoNumber > 0) {
|
if (qs.getInfoNumber() == infoNumber && infoNumber > 0) {
|
||||||
qs = getPlayer().getQuest(MapleQuest.getInstance(infoNumber));
|
qs = getPlayer().getQuest(Quest.getInstance(infoNumber));
|
||||||
infoNumber = 0;
|
infoNumber = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -425,7 +425,7 @@ public class AbstractPlayerInteraction {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void resetAllQuestProgress(int id) {
|
public void resetAllQuestProgress(int id) {
|
||||||
QuestStatus qs = getPlayer().getQuest(MapleQuest.getInstance(id));
|
QuestStatus qs = getPlayer().getQuest(Quest.getInstance(id));
|
||||||
if (qs != null) {
|
if (qs != null) {
|
||||||
qs.resetAllProgress();
|
qs.resetAllProgress();
|
||||||
getPlayer().announceUpdateQuest(DelayedQuestUpdate.UPDATE, qs, false);
|
getPlayer().announceUpdateQuest(DelayedQuestUpdate.UPDATE, qs, false);
|
||||||
@@ -433,7 +433,7 @@ public class AbstractPlayerInteraction {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void resetQuestProgress(int id, int infoNumber) {
|
public void resetQuestProgress(int id, int infoNumber) {
|
||||||
QuestStatus qs = getPlayer().getQuest(MapleQuest.getInstance(id));
|
QuestStatus qs = getPlayer().getQuest(Quest.getInstance(id));
|
||||||
if (qs != null) {
|
if (qs != null) {
|
||||||
qs.resetProgress(infoNumber);
|
qs.resetProgress(infoNumber);
|
||||||
getPlayer().announceUpdateQuest(DelayedQuestUpdate.UPDATE, qs, false);
|
getPlayer().announceUpdateQuest(DelayedQuestUpdate.UPDATE, qs, false);
|
||||||
@@ -482,7 +482,7 @@ public class AbstractPlayerInteraction {
|
|||||||
|
|
||||||
public boolean startQuest(int id, int npc) {
|
public boolean startQuest(int id, int npc) {
|
||||||
try {
|
try {
|
||||||
return MapleQuest.getInstance(id).forceStart(getPlayer(), npc);
|
return Quest.getInstance(id).forceStart(getPlayer(), npc);
|
||||||
} catch (NullPointerException ex) {
|
} catch (NullPointerException ex) {
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
return false;
|
return false;
|
||||||
@@ -491,7 +491,7 @@ public class AbstractPlayerInteraction {
|
|||||||
|
|
||||||
public boolean completeQuest(int id, int npc) {
|
public boolean completeQuest(int id, int npc) {
|
||||||
try {
|
try {
|
||||||
return MapleQuest.getInstance(id).forceComplete(getPlayer(), npc);
|
return Quest.getInstance(id).forceComplete(getPlayer(), npc);
|
||||||
} catch (NullPointerException ex) {
|
} catch (NullPointerException ex) {
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ import server.expeditions.Expedition;
|
|||||||
import server.life.LifeFactory;
|
import server.life.LifeFactory;
|
||||||
import server.life.Monster;
|
import server.life.Monster;
|
||||||
import server.maps.MapleMap;
|
import server.maps.MapleMap;
|
||||||
import server.quest.MapleQuest;
|
import server.quest.Quest;
|
||||||
import tools.exceptions.EventInstanceInProgressException;
|
import tools.exceptions.EventInstanceInProgressException;
|
||||||
|
|
||||||
import javax.script.Invocable;
|
import javax.script.Invocable;
|
||||||
@@ -846,7 +846,7 @@ public class EventManager {
|
|||||||
|
|
||||||
public void startQuest(Character chr, int id, int npcid) {
|
public void startQuest(Character chr, int id, int npcid) {
|
||||||
try {
|
try {
|
||||||
MapleQuest.getInstance(id).forceStart(chr, npcid);
|
Quest.getInstance(id).forceStart(chr, npcid);
|
||||||
} catch (NullPointerException ex) {
|
} catch (NullPointerException ex) {
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
}
|
}
|
||||||
@@ -854,7 +854,7 @@ public class EventManager {
|
|||||||
|
|
||||||
public void completeQuest(Character chr, int id, int npcid) {
|
public void completeQuest(Character chr, int id, int npcid) {
|
||||||
try {
|
try {
|
||||||
MapleQuest.getInstance(id).forceComplete(chr, npcid);
|
Quest.getInstance(id).forceComplete(chr, npcid);
|
||||||
} catch (NullPointerException ex) {
|
} catch (NullPointerException ex) {
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ import client.Character.DelayedQuestUpdate;
|
|||||||
import client.Client;
|
import client.Client;
|
||||||
import client.QuestStatus;
|
import client.QuestStatus;
|
||||||
import scripting.AbstractPlayerInteraction;
|
import scripting.AbstractPlayerInteraction;
|
||||||
import server.quest.MapleQuest;
|
import server.quest.Quest;
|
||||||
import tools.PacketCreator;
|
import tools.PacketCreator;
|
||||||
|
|
||||||
public class MapScriptMethods extends AbstractPlayerInteraction {
|
public class MapScriptMethods extends AbstractPlayerInteraction {
|
||||||
@@ -116,7 +116,7 @@ public class MapScriptMethods extends AbstractPlayerInteraction {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void explorerQuest(short questid, String questName) {
|
public void explorerQuest(short questid, String questName) {
|
||||||
MapleQuest quest = MapleQuest.getInstance(questid);
|
Quest quest = Quest.getInstance(questid);
|
||||||
if (!isQuestStarted(questid)) {
|
if (!isQuestStarted(questid)) {
|
||||||
if (!quest.forceStart(getPlayer(), 9000066)) {
|
if (!quest.forceStart(getPlayer(), 9000066)) {
|
||||||
return;
|
return;
|
||||||
@@ -145,7 +145,7 @@ public class MapScriptMethods extends AbstractPlayerInteraction {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void touchTheSky() { //29004
|
public void touchTheSky() { //29004
|
||||||
MapleQuest quest = MapleQuest.getInstance(29004);
|
Quest quest = Quest.getInstance(29004);
|
||||||
if (!isQuestStarted(29004)) {
|
if (!isQuestStarted(29004)) {
|
||||||
if (!quest.forceStart(getPlayer(), 9000066)) {
|
if (!quest.forceStart(getPlayer(), 9000066)) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ package scripting.quest;
|
|||||||
import client.Client;
|
import client.Client;
|
||||||
import scripting.npc.NPCConversationManager;
|
import scripting.npc.NPCConversationManager;
|
||||||
import server.MapleItemInformationProvider;
|
import server.MapleItemInformationProvider;
|
||||||
import server.quest.MapleQuest;
|
import server.quest.Quest;
|
||||||
import server.quest.actions.ExpAction;
|
import server.quest.actions.ExpAction;
|
||||||
import server.quest.actions.MesoAction;
|
import server.quest.actions.MesoAction;
|
||||||
|
|
||||||
@@ -84,7 +84,7 @@ public class QuestActionManager extends NPCConversationManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public String getMedalName() { // usable only for medal quests (id 299XX)
|
public String getMedalName() { // usable only for medal quests (id 299XX)
|
||||||
MapleQuest q = MapleQuest.getInstance(quest);
|
Quest q = Quest.getInstance(quest);
|
||||||
return MapleItemInformationProvider.getInstance().getName(q.getMedalRequirement());
|
return MapleItemInformationProvider.getInstance().getName(q.getMedalRequirement());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ import client.Client;
|
|||||||
import client.QuestStatus;
|
import client.QuestStatus;
|
||||||
import constants.game.GameConstants;
|
import constants.game.GameConstants;
|
||||||
import scripting.AbstractScriptManager;
|
import scripting.AbstractScriptManager;
|
||||||
import server.quest.MapleQuest;
|
import server.quest.Quest;
|
||||||
import tools.FilePrinter;
|
import tools.FilePrinter;
|
||||||
|
|
||||||
import javax.script.Invocable;
|
import javax.script.Invocable;
|
||||||
@@ -58,7 +58,7 @@ public class QuestScriptManager extends AbstractScriptManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void start(Client c, short questid, int npc) {
|
public void start(Client c, short questid, int npc) {
|
||||||
MapleQuest quest = MapleQuest.getInstance(questid);
|
Quest quest = Quest.getInstance(questid);
|
||||||
try {
|
try {
|
||||||
QuestActionManager qm = new QuestActionManager(c, questid, npc, true);
|
QuestActionManager qm = new QuestActionManager(c, questid, npc, true);
|
||||||
if (qms.containsKey(c)) {
|
if (qms.containsKey(c)) {
|
||||||
@@ -109,7 +109,7 @@ public class QuestScriptManager extends AbstractScriptManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void end(Client c, short questid, int npc) {
|
public void end(Client c, short questid, int npc) {
|
||||||
MapleQuest quest = MapleQuest.getInstance(questid);
|
Quest quest = Quest.getInstance(questid);
|
||||||
if (!c.getPlayer().getQuest(quest).getStatus().equals(QuestStatus.Status.STARTED) || !c.getPlayer().getMap().containsNPC(npc)) {
|
if (!c.getPlayer().getQuest(quest).getStatus().equals(QuestStatus.Status.STARTED) || !c.getPlayer().getMap().containsNPC(npc)) {
|
||||||
dispose(c);
|
dispose(c);
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ package server.loot;
|
|||||||
import client.Character;
|
import client.Character;
|
||||||
import server.life.MonsterDropEntry;
|
import server.life.MonsterDropEntry;
|
||||||
import server.life.MonsterInformationProvider;
|
import server.life.MonsterInformationProvider;
|
||||||
import server.quest.MapleQuest;
|
import server.quest.Quest;
|
||||||
|
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -34,7 +34,7 @@ public class LootManager {
|
|||||||
|
|
||||||
private static boolean isRelevantDrop(MonsterDropEntry dropEntry, List<Character> players, List<LootInventory> playersInv) {
|
private static boolean isRelevantDrop(MonsterDropEntry dropEntry, List<Character> players, List<LootInventory> playersInv) {
|
||||||
int qStartAmount = 0, qCompleteAmount = 0;
|
int qStartAmount = 0, qCompleteAmount = 0;
|
||||||
MapleQuest quest = MapleQuest.getInstance(dropEntry.questid);
|
Quest quest = Quest.getInstance(dropEntry.questid);
|
||||||
if (quest != null) {
|
if (quest != null) {
|
||||||
qStartAmount = quest.getStartItemAmountNeeded(dropEntry.itemId);
|
qStartAmount = quest.getStartItemAmountNeeded(dropEntry.itemId);
|
||||||
qCompleteAmount = quest.getCompleteItemAmountNeeded(dropEntry.itemId);
|
qCompleteAmount = quest.getCompleteItemAmountNeeded(dropEntry.itemId);
|
||||||
|
|||||||
@@ -1384,7 +1384,7 @@ public class MapleMap {
|
|||||||
AutobanFactory.GENERAL.alert(chr, " for killing a " + monster.getName() + " which is over 30 levels higher.");
|
AutobanFactory.GENERAL.alert(chr, " for killing a " + monster.getName() + " which is over 30 levels higher.");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*if (chr.getQuest(MapleQuest.getInstance(29400)).getStatus().equals(QuestStatus.Status.STARTED)) {
|
/*if (chr.getQuest(Quest.getInstance(29400)).getStatus().equals(QuestStatus.Status.STARTED)) {
|
||||||
if (chr.getLevel() >= 120 && monster.getStats().getLevel() >= 120) {
|
if (chr.getLevel() >= 120 && monster.getStats().getLevel() >= 120) {
|
||||||
//FIX MEDAL SHET
|
//FIX MEDAL SHET
|
||||||
} else if (monster.getStats().getLevel() >= chr.getLevel()) {
|
} else if (monster.getStats().getLevel() >= chr.getLevel()) {
|
||||||
|
|||||||
+229
-229
@@ -39,17 +39,16 @@ import java.util.*;
|
|||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author Matze
|
* @author Matze
|
||||||
* @author Ronan - support for medal quests
|
* @author Ronan - support for medal quests
|
||||||
*/
|
*/
|
||||||
public class MapleQuest {
|
public class Quest {
|
||||||
|
private static volatile Map<Integer, Quest> quests = new HashMap<>();
|
||||||
private static volatile Map<Integer, MapleQuest> quests = new HashMap<>();
|
|
||||||
private static volatile Map<Integer, Integer> infoNumberQuests = new HashMap<>();
|
private static volatile Map<Integer, Integer> infoNumberQuests = new HashMap<>();
|
||||||
private static Map<Short, Integer> medals = new HashMap<>();
|
private static final Map<Short, Integer> medals = new HashMap<>();
|
||||||
|
|
||||||
private static final Set<Short> exploitableQuests = new HashSet<>();
|
private static final Set<Short> exploitableQuests = new HashSet<>();
|
||||||
|
|
||||||
static {
|
static {
|
||||||
exploitableQuests.add((short) 2338); // there are a lot more exploitable quests, they need to be nit-picked
|
exploitableQuests.add((short) 2338); // there are a lot more exploitable quests, they need to be nit-picked
|
||||||
exploitableQuests.add((short) 3637);
|
exploitableQuests.add((short) 3637);
|
||||||
@@ -73,7 +72,7 @@ public class MapleQuest {
|
|||||||
private final static Data questAct = questData.getData("Act.img");
|
private final static Data questAct = questData.getData("Act.img");
|
||||||
private final static Data questReq = questData.getData("Check.img");
|
private final static Data questReq = questData.getData("Check.img");
|
||||||
|
|
||||||
private MapleQuest(int id) {
|
private Quest(int id) {
|
||||||
this.id = (short) id;
|
this.id = (short) id;
|
||||||
|
|
||||||
Data reqData = questReq.getChildByPath(String.valueOf(id));
|
Data reqData = questReq.getChildByPath(String.valueOf(id));
|
||||||
@@ -81,9 +80,9 @@ public class MapleQuest {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(questInfo != null) {
|
if (questInfo != null) {
|
||||||
Data reqInfo = questInfo.getChildByPath(String.valueOf(id));
|
Data reqInfo = questInfo.getChildByPath(String.valueOf(id));
|
||||||
if(reqInfo != null) {
|
if (reqInfo != null) {
|
||||||
name = DataTool.getString("name", reqInfo, "");
|
name = DataTool.getString("name", reqInfo, "");
|
||||||
parent = DataTool.getString("parent", reqInfo, "");
|
parent = DataTool.getString("parent", reqInfo, "");
|
||||||
|
|
||||||
@@ -94,7 +93,9 @@ public class MapleQuest {
|
|||||||
autoComplete = DataTool.getInt("autoComplete", reqInfo, 0) == 1;
|
autoComplete = DataTool.getInt("autoComplete", reqInfo, 0) == 1;
|
||||||
|
|
||||||
int medalid = DataTool.getInt("viewMedalItem", reqInfo, 0);
|
int medalid = DataTool.getInt("viewMedalItem", reqInfo, 0);
|
||||||
if(medalid != 0) medals.put(this.id, medalid);
|
if (medalid != 0) {
|
||||||
|
medals.put(this.id, medalid);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
System.out.println("no data " + id);
|
System.out.println("no data " + id);
|
||||||
}
|
}
|
||||||
@@ -124,7 +125,7 @@ public class MapleQuest {
|
|||||||
Data completeReqData = reqData.getChildByPath("1");
|
Data completeReqData = reqData.getChildByPath("1");
|
||||||
if (completeReqData != null) {
|
if (completeReqData != null) {
|
||||||
for (Data completeReq : completeReqData.getChildren()) {
|
for (Data completeReq : completeReqData.getChildren()) {
|
||||||
MapleQuestRequirementType type = MapleQuestRequirementType.getByWZName(completeReq.getName());
|
MapleQuestRequirementType type = MapleQuestRequirementType.getByWZName(completeReq.getName());
|
||||||
|
|
||||||
MapleQuestRequirement req = this.getRequirement(type, completeReq);
|
MapleQuestRequirement req = this.getRequirement(type, completeReq);
|
||||||
if (req == null) {
|
if (req == null) {
|
||||||
@@ -149,8 +150,9 @@ public class MapleQuest {
|
|||||||
MapleQuestActionType questActionType = MapleQuestActionType.getByWZName(startAct.getName());
|
MapleQuestActionType questActionType = MapleQuestActionType.getByWZName(startAct.getName());
|
||||||
MapleQuestAction act = this.getAction(questActionType, startAct);
|
MapleQuestAction act = this.getAction(questActionType, startAct);
|
||||||
|
|
||||||
if(act == null)
|
if (act == null) {
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
startActs.put(questActionType, act);
|
startActs.put(questActionType, act);
|
||||||
}
|
}
|
||||||
@@ -161,8 +163,9 @@ public class MapleQuest {
|
|||||||
MapleQuestActionType questActionType = MapleQuestActionType.getByWZName(completeAct.getName());
|
MapleQuestActionType questActionType = MapleQuestActionType.getByWZName(completeAct.getName());
|
||||||
MapleQuestAction act = this.getAction(questActionType, completeAct);
|
MapleQuestAction act = this.getAction(questActionType, completeAct);
|
||||||
|
|
||||||
if(act == null)
|
if (act == null) {
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
completeActs.put(questActionType, act);
|
completeActs.put(questActionType, act);
|
||||||
}
|
}
|
||||||
@@ -177,16 +180,16 @@ public class MapleQuest {
|
|||||||
return autoStart;
|
return autoStart;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MapleQuest getInstance(int id) {
|
public static Quest getInstance(int id) {
|
||||||
MapleQuest ret = quests.get(id);
|
Quest ret = quests.get(id);
|
||||||
if (ret == null) {
|
if (ret == null) {
|
||||||
ret = new MapleQuest(id);
|
ret = new Quest(id);
|
||||||
quests.put(id, ret);
|
quests.put(id, ret);
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MapleQuest getInstanceFromInfoNumber(int infoNumber) {
|
public static Quest getInstanceFromInfoNumber(int infoNumber) {
|
||||||
Integer id = infoNumberQuests.get(infoNumber);
|
Integer id = infoNumberQuests.get(infoNumber);
|
||||||
if (id == null) {
|
if (id == null) {
|
||||||
id = infoNumber;
|
id = infoNumber;
|
||||||
@@ -196,7 +199,9 @@ public class MapleQuest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean isSameDayRepeatable() {
|
public boolean isSameDayRepeatable() {
|
||||||
if(!repeatable) return false;
|
if (!repeatable) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
IntervalRequirement ir = (IntervalRequirement) startReqs.get(MapleQuestRequirementType.INTERVAL);
|
IntervalRequirement ir = (IntervalRequirement) startReqs.get(MapleQuestRequirementType.INTERVAL);
|
||||||
return ir.getInterval() < YamlConfig.config.server.QUEST_POINT_REPEATABLE_INTERVAL * 60 * 60 * 1000;
|
return ir.getInterval() < YamlConfig.config.server.QUEST_POINT_REPEATABLE_INTERVAL * 60 * 60 * 1000;
|
||||||
@@ -242,11 +247,7 @@ public class MapleQuest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!canQuestByInfoProgress(chr)) {
|
return canQuestByInfoProgress(chr);
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean canComplete(Character chr, Integer npcid) {
|
public boolean canComplete(Character chr, Integer npcid) {
|
||||||
@@ -261,11 +262,7 @@ public class MapleQuest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!canQuestByInfoProgress(chr)) {
|
return canQuestByInfoProgress(chr);
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void start(Character chr, int npc) {
|
public void start(Character chr, int npc) {
|
||||||
@@ -331,11 +328,11 @@ public class MapleQuest {
|
|||||||
newStatus.setProgress(e.getKey(), e.getValue());
|
newStatus.setProgress(e.getKey(), e.getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
if(id / 100 == 35 && YamlConfig.config.server.TOT_MOB_QUEST_REQUIREMENT > 0) {
|
if (id / 100 == 35 && YamlConfig.config.server.TOT_MOB_QUEST_REQUIREMENT > 0) {
|
||||||
int setProg = 999 - Math.min(999, YamlConfig.config.server.TOT_MOB_QUEST_REQUIREMENT);
|
int setProg = 999 - Math.min(999, YamlConfig.config.server.TOT_MOB_QUEST_REQUIREMENT);
|
||||||
|
|
||||||
for(Integer pid : newStatus.getProgress().keySet()) {
|
for (Integer pid : newStatus.getProgress().keySet()) {
|
||||||
if(pid >= 8200000 && pid <= 8200012) {
|
if (pid >= 8200000 && pid <= 8200012) {
|
||||||
String pr = StringUtil.getLeftPaddedStr(Integer.toString(setProg), '0', 3);
|
String pr = StringUtil.getLeftPaddedStr(Integer.toString(setProg), '0', 3);
|
||||||
newStatus.setProgress(pid, pr);
|
newStatus.setProgress(pid, pr);
|
||||||
}
|
}
|
||||||
@@ -385,8 +382,9 @@ public class MapleQuest {
|
|||||||
|
|
||||||
public int getStartItemAmountNeeded(int itemid) {
|
public int getStartItemAmountNeeded(int itemid) {
|
||||||
MapleQuestRequirement req = startReqs.get(MapleQuestRequirementType.ITEM);
|
MapleQuestRequirement req = startReqs.get(MapleQuestRequirementType.ITEM);
|
||||||
if(req == null)
|
if (req == null) {
|
||||||
return Integer.MIN_VALUE;
|
return Integer.MIN_VALUE;
|
||||||
|
}
|
||||||
|
|
||||||
ItemRequirement ireq = (ItemRequirement) req;
|
ItemRequirement ireq = (ItemRequirement) req;
|
||||||
return ireq.getItemAmountNeeded(itemid, false);
|
return ireq.getItemAmountNeeded(itemid, false);
|
||||||
@@ -394,8 +392,9 @@ public class MapleQuest {
|
|||||||
|
|
||||||
public int getCompleteItemAmountNeeded(int itemid) {
|
public int getCompleteItemAmountNeeded(int itemid) {
|
||||||
MapleQuestRequirement req = completeReqs.get(MapleQuestRequirementType.ITEM);
|
MapleQuestRequirement req = completeReqs.get(MapleQuestRequirementType.ITEM);
|
||||||
if(req == null)
|
if (req == null) {
|
||||||
return Integer.MAX_VALUE;
|
return Integer.MAX_VALUE;
|
||||||
|
}
|
||||||
|
|
||||||
ItemRequirement ireq = (ItemRequirement) req;
|
ItemRequirement ireq = (ItemRequirement) req;
|
||||||
return ireq.getItemAmountNeeded(itemid, true);
|
return ireq.getItemAmountNeeded(itemid, true);
|
||||||
@@ -403,8 +402,9 @@ public class MapleQuest {
|
|||||||
|
|
||||||
public int getMobAmountNeeded(int mid) {
|
public int getMobAmountNeeded(int mid) {
|
||||||
MapleQuestRequirement req = completeReqs.get(MapleQuestRequirementType.MOB);
|
MapleQuestRequirement req = completeReqs.get(MapleQuestRequirementType.MOB);
|
||||||
if(req == null)
|
if (req == null) {
|
||||||
return 0;
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
MobRequirement mreq = (MobRequirement) req;
|
MobRequirement mreq = (MobRequirement) req;
|
||||||
|
|
||||||
@@ -448,215 +448,215 @@ public class MapleQuest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getTimeLimit() {
|
public int getTimeLimit() {
|
||||||
return timeLimit;
|
return timeLimit;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void clearCache(int quest) {
|
public static void clearCache(int quest) {
|
||||||
quests.remove(quest);
|
quests.remove(quest);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void clearCache() {
|
public static void clearCache() {
|
||||||
quests.clear();
|
quests.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
private MapleQuestRequirement getRequirement(MapleQuestRequirementType type, Data data) {
|
private MapleQuestRequirement getRequirement(MapleQuestRequirementType type, Data data) {
|
||||||
MapleQuestRequirement ret = null;
|
MapleQuestRequirement ret = null;
|
||||||
switch(type) {
|
switch (type) {
|
||||||
case END_DATE:
|
case END_DATE:
|
||||||
ret = new EndDateRequirement(this, data);
|
ret = new EndDateRequirement(this, data);
|
||||||
break;
|
break;
|
||||||
case JOB:
|
case JOB:
|
||||||
ret = new JobRequirement(this, data);
|
ret = new JobRequirement(this, data);
|
||||||
break;
|
break;
|
||||||
case QUEST:
|
case QUEST:
|
||||||
ret = new QuestRequirement(this, data);
|
ret = new QuestRequirement(this, data);
|
||||||
break;
|
break;
|
||||||
case FIELD_ENTER:
|
case FIELD_ENTER:
|
||||||
ret = new FieldEnterRequirement(this, data);
|
ret = new FieldEnterRequirement(this, data);
|
||||||
break;
|
break;
|
||||||
case INFO_NUMBER:
|
case INFO_NUMBER:
|
||||||
ret = new InfoNumberRequirement(this, data);
|
ret = new InfoNumberRequirement(this, data);
|
||||||
break;
|
break;
|
||||||
case INFO_EX:
|
case INFO_EX:
|
||||||
ret = new InfoExRequirement(this, data);
|
ret = new InfoExRequirement(this, data);
|
||||||
break;
|
break;
|
||||||
case INTERVAL:
|
case INTERVAL:
|
||||||
ret = new IntervalRequirement(this, data);
|
ret = new IntervalRequirement(this, data);
|
||||||
break;
|
break;
|
||||||
case COMPLETED_QUEST:
|
case COMPLETED_QUEST:
|
||||||
ret = new CompletedQuestRequirement(this, data);
|
ret = new CompletedQuestRequirement(this, data);
|
||||||
break;
|
break;
|
||||||
case ITEM:
|
case ITEM:
|
||||||
ret = new ItemRequirement(this, data);
|
ret = new ItemRequirement(this, data);
|
||||||
break;
|
break;
|
||||||
case MAX_LEVEL:
|
case MAX_LEVEL:
|
||||||
ret = new MaxLevelRequirement(this, data);
|
ret = new MaxLevelRequirement(this, data);
|
||||||
break;
|
break;
|
||||||
case MESO:
|
case MESO:
|
||||||
ret = new MesoRequirement(this, data);
|
ret = new MesoRequirement(this, data);
|
||||||
break;
|
break;
|
||||||
case MIN_LEVEL:
|
case MIN_LEVEL:
|
||||||
ret = new MinLevelRequirement(this, data);
|
ret = new MinLevelRequirement(this, data);
|
||||||
break;
|
break;
|
||||||
case MIN_PET_TAMENESS:
|
case MIN_PET_TAMENESS:
|
||||||
ret = new MinTamenessRequirement(this, data);
|
ret = new MinTamenessRequirement(this, data);
|
||||||
break;
|
break;
|
||||||
case MOB:
|
case MOB:
|
||||||
ret = new MobRequirement(this, data);
|
ret = new MobRequirement(this, data);
|
||||||
break;
|
break;
|
||||||
case MONSTER_BOOK:
|
case MONSTER_BOOK:
|
||||||
ret = new MonsterBookCountRequirement(this, data);
|
ret = new MonsterBookCountRequirement(this, data);
|
||||||
break;
|
break;
|
||||||
case NPC:
|
case NPC:
|
||||||
ret = new NpcRequirement(this, data);
|
ret = new NpcRequirement(this, data);
|
||||||
break;
|
break;
|
||||||
case PET:
|
case PET:
|
||||||
ret = new PetRequirement(this, data);
|
ret = new PetRequirement(this, data);
|
||||||
break;
|
break;
|
||||||
case BUFF:
|
case BUFF:
|
||||||
ret = new BuffRequirement(this, data);
|
ret = new BuffRequirement(this, data);
|
||||||
break;
|
break;
|
||||||
case EXCEPT_BUFF:
|
case EXCEPT_BUFF:
|
||||||
ret = new BuffExceptRequirement(this, data);
|
ret = new BuffExceptRequirement(this, data);
|
||||||
break;
|
break;
|
||||||
case SCRIPT:
|
case SCRIPT:
|
||||||
ret = new ScriptRequirement(this, data);
|
ret = new ScriptRequirement(this, data);
|
||||||
break;
|
break;
|
||||||
case NORMAL_AUTO_START:
|
case NORMAL_AUTO_START:
|
||||||
case START:
|
case START:
|
||||||
case END:
|
case END:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
//FilePrinter.printError(FilePrinter.EXCEPTION_CAUGHT, "Unhandled Requirement Type: " + type.toString() + " QuestID: " + this.getId());
|
//FilePrinter.printError(FilePrinter.EXCEPTION_CAUGHT, "Unhandled Requirement Type: " + type.toString() + " QuestID: " + this.getId());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
private MapleQuestAction getAction(MapleQuestActionType type, Data data) {
|
private MapleQuestAction getAction(MapleQuestActionType type, Data data) {
|
||||||
MapleQuestAction ret = null;
|
MapleQuestAction ret = null;
|
||||||
switch(type) {
|
switch (type) {
|
||||||
case BUFF:
|
case BUFF:
|
||||||
ret = new BuffAction(this, data);
|
ret = new BuffAction(this, data);
|
||||||
break;
|
break;
|
||||||
case EXP:
|
case EXP:
|
||||||
ret = new ExpAction(this, data);
|
ret = new ExpAction(this, data);
|
||||||
break;
|
break;
|
||||||
case FAME:
|
case FAME:
|
||||||
ret = new FameAction(this, data);
|
ret = new FameAction(this, data);
|
||||||
break;
|
break;
|
||||||
case ITEM:
|
case ITEM:
|
||||||
ret = new ItemAction(this, data);
|
ret = new ItemAction(this, data);
|
||||||
break;
|
break;
|
||||||
case MESO:
|
case MESO:
|
||||||
ret = new MesoAction(this, data);
|
ret = new MesoAction(this, data);
|
||||||
break;
|
break;
|
||||||
case NEXTQUEST:
|
case NEXTQUEST:
|
||||||
ret = new NextQuestAction(this, data);
|
ret = new NextQuestAction(this, data);
|
||||||
break;
|
break;
|
||||||
case PETSKILL:
|
case PETSKILL:
|
||||||
ret = new PetSkillAction(this, data);
|
ret = new PetSkillAction(this, data);
|
||||||
break;
|
break;
|
||||||
case QUEST:
|
case QUEST:
|
||||||
ret = new QuestAction(this, data);
|
ret = new QuestAction(this, data);
|
||||||
break;
|
break;
|
||||||
case SKILL:
|
case SKILL:
|
||||||
ret = new SkillAction(this, data);
|
ret = new SkillAction(this, data);
|
||||||
break;
|
break;
|
||||||
case PETTAMENESS:
|
case PETTAMENESS:
|
||||||
ret = new PetTamenessAction(this, data);
|
ret = new PetTamenessAction(this, data);
|
||||||
break;
|
break;
|
||||||
case PETSPEED:
|
case PETSPEED:
|
||||||
ret = new PetSpeedAction(this, data);
|
ret = new PetSpeedAction(this, data);
|
||||||
break;
|
break;
|
||||||
case INFO:
|
case INFO:
|
||||||
ret = new InfoAction(this, data);
|
ret = new InfoAction(this, data);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
//FilePrinter.printError(FilePrinter.EXCEPTION_CAUGHT, "Unhandled Action Type: " + type.toString() + " QuestID: " + this.getId());
|
//FilePrinter.printError(FilePrinter.EXCEPTION_CAUGHT, "Unhandled Action Type: " + type.toString() + " QuestID: " + this.getId());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean restoreLostItem(Character chr, int itemid) {
|
public boolean restoreLostItem(Character chr, int itemid) {
|
||||||
if (chr.getQuest(this).getStatus().equals(QuestStatus.Status.STARTED)) {
|
if (chr.getQuest(this).getStatus().equals(QuestStatus.Status.STARTED)) {
|
||||||
ItemAction itemAct = (ItemAction) startActs.get(MapleQuestActionType.ITEM);
|
ItemAction itemAct = (ItemAction) startActs.get(MapleQuestActionType.ITEM);
|
||||||
if (itemAct != null) {
|
if (itemAct != null) {
|
||||||
return itemAct.restoreLostItem(chr, itemid);
|
return itemAct.restoreLostItem(chr, itemid);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getMedalRequirement() {
|
return false;
|
||||||
Integer medalid = medals.get(id);
|
}
|
||||||
return medalid != null ? medalid : -1;
|
|
||||||
|
public int getMedalRequirement() {
|
||||||
|
Integer medalid = medals.get(id);
|
||||||
|
return medalid != null ? medalid : -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getNpcRequirement(boolean checkEnd) {
|
||||||
|
Map<MapleQuestRequirementType, MapleQuestRequirement> reqs = !checkEnd ? startReqs : completeReqs;
|
||||||
|
MapleQuestRequirement mqr = reqs.get(MapleQuestRequirementType.NPC);
|
||||||
|
if (mqr != null) {
|
||||||
|
return ((NpcRequirement) mqr).get();
|
||||||
|
} else {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean hasScriptRequirement(boolean checkEnd) {
|
||||||
|
Map<MapleQuestRequirementType, MapleQuestRequirement> reqs = !checkEnd ? startReqs : completeReqs;
|
||||||
|
MapleQuestRequirement mqr = reqs.get(MapleQuestRequirementType.SCRIPT);
|
||||||
|
|
||||||
|
if (mqr != null) {
|
||||||
|
return ((ScriptRequirement) mqr).get();
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean hasNextQuestAction() {
|
||||||
|
Map<MapleQuestActionType, MapleQuestAction> acts = completeActs;
|
||||||
|
MapleQuestAction mqa = acts.get(MapleQuestActionType.NEXTQUEST);
|
||||||
|
|
||||||
|
return mqa != null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getParentName() {
|
||||||
|
return parent;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean isExploitableQuest(short questid) {
|
||||||
|
return exploitableQuests.contains(questid);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<Quest> getMatchedQuests(String search) {
|
||||||
|
List<Quest> ret = new LinkedList<>();
|
||||||
|
|
||||||
|
search = search.toLowerCase();
|
||||||
|
for (Quest mq : quests.values()) {
|
||||||
|
if (mq.name.toLowerCase().contains(search) || mq.parent.toLowerCase().contains(search)) {
|
||||||
|
ret.add(mq);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getNpcRequirement(boolean checkEnd) {
|
return ret;
|
||||||
Map<MapleQuestRequirementType, MapleQuestRequirement> reqs = !checkEnd ? startReqs : completeReqs;
|
}
|
||||||
MapleQuestRequirement mqr = reqs.get(MapleQuestRequirementType.NPC);
|
|
||||||
if (mqr != null) {
|
|
||||||
return ((NpcRequirement) mqr).get();
|
|
||||||
} else {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean hasScriptRequirement(boolean checkEnd) {
|
|
||||||
Map<MapleQuestRequirementType, MapleQuestRequirement> reqs = !checkEnd ? startReqs : completeReqs;
|
|
||||||
MapleQuestRequirement mqr = reqs.get(MapleQuestRequirementType.SCRIPT);
|
|
||||||
|
|
||||||
if (mqr != null) {
|
|
||||||
return ((ScriptRequirement) mqr).get();
|
|
||||||
} else {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean hasNextQuestAction() {
|
|
||||||
Map<MapleQuestActionType, MapleQuestAction> acts = completeActs;
|
|
||||||
MapleQuestAction mqa = acts.get(MapleQuestActionType.NEXTQUEST);
|
|
||||||
|
|
||||||
return mqa != null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getName() {
|
|
||||||
return name;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getParentName() {
|
|
||||||
return parent;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean isExploitableQuest(short questid) {
|
|
||||||
return exploitableQuests.contains(questid);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static List<MapleQuest> getMatchedQuests(String search) {
|
|
||||||
List<MapleQuest> ret = new LinkedList<>();
|
|
||||||
|
|
||||||
search = search.toLowerCase();
|
|
||||||
for (MapleQuest mq : quests.values()) {
|
|
||||||
if (mq.name.toLowerCase().contains(search) || mq.parent.toLowerCase().contains(search)) {
|
|
||||||
ret.add(mq);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void loadAllQuests() {
|
public static void loadAllQuests() {
|
||||||
final Map<Integer, MapleQuest> loadedQuests = new HashMap<>();
|
final Map<Integer, Quest> loadedQuests = new HashMap<>();
|
||||||
final Map<Integer, Integer> loadedInfoNumberQuests = new HashMap<>();
|
final Map<Integer, Integer> loadedInfoNumberQuests = new HashMap<>();
|
||||||
|
|
||||||
for (Data quest : questInfo.getChildren()) {
|
for (Data quest : questInfo.getChildren()) {
|
||||||
int questID = Integer.parseInt(quest.getName());
|
int questID = Integer.parseInt(quest.getName());
|
||||||
|
|
||||||
MapleQuest q = new MapleQuest(questID);
|
Quest q = new Quest(questID);
|
||||||
loadedQuests.put(questID, q);
|
loadedQuests.put(questID, q);
|
||||||
|
|
||||||
int infoNumber;
|
int infoNumber;
|
||||||
@@ -672,7 +672,7 @@ public class MapleQuest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MapleQuest.quests = loadedQuests;
|
Quest.quests = loadedQuests;
|
||||||
MapleQuest.infoNumberQuests = loadedInfoNumberQuests;
|
Quest.infoNumberQuests = loadedInfoNumberQuests;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -25,8 +25,8 @@ import client.Character;
|
|||||||
import provider.Data;
|
import provider.Data;
|
||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import server.MapleItemInformationProvider;
|
import server.MapleItemInformationProvider;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestActionType;
|
import server.quest.MapleQuestActionType;
|
||||||
|
import server.quest.Quest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -35,7 +35,7 @@ import server.quest.MapleQuestActionType;
|
|||||||
public class BuffAction extends MapleQuestAction {
|
public class BuffAction extends MapleQuestAction {
|
||||||
int itemEffect;
|
int itemEffect;
|
||||||
|
|
||||||
public BuffAction(MapleQuest quest, Data data) {
|
public BuffAction(Quest quest, Data data) {
|
||||||
super(MapleQuestActionType.BUFF, quest);
|
super(MapleQuestActionType.BUFF, quest);
|
||||||
processData(data);
|
processData(data);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ import client.Character;
|
|||||||
import config.YamlConfig;
|
import config.YamlConfig;
|
||||||
import provider.Data;
|
import provider.Data;
|
||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestActionType;
|
import server.quest.MapleQuestActionType;
|
||||||
|
import server.quest.Quest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -35,7 +35,7 @@ import server.quest.MapleQuestActionType;
|
|||||||
public class ExpAction extends MapleQuestAction {
|
public class ExpAction extends MapleQuestAction {
|
||||||
int exp;
|
int exp;
|
||||||
|
|
||||||
public ExpAction(MapleQuest quest, Data data) {
|
public ExpAction(Quest quest, Data data) {
|
||||||
super(MapleQuestActionType.EXP, quest);
|
super(MapleQuestActionType.EXP, quest);
|
||||||
processData(data);
|
processData(data);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,8 +24,8 @@ package server.quest.actions;
|
|||||||
import client.Character;
|
import client.Character;
|
||||||
import provider.Data;
|
import provider.Data;
|
||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestActionType;
|
import server.quest.MapleQuestActionType;
|
||||||
|
import server.quest.Quest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -34,7 +34,7 @@ import server.quest.MapleQuestActionType;
|
|||||||
public class FameAction extends MapleQuestAction {
|
public class FameAction extends MapleQuestAction {
|
||||||
int fame;
|
int fame;
|
||||||
|
|
||||||
public FameAction(MapleQuest quest, Data data) {
|
public FameAction(Quest quest, Data data) {
|
||||||
super(MapleQuestActionType.FAME, quest);
|
super(MapleQuestActionType.FAME, quest);
|
||||||
questID = quest.getId();
|
questID = quest.getId();
|
||||||
processData(data);
|
processData(data);
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ package server.quest.actions;
|
|||||||
import client.Character;
|
import client.Character;
|
||||||
import provider.Data;
|
import provider.Data;
|
||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestActionType;
|
import server.quest.MapleQuestActionType;
|
||||||
|
import server.quest.Quest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -34,7 +34,7 @@ public class InfoAction extends MapleQuestAction {
|
|||||||
private String info;
|
private String info;
|
||||||
private int questID;
|
private int questID;
|
||||||
|
|
||||||
public InfoAction(MapleQuest quest, Data data) {
|
public InfoAction(Quest quest, Data data) {
|
||||||
super(MapleQuestActionType.INFO, quest);
|
super(MapleQuestActionType.INFO, quest);
|
||||||
questID = quest.getId();
|
questID = quest.getId();
|
||||||
processData(data);
|
processData(data);
|
||||||
|
|||||||
@@ -30,8 +30,8 @@ import constants.inventory.ItemConstants;
|
|||||||
import provider.Data;
|
import provider.Data;
|
||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import server.MapleItemInformationProvider;
|
import server.MapleItemInformationProvider;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestActionType;
|
import server.quest.MapleQuestActionType;
|
||||||
|
import server.quest.Quest;
|
||||||
import tools.FilePrinter;
|
import tools.FilePrinter;
|
||||||
import tools.PacketCreator;
|
import tools.PacketCreator;
|
||||||
import tools.Pair;
|
import tools.Pair;
|
||||||
@@ -50,7 +50,7 @@ import java.util.List;
|
|||||||
public class ItemAction extends MapleQuestAction {
|
public class ItemAction extends MapleQuestAction {
|
||||||
List<ItemData> items = new ArrayList<>();
|
List<ItemData> items = new ArrayList<>();
|
||||||
|
|
||||||
public ItemAction(MapleQuest quest, Data data) {
|
public ItemAction(Quest quest, Data data) {
|
||||||
super(MapleQuestActionType.ITEM, quest);
|
super(MapleQuestActionType.ITEM, quest);
|
||||||
processData(data);
|
processData(data);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,8 +20,8 @@ package server.quest.actions;
|
|||||||
|
|
||||||
import client.Character;
|
import client.Character;
|
||||||
import provider.Data;
|
import provider.Data;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestActionType;
|
import server.quest.MapleQuestActionType;
|
||||||
|
import server.quest.Quest;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -34,7 +34,7 @@ public abstract class MapleQuestAction {
|
|||||||
private final MapleQuestActionType type;
|
private final MapleQuestActionType type;
|
||||||
protected int questID;
|
protected int questID;
|
||||||
|
|
||||||
public MapleQuestAction(MapleQuestActionType action, MapleQuest quest) {
|
public MapleQuestAction(MapleQuestActionType action, Quest quest) {
|
||||||
this.type = action;
|
this.type = action;
|
||||||
this.questID = quest.getId();
|
this.questID = quest.getId();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ import client.Character;
|
|||||||
import config.YamlConfig;
|
import config.YamlConfig;
|
||||||
import provider.Data;
|
import provider.Data;
|
||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestActionType;
|
import server.quest.MapleQuestActionType;
|
||||||
|
import server.quest.Quest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -35,7 +35,7 @@ import server.quest.MapleQuestActionType;
|
|||||||
public class MesoAction extends MapleQuestAction {
|
public class MesoAction extends MapleQuestAction {
|
||||||
int mesos;
|
int mesos;
|
||||||
|
|
||||||
public MesoAction(MapleQuest quest, Data data) {
|
public MesoAction(Quest quest, Data data) {
|
||||||
super(MapleQuestActionType.MESO, quest);
|
super(MapleQuestActionType.MESO, quest);
|
||||||
questID = quest.getId();
|
questID = quest.getId();
|
||||||
processData(data);
|
processData(data);
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ import client.Character;
|
|||||||
import client.QuestStatus;
|
import client.QuestStatus;
|
||||||
import provider.Data;
|
import provider.Data;
|
||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestActionType;
|
import server.quest.MapleQuestActionType;
|
||||||
|
import server.quest.Quest;
|
||||||
import tools.PacketCreator;
|
import tools.PacketCreator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -36,7 +36,7 @@ import tools.PacketCreator;
|
|||||||
public class NextQuestAction extends MapleQuestAction {
|
public class NextQuestAction extends MapleQuestAction {
|
||||||
int nextQuest;
|
int nextQuest;
|
||||||
|
|
||||||
public NextQuestAction(MapleQuest quest, Data data) {
|
public NextQuestAction(Quest quest, Data data) {
|
||||||
super(MapleQuestActionType.NEXTQUEST, quest);
|
super(MapleQuestActionType.NEXTQUEST, quest);
|
||||||
processData(data);
|
processData(data);
|
||||||
}
|
}
|
||||||
@@ -49,7 +49,7 @@ public class NextQuestAction extends MapleQuestAction {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run(Character chr, Integer extSelection) {
|
public void run(Character chr, Integer extSelection) {
|
||||||
QuestStatus status = chr.getQuest(MapleQuest.getInstance(questID));
|
QuestStatus status = chr.getQuest(Quest.getInstance(questID));
|
||||||
chr.sendPacket(PacketCreator.updateQuestFinish((short) questID, status.getNpc(), (short) nextQuest));
|
chr.sendPacket(PacketCreator.updateQuestFinish((short) questID, status.getNpc(), (short) nextQuest));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,8 +26,8 @@ import client.QuestStatus;
|
|||||||
import constants.inventory.ItemConstants;
|
import constants.inventory.ItemConstants;
|
||||||
import provider.Data;
|
import provider.Data;
|
||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestActionType;
|
import server.quest.MapleQuestActionType;
|
||||||
|
import server.quest.Quest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -36,7 +36,7 @@ import server.quest.MapleQuestActionType;
|
|||||||
public class PetSkillAction extends MapleQuestAction {
|
public class PetSkillAction extends MapleQuestAction {
|
||||||
int flag;
|
int flag;
|
||||||
|
|
||||||
public PetSkillAction(MapleQuest quest, Data data) {
|
public PetSkillAction(Quest quest, Data data) {
|
||||||
super(MapleQuestActionType.PETSKILL, quest);
|
super(MapleQuestActionType.PETSKILL, quest);
|
||||||
questID = quest.getId();
|
questID = quest.getId();
|
||||||
processData(data);
|
processData(data);
|
||||||
@@ -50,7 +50,7 @@ public class PetSkillAction extends MapleQuestAction {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean check(Character chr, Integer extSelection) {
|
public boolean check(Character chr, Integer extSelection) {
|
||||||
QuestStatus status = chr.getQuest(MapleQuest.getInstance(questID));
|
QuestStatus status = chr.getQuest(Quest.getInstance(questID));
|
||||||
if(!(status.getStatus() == QuestStatus.Status.NOT_STARTED && status.getForfeited() > 0))
|
if(!(status.getStatus() == QuestStatus.Status.NOT_STARTED && status.getForfeited() > 0))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
|||||||
@@ -23,8 +23,8 @@ import client.Character;
|
|||||||
import client.Client;
|
import client.Client;
|
||||||
import client.inventory.Pet;
|
import client.inventory.Pet;
|
||||||
import provider.Data;
|
import provider.Data;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestActionType;
|
import server.quest.MapleQuestActionType;
|
||||||
|
import server.quest.Quest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -32,7 +32,7 @@ import server.quest.MapleQuestActionType;
|
|||||||
*/
|
*/
|
||||||
public class PetSpeedAction extends MapleQuestAction {
|
public class PetSpeedAction extends MapleQuestAction {
|
||||||
|
|
||||||
public PetSpeedAction(MapleQuest quest, Data data) {
|
public PetSpeedAction(Quest quest, Data data) {
|
||||||
super(MapleQuestActionType.PETTAMENESS, quest);
|
super(MapleQuestActionType.PETTAMENESS, quest);
|
||||||
questID = quest.getId();
|
questID = quest.getId();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,8 +24,8 @@ import client.Client;
|
|||||||
import client.inventory.Pet;
|
import client.inventory.Pet;
|
||||||
import provider.Data;
|
import provider.Data;
|
||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestActionType;
|
import server.quest.MapleQuestActionType;
|
||||||
|
import server.quest.Quest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -34,7 +34,7 @@ import server.quest.MapleQuestActionType;
|
|||||||
public class PetTamenessAction extends MapleQuestAction {
|
public class PetTamenessAction extends MapleQuestAction {
|
||||||
int tameness;
|
int tameness;
|
||||||
|
|
||||||
public PetTamenessAction(MapleQuest quest, Data data) {
|
public PetTamenessAction(Quest quest, Data data) {
|
||||||
super(MapleQuestActionType.PETTAMENESS, quest);
|
super(MapleQuestActionType.PETTAMENESS, quest);
|
||||||
questID = quest.getId();
|
questID = quest.getId();
|
||||||
processData(data);
|
processData(data);
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ import client.Character;
|
|||||||
import client.QuestStatus;
|
import client.QuestStatus;
|
||||||
import provider.Data;
|
import provider.Data;
|
||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestActionType;
|
import server.quest.MapleQuestActionType;
|
||||||
|
import server.quest.Quest;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -39,7 +39,7 @@ public class QuestAction extends MapleQuestAction {
|
|||||||
int mesos;
|
int mesos;
|
||||||
Map<Integer, Integer> quests = new HashMap<>();
|
Map<Integer, Integer> quests = new HashMap<>();
|
||||||
|
|
||||||
public QuestAction(MapleQuest quest, Data data) {
|
public QuestAction(Quest quest, Data data) {
|
||||||
super(MapleQuestActionType.QUEST, quest);
|
super(MapleQuestActionType.QUEST, quest);
|
||||||
questID = quest.getId();
|
questID = quest.getId();
|
||||||
processData(data);
|
processData(data);
|
||||||
@@ -59,7 +59,7 @@ public class QuestAction extends MapleQuestAction {
|
|||||||
public void run(Character chr, Integer extSelection) {
|
public void run(Character chr, Integer extSelection) {
|
||||||
for(Integer questID : quests.keySet()) {
|
for(Integer questID : quests.keySet()) {
|
||||||
int stat = quests.get(questID);
|
int stat = quests.get(questID);
|
||||||
chr.updateQuestStatus(new QuestStatus(MapleQuest.getInstance(questID), QuestStatus.Status.getById(stat)));
|
chr.updateQuestStatus(new QuestStatus(Quest.getInstance(questID), QuestStatus.Status.getById(stat)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,8 +27,8 @@ import client.Skill;
|
|||||||
import client.SkillFactory;
|
import client.SkillFactory;
|
||||||
import provider.Data;
|
import provider.Data;
|
||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestActionType;
|
import server.quest.MapleQuestActionType;
|
||||||
|
import server.quest.Quest;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@@ -43,7 +43,7 @@ public class SkillAction extends MapleQuestAction {
|
|||||||
int itemEffect;
|
int itemEffect;
|
||||||
Map<Integer, SkillData> skillData = new HashMap<>();
|
Map<Integer, SkillData> skillData = new HashMap<>();
|
||||||
|
|
||||||
public SkillAction(MapleQuest quest, Data data) {
|
public SkillAction(Quest quest, Data data) {
|
||||||
super(MapleQuestActionType.SKILL, quest);
|
super(MapleQuestActionType.SKILL, quest);
|
||||||
processData(data);
|
processData(data);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ package server.quest.requirements;
|
|||||||
import client.Character;
|
import client.Character;
|
||||||
import provider.Data;
|
import provider.Data;
|
||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestRequirementType;
|
import server.quest.MapleQuestRequirementType;
|
||||||
|
import server.quest.Quest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -32,7 +32,7 @@ import server.quest.MapleQuestRequirementType;
|
|||||||
public class BuffExceptRequirement extends MapleQuestRequirement {
|
public class BuffExceptRequirement extends MapleQuestRequirement {
|
||||||
private int buffId = -1;
|
private int buffId = -1;
|
||||||
|
|
||||||
public BuffExceptRequirement(MapleQuest quest, Data data) {
|
public BuffExceptRequirement(Quest quest, Data data) {
|
||||||
super(MapleQuestRequirementType.BUFF);
|
super(MapleQuestRequirementType.BUFF);
|
||||||
processData(data);
|
processData(data);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ package server.quest.requirements;
|
|||||||
import client.Character;
|
import client.Character;
|
||||||
import provider.Data;
|
import provider.Data;
|
||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestRequirementType;
|
import server.quest.MapleQuestRequirementType;
|
||||||
|
import server.quest.Quest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -32,7 +32,7 @@ import server.quest.MapleQuestRequirementType;
|
|||||||
public class BuffRequirement extends MapleQuestRequirement {
|
public class BuffRequirement extends MapleQuestRequirement {
|
||||||
private int buffId = 1;
|
private int buffId = 1;
|
||||||
|
|
||||||
public BuffRequirement(MapleQuest quest, Data data) {
|
public BuffRequirement(Quest quest, Data data) {
|
||||||
super(MapleQuestRequirementType.BUFF);
|
super(MapleQuestRequirementType.BUFF);
|
||||||
processData(data);
|
processData(data);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,8 +24,8 @@ package server.quest.requirements;
|
|||||||
import client.Character;
|
import client.Character;
|
||||||
import provider.Data;
|
import provider.Data;
|
||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestRequirementType;
|
import server.quest.MapleQuestRequirementType;
|
||||||
|
import server.quest.Quest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -35,7 +35,7 @@ public class CompletedQuestRequirement extends MapleQuestRequirement {
|
|||||||
private int reqQuest;
|
private int reqQuest;
|
||||||
|
|
||||||
|
|
||||||
public CompletedQuestRequirement(MapleQuest quest, Data data) {
|
public CompletedQuestRequirement(Quest quest, Data data) {
|
||||||
super(MapleQuestRequirementType.COMPLETED_QUEST);
|
super(MapleQuestRequirementType.COMPLETED_QUEST);
|
||||||
processData(data);
|
processData(data);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,8 +24,8 @@ package server.quest.requirements;
|
|||||||
import client.Character;
|
import client.Character;
|
||||||
import provider.Data;
|
import provider.Data;
|
||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestRequirementType;
|
import server.quest.MapleQuestRequirementType;
|
||||||
|
import server.quest.Quest;
|
||||||
|
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
|
|
||||||
@@ -37,7 +37,7 @@ public class EndDateRequirement extends MapleQuestRequirement {
|
|||||||
private String timeStr;
|
private String timeStr;
|
||||||
|
|
||||||
|
|
||||||
public EndDateRequirement(MapleQuest quest, Data data) {
|
public EndDateRequirement(Quest quest, Data data) {
|
||||||
super(MapleQuestRequirementType.END_DATE);
|
super(MapleQuestRequirementType.END_DATE);
|
||||||
processData(data);
|
processData(data);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,8 +24,8 @@ package server.quest.requirements;
|
|||||||
import client.Character;
|
import client.Character;
|
||||||
import provider.Data;
|
import provider.Data;
|
||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestRequirementType;
|
import server.quest.MapleQuestRequirementType;
|
||||||
|
import server.quest.Quest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -35,7 +35,7 @@ public class FieldEnterRequirement extends MapleQuestRequirement {
|
|||||||
private int mapId = -1;
|
private int mapId = -1;
|
||||||
|
|
||||||
|
|
||||||
public FieldEnterRequirement(MapleQuest quest, Data data) {
|
public FieldEnterRequirement(Quest quest, Data data) {
|
||||||
super(MapleQuestRequirementType.FIELD_ENTER);
|
super(MapleQuestRequirementType.FIELD_ENTER);
|
||||||
processData(data);
|
processData(data);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,8 +24,8 @@ package server.quest.requirements;
|
|||||||
import client.Character;
|
import client.Character;
|
||||||
import provider.Data;
|
import provider.Data;
|
||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestRequirementType;
|
import server.quest.MapleQuestRequirementType;
|
||||||
|
import server.quest.Quest;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -39,7 +39,7 @@ public class InfoExRequirement extends MapleQuestRequirement {
|
|||||||
private int questID;
|
private int questID;
|
||||||
|
|
||||||
|
|
||||||
public InfoExRequirement(MapleQuest quest, Data data) {
|
public InfoExRequirement(Quest quest, Data data) {
|
||||||
super(MapleQuestRequirementType.INFO_EX);
|
super(MapleQuestRequirementType.INFO_EX);
|
||||||
questID = quest.getId();
|
questID = quest.getId();
|
||||||
processData(data);
|
processData(data);
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ package server.quest.requirements;
|
|||||||
import client.Character;
|
import client.Character;
|
||||||
import provider.Data;
|
import provider.Data;
|
||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestRequirementType;
|
import server.quest.MapleQuestRequirementType;
|
||||||
|
import server.quest.Quest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -34,7 +34,7 @@ public class InfoNumberRequirement extends MapleQuestRequirement {
|
|||||||
private short infoNumber;
|
private short infoNumber;
|
||||||
private int questID;
|
private int questID;
|
||||||
|
|
||||||
public InfoNumberRequirement(MapleQuest quest, Data data) {
|
public InfoNumberRequirement(Quest quest, Data data) {
|
||||||
super(MapleQuestRequirementType.INFO_NUMBER);
|
super(MapleQuestRequirementType.INFO_NUMBER);
|
||||||
questID = quest.getId();
|
questID = quest.getId();
|
||||||
processData(data);
|
processData(data);
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ import client.Character;
|
|||||||
import client.QuestStatus;
|
import client.QuestStatus;
|
||||||
import provider.Data;
|
import provider.Data;
|
||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestRequirementType;
|
import server.quest.MapleQuestRequirementType;
|
||||||
|
import server.quest.Quest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -36,7 +36,7 @@ public class IntervalRequirement extends MapleQuestRequirement {
|
|||||||
private int interval = -1;
|
private int interval = -1;
|
||||||
private int questID;
|
private int questID;
|
||||||
|
|
||||||
public IntervalRequirement(MapleQuest quest, Data data) {
|
public IntervalRequirement(Quest quest, Data data) {
|
||||||
super(MapleQuestRequirementType.INTERVAL);
|
super(MapleQuestRequirementType.INTERVAL);
|
||||||
questID = quest.getId();
|
questID = quest.getId();
|
||||||
processData(data);
|
processData(data);
|
||||||
@@ -54,7 +54,7 @@ public class IntervalRequirement extends MapleQuestRequirement {
|
|||||||
private static String getIntervalTimeLeft(Character chr, IntervalRequirement r) {
|
private static String getIntervalTimeLeft(Character chr, IntervalRequirement r) {
|
||||||
StringBuilder str = new StringBuilder();
|
StringBuilder str = new StringBuilder();
|
||||||
|
|
||||||
long futureTime = chr.getQuest(MapleQuest.getInstance(r.questID)).getCompletionTime() + r.getInterval();
|
long futureTime = chr.getQuest(Quest.getInstance(r.questID)).getCompletionTime() + r.getInterval();
|
||||||
long leftTime = futureTime - System.currentTimeMillis();
|
long leftTime = futureTime - System.currentTimeMillis();
|
||||||
|
|
||||||
byte mode = 0;
|
byte mode = 0;
|
||||||
@@ -84,8 +84,8 @@ public class IntervalRequirement extends MapleQuestRequirement {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean check(Character chr, Integer npcid) {
|
public boolean check(Character chr, Integer npcid) {
|
||||||
boolean check = !chr.getQuest(MapleQuest.getInstance(questID)).getStatus().equals(QuestStatus.Status.COMPLETED);
|
boolean check = !chr.getQuest(Quest.getInstance(questID)).getStatus().equals(QuestStatus.Status.COMPLETED);
|
||||||
boolean check2 = chr.getQuest(MapleQuest.getInstance(questID)).getCompletionTime() <= System.currentTimeMillis() - interval;
|
boolean check2 = chr.getQuest(Quest.getInstance(questID)).getCompletionTime() <= System.currentTimeMillis() - interval;
|
||||||
|
|
||||||
if (check || check2) {
|
if (check || check2) {
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -28,8 +28,8 @@ import constants.inventory.ItemConstants;
|
|||||||
import provider.Data;
|
import provider.Data;
|
||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import server.MapleItemInformationProvider;
|
import server.MapleItemInformationProvider;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestRequirementType;
|
import server.quest.MapleQuestRequirementType;
|
||||||
|
import server.quest.Quest;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -42,7 +42,7 @@ public class ItemRequirement extends MapleQuestRequirement {
|
|||||||
Map<Integer, Integer> items = new HashMap<>();
|
Map<Integer, Integer> items = new HashMap<>();
|
||||||
|
|
||||||
|
|
||||||
public ItemRequirement(MapleQuest quest, Data data) {
|
public ItemRequirement(Quest quest, Data data) {
|
||||||
super(MapleQuestRequirementType.ITEM);
|
super(MapleQuestRequirementType.ITEM);
|
||||||
processData(data);
|
processData(data);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ import client.Character;
|
|||||||
import client.Job;
|
import client.Job;
|
||||||
import provider.Data;
|
import provider.Data;
|
||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestRequirementType;
|
import server.quest.MapleQuestRequirementType;
|
||||||
|
import server.quest.Quest;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -38,7 +38,7 @@ import java.util.List;
|
|||||||
public class JobRequirement extends MapleQuestRequirement {
|
public class JobRequirement extends MapleQuestRequirement {
|
||||||
List<Integer> jobs = new ArrayList<>();
|
List<Integer> jobs = new ArrayList<>();
|
||||||
|
|
||||||
public JobRequirement(MapleQuest quest, Data data) {
|
public JobRequirement(Quest quest, Data data) {
|
||||||
super(MapleQuestRequirementType.JOB);
|
super(MapleQuestRequirementType.JOB);
|
||||||
processData(data);
|
processData(data);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,8 +24,8 @@ package server.quest.requirements;
|
|||||||
import client.Character;
|
import client.Character;
|
||||||
import provider.Data;
|
import provider.Data;
|
||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestRequirementType;
|
import server.quest.MapleQuestRequirementType;
|
||||||
|
import server.quest.Quest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -35,7 +35,7 @@ public class MaxLevelRequirement extends MapleQuestRequirement {
|
|||||||
private int maxLevel;
|
private int maxLevel;
|
||||||
|
|
||||||
|
|
||||||
public MaxLevelRequirement(MapleQuest quest, Data data) {
|
public MaxLevelRequirement(Quest quest, Data data) {
|
||||||
super(MapleQuestRequirementType.MAX_LEVEL);
|
super(MapleQuestRequirementType.MAX_LEVEL);
|
||||||
processData(data);
|
processData(data);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ package server.quest.requirements;
|
|||||||
import client.Character;
|
import client.Character;
|
||||||
import provider.Data;
|
import provider.Data;
|
||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestRequirementType;
|
import server.quest.MapleQuestRequirementType;
|
||||||
|
import server.quest.Quest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -32,7 +32,7 @@ import server.quest.MapleQuestRequirementType;
|
|||||||
public class MesoRequirement extends MapleQuestRequirement {
|
public class MesoRequirement extends MapleQuestRequirement {
|
||||||
private int meso = 0;
|
private int meso = 0;
|
||||||
|
|
||||||
public MesoRequirement(MapleQuest quest, Data data) {
|
public MesoRequirement(Quest quest, Data data) {
|
||||||
super(MapleQuestRequirementType.MESO);
|
super(MapleQuestRequirementType.MESO);
|
||||||
processData(data);
|
processData(data);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,8 +24,8 @@ package server.quest.requirements;
|
|||||||
import client.Character;
|
import client.Character;
|
||||||
import provider.Data;
|
import provider.Data;
|
||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestRequirementType;
|
import server.quest.MapleQuestRequirementType;
|
||||||
|
import server.quest.Quest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -35,7 +35,7 @@ public class MinLevelRequirement extends MapleQuestRequirement {
|
|||||||
private int minLevel;
|
private int minLevel;
|
||||||
|
|
||||||
|
|
||||||
public MinLevelRequirement(MapleQuest quest, Data data) {
|
public MinLevelRequirement(Quest quest, Data data) {
|
||||||
super(MapleQuestRequirementType.MIN_LEVEL);
|
super(MapleQuestRequirementType.MIN_LEVEL);
|
||||||
processData(data);
|
processData(data);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ import client.Character;
|
|||||||
import client.inventory.Pet;
|
import client.inventory.Pet;
|
||||||
import provider.Data;
|
import provider.Data;
|
||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestRequirementType;
|
import server.quest.MapleQuestRequirementType;
|
||||||
|
import server.quest.Quest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -36,7 +36,7 @@ public class MinTamenessRequirement extends MapleQuestRequirement {
|
|||||||
private int minTameness;
|
private int minTameness;
|
||||||
|
|
||||||
|
|
||||||
public MinTamenessRequirement(MapleQuest quest, Data data) {
|
public MinTamenessRequirement(Quest quest, Data data) {
|
||||||
super(MapleQuestRequirementType.MIN_PET_TAMENESS);
|
super(MapleQuestRequirementType.MIN_PET_TAMENESS);
|
||||||
processData(data);
|
processData(data);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ import client.Character;
|
|||||||
import client.QuestStatus;
|
import client.QuestStatus;
|
||||||
import provider.Data;
|
import provider.Data;
|
||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestRequirementType;
|
import server.quest.MapleQuestRequirementType;
|
||||||
|
import server.quest.Quest;
|
||||||
import tools.FilePrinter;
|
import tools.FilePrinter;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@@ -40,7 +40,7 @@ public class MobRequirement extends MapleQuestRequirement {
|
|||||||
Map<Integer, Integer> mobs = new HashMap<>();
|
Map<Integer, Integer> mobs = new HashMap<>();
|
||||||
private int questID;
|
private int questID;
|
||||||
|
|
||||||
public MobRequirement(MapleQuest quest, Data data) {
|
public MobRequirement(Quest quest, Data data) {
|
||||||
super(MapleQuestRequirementType.MOB);
|
super(MapleQuestRequirementType.MOB);
|
||||||
questID = quest.getId();
|
questID = quest.getId();
|
||||||
processData(data);
|
processData(data);
|
||||||
@@ -62,7 +62,7 @@ public class MobRequirement extends MapleQuestRequirement {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean check(Character chr, Integer npcid) {
|
public boolean check(Character chr, Integer npcid) {
|
||||||
QuestStatus status = chr.getQuest(MapleQuest.getInstance(questID));
|
QuestStatus status = chr.getQuest(Quest.getInstance(questID));
|
||||||
for(Integer mobID : mobs.keySet()) {
|
for(Integer mobID : mobs.keySet()) {
|
||||||
int countReq = mobs.get(mobID);
|
int countReq = mobs.get(mobID);
|
||||||
int progress;
|
int progress;
|
||||||
|
|||||||
@@ -24,8 +24,8 @@ package server.quest.requirements;
|
|||||||
import client.Character;
|
import client.Character;
|
||||||
import provider.Data;
|
import provider.Data;
|
||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestRequirementType;
|
import server.quest.MapleQuestRequirementType;
|
||||||
|
import server.quest.Quest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -35,7 +35,7 @@ public class MonsterBookCountRequirement extends MapleQuestRequirement {
|
|||||||
private int reqCards;
|
private int reqCards;
|
||||||
|
|
||||||
|
|
||||||
public MonsterBookCountRequirement(MapleQuest quest, Data data) {
|
public MonsterBookCountRequirement(Quest quest, Data data) {
|
||||||
super(MapleQuestRequirementType.MONSTER_BOOK);
|
super(MapleQuestRequirementType.MONSTER_BOOK);
|
||||||
processData(data);
|
processData(data);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,8 +24,8 @@ package server.quest.requirements;
|
|||||||
import client.Character;
|
import client.Character;
|
||||||
import provider.Data;
|
import provider.Data;
|
||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestRequirementType;
|
import server.quest.MapleQuestRequirementType;
|
||||||
|
import server.quest.Quest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -34,7 +34,7 @@ import server.quest.MapleQuestRequirementType;
|
|||||||
public class NpcRequirement extends MapleQuestRequirement {
|
public class NpcRequirement extends MapleQuestRequirement {
|
||||||
private int reqNPC;
|
private int reqNPC;
|
||||||
|
|
||||||
public NpcRequirement(MapleQuest quest, Data data) {
|
public NpcRequirement(Quest quest, Data data) {
|
||||||
super(MapleQuestRequirementType.NPC);
|
super(MapleQuestRequirementType.NPC);
|
||||||
processData(data);
|
processData(data);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ import client.Character;
|
|||||||
import client.inventory.Pet;
|
import client.inventory.Pet;
|
||||||
import provider.Data;
|
import provider.Data;
|
||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestRequirementType;
|
import server.quest.MapleQuestRequirementType;
|
||||||
|
import server.quest.Quest;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -39,7 +39,7 @@ public class PetRequirement extends MapleQuestRequirement {
|
|||||||
List<Integer> petIDs = new ArrayList<>();
|
List<Integer> petIDs = new ArrayList<>();
|
||||||
|
|
||||||
|
|
||||||
public PetRequirement(MapleQuest quest, Data data) {
|
public PetRequirement(Quest quest, Data data) {
|
||||||
super(MapleQuestRequirementType.PET);
|
super(MapleQuestRequirementType.PET);
|
||||||
processData(data);
|
processData(data);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ import client.Character;
|
|||||||
import client.QuestStatus;
|
import client.QuestStatus;
|
||||||
import provider.Data;
|
import provider.Data;
|
||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestRequirementType;
|
import server.quest.MapleQuestRequirementType;
|
||||||
|
import server.quest.Quest;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -35,7 +35,7 @@ import java.util.Map;
|
|||||||
public class QuestRequirement extends MapleQuestRequirement {
|
public class QuestRequirement extends MapleQuestRequirement {
|
||||||
Map<Integer, Integer> quests = new HashMap<>();
|
Map<Integer, Integer> quests = new HashMap<>();
|
||||||
|
|
||||||
public QuestRequirement(MapleQuest quest, Data data) {
|
public QuestRequirement(Quest quest, Data data) {
|
||||||
super(MapleQuestRequirementType.QUEST);
|
super(MapleQuestRequirementType.QUEST);
|
||||||
processData(data);
|
processData(data);
|
||||||
}
|
}
|
||||||
@@ -58,7 +58,7 @@ public class QuestRequirement extends MapleQuestRequirement {
|
|||||||
public boolean check(Character chr, Integer npcid) {
|
public boolean check(Character chr, Integer npcid) {
|
||||||
for(Integer questID : quests.keySet()) {
|
for(Integer questID : quests.keySet()) {
|
||||||
int stateReq = quests.get(questID);
|
int stateReq = quests.get(questID);
|
||||||
QuestStatus qs = chr.getQuest(MapleQuest.getInstance(questID));
|
QuestStatus qs = chr.getQuest(Quest.getInstance(questID));
|
||||||
|
|
||||||
if(qs == null && QuestStatus.Status.getById(stateReq).equals(QuestStatus.Status.NOT_STARTED))
|
if(qs == null && QuestStatus.Status.getById(stateReq).equals(QuestStatus.Status.NOT_STARTED))
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ package server.quest.requirements;
|
|||||||
import client.Character;
|
import client.Character;
|
||||||
import provider.Data;
|
import provider.Data;
|
||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import server.quest.MapleQuest;
|
|
||||||
import server.quest.MapleQuestRequirementType;
|
import server.quest.MapleQuestRequirementType;
|
||||||
|
import server.quest.Quest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -32,7 +32,7 @@ import server.quest.MapleQuestRequirementType;
|
|||||||
public class ScriptRequirement extends MapleQuestRequirement {
|
public class ScriptRequirement extends MapleQuestRequirement {
|
||||||
private boolean reqScript;
|
private boolean reqScript;
|
||||||
|
|
||||||
public ScriptRequirement(MapleQuest quest, Data data) {
|
public ScriptRequirement(Quest quest, Data data) {
|
||||||
super(MapleQuestRequirementType.BUFF);
|
super(MapleQuestRequirementType.BUFF);
|
||||||
processData(data);
|
processData(data);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user