diff --git a/src/main/java/noppes/npcs/controllers/data/PlayerQuestData.java b/src/main/java/noppes/npcs/controllers/data/PlayerQuestData.java index 83bb18713..290a83bcf 100644 --- a/src/main/java/noppes/npcs/controllers/data/PlayerQuestData.java +++ b/src/main/java/noppes/npcs/controllers/data/PlayerQuestData.java @@ -110,6 +110,23 @@ public class PlayerQuestData implements IPlayerQuestData { return null; } + public Party getPartyQuestCompletion(EntityPlayer player,EntityNPCInterface npc) { + PlayerData playerData = PlayerDataController.Instance.getPlayerData(player); + if(playerData != null){ + Party party = playerData.getPlayerParty(); + if(party != null){ + QuestData data = party.getQuestData(); + if(data != null){ + Quest quest = data.quest; + if(quest != null && quest.completion == EnumQuestCompletion.Npc && quest.completerNpc.equals(npc.getCommandSenderName()) && quest.questInterface.isPartyCompleted(party)){ + return party; + } + } + } + } + return null; + } + public boolean checkQuestCompletion(PlayerData playerData,EnumQuestType type) { boolean bo = false; EntityPlayer player = playerData.player; diff --git a/src/main/java/noppes/npcs/entity/EntityNPCInterface.java b/src/main/java/noppes/npcs/entity/EntityNPCInterface.java index e6ab8b389..d2ade0c41 100644 --- a/src/main/java/noppes/npcs/entity/EntityNPCInterface.java +++ b/src/main/java/noppes/npcs/entity/EntityNPCInterface.java @@ -425,7 +425,11 @@ public abstract class EntityNPCInterface extends EntityCreature implements IEnti Dialog dialog = getDialog(player); PlayerQuestData playerdata = PlayerDataController.Instance.getPlayerData(player).questData; QuestData data = playerdata.getQuestCompletion(player, this); - if (data != null){ + Party partyCompleted = playerdata.getPartyQuestCompletion(player, this); + if(partyCompleted != null){ + NoppesUtilPlayer.questPartyCompletion(partyCompleted); + } + else if (data != null){ NoppesUtilPlayer.questCompletion((EntityPlayerMP) player, data.quest.id); Server.sendData((EntityPlayerMP)player, EnumPacketClient.QUEST_COMPLETION, data.quest.writeToNBT(new NBTTagCompound())); }