From: Katie <ky...@us...> - 2009-02-28 19:34:07
|
Update of /cvsroot/arianne/stendhal/src/games/stendhal/server/maps/quests In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv26118/src/games/stendhal/server/maps/quests Modified Files: WeeklyItemQuest.java DailyItemQuest.java Log Message: add getHistory method to daily and weekly item quests, with appropriate text in quests.xml. can say if player is ready to get the new quest yet. also some minor fixes to the text for other quests (ceryl is male, spelling mistakes etc) Index: DailyItemQuest.java =================================================================== RCS file: /cvsroot/arianne/stendhal/src/games/stendhal/server/maps/quests/DailyItemQuest.java,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -d -r1.34 -r1.35 *** DailyItemQuest.java 14 Aug 2008 05:08:42 -0000 1.34 --- DailyItemQuest.java 28 Feb 2009 19:34:00 -0000 1.35 *************** *** 12,15 **** --- 12,16 ---- import games.stendhal.server.util.TimeUtil; + import java.util.ArrayList; import java.util.Arrays; import java.util.Date; *************** *** 229,232 **** --- 230,269 ---- return QUEST_SLOT; } + + @Override + public List<String> getHistory(final Player player) { + final List<String> res = new ArrayList<String>(); + if (!player.hasQuest(QUEST_SLOT)) { + return res; + } + res.add("FIRST_CHAT"); + final String questState = player.getQuest(QUEST_SLOT); + if ("rejected".equals(questState)) { + res.add("QUEST_REJECTED"); + } + if (player.hasQuest(QUEST_SLOT) && !player.isQuestCompleted(QUEST_SLOT)) { + final String[] tokens = (questState + ";0;0;0").split(";"); + final String questItem = tokens[0]; + if (!player.isEquipped(questItem)) { + res.add("QUEST_ACTIVE"); + } else { + res.add("QUEST_UNCLAIMED"); + } + } + if (player.isQuestCompleted(QUEST_SLOT)) { + final String[] tokens = (questState + ";0;0;0").split(";"); + final String questLast = tokens[1]; + final long timeRemaining = (Long.parseLong(questLast) + MathHelper.MILLISECONDS_IN_ONE_DAY) + - System.currentTimeMillis(); + + if (timeRemaining > 0L) { + res.add("DONE_TODAY"); + } else { + res.add("DONE_REPEATABLE"); + } + } + return res; + } + private void step_1() { final SpeakerNPC npc = npcs.get("Mayor Chalmers"); Index: WeeklyItemQuest.java =================================================================== RCS file: /cvsroot/arianne/stendhal/src/games/stendhal/server/maps/quests/WeeklyItemQuest.java,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** WeeklyItemQuest.java 19 Feb 2009 20:57:37 -0000 1.23 --- WeeklyItemQuest.java 28 Feb 2009 19:34:00 -0000 1.24 *************** *** 14,17 **** --- 14,18 ---- import games.stendhal.server.util.TimeUtil; + import java.util.ArrayList; import java.util.Arrays; import java.util.Date; *************** *** 204,208 **** --- 205,244 ---- return QUEST_SLOT; } + + @Override + public List<String> getHistory(final Player player) { + final List<String> res = new ArrayList<String>(); + if (!player.hasQuest(QUEST_SLOT)) { + return res; + } + res.add("FIRST_CHAT"); + final String questState = player.getQuest(QUEST_SLOT); + if ("rejected".equals(questState)) { + res.add("QUEST_REJECTED"); + } + if (player.hasQuest(QUEST_SLOT) && !player.isQuestCompleted(QUEST_SLOT)) { + final String[] tokens = (questState + ";0;0;0").split(";"); + final String questItem = tokens[0]; + if (!player.isEquipped(questItem)) { + res.add("QUEST_ACTIVE"); + } else { + res.add("QUEST_UNCLAIMED"); + } + } + if (player.isQuestCompleted(QUEST_SLOT)) { + final String[] tokens = (questState + ";0;0;0").split(";"); + final String questLast = tokens[1]; + final long timeRemaining = (Long.parseLong(questLast) + MathHelper.MILLISECONDS_IN_ONE_WEEK) + - System.currentTimeMillis(); + if (timeRemaining > 0L) { + res.add("DONE_THIS_WEEK"); + } else { + res.add("DONE_REPEATABLE"); + } + } + return res; + } + private void step_1() { final SpeakerNPC npc = npcs.get("Hazel"); |