diff --git a/trunk/dist/game/config/Character.ini b/trunk/dist/game/config/Character.ini index ee5266d3e5..8c5336795c 100644 --- a/trunk/dist/game/config/Character.ini +++ b/trunk/dist/game/config/Character.ini @@ -744,6 +744,10 @@ PartyXpCutoffGaps = 0,9;10,14;15,99 # Default: 100;30;0 PartyXpCutoffGapPercent = 100;30;0 +# Disable tutorial quests. +# Default: False +DisableTutorial = False + # Expertise penalty # If disabled, player will not receive penalty for equip higher grade items # Default: True diff --git a/trunk/dist/game/data/scripts/quests/LetterQuest.java b/trunk/dist/game/data/scripts/quests/LetterQuest.java index be88212514..a277fbbe60 100644 --- a/trunk/dist/game/data/scripts/quests/LetterQuest.java +++ b/trunk/dist/game/data/scripts/quests/LetterQuest.java @@ -16,6 +16,7 @@ */ package quests; +import com.l2jmobius.Config; import com.l2jmobius.gameserver.enums.HtmlActionScope; import com.l2jmobius.gameserver.enums.QuestSound; import com.l2jmobius.gameserver.enums.Race; @@ -200,6 +201,11 @@ public abstract class LetterQuest extends Quest @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) public void OnPlayerLevelChanged(OnPlayerLevelChanged event) { + if (Config.DISABLE_TUTORIAL) + { + return; + } + final L2PcInstance player = event.getActiveChar(); final QuestState st = getQuestState(player, false); @@ -215,6 +221,11 @@ public abstract class LetterQuest extends Quest @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) public void OnPlayerLogin(OnPlayerLogin event) { + if (Config.DISABLE_TUTORIAL) + { + return; + } + final L2PcInstance player = event.getActiveChar(); final QuestState st = getQuestState(player, false); diff --git a/trunk/dist/game/data/scripts/quests/Q10331_StartOfFate/Q10331_StartOfFate.java b/trunk/dist/game/data/scripts/quests/Q10331_StartOfFate/Q10331_StartOfFate.java index dcbf8a746a..689f430c29 100644 --- a/trunk/dist/game/data/scripts/quests/Q10331_StartOfFate/Q10331_StartOfFate.java +++ b/trunk/dist/game/data/scripts/quests/Q10331_StartOfFate/Q10331_StartOfFate.java @@ -743,6 +743,11 @@ public final class Q10331_StartOfFate extends Quest @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) public void OnPlayerLevelChanged(OnPlayerLevelChanged event) { + if (Config.DISABLE_TUTORIAL) + { + return; + } + final L2PcInstance player = event.getActiveChar(); final QuestState qs = getQuestState(player, false); final int oldLevel = event.getOldLevel(); @@ -758,6 +763,11 @@ public final class Q10331_StartOfFate extends Quest @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) public void OnPlayerLogin(OnPlayerLogin event) { + if (Config.DISABLE_TUTORIAL) + { + return; + } + final L2PcInstance player = event.getActiveChar(); final QuestState qs = getQuestState(player, false); diff --git a/trunk/dist/game/data/scripts/quests/Q10360_CertificationOfFate/Q10360_CertificationOfFate.java b/trunk/dist/game/data/scripts/quests/Q10360_CertificationOfFate/Q10360_CertificationOfFate.java index 43d8433e35..a836e09b7f 100644 --- a/trunk/dist/game/data/scripts/quests/Q10360_CertificationOfFate/Q10360_CertificationOfFate.java +++ b/trunk/dist/game/data/scripts/quests/Q10360_CertificationOfFate/Q10360_CertificationOfFate.java @@ -494,6 +494,11 @@ public final class Q10360_CertificationOfFate extends Quest @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) public void OnPlayerLevelChanged(OnPlayerLevelChanged event) { + if (Config.DISABLE_TUTORIAL) + { + return; + } + final L2PcInstance player = event.getActiveChar(); final int oldLevel = event.getOldLevel(); final int newLevel = event.getNewLevel(); @@ -509,6 +514,11 @@ public final class Q10360_CertificationOfFate extends Quest @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) public void OnPlayerLogin(OnPlayerLogin event) { + if (Config.DISABLE_TUTORIAL) + { + return; + } + final L2PcInstance player = event.getActiveChar(); if ((player.getLevel() >= MIN_LEVEL) && (player.getRace() != Race.ERTHEIA) && (player.isInCategory(CategoryType.SECOND_CLASS_GROUP))) diff --git a/trunk/dist/game/data/scripts/quests/Q10751_WindsOfFateEncounters/Q10751_WindsOfFateEncounters.java b/trunk/dist/game/data/scripts/quests/Q10751_WindsOfFateEncounters/Q10751_WindsOfFateEncounters.java index 27da8b407a..32b83fa2aa 100644 --- a/trunk/dist/game/data/scripts/quests/Q10751_WindsOfFateEncounters/Q10751_WindsOfFateEncounters.java +++ b/trunk/dist/game/data/scripts/quests/Q10751_WindsOfFateEncounters/Q10751_WindsOfFateEncounters.java @@ -19,6 +19,7 @@ package quests.Q10751_WindsOfFateEncounters; import java.util.HashSet; import java.util.Set; +import com.l2jmobius.Config; import com.l2jmobius.gameserver.enums.CategoryType; import com.l2jmobius.gameserver.enums.HtmlActionScope; import com.l2jmobius.gameserver.enums.Race; @@ -478,6 +479,11 @@ public final class Q10751_WindsOfFateEncounters extends Quest @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) public void OnPlayerLevelChanged(OnPlayerLevelChanged event) { + if (Config.DISABLE_TUTORIAL) + { + return; + } + final L2PcInstance player = event.getActiveChar(); final QuestState st = getQuestState(player, false); final int oldLevel = event.getOldLevel(); @@ -494,6 +500,11 @@ public final class Q10751_WindsOfFateEncounters extends Quest @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) public void OnPlayerLogin(OnPlayerLogin event) { + if (Config.DISABLE_TUTORIAL) + { + return; + } + final L2PcInstance player = event.getActiveChar(); final QuestState st = getQuestState(player, false); diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/Q10752_WindsOfFateAPromise.java b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/Q10752_WindsOfFateAPromise.java index e8c96d874b..a9bd512550 100644 --- a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/Q10752_WindsOfFateAPromise.java +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/Q10752_WindsOfFateAPromise.java @@ -16,6 +16,7 @@ */ package quests.Q10752_WindsOfFateAPromise; +import com.l2jmobius.Config; import com.l2jmobius.gameserver.enums.CategoryType; import com.l2jmobius.gameserver.enums.HtmlActionScope; import com.l2jmobius.gameserver.enums.Race; @@ -517,6 +518,11 @@ public final class Q10752_WindsOfFateAPromise extends Quest @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) public void OnPlayerLevelChanged(OnPlayerLevelChanged event) { + if (Config.DISABLE_TUTORIAL) + { + return; + } + final L2PcInstance player = event.getActiveChar(); final QuestState qs = getQuestState(player, false); final int oldLevel = event.getOldLevel(); @@ -540,6 +546,11 @@ public final class Q10752_WindsOfFateAPromise extends Quest @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) public void OnPlayerLogin(OnPlayerLogin event) { + if (Config.DISABLE_TUTORIAL) + { + return; + } + final L2PcInstance player = event.getActiveChar(); final QuestState qs = getQuestState(player, false); diff --git a/trunk/dist/game/data/scripts/quests/ThirdClassTransferQuest.java b/trunk/dist/game/data/scripts/quests/ThirdClassTransferQuest.java index ceb3b04ca6..8adae6f0a3 100644 --- a/trunk/dist/game/data/scripts/quests/ThirdClassTransferQuest.java +++ b/trunk/dist/game/data/scripts/quests/ThirdClassTransferQuest.java @@ -16,6 +16,7 @@ */ package quests; +import com.l2jmobius.Config; import com.l2jmobius.commons.util.CommonUtil; import com.l2jmobius.gameserver.enums.CategoryType; import com.l2jmobius.gameserver.enums.Race; @@ -326,6 +327,11 @@ public abstract class ThirdClassTransferQuest extends Quest @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) public void OnPlayerLevelChanged(OnPlayerLevelChanged event) { + if (Config.DISABLE_TUTORIAL) + { + return; + } + final L2PcInstance player = event.getActiveChar(); final int oldLevel = event.getOldLevel(); final int newLevel = event.getNewLevel(); @@ -340,6 +346,11 @@ public abstract class ThirdClassTransferQuest extends Quest @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) public void OnPlayerLogin(OnPlayerLogin event) { + if (Config.DISABLE_TUTORIAL) + { + return; + } + final L2PcInstance player = event.getActiveChar(); if ((player.getLevel() >= _minLevel) && (player.getRace() == _race) && (player.isInCategory(CategoryType.THIRD_CLASS_GROUP))) diff --git a/trunk/java/com/l2jmobius/Config.java b/trunk/java/com/l2jmobius/Config.java index 60e7d54788..f5d866a37f 100644 --- a/trunk/java/com/l2jmobius/Config.java +++ b/trunk/java/com/l2jmobius/Config.java @@ -250,6 +250,7 @@ public final class Config public static int PARTY_XP_CUTOFF_LEVEL; public static int[][] PARTY_XP_CUTOFF_GAPS; public static int[] PARTY_XP_CUTOFF_GAP_PERCENTS; + public static boolean DISABLE_TUTORIAL; public static boolean EXPERTISE_PENALTY; public static boolean STORE_RECIPE_SHOPLIST; public static boolean STORE_UI_SETTINGS; @@ -1540,6 +1541,7 @@ public final class Config { PARTY_XP_CUTOFF_GAP_PERCENTS[i] = Integer.parseInt(percents[i]); } + DISABLE_TUTORIAL = Character.getBoolean("DisableTutorial", false); EXPERTISE_PENALTY = Character.getBoolean("ExpertisePenalty", true); STORE_RECIPE_SHOPLIST = Character.getBoolean("StoreRecipeShopList", false); STORE_UI_SETTINGS = Character.getBoolean("StoreCharUiSettings", true);