Fixed Pet Name Tag + quest 3927
Fixed some issues related to Pet Name Tag item and quest 3927.
This commit is contained in:
@@ -203,8 +203,8 @@ public class MaplePet extends Item {
|
||||
saveToDb();
|
||||
|
||||
Item petz = owner.getInventory(MapleInventoryType.CASH).getItem(getPosition());
|
||||
if (petz == null) return;
|
||||
owner.forceUpdateItem(petz);
|
||||
if (petz != null)
|
||||
owner.forceUpdateItem(petz);
|
||||
}
|
||||
|
||||
public void setLevel(byte level) {
|
||||
|
||||
@@ -69,8 +69,6 @@ public final class QuestActionHandler extends AbstractMaplePacketHandler {
|
||||
|
||||
if(quest.canComplete(player, npc)) {
|
||||
QuestScriptManager.getInstance().end(c, questid, npc);
|
||||
player.getClient().getSession().write(MaplePacketCreator.showSpecialEffect(9)); //show effect when completion
|
||||
player.getMap().broadcastMessage(player, MaplePacketCreator.showForeignEffect(player.getId(), 9));//show effect around players I guess
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -376,11 +376,14 @@ public final class UseCashItemHandler extends AbstractMaplePacketHandler {
|
||||
c.announce(MaplePacketCreator.enableActions());
|
||||
return;
|
||||
}
|
||||
Item item = player.getInventory(MapleInventoryType.CASH).getItem(pet.getPosition());
|
||||
String newName = slea.readMapleAsciiString();
|
||||
pet.setName(newName);
|
||||
pet.saveToDb();
|
||||
player.forceUpdateItem(item);
|
||||
|
||||
Item item = player.getInventory(MapleInventoryType.CASH).getItem(pet.getPosition());
|
||||
if (item != null)
|
||||
player.forceUpdateItem(item);
|
||||
|
||||
player.getMap().broadcastMessage(player, MaplePacketCreator.changePetName(player, newName, 1), true);
|
||||
c.announce(MaplePacketCreator.enableActions());
|
||||
remove(c, itemId);
|
||||
|
||||
@@ -269,6 +269,16 @@ public class AbstractPlayerInteraction {
|
||||
}
|
||||
}
|
||||
|
||||
public void setQuestProgress(int qid, int progress) {
|
||||
MapleQuestStatus status = c.getPlayer().getQuest(MapleQuest.getInstance(qid));
|
||||
status.setProgress(status.getAnyProgressKey(), String.valueOf(progress));
|
||||
}
|
||||
|
||||
public void setQuestProgress(int qid, int pid, int progress) {
|
||||
MapleQuestStatus status = c.getPlayer().getQuest(MapleQuest.getInstance(qid));
|
||||
status.setProgress(pid, String.valueOf(progress));
|
||||
}
|
||||
|
||||
public int getQuestProgress(int qid) {
|
||||
MapleQuestStatus status = c.getPlayer().getQuest(MapleQuest.getInstance(qid));
|
||||
String progress = status.getProgress(status.getAnyProgressKey());
|
||||
|
||||
@@ -256,9 +256,6 @@ public class MapleQuest {
|
||||
for (MapleQuestAction a : completeActs.values()) {
|
||||
a.run(c, selection);
|
||||
}
|
||||
|
||||
c.getClient().getSession().write(MaplePacketCreator.showSpecialEffect(9)); // Quest completion
|
||||
c.getMap().broadcastMessage(c, MaplePacketCreator.showForeignEffect(c.getId(), 9), false); //use 9 instead of 12 for both
|
||||
}
|
||||
}
|
||||
|
||||
@@ -297,6 +294,9 @@ public class MapleQuest {
|
||||
newStatus.setForfeited(c.getQuest(this).getForfeited());
|
||||
newStatus.setCompletionTime(System.currentTimeMillis());
|
||||
c.updateQuest(newStatus);
|
||||
|
||||
c.getClient().getSession().write(MaplePacketCreator.showSpecialEffect(9)); // Quest completion
|
||||
c.getMap().broadcastMessage(c, MaplePacketCreator.showForeignEffect(c.getId(), 9), false); //use 9 instead of 12 for both
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user