DisableTutorial config now works for all tutorial quests.

This commit is contained in:
MobiusDev
2016-02-07 10:26:29 +00:00
parent 42860c9dbd
commit 5e2a401875
15 changed files with 102 additions and 43 deletions

View File

@@ -847,8 +847,7 @@ PartyXpCutoffGaps = 0,9;10,14;15,99
# Default: 100;30;0 # Default: 100;30;0
PartyXpCutoffGapPercent = 100;30;0 PartyXpCutoffGapPercent = 100;30;0
# Disable tutorial on new player enter into Game # Disable tutorial quests.
# Please remember its sometimes important to novice players
# Default: False # Default: False
DisableTutorial = False DisableTutorial = False

View File

@@ -16,6 +16,7 @@
*/ */
package quests.Q10390_KekropusLetter; package quests.Q10390_KekropusLetter;
import com.l2jmobius.Config;
import com.l2jmobius.gameserver.ai.CtrlIntention; import com.l2jmobius.gameserver.ai.CtrlIntention;
import com.l2jmobius.gameserver.cache.HtmCache; import com.l2jmobius.gameserver.cache.HtmCache;
import com.l2jmobius.gameserver.enums.Race; import com.l2jmobius.gameserver.enums.Race;
@@ -293,6 +294,10 @@ public class Q10390_KekropusLetter extends Quest implements IBypassHandler
@RegisterType(ListenerRegisterType.GLOBAL) @RegisterType(ListenerRegisterType.GLOBAL)
public void OnPlayerLevelChanged(OnPlayerLevelChanged event) public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
{ {
if (Config.DISABLE_TUTORIAL)
{
return;
}
final L2PcInstance player = event.getActiveChar(); final L2PcInstance player = event.getActiveChar();
if ((player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() != Race.ERTHEIA)) if ((player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() != Race.ERTHEIA))
{ {

View File

@@ -16,6 +16,7 @@
*/ */
package quests.Q10393_KekropusLetter_AClueCompleted; package quests.Q10393_KekropusLetter_AClueCompleted;
import com.l2jmobius.Config;
import com.l2jmobius.gameserver.ai.CtrlIntention; import com.l2jmobius.gameserver.ai.CtrlIntention;
import com.l2jmobius.gameserver.cache.HtmCache; import com.l2jmobius.gameserver.cache.HtmCache;
import com.l2jmobius.gameserver.enums.Race; import com.l2jmobius.gameserver.enums.Race;
@@ -148,6 +149,10 @@ public class Q10393_KekropusLetter_AClueCompleted extends Quest implements IBypa
@RegisterType(ListenerRegisterType.GLOBAL) @RegisterType(ListenerRegisterType.GLOBAL)
public void OnPlayerLevelChanged(OnPlayerLevelChanged event) public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
{ {
if (Config.DISABLE_TUTORIAL)
{
return;
}
final L2PcInstance player = event.getActiveChar(); final L2PcInstance player = event.getActiveChar();
if ((player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() != Race.ERTHEIA)) if ((player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() != Race.ERTHEIA))
{ {

View File

@@ -16,6 +16,7 @@
*/ */
package quests.Q10397_KekropusLetter_ASuspiciousBadge; package quests.Q10397_KekropusLetter_ASuspiciousBadge;
import com.l2jmobius.Config;
import com.l2jmobius.gameserver.ai.CtrlIntention; import com.l2jmobius.gameserver.ai.CtrlIntention;
import com.l2jmobius.gameserver.cache.HtmCache; import com.l2jmobius.gameserver.cache.HtmCache;
import com.l2jmobius.gameserver.enums.Race; import com.l2jmobius.gameserver.enums.Race;
@@ -153,6 +154,10 @@ public class Q10397_KekropusLetter_ASuspiciousBadge extends Quest implements IBy
@RegisterType(ListenerRegisterType.GLOBAL) @RegisterType(ListenerRegisterType.GLOBAL)
public void OnPlayerLevelChanged(OnPlayerLevelChanged event) public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
{ {
if (Config.DISABLE_TUTORIAL)
{
return;
}
final L2PcInstance player = event.getActiveChar(); final L2PcInstance player = event.getActiveChar();
if ((player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() != Race.ERTHEIA)) if ((player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() != Race.ERTHEIA))
{ {

View File

@@ -16,6 +16,7 @@
*/ */
package quests.Q10401_KekropusLetter_DecodingTheBadge; package quests.Q10401_KekropusLetter_DecodingTheBadge;
import com.l2jmobius.Config;
import com.l2jmobius.gameserver.ai.CtrlIntention; import com.l2jmobius.gameserver.ai.CtrlIntention;
import com.l2jmobius.gameserver.cache.HtmCache; import com.l2jmobius.gameserver.cache.HtmCache;
import com.l2jmobius.gameserver.enums.Race; import com.l2jmobius.gameserver.enums.Race;
@@ -153,6 +154,10 @@ public class Q10401_KekropusLetter_DecodingTheBadge extends Quest implements IBy
@RegisterType(ListenerRegisterType.GLOBAL) @RegisterType(ListenerRegisterType.GLOBAL)
public void OnPlayerLevelChanged(OnPlayerLevelChanged event) public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
{ {
if (Config.DISABLE_TUTORIAL)
{
return;
}
final L2PcInstance player = event.getActiveChar(); final L2PcInstance player = event.getActiveChar();
if ((player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() != Race.ERTHEIA)) if ((player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() != Race.ERTHEIA))
{ {

View File

@@ -16,6 +16,7 @@
*/ */
package quests.Q10404_KekropusLetter_AHiddenMeaning; package quests.Q10404_KekropusLetter_AHiddenMeaning;
import com.l2jmobius.Config;
import com.l2jmobius.gameserver.ai.CtrlIntention; import com.l2jmobius.gameserver.ai.CtrlIntention;
import com.l2jmobius.gameserver.cache.HtmCache; import com.l2jmobius.gameserver.cache.HtmCache;
import com.l2jmobius.gameserver.enums.Race; import com.l2jmobius.gameserver.enums.Race;
@@ -153,6 +154,10 @@ public class Q10404_KekropusLetter_AHiddenMeaning extends Quest implements IBypa
@RegisterType(ListenerRegisterType.GLOBAL) @RegisterType(ListenerRegisterType.GLOBAL)
public void OnPlayerLevelChanged(OnPlayerLevelChanged event) public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
{ {
if (Config.DISABLE_TUTORIAL)
{
return;
}
final L2PcInstance player = event.getActiveChar(); final L2PcInstance player = event.getActiveChar();
if ((player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() != Race.ERTHEIA)) if ((player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() != Race.ERTHEIA))
{ {

View File

@@ -16,6 +16,7 @@
*/ */
package quests.Q10408_KekropusLetter_TheSwampOfScream; package quests.Q10408_KekropusLetter_TheSwampOfScream;
import com.l2jmobius.Config;
import com.l2jmobius.gameserver.ai.CtrlIntention; import com.l2jmobius.gameserver.ai.CtrlIntention;
import com.l2jmobius.gameserver.cache.HtmCache; import com.l2jmobius.gameserver.cache.HtmCache;
import com.l2jmobius.gameserver.enums.Race; import com.l2jmobius.gameserver.enums.Race;
@@ -157,6 +158,10 @@ public class Q10408_KekropusLetter_TheSwampOfScream extends Quest implements IBy
@RegisterType(ListenerRegisterType.GLOBAL) @RegisterType(ListenerRegisterType.GLOBAL)
public void OnPlayerLevelChanged(OnPlayerLevelChanged event) public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
{ {
if (Config.DISABLE_TUTORIAL)
{
return;
}
final L2PcInstance player = event.getActiveChar(); final L2PcInstance player = event.getActiveChar();
if ((player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() != Race.ERTHEIA)) if ((player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() != Race.ERTHEIA))
{ {

View File

@@ -16,6 +16,7 @@
*/ */
package quests.Q10411_KekropusLetter_TheForestOfTheDead; package quests.Q10411_KekropusLetter_TheForestOfTheDead;
import com.l2jmobius.Config;
import com.l2jmobius.gameserver.ai.CtrlIntention; import com.l2jmobius.gameserver.ai.CtrlIntention;
import com.l2jmobius.gameserver.cache.HtmCache; import com.l2jmobius.gameserver.cache.HtmCache;
import com.l2jmobius.gameserver.enums.Race; import com.l2jmobius.gameserver.enums.Race;
@@ -161,6 +162,10 @@ public class Q10411_KekropusLetter_TheForestOfTheDead extends Quest implements I
@RegisterType(ListenerRegisterType.GLOBAL) @RegisterType(ListenerRegisterType.GLOBAL)
public void OnPlayerLevelChanged(OnPlayerLevelChanged event) public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
{ {
if (Config.DISABLE_TUTORIAL)
{
return;
}
final L2PcInstance player = event.getActiveChar(); final L2PcInstance player = event.getActiveChar();
if ((player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() != Race.ERTHEIA)) if ((player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() != Race.ERTHEIA))
{ {

View File

@@ -16,6 +16,7 @@
*/ */
package quests.Q10414_KekropusLetter_WithCourage; package quests.Q10414_KekropusLetter_WithCourage;
import com.l2jmobius.Config;
import com.l2jmobius.gameserver.ai.CtrlIntention; import com.l2jmobius.gameserver.ai.CtrlIntention;
import com.l2jmobius.gameserver.cache.HtmCache; import com.l2jmobius.gameserver.cache.HtmCache;
import com.l2jmobius.gameserver.enums.Race; import com.l2jmobius.gameserver.enums.Race;
@@ -157,6 +158,10 @@ public class Q10414_KekropusLetter_WithCourage extends Quest implements IBypassH
@RegisterType(ListenerRegisterType.GLOBAL) @RegisterType(ListenerRegisterType.GLOBAL)
public void OnPlayerLevelChanged(OnPlayerLevelChanged event) public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
{ {
if (Config.DISABLE_TUTORIAL)
{
return;
}
final L2PcInstance player = event.getActiveChar(); final L2PcInstance player = event.getActiveChar();
if ((player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() != Race.ERTHEIA)) if ((player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() != Race.ERTHEIA))
{ {

View File

@@ -16,6 +16,7 @@
*/ */
package quests.Q10415_KekropusLetter_WithWisdom; package quests.Q10415_KekropusLetter_WithWisdom;
import com.l2jmobius.Config;
import com.l2jmobius.gameserver.ai.CtrlIntention; import com.l2jmobius.gameserver.ai.CtrlIntention;
import com.l2jmobius.gameserver.cache.HtmCache; import com.l2jmobius.gameserver.cache.HtmCache;
import com.l2jmobius.gameserver.enums.Race; import com.l2jmobius.gameserver.enums.Race;
@@ -157,6 +158,10 @@ public class Q10415_KekropusLetter_WithWisdom extends Quest implements IBypassHa
@RegisterType(ListenerRegisterType.GLOBAL) @RegisterType(ListenerRegisterType.GLOBAL)
public void OnPlayerLevelChanged(OnPlayerLevelChanged event) public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
{ {
if (Config.DISABLE_TUTORIAL)
{
return;
}
final L2PcInstance player = event.getActiveChar(); final L2PcInstance player = event.getActiveChar();
if ((player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() != Race.ERTHEIA)) if ((player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() != Race.ERTHEIA))
{ {

View File

@@ -124,25 +124,21 @@ public class Q10746_SeeTheWorld extends Quest
} }
case LEVIAN: case LEVIAN:
{ {
switch (qs.getCond()) if (qs.isCond(2))
{ {
case 2: giveAdena(player, 43000, true);
addExpAndSp(player, 53422, 5);
if (player.isMageClass())
{ {
giveAdena(player, 43000, true); giveItems(player, EMISSARY_SUPPORT_BOX_MAGE);
addExpAndSp(player, 53422, 5);
if (player.isMageClass())
{
giveItems(player, EMISSARY_SUPPORT_BOX_MAGE);
}
else
{
giveItems(player, EMISSARY_SUPPORT_BOX_WARRIOR);
}
showOnScreenMsg(player, NpcStringId.CHECK_YOUR_EQUIPMENT_IN_YOUR_INVENTORY, ExShowScreenMessage.TOP_CENTER, 4500);
qs.exitQuest(false, true);
htmltext = "30037-01.html";
break;
} }
else
{
giveItems(player, EMISSARY_SUPPORT_BOX_WARRIOR);
}
showOnScreenMsg(player, NpcStringId.CHECK_YOUR_EQUIPMENT_IN_YOUR_INVENTORY, ExShowScreenMessage.TOP_CENTER, 4500);
qs.exitQuest(false, true);
htmltext = "30037-01.html";
} }
break; break;
} }

View File

@@ -16,6 +16,7 @@
*/ */
package quests.Q10751_WindsOfFateEncounters; package quests.Q10751_WindsOfFateEncounters;
import com.l2jmobius.Config;
import com.l2jmobius.gameserver.ai.CtrlIntention; import com.l2jmobius.gameserver.ai.CtrlIntention;
import com.l2jmobius.gameserver.cache.HtmCache; import com.l2jmobius.gameserver.cache.HtmCache;
import com.l2jmobius.gameserver.enums.Race; import com.l2jmobius.gameserver.enums.Race;
@@ -363,10 +364,37 @@ public class Q10751_WindsOfFateEncounters extends Quest implements IBypassHandle
return htmltext; return htmltext;
} }
@Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc);
if ((qs != null) && qs.isStarted() && qs.isCond(6) && Util.checkIfInRange(1500, npc, qs.getPlayer(), false))
{
int kills = qs.getInt(Integer.toString(SKELETON_ARCHER));
kills++;
qs.set(Integer.toString(SKELETON_ARCHER), kills);
final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
log.addNpcString(NpcStringId.KILL_SKELETONS, kills);
killer.sendPacket(log);
if (kills >= 5)
{
addSpawn(TELESHA, npc.getX() + 20, npc.getY() + 20, npc.getZ(), npc.getHeading(), false, 50000);
showOnScreenMsg(killer, NpcStringId.CHECK_ON_TELESHA, ExShowScreenMessage.TOP_CENTER, 4500);
}
}
return super.onKill(npc, killer, isSummon);
}
@RegisterEvent(EventType.ON_PLAYER_LEVEL_CHANGED) @RegisterEvent(EventType.ON_PLAYER_LEVEL_CHANGED)
@RegisterType(ListenerRegisterType.GLOBAL) @RegisterType(ListenerRegisterType.GLOBAL)
public void OnPlayerLevelChanged(OnPlayerLevelChanged event) public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
{ {
if (Config.DISABLE_TUTORIAL)
{
return;
}
final L2PcInstance player = event.getActiveChar(); final L2PcInstance player = event.getActiveChar();
if ((player.getLevel() >= MIN_LEVEL) && (player.getRace() == Race.ERTHEIA)) if ((player.getLevel() >= MIN_LEVEL) && (player.getRace() == Race.ERTHEIA))
{ {
@@ -422,28 +450,4 @@ public class Q10751_WindsOfFateEncounters extends Quest implements IBypassHandle
{ {
return TP_COMMANDS; return TP_COMMANDS;
} }
@Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc);
if ((qs != null) && qs.isStarted() && qs.isCond(6) && Util.checkIfInRange(1500, npc, qs.getPlayer(), false))
{
int kills = qs.getInt(Integer.toString(SKELETON_ARCHER));
kills++;
qs.set(Integer.toString(SKELETON_ARCHER), kills);
final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
log.addNpcString(NpcStringId.KILL_SKELETONS, kills);
killer.sendPacket(log);
if (kills >= 5)
{
addSpawn(TELESHA, npc.getX() + 20, npc.getY() + 20, npc.getZ(), npc.getHeading(), false, 50000);
showOnScreenMsg(killer, NpcStringId.CHECK_ON_TELESHA, ExShowScreenMessage.TOP_CENTER, 4500);
}
}
return super.onKill(npc, killer, isSummon);
}
} }

View File

@@ -16,6 +16,7 @@
*/ */
package quests.Q10755_LettersFromTheQueen_WindyHill; package quests.Q10755_LettersFromTheQueen_WindyHill;
import com.l2jmobius.Config;
import com.l2jmobius.gameserver.ai.CtrlIntention; import com.l2jmobius.gameserver.ai.CtrlIntention;
import com.l2jmobius.gameserver.cache.HtmCache; import com.l2jmobius.gameserver.cache.HtmCache;
import com.l2jmobius.gameserver.enums.Race; import com.l2jmobius.gameserver.enums.Race;
@@ -193,6 +194,10 @@ public class Q10755_LettersFromTheQueen_WindyHill extends Quest implements IBypa
@RegisterType(ListenerRegisterType.GLOBAL) @RegisterType(ListenerRegisterType.GLOBAL)
public void OnPlayerLevelChanged(OnPlayerLevelChanged event) public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
{ {
if (Config.DISABLE_TUTORIAL)
{
return;
}
final L2PcInstance player = event.getActiveChar(); final L2PcInstance player = event.getActiveChar();
if ((player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() == Race.ERTHEIA)) if ((player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() == Race.ERTHEIA))
{ {

View File

@@ -16,6 +16,7 @@
*/ */
package quests.Q10760_LettersFromTheQueen_OrcBarracs; package quests.Q10760_LettersFromTheQueen_OrcBarracs;
import com.l2jmobius.Config;
import com.l2jmobius.gameserver.ai.CtrlIntention; import com.l2jmobius.gameserver.ai.CtrlIntention;
import com.l2jmobius.gameserver.cache.HtmCache; import com.l2jmobius.gameserver.cache.HtmCache;
import com.l2jmobius.gameserver.enums.Race; import com.l2jmobius.gameserver.enums.Race;
@@ -193,6 +194,10 @@ public class Q10760_LettersFromTheQueen_OrcBarracs extends Quest implements IByp
@RegisterType(ListenerRegisterType.GLOBAL) @RegisterType(ListenerRegisterType.GLOBAL)
public void OnPlayerLevelChanged(OnPlayerLevelChanged event) public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
{ {
if (Config.DISABLE_TUTORIAL)
{
return;
}
final L2PcInstance player = event.getActiveChar(); final L2PcInstance player = event.getActiveChar();
if ((player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() == Race.ERTHEIA)) if ((player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() == Race.ERTHEIA))
{ {

View File

@@ -16,6 +16,7 @@
*/ */
package quests.Q10769_LettersFromTheQueen_CrumaTower; package quests.Q10769_LettersFromTheQueen_CrumaTower;
import com.l2jmobius.Config;
import com.l2jmobius.gameserver.ai.CtrlIntention; import com.l2jmobius.gameserver.ai.CtrlIntention;
import com.l2jmobius.gameserver.cache.HtmCache; import com.l2jmobius.gameserver.cache.HtmCache;
import com.l2jmobius.gameserver.enums.Race; import com.l2jmobius.gameserver.enums.Race;
@@ -46,7 +47,7 @@ public class Q10769_LettersFromTheQueen_CrumaTower extends Quest implements IByp
// NPCs // NPCs
private static final int SYLVAIN = 30070; private static final int SYLVAIN = 30070;
private static final int LORAIN = 30673; private static final int LORAIN = 30673;
// ITEMs // Items
private static final ItemHolder SCROLL_OF_ESCAPE_CRUMA_TOWER = new ItemHolder(39594, 1); private static final ItemHolder SCROLL_OF_ESCAPE_CRUMA_TOWER = new ItemHolder(39594, 1);
private static final ItemHolder STEEL_DOOR_GUILD = new ItemHolder(37045, 11); private static final ItemHolder STEEL_DOOR_GUILD = new ItemHolder(37045, 11);
private static final ItemHolder EAC = new ItemHolder(952, 1); private static final ItemHolder EAC = new ItemHolder(952, 1);
@@ -200,6 +201,10 @@ public class Q10769_LettersFromTheQueen_CrumaTower extends Quest implements IByp
@RegisterType(ListenerRegisterType.GLOBAL) @RegisterType(ListenerRegisterType.GLOBAL)
public void OnPlayerLevelChanged(OnPlayerLevelChanged event) public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
{ {
if (Config.DISABLE_TUTORIAL)
{
return;
}
final L2PcInstance player = event.getActiveChar(); final L2PcInstance player = event.getActiveChar();
if ((player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() == Race.ERTHEIA)) if ((player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() == Race.ERTHEIA))
{ {