Clean-up Patch
Bug correction on some quests.
This commit is contained in:
@@ -273,6 +273,7 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject {
|
||||
private boolean useCS = false; //chaos scroll upon crafting item.
|
||||
private long useDuey;
|
||||
private long petLootCd;
|
||||
private int newWarpMap = -1;
|
||||
|
||||
private MapleCharacter() {
|
||||
setStance(0);
|
||||
@@ -1082,8 +1083,9 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject {
|
||||
return target;
|
||||
}
|
||||
|
||||
public void warp(int map) {
|
||||
changeMap(getWarpMap(map), getWarpMap(map).getPortal(0));
|
||||
// for use ONLY inside OnUserEnter map scripts that requires players changing map even before entering it.
|
||||
public void warpAhead(int map) {
|
||||
newWarpMap = map;
|
||||
}
|
||||
|
||||
public void changeMap(int map) {
|
||||
@@ -1182,6 +1184,13 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject {
|
||||
}, 10000);
|
||||
}
|
||||
}
|
||||
|
||||
//alas, new map has been specified when a warping was being processed...
|
||||
if(newWarpMap != -1) {
|
||||
int temp = newWarpMap;
|
||||
newWarpMap = -1;
|
||||
changeMap(temp);
|
||||
}
|
||||
}
|
||||
|
||||
public void changePage(int page) {
|
||||
|
||||
@@ -101,7 +101,7 @@ public class MapleMount {
|
||||
this.tiredness++;
|
||||
owner.getMap().broadcastMessage(MaplePacketCreator.updateMount(owner.getId(), this, false));
|
||||
if (tiredness > 99) {
|
||||
this.tiredness = 95;
|
||||
this.tiredness = 99;
|
||||
owner.dispelSkill(owner.getJobType() * 10000000 + 1004);
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -147,10 +147,25 @@ public class MapleQuestStatus {
|
||||
return progress.size() > 0;
|
||||
}
|
||||
|
||||
public Integer getAnyProgressKey() {
|
||||
if (!progress.isEmpty()) return progress.entrySet().iterator().next().getKey();
|
||||
return 0;
|
||||
}
|
||||
|
||||
public String getProgress(int id) {
|
||||
if (progress.get(id) == null) return "";
|
||||
return progress.get(id);
|
||||
}
|
||||
|
||||
public void resetProgress(int id) {
|
||||
setProgress(id, "000");
|
||||
}
|
||||
|
||||
public void resetAllProgress() {
|
||||
for(Map.Entry<Integer, String> entry : progress.entrySet()) {
|
||||
setProgress(entry.getKey(), "000");
|
||||
}
|
||||
}
|
||||
|
||||
public Map<Integer, String> getProgress() {
|
||||
return Collections.unmodifiableMap(progress);
|
||||
|
||||
@@ -532,7 +532,8 @@ public class Commands {
|
||||
FilePrinter.printError("bug.txt", MapleCharacter.makeMapleReadable(player.getName()) + ": " + message + "\r\n");
|
||||
player.dropMessage(5, "Your bug '" + message + "' was submitted successfully to our developers. Thank you!");
|
||||
break;
|
||||
case "points":
|
||||
/*
|
||||
case "points":
|
||||
player.dropMessage(5, "You have " + c.getVotePoints() + " vote point(s).");
|
||||
if (c.hasVotedAlready()) {
|
||||
Date currentDate = new Date();
|
||||
@@ -545,6 +546,7 @@ public class Commands {
|
||||
player.yellowMessage("You are free to vote! Make sure to vote to gain a vote point!");
|
||||
}
|
||||
break;
|
||||
*/
|
||||
case "joinevent":
|
||||
case "event":
|
||||
case "join":
|
||||
|
||||
@@ -198,13 +198,23 @@ public class AbstractPlayerInteraction {
|
||||
}
|
||||
|
||||
public void updateQuest(int questid, int data) {
|
||||
updateQuest(questid, String.valueOf(data));
|
||||
MapleQuestStatus status = c.getPlayer().getQuest(MapleQuest.getInstance(questid));
|
||||
updateQuest(questid, status.getAnyProgressKey(), data);
|
||||
}
|
||||
|
||||
public void updateQuest(int questid, String data) {
|
||||
public void updateQuest(int questid, String data) {
|
||||
MapleQuestStatus status = c.getPlayer().getQuest(MapleQuest.getInstance(questid));
|
||||
updateQuest(questid, status.getAnyProgressKey(), data);
|
||||
}
|
||||
|
||||
public void updateQuest(int questid, int pid, int data) {
|
||||
updateQuest(questid, pid, String.valueOf(data));
|
||||
}
|
||||
|
||||
public void updateQuest(int questid, int pid, String data) {
|
||||
MapleQuestStatus status = c.getPlayer().getQuest(MapleQuest.getInstance(questid));
|
||||
status.setStatus(MapleQuestStatus.Status.STARTED);
|
||||
status.setProgress(0, data);//override old if exists
|
||||
status.setProgress(pid, data);//override old if exists
|
||||
c.getPlayer().updateQuest(status);
|
||||
}
|
||||
|
||||
@@ -233,12 +243,30 @@ public class AbstractPlayerInteraction {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public int getQuestProgress(int qid) {
|
||||
if(getPlayer().getQuest(MapleQuest.getInstance(qid)).getProgress().isEmpty()) return 0;
|
||||
return Integer.parseInt(getPlayer().getQuest(MapleQuest.getInstance(qid)).getProgress().get(0));
|
||||
|
||||
public int getQuestProgress(int qid) {
|
||||
MapleQuestStatus status = c.getPlayer().getQuest(MapleQuest.getInstance(qid));
|
||||
String progress = status.getProgress(status.getAnyProgressKey());
|
||||
|
||||
if(progress.isEmpty()) return 0;
|
||||
return Integer.parseInt(progress);
|
||||
}
|
||||
|
||||
public int getQuestProgress(int qid, int pid) {
|
||||
if(getPlayer().getQuest(MapleQuest.getInstance(qid)).getProgress(pid).isEmpty()) return 0;
|
||||
return Integer.parseInt(getPlayer().getQuest(MapleQuest.getInstance(qid)).getProgress(pid));
|
||||
}
|
||||
|
||||
public void resetAllQuestProgress(int qid) {
|
||||
getPlayer().getQuest(MapleQuest.getInstance(qid)).resetAllProgress();
|
||||
getClient().announce(MaplePacketCreator.updateQuest(getPlayer().getQuest(MapleQuest.getInstance(qid)), false));
|
||||
}
|
||||
|
||||
public void resetQuestProgress(int qid, int pid) {
|
||||
getPlayer().getQuest(MapleQuest.getInstance(qid)).resetProgress(pid);
|
||||
getClient().announce(MaplePacketCreator.updateQuest(getPlayer().getQuest(MapleQuest.getInstance(qid)), false));
|
||||
}
|
||||
|
||||
public Item evolvePet(byte slot, int afterId) {
|
||||
MaplePet evolved = null;
|
||||
MaplePet target = null;
|
||||
|
||||
@@ -415,6 +415,7 @@ public class MapleMonster extends AbstractLoadedMapleLife {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TimerManager.getInstance().schedule(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
@@ -429,6 +430,10 @@ public class MapleMonster extends AbstractLoadedMapleLife {
|
||||
}
|
||||
}, getAnimationTime("die1"));
|
||||
}
|
||||
else {
|
||||
System.out.println("[CRITICAL LOSS] toSpawn is null for " + this.getName());
|
||||
}
|
||||
|
||||
if (eventInstance != null) {
|
||||
if (!this.getStats().isFriendly()) {
|
||||
eventInstance.monsterKilled(this);
|
||||
|
||||
Reference in New Issue
Block a user