diff --git a/L2J_Mobius_Classic/java/com/l2jmobius/gameserver/model/quest/QuestTimer.java b/L2J_Mobius_Classic/java/com/l2jmobius/gameserver/model/quest/QuestTimer.java index 6d6b7e3955..b468ad4c99 100644 --- a/L2J_Mobius_Classic/java/com/l2jmobius/gameserver/model/quest/QuestTimer.java +++ b/L2J_Mobius_Classic/java/com/l2jmobius/gameserver/model/quest/QuestTimer.java @@ -59,7 +59,7 @@ public class QuestTimer private final L2Npc _npc; private final L2PcInstance _player; private final boolean _isRepeating; - private ScheduledFuture _schedular; + private final ScheduledFuture _schedular; public QuestTimer(Quest quest, String name, long time, L2Npc npc, L2PcInstance player, boolean repeating) { @@ -68,14 +68,7 @@ public class QuestTimer _player = player; _npc = npc; _isRepeating = repeating; - if (repeating) - { - _schedular = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new ScheduleTimerTask(), time, time); // Prepare auto end task - } - else - { - _schedular = ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleTimerTask(), time); // Prepare auto end task - } + _schedular = repeating ? ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new ScheduleTimerTask(), time, time) : ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleTimerTask(), time); } public QuestTimer(Quest quest, String name, long time, L2Npc npc, L2PcInstance player) diff --git a/L2J_Mobius_Classic/java/com/l2jmobius/gameserver/model/quest/State.java b/L2J_Mobius_Classic/java/com/l2jmobius/gameserver/model/quest/State.java index eac66ac7d5..1142d26c9f 100644 --- a/L2J_Mobius_Classic/java/com/l2jmobius/gameserver/model/quest/State.java +++ b/L2J_Mobius_Classic/java/com/l2jmobius/gameserver/model/quest/State.java @@ -44,11 +44,17 @@ public class State switch (state) { case 1: + { return "Started"; + } case 2: + { return "Completed"; + } default: + { return "Start"; + } } } @@ -62,11 +68,17 @@ public class State switch (statename) { case "Started": + { return 1; + } case "Completed": + { return 2; + } default: + { return 0; + } } } } \ No newline at end of file diff --git a/L2J_Mobius_Helios/java/com/l2jmobius/gameserver/model/quest/QuestTimer.java b/L2J_Mobius_Helios/java/com/l2jmobius/gameserver/model/quest/QuestTimer.java index 6d6b7e3955..b468ad4c99 100644 --- a/L2J_Mobius_Helios/java/com/l2jmobius/gameserver/model/quest/QuestTimer.java +++ b/L2J_Mobius_Helios/java/com/l2jmobius/gameserver/model/quest/QuestTimer.java @@ -59,7 +59,7 @@ public class QuestTimer private final L2Npc _npc; private final L2PcInstance _player; private final boolean _isRepeating; - private ScheduledFuture _schedular; + private final ScheduledFuture _schedular; public QuestTimer(Quest quest, String name, long time, L2Npc npc, L2PcInstance player, boolean repeating) { @@ -68,14 +68,7 @@ public class QuestTimer _player = player; _npc = npc; _isRepeating = repeating; - if (repeating) - { - _schedular = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new ScheduleTimerTask(), time, time); // Prepare auto end task - } - else - { - _schedular = ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleTimerTask(), time); // Prepare auto end task - } + _schedular = repeating ? ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new ScheduleTimerTask(), time, time) : ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleTimerTask(), time); } public QuestTimer(Quest quest, String name, long time, L2Npc npc, L2PcInstance player) diff --git a/L2J_Mobius_Helios/java/com/l2jmobius/gameserver/model/quest/State.java b/L2J_Mobius_Helios/java/com/l2jmobius/gameserver/model/quest/State.java index eac66ac7d5..1142d26c9f 100644 --- a/L2J_Mobius_Helios/java/com/l2jmobius/gameserver/model/quest/State.java +++ b/L2J_Mobius_Helios/java/com/l2jmobius/gameserver/model/quest/State.java @@ -44,11 +44,17 @@ public class State switch (state) { case 1: + { return "Started"; + } case 2: + { return "Completed"; + } default: + { return "Start"; + } } } @@ -62,11 +68,17 @@ public class State switch (statename) { case "Started": + { return 1; + } case "Completed": + { return 2; + } default: + { return 0; + } } } } \ No newline at end of file diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/ai/individual/Core.java b/L2J_Mobius_HighFive/dist/game/data/scripts/ai/individual/Core.java index 2c2e884f2c..4f2d568a61 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/ai/individual/Core.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/ai/individual/Core.java @@ -79,7 +79,7 @@ public final class Core extends AbstractNpcAI } else { - final String test = loadGlobalQuestVar("Core_Attacked"); + final String test = getGlobalQuestVar("Core_Attacked"); if (test.equalsIgnoreCase("true")) { _firstAttacked = true; diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/ai/individual/QueenShyeed.java b/L2J_Mobius_HighFive/dist/game/data/scripts/ai/individual/QueenShyeed.java index a5a2bbf16c..fffdb28392 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/ai/individual/QueenShyeed.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/ai/individual/QueenShyeed.java @@ -86,7 +86,7 @@ public final class QueenShyeed extends AbstractNpcAI private void spawnShyeed() { - final String respawn = loadGlobalQuestVar("Respawn"); + final String respawn = getGlobalQuestVar("Respawn"); final long remain = !respawn.isEmpty() ? Long.parseLong(respawn) - System.currentTimeMillis() : 0; if (remain > 0) { diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/ai/npc/AvantGarde/AvantGarde.java b/L2J_Mobius_HighFive/dist/game/data/scripts/ai/npc/AvantGarde/AvantGarde.java index 12b580d75c..d62375f968 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/ai/npc/AvantGarde/AvantGarde.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/ai/npc/AvantGarde/AvantGarde.java @@ -195,7 +195,7 @@ public class AvantGarde extends AbstractNpcAI { for (int i = 1; i <= Config.MAX_SUBCLASS; i++) { - final String qvar = st.getGlobalQuestVar(varName + i); + final String qvar = getGlobalQuestVar(varName + i); if (!qvar.isEmpty() && (qvar.endsWith(";") || !qvar.equals("0"))) { activeCertifications++; @@ -213,7 +213,7 @@ public class AvantGarde extends AbstractNpcAI for (int i = 1; i <= Config.MAX_SUBCLASS; i++) { final String qvarName = varName + i; - final String qvar = st.getGlobalQuestVar(qvarName); + final String qvar = getGlobalQuestVar(qvarName); if (qvar.endsWith(";")) { final String skillIdVar = qvar.replace(";", ""); @@ -224,7 +224,7 @@ public class AvantGarde extends AbstractNpcAI if (sk != null) { player.removeSkill(sk); - st.saveGlobalQuestVar(qvarName, "0"); + saveGlobalQuestVar(qvarName, "0"); } } else @@ -255,7 +255,7 @@ public class AvantGarde extends AbstractNpcAI _log.warning("Somehow " + player.getName() + " deleted a certification book!"); } } - st.saveGlobalQuestVar(qvarName, "0"); + saveGlobalQuestVar(qvarName, "0"); } else { diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/ai/npc/PriestOfBlessing/PriestOfBlessing.java b/L2J_Mobius_HighFive/dist/game/data/scripts/ai/npc/PriestOfBlessing/PriestOfBlessing.java index 453a05578b..62038bdd56 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/ai/npc/PriestOfBlessing/PriestOfBlessing.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/ai/npc/PriestOfBlessing/PriestOfBlessing.java @@ -109,7 +109,7 @@ public final class PriestOfBlessing extends AbstractNpcAI { if (player.getAdena() >= PRICE_VOICE) { - final String value = loadGlobalQuestVar(player.getAccountName() + "_voice"); + final String value = getGlobalQuestVar(player.getAccountName() + "_voice"); final long _reuse_time = value == "" ? 0 : Long.parseLong(value); if (System.currentTimeMillis() > _reuse_time) @@ -140,7 +140,7 @@ public final class PriestOfBlessing extends AbstractNpcAI if (player.getAdena() >= _price_hourglass) { - final String value = loadGlobalQuestVar(player.getAccountName() + "_hg_" + _index); + final String value = getGlobalQuestVar(player.getAccountName() + "_hg_" + _index); final long _reuse_time = value == "" ? 0 : Long.parseLong(value); if (System.currentTimeMillis() > _reuse_time) diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/ai/npc/SubclassCertification/SubclassCertification.java b/L2J_Mobius_HighFive/dist/game/data/scripts/ai/npc/SubclassCertification/SubclassCertification.java index 020ddf89d2..ef28873781 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/ai/npc/SubclassCertification/SubclassCertification.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/ai/npc/SubclassCertification/SubclassCertification.java @@ -245,7 +245,7 @@ public final class SubclassCertification extends AbstractNpcAI String htmltext; final String tmp = variable + level + "-" + player.getClassIndex(); - final String globalVariable = qs.getGlobalQuestVar(tmp); + final String globalVariable = getGlobalQuestVar(tmp); if (!globalVariable.equals("") && !globalVariable.equals("0")) { @@ -268,7 +268,7 @@ public final class SubclassCertification extends AbstractNpcAI smsg.addItemName(item); player.sendPacket(smsg); - qs.saveGlobalQuestVar(tmp, String.valueOf(item.getObjectId())); + saveGlobalQuestVar(tmp, String.valueOf(item.getObjectId())); htmltext = "GetAbility.html"; } return htmltext; diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/custom/Validators/SubClassSkills.java b/L2J_Mobius_HighFive/dist/game/data/scripts/custom/Validators/SubClassSkills.java index 92de1e70a4..7abb9f2c98 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/custom/Validators/SubClassSkills.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/custom/Validators/SubClassSkills.java @@ -150,7 +150,7 @@ public final class SubClassSkills extends Quest for (int j = Config.MAX_SUBCLASS; j > 0; j--) { qName = VARS[i] + String.valueOf(j); - qValue = st.getGlobalQuestVar(qName); + qValue = getGlobalQuestVar(qName); if ((qValue == null) || qValue.isEmpty()) { continue; diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/events/FreyaCelebration/FreyaCelebration.java b/L2J_Mobius_HighFive/dist/game/data/scripts/events/FreyaCelebration/FreyaCelebration.java index bc26dfe525..342da44efb 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/events/FreyaCelebration/FreyaCelebration.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/events/FreyaCelebration/FreyaCelebration.java @@ -80,7 +80,7 @@ public final class FreyaCelebration extends LongTimeEvent if (getQuestItemsCount(player, Inventory.ADENA_ID) > 1) { final long _curr_time = System.currentTimeMillis(); - final String value = loadGlobalQuestVar(player.getAccountName()); + final String value = getGlobalQuestVar(player.getAccountName()); final long _reuse_time = value == "" ? 0 : Long.parseLong(value); if (_curr_time > _reuse_time) diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/events/MasterOfEnchanting/MasterOfEnchanting.java b/L2J_Mobius_HighFive/dist/game/data/scripts/events/MasterOfEnchanting/MasterOfEnchanting.java index 5901731112..40788c6174 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/events/MasterOfEnchanting/MasterOfEnchanting.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/events/MasterOfEnchanting/MasterOfEnchanting.java @@ -93,7 +93,7 @@ public final class MasterOfEnchanting extends LongTimeEvent else if (event.equalsIgnoreCase("buy_scroll_24")) { final long curTime = System.currentTimeMillis(); - final String value = loadGlobalQuestVar(player.getAccountName()); + final String value = getGlobalQuestVar(player.getAccountName()); final long reuse = value == "" ? 0 : Long.parseLong(value); if (player.getCreateDate().after(EVENT_START)) { diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/gracia/AI/SeedOfAnnihilation/SeedOfAnnihilation.java b/L2J_Mobius_HighFive/dist/game/data/scripts/gracia/AI/SeedOfAnnihilation/SeedOfAnnihilation.java index 362396e23b..94d28e902f 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/gracia/AI/SeedOfAnnihilation/SeedOfAnnihilation.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/gracia/AI/SeedOfAnnihilation/SeedOfAnnihilation.java @@ -226,7 +226,7 @@ public class SeedOfAnnihilation extends AbstractNpcAI }); int buffsNow = 0; - final String var = loadGlobalQuestVar("SeedNextStatusChange"); + final String var = getGlobalQuestVar("SeedNextStatusChange"); if (var.equalsIgnoreCase("") || (Long.parseLong(var) < System.currentTimeMillis())) { buffsNow = getRandom(ZONE_BUFFS_LIST.length); @@ -237,7 +237,7 @@ public class SeedOfAnnihilation extends AbstractNpcAI else { _seedsNextStatusChange = Long.parseLong(var); - buffsNow = Integer.parseInt(loadGlobalQuestVar("SeedBuffsList")); + buffsNow = Integer.parseInt(getGlobalQuestVar("SeedBuffsList")); } for (int i = 0; i < _regionsData.length; i++) { diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00062_PathOfTheTrooper/Q00062_PathOfTheTrooper.java b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00062_PathOfTheTrooper/Q00062_PathOfTheTrooper.java index e9ff333db1..d2d2d5d474 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00062_PathOfTheTrooper/Q00062_PathOfTheTrooper.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00062_PathOfTheTrooper/Q00062_PathOfTheTrooper.java @@ -231,7 +231,7 @@ public final class Q00062_PathOfTheTrooper extends Quest } qs.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); - qs.saveGlobalQuestVar("1ClassQuestFinished", "1"); + saveGlobalQuestVar("1ClassQuestFinished", "1"); htmltext = "32197-10.html"; } break; diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00063_PathOfTheWarder/Q00063_PathOfTheWarder.java b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00063_PathOfTheWarder/Q00063_PathOfTheWarder.java index 2836e88dd7..9accee64bb 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00063_PathOfTheWarder/Q00063_PathOfTheWarder.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00063_PathOfTheWarder/Q00063_PathOfTheWarder.java @@ -465,7 +465,7 @@ public final class Q00063_PathOfTheWarder extends Quest } qs.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); - qs.saveGlobalQuestVar("1ClassQuestFinished", "1"); + saveGlobalQuestVar("1ClassQuestFinished", "1"); htmltext = "32198-19.html"; } } diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00307_ControlDeviceOfTheGiants/Q00307_ControlDeviceOfTheGiants.java b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00307_ControlDeviceOfTheGiants/Q00307_ControlDeviceOfTheGiants.java index 70bbdc4010..2680f14fbc 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00307_ControlDeviceOfTheGiants/Q00307_ControlDeviceOfTheGiants.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00307_ControlDeviceOfTheGiants/Q00307_ControlDeviceOfTheGiants.java @@ -100,7 +100,7 @@ public class Q00307_ControlDeviceOfTheGiants extends Quest { return "32711-09.html"; } - final String respawn = loadGlobalQuestVar("Respawn"); + final String respawn = getGlobalQuestVar("Respawn"); final long remain = !respawn.isEmpty() ? Long.parseLong(respawn) - System.currentTimeMillis() : 0; if (remain > 0) { diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/Q00401_PathOfTheWarrior.java b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/Q00401_PathOfTheWarrior.java index a2d60f5fe4..af20fa9ade 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/Q00401_PathOfTheWarrior.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/Q00401_PathOfTheWarrior.java @@ -291,7 +291,7 @@ public final class Q00401_PathOfTheWarrior extends Quest } qs.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); - qs.saveGlobalQuestVar("1ClassQuestFinished", "1"); + saveGlobalQuestVar("1ClassQuestFinished", "1"); htmltext = "30010-13.html"; } } diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00402_PathOfTheHumanKnight/Q00402_PathOfTheHumanKnight.java b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00402_PathOfTheHumanKnight/Q00402_PathOfTheHumanKnight.java index 13ec8ff2ed..2c22032fe5 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00402_PathOfTheHumanKnight/Q00402_PathOfTheHumanKnight.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00402_PathOfTheHumanKnight/Q00402_PathOfTheHumanKnight.java @@ -169,7 +169,7 @@ public final class Q00402_PathOfTheHumanKnight extends Quest } qs.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); - qs.saveGlobalQuestVar("1ClassQuestFinished", "1"); + saveGlobalQuestVar("1ClassQuestFinished", "1"); htmltext = event; } break; @@ -196,7 +196,7 @@ public final class Q00402_PathOfTheHumanKnight extends Quest } qs.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); - qs.saveGlobalQuestVar("1ClassQuestFinished", "1"); + saveGlobalQuestVar("1ClassQuestFinished", "1"); htmltext = event; } break; @@ -409,7 +409,7 @@ public final class Q00402_PathOfTheHumanKnight extends Quest } qs.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); - qs.saveGlobalQuestVar("1ClassQuestFinished", "1"); + saveGlobalQuestVar("1ClassQuestFinished", "1"); htmltext = "30417-12.html"; } } diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00403_PathOfTheRogue/Q00403_PathOfTheRogue.java b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00403_PathOfTheRogue/Q00403_PathOfTheRogue.java index 70c0936ee6..d040b3bc7a 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00403_PathOfTheRogue/Q00403_PathOfTheRogue.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00403_PathOfTheRogue/Q00403_PathOfTheRogue.java @@ -308,7 +308,7 @@ public final class Q00403_PathOfTheRogue extends Quest } qs.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); - qs.saveGlobalQuestVar("1ClassQuestFinished", "1"); + saveGlobalQuestVar("1ClassQuestFinished", "1"); htmltext = "30379-09.html"; } else if (!hasQuestItems(player, HORSESHOE_OF_LIGHT) && hasQuestItems(player, BEZIQUES_LETTER)) diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00404_PathOfTheHumanWizard/Q00404_PathOfTheHumanWizard.java b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00404_PathOfTheHumanWizard/Q00404_PathOfTheHumanWizard.java index 49700d7d8e..ac9ac51372 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00404_PathOfTheHumanWizard/Q00404_PathOfTheHumanWizard.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00404_PathOfTheHumanWizard/Q00404_PathOfTheHumanWizard.java @@ -224,7 +224,7 @@ public final class Q00404_PathOfTheHumanWizard extends Quest } qs.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); - qs.saveGlobalQuestVar("1ClassQuestFinished", "1"); + saveGlobalQuestVar("1ClassQuestFinished", "1"); htmltext = "30391-06.html"; } break; diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00405_PathOfTheCleric/Q00405_PathOfTheCleric.java b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00405_PathOfTheCleric/Q00405_PathOfTheCleric.java index 7d9a8e0ee6..b84211abfe 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00405_PathOfTheCleric/Q00405_PathOfTheCleric.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00405_PathOfTheCleric/Q00405_PathOfTheCleric.java @@ -179,7 +179,7 @@ public final class Q00405_PathOfTheCleric extends Quest } qs.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); - qs.saveGlobalQuestVar("1ClassQuestFinished", "1"); + saveGlobalQuestVar("1ClassQuestFinished", "1"); htmltext = "30022-09.html"; } else if (hasQuestItems(player, LETTER_OF_ORDER_1ST)) diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00406_PathOfTheElvenKnight/Q00406_PathOfTheElvenKnight.java b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00406_PathOfTheElvenKnight/Q00406_PathOfTheElvenKnight.java index 3965d46682..2fe310cec6 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00406_PathOfTheElvenKnight/Q00406_PathOfTheElvenKnight.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00406_PathOfTheElvenKnight/Q00406_PathOfTheElvenKnight.java @@ -228,7 +228,7 @@ public final class Q00406_PathOfTheElvenKnight extends Quest } qs.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); - qs.saveGlobalQuestVar("1ClassQuestFinished", "1"); + saveGlobalQuestVar("1ClassQuestFinished", "1"); htmltext = "30327-10.html"; } break; diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00407_PathOfTheElvenScout/Q00407_PathOfTheElvenScout.java b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00407_PathOfTheElvenScout/Q00407_PathOfTheElvenScout.java index cfc519bc3c..6ebca13474 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00407_PathOfTheElvenScout/Q00407_PathOfTheElvenScout.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00407_PathOfTheElvenScout/Q00407_PathOfTheElvenScout.java @@ -255,7 +255,7 @@ public final class Q00407_PathOfTheElvenScout extends Quest giveAdena(player, 163800, true); qs.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); - qs.saveGlobalQuestVar("1ClassQuestFinished", "1"); + saveGlobalQuestVar("1ClassQuestFinished", "1"); htmltext = "30328-07.html"; } break; diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00408_PathOfTheElvenWizard/Q00408_PathOfTheElvenWizard.java b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00408_PathOfTheElvenWizard/Q00408_PathOfTheElvenWizard.java index 60ca490dee..3681e36cea 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00408_PathOfTheElvenWizard/Q00408_PathOfTheElvenWizard.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00408_PathOfTheElvenWizard/Q00408_PathOfTheElvenWizard.java @@ -347,7 +347,7 @@ public final class Q00408_PathOfTheElvenWizard extends Quest } qs.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); - qs.saveGlobalQuestVar("1ClassQuestFinished", "1"); + saveGlobalQuestVar("1ClassQuestFinished", "1"); htmltext = "30414-20.html"; } } diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00409_PathOfTheElvenOracle/Q00409_PathOfTheElvenOracle.java b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00409_PathOfTheElvenOracle/Q00409_PathOfTheElvenOracle.java index a449ebfedf..86c0f82909 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00409_PathOfTheElvenOracle/Q00409_PathOfTheElvenOracle.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00409_PathOfTheElvenOracle/Q00409_PathOfTheElvenOracle.java @@ -307,7 +307,7 @@ public final class Q00409_PathOfTheElvenOracle extends Quest } qs.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); - qs.saveGlobalQuestVar("1ClassQuestFinished", "1"); + saveGlobalQuestVar("1ClassQuestFinished", "1"); htmltext = "30293-08.html"; } } diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00410_PathOfThePalusKnight/Q00410_PathOfThePalusKnight.java b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00410_PathOfThePalusKnight/Q00410_PathOfThePalusKnight.java index 3887597319..74f6c03f78 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00410_PathOfThePalusKnight/Q00410_PathOfThePalusKnight.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00410_PathOfThePalusKnight/Q00410_PathOfThePalusKnight.java @@ -261,7 +261,7 @@ public final class Q00410_PathOfThePalusKnight extends Quest } qs.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); - qs.saveGlobalQuestVar("1ClassQuestFinished", "1"); + saveGlobalQuestVar("1ClassQuestFinished", "1"); htmltext = "30329-11.html"; } else if (hasAtLeastOneQuestItem(player, VIRGILS_LETTER, MORTE_TALISMAN)) diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00411_PathOfTheAssassin/Q00411_PathOfTheAssassin.java b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00411_PathOfTheAssassin/Q00411_PathOfTheAssassin.java index 613ead5629..e2a2068e2a 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00411_PathOfTheAssassin/Q00411_PathOfTheAssassin.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00411_PathOfTheAssassin/Q00411_PathOfTheAssassin.java @@ -226,7 +226,7 @@ public final class Q00411_PathOfTheAssassin extends Quest } qs.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); - qs.saveGlobalQuestVar("1ClassQuestFinished", "1"); + saveGlobalQuestVar("1ClassQuestFinished", "1"); htmltext = "30416-06.html"; } else if (!hasAtLeastOneQuestItem(player, LEIKANS_NOTE, SHILENS_TEARS, ARKENIAS_RECOMMENDATION, IRON_HEART, SHILENS_CALL) && hasQuestItems(player, ARKENIAS_LETTER)) diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00412_PathOfTheDarkWizard/Q00412_PathOfTheDarkWizard.java b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00412_PathOfTheDarkWizard/Q00412_PathOfTheDarkWizard.java index 9e7c4e2b0f..d613488d3c 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00412_PathOfTheDarkWizard/Q00412_PathOfTheDarkWizard.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00412_PathOfTheDarkWizard/Q00412_PathOfTheDarkWizard.java @@ -285,7 +285,7 @@ public final class Q00412_PathOfTheDarkWizard extends Quest } qs.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); - qs.saveGlobalQuestVar("1ClassQuestFinished", "1"); + saveGlobalQuestVar("1ClassQuestFinished", "1"); htmltext = "30421-13.html"; } else if (hasQuestItems(player, SEEDS_OF_DESPAIR)) diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00413_PathOfTheShillienOracle/Q00413_PathOfTheShillienOracle.java b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00413_PathOfTheShillienOracle/Q00413_PathOfTheShillienOracle.java index 534d2394a0..3bf2818371 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00413_PathOfTheShillienOracle/Q00413_PathOfTheShillienOracle.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00413_PathOfTheShillienOracle/Q00413_PathOfTheShillienOracle.java @@ -247,7 +247,7 @@ public final class Q00413_PathOfTheShillienOracle extends Quest } qs.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); - qs.saveGlobalQuestVar("1ClassQuestFinished", "1"); + saveGlobalQuestVar("1ClassQuestFinished", "1"); htmltext = "30330-10.html"; } break; diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00414_PathOfTheOrcRaider/Q00414_PathOfTheOrcRaider.java b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00414_PathOfTheOrcRaider/Q00414_PathOfTheOrcRaider.java index f6f57cdbe4..fd7e93efac 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00414_PathOfTheOrcRaider/Q00414_PathOfTheOrcRaider.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00414_PathOfTheOrcRaider/Q00414_PathOfTheOrcRaider.java @@ -309,7 +309,7 @@ public final class Q00414_PathOfTheOrcRaider extends Quest } qs.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); - qs.saveGlobalQuestVar("1ClassQuestFinished", "1"); + saveGlobalQuestVar("1ClassQuestFinished", "1"); htmltext = "30501-03.html"; } break; @@ -345,7 +345,7 @@ public final class Q00414_PathOfTheOrcRaider extends Quest } qs.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); - qs.saveGlobalQuestVar("1ClassQuestFinished", "1"); + saveGlobalQuestVar("1ClassQuestFinished", "1"); htmltext = "31978-05.html"; } } diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00415_PathOfTheOrcMonk/Q00415_PathOfTheOrcMonk.java b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00415_PathOfTheOrcMonk/Q00415_PathOfTheOrcMonk.java index 788cb1bf98..da53d28236 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00415_PathOfTheOrcMonk/Q00415_PathOfTheOrcMonk.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00415_PathOfTheOrcMonk/Q00415_PathOfTheOrcMonk.java @@ -191,7 +191,7 @@ public final class Q00415_PathOfTheOrcMonk extends Quest } qs.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); - qs.saveGlobalQuestVar("1ClassQuestFinished", "1"); + saveGlobalQuestVar("1ClassQuestFinished", "1"); htmltext = event; } break; @@ -562,7 +562,7 @@ public final class Q00415_PathOfTheOrcMonk extends Quest } qs.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); - qs.saveGlobalQuestVar("1ClassQuestFinished", "1"); + saveGlobalQuestVar("1ClassQuestFinished", "1"); htmltext = "30501-04.html"; } break; diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00416_PathOfTheOrcShaman/Q00416_PathOfTheOrcShaman.java b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00416_PathOfTheOrcShaman/Q00416_PathOfTheOrcShaman.java index c55e51b953..c8501f027c 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00416_PathOfTheOrcShaman/Q00416_PathOfTheOrcShaman.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00416_PathOfTheOrcShaman/Q00416_PathOfTheOrcShaman.java @@ -189,7 +189,7 @@ public final class Q00416_PathOfTheOrcShaman extends Quest giveAdena(player, 163800, true); st.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); - st.saveGlobalQuestVar("1ClassQuestFinished", "1"); + saveGlobalQuestVar("1ClassQuestFinished", "1"); htmltext = event; } break; @@ -503,7 +503,7 @@ public final class Q00416_PathOfTheOrcShaman extends Quest giveAdena(player, 81900, true); st.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); - st.saveGlobalQuestVar("1ClassQuestFinished", "1"); + saveGlobalQuestVar("1ClassQuestFinished", "1"); htmltext = "31979-03.html"; } break; diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00417_PathOfTheScavenger/Q00417_PathOfTheScavenger.java b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00417_PathOfTheScavenger/Q00417_PathOfTheScavenger.java index 23b2b74a53..0a1d6350b8 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00417_PathOfTheScavenger/Q00417_PathOfTheScavenger.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00417_PathOfTheScavenger/Q00417_PathOfTheScavenger.java @@ -323,7 +323,7 @@ public final class Q00417_PathOfTheScavenger extends Quest } qs.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); - qs.saveGlobalQuestVar("1ClassQuestFinished", "1"); + saveGlobalQuestVar("1ClassQuestFinished", "1"); htmltext = event; } break; @@ -671,7 +671,7 @@ public final class Q00417_PathOfTheScavenger extends Quest } qs.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); - qs.saveGlobalQuestVar("1ClassQuestFinished", "1"); + saveGlobalQuestVar("1ClassQuestFinished", "1"); htmltext = "30316-05.html"; } break; diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00418_PathOfTheArtisan/Q00418_PathOfTheArtisan.java b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00418_PathOfTheArtisan/Q00418_PathOfTheArtisan.java index 9060bdcad4..3d40e49ce4 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00418_PathOfTheArtisan/Q00418_PathOfTheArtisan.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00418_PathOfTheArtisan/Q00418_PathOfTheArtisan.java @@ -218,7 +218,7 @@ public final class Q00418_PathOfTheArtisan extends Quest } qs.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); - qs.saveGlobalQuestVar("1ClassQuestFinished", "1"); + saveGlobalQuestVar("1ClassQuestFinished", "1"); htmltext = event; } break; @@ -244,7 +244,7 @@ public final class Q00418_PathOfTheArtisan extends Quest } qs.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); - qs.saveGlobalQuestVar("1ClassQuestFinished", "1"); + saveGlobalQuestVar("1ClassQuestFinished", "1"); htmltext = event; } break; @@ -270,7 +270,7 @@ public final class Q00418_PathOfTheArtisan extends Quest } qs.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); - qs.saveGlobalQuestVar("1ClassQuestFinished", "1"); + saveGlobalQuestVar("1ClassQuestFinished", "1"); htmltext = event; } break; @@ -296,7 +296,7 @@ public final class Q00418_PathOfTheArtisan extends Quest } qs.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); - qs.saveGlobalQuestVar("1ClassQuestFinished", "1"); + saveGlobalQuestVar("1ClassQuestFinished", "1"); htmltext = event; } break; @@ -370,7 +370,7 @@ public final class Q00418_PathOfTheArtisan extends Quest } qs.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); - qs.saveGlobalQuestVar("1ClassQuestFinished", "1"); + saveGlobalQuestVar("1ClassQuestFinished", "1"); htmltext = event; } break; @@ -406,7 +406,7 @@ public final class Q00418_PathOfTheArtisan extends Quest } qs.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); - qs.saveGlobalQuestVar("1ClassQuestFinished", "1"); + saveGlobalQuestVar("1ClassQuestFinished", "1"); htmltext = event; } break; diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/Q00610_MagicalPowerOfWaterPart2.java b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/Q00610_MagicalPowerOfWaterPart2.java index 7c43e4e745..ec19cc2ce8 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/Q00610_MagicalPowerOfWaterPart2.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/Q00610_MagicalPowerOfWaterPart2.java @@ -52,7 +52,7 @@ public class Q00610_MagicalPowerOfWaterPart2 extends Quest addKillId(ASHUTAR); registerQuestItems(GREEN_TOTEM, ASHUTAR_HEART); - final String test = loadGlobalQuestVar("Q00610_respawn"); + final String test = getGlobalQuestVar("Q00610_respawn"); final long remain = (!test.isEmpty()) ? (Long.parseLong(test) - System.currentTimeMillis()) : 0; if (remain > 0) { diff --git a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/Q00616_MagicalPowerOfFirePart2.java b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/Q00616_MagicalPowerOfFirePart2.java index a8a3d87d6f..08202d71ae 100644 --- a/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/Q00616_MagicalPowerOfFirePart2.java +++ b/L2J_Mobius_HighFive/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/Q00616_MagicalPowerOfFirePart2.java @@ -52,7 +52,7 @@ public class Q00616_MagicalPowerOfFirePart2 extends Quest addKillId(NASTRON); registerQuestItems(RED_TOTEM, NASTRON_HEART); - final String test = loadGlobalQuestVar("Q00616_respawn"); + final String test = getGlobalQuestVar("Q00616_respawn"); final long remain = (!test.isEmpty()) ? (Long.parseLong(test) - System.currentTimeMillis()) : 0; if (remain > 0) { diff --git a/L2J_Mobius_HighFive/java/com/l2jmobius/gameserver/model/quest/Quest.java b/L2J_Mobius_HighFive/java/com/l2jmobius/gameserver/model/quest/Quest.java index a98d654ddc..0ee2fd77fb 100644 --- a/L2J_Mobius_HighFive/java/com/l2jmobius/gameserver/model/quest/Quest.java +++ b/L2J_Mobius_HighFive/java/com/l2jmobius/gameserver/model/quest/Quest.java @@ -1568,7 +1568,7 @@ public class Quest extends AbstractScript implements IIdentifiable * @param var the name of the variable to load * @return the current value of the specified variable, or an empty string if the variable does not exist */ - public final String loadGlobalQuestVar(String var) + public final String getGlobalQuestVar(String var) { String result = ""; try (Connection con = DatabaseFactory.getInstance().getConnection(); diff --git a/L2J_Mobius_HighFive/java/com/l2jmobius/gameserver/model/quest/QuestState.java b/L2J_Mobius_HighFive/java/com/l2jmobius/gameserver/model/quest/QuestState.java index 8f4876d5ae..184141cc86 100644 --- a/L2J_Mobius_HighFive/java/com/l2jmobius/gameserver/model/quest/QuestState.java +++ b/L2J_Mobius_HighFive/java/com/l2jmobius/gameserver/model/quest/QuestState.java @@ -16,16 +16,12 @@ */ package com.l2jmobius.gameserver.model.quest; -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; import java.util.Calendar; import java.util.HashMap; import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; -import com.l2jmobius.commons.database.DatabaseFactory; import com.l2jmobius.gameserver.cache.HtmCache; import com.l2jmobius.gameserver.enums.QuestSound; import com.l2jmobius.gameserver.enums.QuestType; @@ -388,87 +384,18 @@ public final class QuestState return old; } - /** - * Insert (or update) in the database variables that need to stay persistent for this player after a reboot. This function is for storage of values that are not related to a specific quest but are global instead, i.e. can be used by any script. - * @param var the name of the variable to save - * @param value the value of the variable - */ - // TODO: these methods should not be here, they could be used by other classes to save some variables, but they can't because they require to create a QuestState first. - public final void saveGlobalQuestVar(String var, String value) - { - try (Connection con = DatabaseFactory.getInstance().getConnection(); - PreparedStatement ps = con.prepareStatement("REPLACE INTO character_quest_global_data (charId, var, value) VALUES (?, ?, ?)")) - { - ps.setInt(1, _player.getObjectId()); - ps.setString(2, var); - ps.setString(3, value); - ps.executeUpdate(); - } - catch (Exception e) - { - _log.log(Level.WARNING, "Could not insert player's global quest variable: " + e.getMessage(), e); - } - } - - /** - * Read from the database a previously saved variable for this quest.
- * Due to performance considerations, this function should best be used only when the quest is first loaded.
- * Subclasses of this class can define structures into which these loaded values can be saved.
- * However, on-demand usage of this function throughout the script is not prohibited, only not recommended.
- * Values read from this function were entered by calls to "saveGlobalQuestVar". - * @param var the name of the variable whose value to get - * @return the value of the variable or an empty string if the variable does not exist in the database - */ - // TODO: these methods should not be here, they could be used by other classes to save some variables, but they can't because they require to create a QuestState first. - public final String getGlobalQuestVar(String var) - { - String result = ""; - try (Connection con = DatabaseFactory.getInstance().getConnection(); - PreparedStatement ps = con.prepareStatement("SELECT value FROM character_quest_global_data WHERE charId = ? AND var = ?")) - { - ps.setInt(1, _player.getObjectId()); - ps.setString(2, var); - try (ResultSet rs = ps.executeQuery()) - { - if (rs.first()) - { - result = rs.getString(1); - } - } - } - catch (Exception e) - { - _log.log(Level.WARNING, "Could not load player's global quest variable: " + e.getMessage(), e); - } - return result; - } - - /** - * Permanently delete a global quest variable from the database. - * @param var the name of the variable to delete - */ - public final void deleteGlobalQuestVar(String var) - { - try (Connection con = DatabaseFactory.getInstance().getConnection(); - PreparedStatement ps = con.prepareStatement("DELETE FROM character_quest_global_data WHERE charId = ? AND var = ?")) - { - ps.setInt(1, _player.getObjectId()); - ps.setString(2, var); - ps.executeUpdate(); - } - catch (Exception e) - { - _log.log(Level.WARNING, "could not delete player's global quest variable; charId = " + _player.getObjectId() + ", variable name = " + var + ". Exception: " + e.getMessage(), e); - } - } - /** * @param var the name of the variable to get * @return the value of the variable from the list of quest variables */ public String get(String var) { - return _vars == null ? null : _vars.get(var); + if (_vars == null) + { + return null; + } + + return _vars.get(var); } /** diff --git a/L2J_Mobius_HighFive/java/com/l2jmobius/gameserver/model/quest/QuestTimer.java b/L2J_Mobius_HighFive/java/com/l2jmobius/gameserver/model/quest/QuestTimer.java index 77f72d727d..ca171bcb28 100644 --- a/L2J_Mobius_HighFive/java/com/l2jmobius/gameserver/model/quest/QuestTimer.java +++ b/L2J_Mobius_HighFive/java/com/l2jmobius/gameserver/model/quest/QuestTimer.java @@ -112,7 +112,15 @@ public class QuestTimer */ public boolean isMatch(Quest quest, String name, L2Npc npc, L2PcInstance player) { - return (quest != null) && (name != null) && (quest == _quest) && name.equalsIgnoreCase(getName()) && (npc == _npc) && (player == _player); + if ((quest == null) || (name == null)) + { + return false; + } + if ((quest != _quest) || !name.equalsIgnoreCase(getName())) + { + return false; + } + return ((npc == _npc) && (player == _player)); } public final boolean getIsActive() diff --git a/L2J_Mobius_HighFive/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_HighFive/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index 43158de2b0..39c9414a86 100644 --- a/L2J_Mobius_HighFive/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_HighFive/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -328,7 +328,7 @@ public final class RequestAcquireSkill extends L2GameClientPacket { for (int i = 1; i <= Config.MAX_SUBCLASS; i++) { - final String itemOID = st.getGlobalQuestVar(varName + i); + final String itemOID = st.getQuest().getGlobalQuestVar(varName + i); if (!itemOID.isEmpty() && !itemOID.endsWith(";") && !itemOID.equals("0")) { if (Util.isDigit(itemOID)) @@ -345,7 +345,7 @@ public final class RequestAcquireSkill extends L2GameClientPacket { giveSkill(activeChar, trainer, skill); // Logging the given skill. - st.saveGlobalQuestVar(varName + i, skill.getId() + ";"); + st.getQuest().saveGlobalQuestVar(varName + i, skill.getId() + ";"); } return; } diff --git a/L2J_Mobius_Underground/java/com/l2jmobius/gameserver/model/quest/QuestTimer.java b/L2J_Mobius_Underground/java/com/l2jmobius/gameserver/model/quest/QuestTimer.java index 6d6b7e3955..b468ad4c99 100644 --- a/L2J_Mobius_Underground/java/com/l2jmobius/gameserver/model/quest/QuestTimer.java +++ b/L2J_Mobius_Underground/java/com/l2jmobius/gameserver/model/quest/QuestTimer.java @@ -59,7 +59,7 @@ public class QuestTimer private final L2Npc _npc; private final L2PcInstance _player; private final boolean _isRepeating; - private ScheduledFuture _schedular; + private final ScheduledFuture _schedular; public QuestTimer(Quest quest, String name, long time, L2Npc npc, L2PcInstance player, boolean repeating) { @@ -68,14 +68,7 @@ public class QuestTimer _player = player; _npc = npc; _isRepeating = repeating; - if (repeating) - { - _schedular = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new ScheduleTimerTask(), time, time); // Prepare auto end task - } - else - { - _schedular = ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleTimerTask(), time); // Prepare auto end task - } + _schedular = repeating ? ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new ScheduleTimerTask(), time, time) : ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleTimerTask(), time); } public QuestTimer(Quest quest, String name, long time, L2Npc npc, L2PcInstance player) diff --git a/L2J_Mobius_Underground/java/com/l2jmobius/gameserver/model/quest/State.java b/L2J_Mobius_Underground/java/com/l2jmobius/gameserver/model/quest/State.java index eac66ac7d5..1142d26c9f 100644 --- a/L2J_Mobius_Underground/java/com/l2jmobius/gameserver/model/quest/State.java +++ b/L2J_Mobius_Underground/java/com/l2jmobius/gameserver/model/quest/State.java @@ -44,11 +44,17 @@ public class State switch (state) { case 1: + { return "Started"; + } case 2: + { return "Completed"; + } default: + { return "Start"; + } } } @@ -62,11 +68,17 @@ public class State switch (statename) { case "Started": + { return 1; + } case "Completed": + { return 2; + } default: + { return 0; + } } } } \ No newline at end of file