diff --git a/src/engine/objects/Contract.java b/src/engine/objects/Contract.java index ee79f95d..d58bb17c 100644 --- a/src/engine/objects/Contract.java +++ b/src/engine/objects/Contract.java @@ -483,10 +483,8 @@ public class Contract extends AbstractGameObject { //vd.getOptions().clear(); switch(optionId) { default: - if (pc.isBoxed) { MenuOption optionAcceptQuest = new MenuOption(25020401, "Accept Quest", 25020401); vd.getOptions().add(optionAcceptQuest); - } break; case 25020401: QuestManager.acceptQuest(pc,QuestManager.getQuestForContract(npc)); diff --git a/src/engine/objects/Mob.java b/src/engine/objects/Mob.java index fc359097..01750e6b 100644 --- a/src/engine/objects/Mob.java +++ b/src/engine/objects/Mob.java @@ -14,6 +14,7 @@ import engine.Enum; import engine.Enum.*; import engine.InterestManagement.InterestManager; import engine.InterestManagement.WorldGrid; +import engine.QuestSystem.QuestManager; import engine.exception.SerializationException; import engine.gameManager.*; import engine.job.JobScheduler; @@ -1271,6 +1272,14 @@ public class Mob extends AbstractIntelligenceAgent { // Give XP, now handled inside the Experience Object if (!this.isPet() && !this.isNecroPet() && !(this.agentType.equals(AIAgentType.PET)) && !this.isPlayerGuard) Experience.doExperience((PlayerCharacter) attacker, this, g); + + //handle quest updates + PlayerCharacter pc = (PlayerCharacter)attacker; + if(QuestManager.acceptedQuests.containsKey(pc)){ + QuestManager.acceptedQuests.get(pc).tryProgress(this.firstName); + } + + } else if (attacker.getObjectType().equals(GameObjectType.Mob)) { Mob mobAttacker = (Mob) attacker;