From f54e2a35c2b4656076f5cafa6496cdc43965f982 Mon Sep 17 00:00:00 2001 From: cdmpse Date: Fri, 19 Sep 2014 20:08:52 -0500 Subject: [PATCH] Updates to Quest Resource and Script --- scripts/commands/completequest.py | 3 --- src/resources/quest/Quest.java | 43 ++++++++++++++++++++++++------- 2 files changed, 33 insertions(+), 13 deletions(-) diff --git a/scripts/commands/completequest.py b/scripts/commands/completequest.py index 1eeea046..fda8cd55 100644 --- a/scripts/commands/completequest.py +++ b/scripts/commands/completequest.py @@ -18,8 +18,5 @@ def run(core, actor, target, commandString): if quest is None: return - if (quest.getActiveTask() != (core.questService.getQuestData(quest.getName()).getTasks().size() - 1)): - return - core.questService.completeQuest(player, quest) return \ No newline at end of file diff --git a/src/resources/quest/Quest.java b/src/resources/quest/Quest.java index 99189609..cb7e7e5a 100644 --- a/src/resources/quest/Quest.java +++ b/src/resources/quest/Quest.java @@ -76,7 +76,11 @@ public class Quest extends Delta implements Serializable { public void setOwnerId(long ownerId) { this.ownerId = ownerId; } - + + public boolean isTaskActive(int taskId) { + return activeStepBitmask.get(taskId); + } + public int getActiveTask() { return activeStep; } @@ -85,16 +89,18 @@ public class Quest extends Delta implements Serializable { this.activeStep = activeStep; } + public boolean isTaskCompleted(int taskId) { + return completedStepBitmask.get(taskId); + } + public boolean isCompleted() { return isCompleted; } - - public void setCompleted(boolean isCompleted) { - if (isCompleted) { - //activeStepBitmask.set(activeStep, false); - completedStepBitmask.set(activeStep); - } - this.isCompleted = isCompleted; + + public void setCompleted() { + activeStepBitmask.clear(); + completedStepBitmask.set(0, 16, true); + this.isCompleted = true; } public boolean hasRecievedAward() { @@ -131,13 +137,31 @@ public class Quest extends Delta implements Serializable { activeStep++; activeStepBitmask.set(activeStep, true); - //System.out.println("Active step was "+ (activeStep - 1) + " and is now " + activeStep ); } public void complete() { completedStepBitmask.set(activeStep); + } + + public void completeQuestStep(int step) { + completedStepBitmask.set(step); + activeStepBitmask.set(step, false); + } + + public void setQuestStep(int step) { + activeStep = step; + addActiveStep(step); + } + + public void addActiveStep(int step) { + activeStepBitmask.set(step, true); + } + + public void reset() { + activeStep = 0; activeStepBitmask.clear(); + completedStepBitmask.clear(); } public ScheduledFuture getTimer() { @@ -224,5 +248,4 @@ public class Quest extends Delta implements Serializable { //StringUtilities.printBytes(buffer.array()); return buffer.array(); } - }