Finished first class transfer quests.

Contributed by quangnguyen.
This commit is contained in:
MobiusDev
2018-02-17 11:29:25 +00:00
parent df78ad9aea
commit 69afdcc09f
252 changed files with 4001 additions and 93 deletions

View File

@@ -35,8 +35,3 @@ Q00097_SagaOfTheShillienTemplar
Q00098_SagaOfTheShillienSaint
Q00100_SagaOfTheMaestro
Q00348_AnArrogantSearch
Q00414_PathOfTheOrcRaider
Q00415_PathOfTheOrcMonk
Q00416_PathOfTheOrcShaman
Q00417_PathOfTheScavenger
Q00418_PathOfTheArtisan

View File

@@ -241,13 +241,20 @@ public final class Q00401_PathOfTheWarrior extends Quest
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (qs.isCreated() || qs.isCompleted())
if (qs.isCreated())
{
if (npc.getId() == MASTER_AURON)
{
htmltext = "30010-01.htm";
}
}
else if (qs.isCompleted())
{
if (npc.getId() == MASTER_AURON)
{
return htmltext;
}
}
else if (qs.isStarted())
{
switch (npc.getId())
@@ -274,9 +281,8 @@ public final class Q00401_PathOfTheWarrior extends Quest
}
else
{
// giveAdena(player, 1000, true); No Longer Gives Adena
giveItems(player, MEDALLION_OF_WARRIOR, 1);
addExpAndSp(player, 6080, 0); // Player now only gets EXP Fixed rate.
addExpAndSp(player, 80314, 5087); // Player now only gets EXP Fixed rate.
qs.exitQuest(false, true);
player.sendPacket(new SocialAction(player.getObjectId(), 3));
htmltext = "30010-13.html";

View File

@@ -77,7 +77,7 @@ public final class Q00402_PathOfTheHumanKnight extends Quest
// Quest Monster
private static final int UNDEAD_PRIEST = 27024;
// Misc
private static final int MIN_LEVEL = 18;
private static final int MIN_LEVEL = 19;
public Q00402_PathOfTheHumanKnight()
{
@@ -151,7 +151,6 @@ public final class Q00402_PathOfTheHumanKnight extends Quest
{
if (hasQuestItems(player, SQUIRES_MARK) && ((CoinCount) == 3))
{
giveAdena(player, 81900, true);
giveItems(player, SWORD_OF_RITUAL, 1);
takeItems(player, COIN_OF_LORDS1, 1);
takeItems(player, COIN_OF_LORDS2, 1);
@@ -175,15 +174,15 @@ public final class Q00402_PathOfTheHumanKnight extends Quest
final int level = player.getLevel();
if (level >= 20)
{
addExpAndSp(player, 160267, 11576);
addExpAndSp(player, 80314, 5087);
}
else if (level == 19)
{
addExpAndSp(player, 228064, 14925);
addExpAndSp(player, 80314, 5087);
}
else
{
addExpAndSp(player, 295862, 18274);
addExpAndSp(player, 80314, 5087);
}
qs.exitQuest(false, true);
player.sendPacket(new SocialAction(player.getObjectId(), 3));
@@ -195,7 +194,6 @@ public final class Q00402_PathOfTheHumanKnight extends Quest
{
if (hasQuestItems(player, SQUIRES_MARK) && ((CoinCount) > 3) && ((CoinCount) < 6))
{
giveAdena(player, 81900, true);
giveItems(player, SWORD_OF_RITUAL, 1);
takeItems(player, COIN_OF_LORDS1, 1);
takeItems(player, COIN_OF_LORDS2, 1);
@@ -219,15 +217,15 @@ public final class Q00402_PathOfTheHumanKnight extends Quest
final int level = player.getLevel();
if (level >= 20)
{
addExpAndSp(player, 160267, 11576);
addExpAndSp(player, 80314, 5087);
}
else if (level == 19)
{
addExpAndSp(player, 228064, 14925);
addExpAndSp(player, 80314, 5087);
}
else
{
addExpAndSp(player, 295862, 18274);
addExpAndSp(player, 80314, 5087);
}
qs.exitQuest(false, true);
player.sendPacket(new SocialAction(player.getObjectId(), 3));
@@ -395,13 +393,20 @@ public final class Q00402_PathOfTheHumanKnight extends Quest
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (qs.isCreated() || qs.isCompleted())
if (qs.isCreated())
{
if (npc.getId() == SIR_KLAUS_VASPER)
{
htmltext = "30417-01.htm";
}
}
if (qs.isCompleted())
{
if (npc.getId() == SIR_KLAUS_VASPER)
{
return htmltext;
}
}
else if (qs.isStarted())
{
switch (npc.getId())
@@ -425,7 +430,6 @@ public final class Q00402_PathOfTheHumanKnight extends Quest
}
else
{
giveAdena(player, 163800, true);
giveItems(player, SWORD_OF_RITUAL, 1);
takeItems(player, COIN_OF_LORDS1, 1);
takeItems(player, COIN_OF_LORDS2, 1);
@@ -437,15 +441,15 @@ public final class Q00402_PathOfTheHumanKnight extends Quest
final int level = player.getLevel();
if (level >= 20)
{
addExpAndSp(player, 320534, 23152);
addExpAndSp(player, 80314, 5087);
}
else if (level == 19)
{
addExpAndSp(player, 456128, 29850);
addExpAndSp(player, 80314, 5087);
}
else
{
addExpAndSp(player, 591724, 36542);
addExpAndSp(player, 80314, 5087);
}
qs.exitQuest(false, true);
player.sendPacket(new SocialAction(player.getObjectId(), 3));

View File

@@ -63,7 +63,7 @@ public final class Q00403_PathOfTheRogue extends Quest
// Reward
private static final int BEZIQUES_RECOMMENDATION = 1190;
// Misc
private static final int MIN_LEVEL = 18;
private static final int MIN_LEVEL = 19;
private static final int REQUIRED_ITEM_COUNT = 10;
// Quest Monster
private static final int CATS_EYE_BANDIT = 27038;
@@ -269,13 +269,20 @@ public final class Q00403_PathOfTheRogue extends Quest
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (qs.isCreated() || qs.isCompleted())
if (qs.isCreated())
{
if (npc.getId() == CAPTAIN_BEZIQUE)
{
htmltext = "30379-01.htm";
}
}
if (qs.isCompleted())
{
if (npc.getId() == CAPTAIN_BEZIQUE)
{
return htmltext;
}
}
else if (qs.isStarted())
{
switch (npc.getId())
@@ -284,7 +291,6 @@ public final class Q00403_PathOfTheRogue extends Quest
{
if (hasQuestItems(player, STOLEN_JEWELRY, STOLEN_TOMES, STOLEN_RING, STOLEN_NECKLACE))
{
giveAdena(player, 163800, true);
takeItems(player, NETIS_BOW, 1);
takeItems(player, NETIS_DAGGER, 1);
takeItems(player, MOST_WANTED_LIST, 1);
@@ -296,15 +302,15 @@ public final class Q00403_PathOfTheRogue extends Quest
final int level = player.getLevel();
if (level >= 20)
{
addExpAndSp(player, 320534, 20232);
addExpAndSp(player, 80314, 5087);
}
else if (level == 19)
{
addExpAndSp(player, 456128, 26930);
addExpAndSp(player, 80314, 5087);
}
else
{
addExpAndSp(player, 591724, 33628);
addExpAndSp(player, 80314, 5087);
}
qs.exitQuest(false, true);
player.sendPacket(new SocialAction(player.getObjectId(), 3));

View File

@@ -59,7 +59,7 @@ public final class Q00404_PathOfTheHumanWizard extends Quest
// Quest Monster
private static final int WATER_SEER = 27030;
// Misc
private static final int MIN_LEVEL = 18;
private static final int MIN_LEVEL = 19;
public Q00404_PathOfTheHumanWizard()
{
@@ -181,13 +181,20 @@ public final class Q00404_PathOfTheHumanWizard extends Quest
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (qs.isCreated() || qs.isCompleted())
if (qs.isCreated())
{
if (npc.getId() == PARINA)
{
htmltext = "30391-04.htm";
}
}
if (qs.isCompleted())
{
if (npc.getId() == PARINA)
{
return htmltext;
}
}
else if (qs.isStarted())
{
switch (npc.getId())
@@ -200,7 +207,6 @@ public final class Q00404_PathOfTheHumanWizard extends Quest
}
else
{
giveAdena(player, 163800, true);
takeItems(player, FLAME_EARING, 1);
takeItems(player, WIND_BANGLE, 1);
takeItems(player, WATER_NECKLACE, 1);
@@ -212,15 +218,15 @@ public final class Q00404_PathOfTheHumanWizard extends Quest
final int level = player.getLevel();
if (level >= 20)
{
addExpAndSp(player, 320534, 23152);
addExpAndSp(player, 80314, 5087);
}
else if (level == 19)
{
addExpAndSp(player, 456128, 29850);
addExpAndSp(player, 80314, 5087);
}
else
{
addExpAndSp(player, 591724, 36548);
addExpAndSp(player, 80314, 5087);
}
qs.exitQuest(false, true);
player.sendPacket(new SocialAction(player.getObjectId(), 3));

View File

@@ -55,7 +55,7 @@ public final class Q00405_PathOfTheCleric extends Quest
private static final int RUIN_ZOMBIE = 20026;
private static final int RUIN_ZOMBIE_LEADER = 20029;
// Misc
private static final int MIN_LEVEL = 18;
private static final int MIN_LEVEL = 19;
public Q00405_PathOfTheCleric()
{
@@ -134,7 +134,7 @@ public final class Q00405_PathOfTheCleric extends Quest
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (qs.isCreated() || qs.isCompleted())
if (qs.isCreated())
{
if (npc.getId() == ZIGAUNT)
{
@@ -148,6 +148,13 @@ public final class Q00405_PathOfTheCleric extends Quest
}
}
}
else if (qs.isCompleted())
{
if (npc.getId() == ZIGAUNT)
{
return htmltext;
}
}
else if (qs.isStarted())
{
switch (npc.getId())
@@ -160,22 +167,21 @@ public final class Q00405_PathOfTheCleric extends Quest
}
else if (hasQuestItems(player, LETTER_OF_ORDER_2ND, LEMONIELLS_COVENANT))
{
giveAdena(player, 163800, true);
takeItems(player, LETTER_OF_ORDER_2ND, 1);
takeItems(player, LEMONIELLS_COVENANT, 1);
giveItems(player, MARK_OF_FAITH, 1);
final int level = player.getLevel();
if (level >= 20)
{
addExpAndSp(player, 320534, 23152);
addExpAndSp(player, 80314, 5087);
}
else if (level == 19)
{
addExpAndSp(player, 456128, 28630);
addExpAndSp(player, 80314, 5087);
}
else
{
addExpAndSp(player, 591724, 35328);
addExpAndSp(player, 80314, 5087);
}
qs.exitQuest(false, true);
player.sendPacket(new SocialAction(player.getObjectId(), 3));

View File

@@ -47,7 +47,7 @@ public final class Q00406_PathOfTheElvenKnight extends Quest
// Reward
private static final int ELVEN_KNIGHT_BROOCH = 1204;
// Misc
private static final int MIN_LEVEL = 18;
private static final int MIN_LEVEL = 19;
// Mobs
private static final int OL_MAHUM_NOVICE = 20782;
private static final Map<Integer, ItemChanceHolder> MONSTER_DROPS = new HashMap<>();
@@ -169,13 +169,20 @@ public final class Q00406_PathOfTheElvenKnight extends Quest
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (qs.isCreated() || qs.isCompleted())
if (qs.isCreated())
{
if (npc.getId() == MASTER_SORIUS)
{
htmltext = "30327-01.htm";
}
}
else if (qs.isCompleted())
{
if (npc.getId() == MASTER_SORIUS)
{
return htmltext;
}
}
else if (qs.isStarted())
{
switch (npc.getId())
@@ -208,7 +215,6 @@ public final class Q00406_PathOfTheElvenKnight extends Quest
}
else
{
giveAdena(player, 163800, true);
if (!hasQuestItems(player, ELVEN_KNIGHT_BROOCH))
{
giveItems(player, ELVEN_KNIGHT_BROOCH, 1);
@@ -216,15 +222,15 @@ public final class Q00406_PathOfTheElvenKnight extends Quest
final int level = player.getLevel();
if (level >= 20)
{
addExpAndSp(player, 320534, 23152);
addExpAndSp(player, 80314, 5087);
}
else if (level == 19)
{
addExpAndSp(player, 456128, 29850);
addExpAndSp(player, 80314, 5087);
}
else
{
addExpAndSp(player, 591724, 33328);
addExpAndSp(player, 80314, 5087);
}
qs.exitQuest(false, true);
player.sendPacket(new SocialAction(player.getObjectId(), 3));

View File

@@ -53,7 +53,7 @@ public final class Q00407_PathOfTheElvenScout extends Quest
// Quest Monster
private static final int OL_MAHUM_SENTRY = 27031;
// Misc
private static final int MIN_LEVEL = 18;
private static final int MIN_LEVEL = 19;
public Q00407_PathOfTheElvenScout()
{
@@ -214,13 +214,20 @@ public final class Q00407_PathOfTheElvenScout extends Quest
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (qs.isCreated() || qs.isCompleted())
if (qs.isCreated())
{
if (npc.getId() == MASTER_REORIA)
{
htmltext = "30328-01.htm";
}
}
if (qs.isCompleted())
{
if (npc.getId() == MASTER_REORIA)
{
return htmltext;
}
}
else if (qs.isStarted())
{
switch (npc.getId())
@@ -242,17 +249,16 @@ public final class Q00407_PathOfTheElvenScout extends Quest
final int level = player.getLevel();
if (level >= 20)
{
addExpAndSp(player, 320534, 19932);
addExpAndSp(player, 80314, 5087);
}
else if (level == 19)
{
addExpAndSp(player, 456128, 26630);
addExpAndSp(player, 80314, 5087);
}
else
{
addExpAndSp(player, 591724, 33328);
addExpAndSp(player, 80314, 5087);
}
giveAdena(player, 163800, true);
qs.exitQuest(false, true);
player.sendPacket(new SocialAction(player.getObjectId(), 3));
htmltext = "30328-07.html";

View File

@@ -57,7 +57,7 @@ public final class Q00408_PathOfTheElvenWizard extends Quest
private static final int SUKAR_WERERAT_LEADER = 20047;
private static final int PINCER_SPIDER = 20466;
// Misc
private static final int MIN_LEVEL = 18;
private static final int MIN_LEVEL = 19;
public Q00408_PathOfTheElvenWizard()
{
@@ -261,13 +261,20 @@ public final class Q00408_PathOfTheElvenWizard extends Quest
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (qs.isCreated() || qs.isCompleted())
if (qs.isCreated())
{
if (npc.getId() == ROSSELA)
{
htmltext = "30414-01.htm";
}
}
else if (qs.isCompleted())
{
if (npc.getId() == ROSSELA)
{
return htmltext;
}
}
else if (qs.isStarted())
{
switch (npc.getId())
@@ -327,7 +334,6 @@ public final class Q00408_PathOfTheElvenWizard extends Quest
{
if (!hasAtLeastOneQuestItem(player, ROSELLAS_LETTER, APPETIZING_APPLE, IMMORTAL_LOVE, GREENISS_CHARM, SAP_OF_THE_MOTHER_TREE, LUCKY_POTPOURRI) && hasQuestItems(player, FERTILITY_PERIDOT, MAGICAL_POWERS_RUBY, NOBILITY_AMETHYST, PURE_AQUAMARINE))
{
giveAdena(player, 163800, true);
if (!hasQuestItems(player, ETERNITY_DIAMOND))
{
giveItems(player, ETERNITY_DIAMOND, 1);
@@ -335,15 +341,15 @@ public final class Q00408_PathOfTheElvenWizard extends Quest
final int level = player.getLevel();
if (level >= 20)
{
addExpAndSp(player, 320534, 22532);
addExpAndSp(player, 80314, 5087);
}
else if (level == 19)
{
addExpAndSp(player, 456128, 29230);
addExpAndSp(player, 80314, 5087);
}
else
{
addExpAndSp(player, 591724, 35928);
addExpAndSp(player, 80314, 5087);
}
qs.exitQuest(false, true);
player.sendPacket(new SocialAction(player.getObjectId(), 3));

View File

@@ -47,7 +47,7 @@ public final class Q00409_PathOfTheElvenOracle extends Quest
// Reward
private static final int LEAF_OF_ORACLE = 1235;
// Misc
private static final int MIN_LEVEL = 18;
private static final int MIN_LEVEL = 19;
// Quest Monster
private static final int lIZARDMAN_WARRIOR = 27032;
private static final int LIZARDMAN_SCOUT = 27033;
@@ -250,7 +250,7 @@ public final class Q00409_PathOfTheElvenOracle extends Quest
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (qs.isCreated() || qs.isCompleted())
if (qs.isCreated())
{
if (npc.getId() == PRIEST_MANUEL)
{
@@ -264,6 +264,13 @@ public final class Q00409_PathOfTheElvenOracle extends Quest
}
}
}
else if (qs.isCompleted())
{
if (npc.getId() == PRIEST_MANUEL)
{
return htmltext;
}
}
else if (qs.isStarted())
{
switch (npc.getId())
@@ -290,20 +297,19 @@ public final class Q00409_PathOfTheElvenOracle extends Quest
{
if (!hasQuestItems(player, HALF_OF_DAIRY))
{
giveAdena(player, 163800, true);
giveItems(player, LEAF_OF_ORACLE, 1);
final int level = player.getLevel();
if (level >= 20)
{
addExpAndSp(player, 320534, 20392);
addExpAndSp(player, 80314, 5087);
}
else if (level == 19)
{
addExpAndSp(player, 456128, 27090);
addExpAndSp(player, 80314, 5087);
}
else
{
addExpAndSp(player, 591724, 33788);
addExpAndSp(player, 80314, 5087);
}
qs.exitQuest(false, true);
player.sendPacket(new SocialAction(player.getObjectId(), 3));

View File

@@ -49,7 +49,7 @@ public final class Q00410_PathOfThePalusKnight extends Quest
private static final int ARACHNID_TRACKER = 20043;
private static final int LYCANTHROPE = 20049;
// Misc
private static final int MIN_LEVEL = 18;
private static final int MIN_LEVEL = 19;
public Q00410_PathOfThePalusKnight()
{
@@ -214,13 +214,20 @@ public final class Q00410_PathOfThePalusKnight extends Quest
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (qs.isCreated() || qs.isCompleted())
if (qs.isCreated())
{
if (npc.getId() == MASTER_VIRGIL)
{
htmltext = "30329-01.htm";
}
}
else if (qs.isCompleted())
{
if (npc.getId() == MASTER_VIRGIL)
{
return htmltext;
}
}
else if (qs.isStarted())
{
switch (npc.getId())
@@ -244,20 +251,19 @@ public final class Q00410_PathOfThePalusKnight extends Quest
}
else if (hasQuestItems(player, COFFIN_OF_ETERNAL_REST))
{
giveAdena(player, 163800, true);
giveItems(player, GAZE_OF_ABYSS, 1);
final int level = player.getLevel();
if (level >= 20)
{
addExpAndSp(player, 320534, 26212);
addExpAndSp(player, 80314, 5087);
}
else if (level == 19)
{
addExpAndSp(player, 456128, 32910);
addExpAndSp(player, 80314, 5087);
}
else
{
addExpAndSp(player, 591724, 39608);
addExpAndSp(player, 80314, 5087);
}
qs.exitQuest(false, true);
player.sendPacket(new SocialAction(player.getObjectId(), 3));

View File

@@ -49,7 +49,7 @@ public final class Q00411_PathOfTheAssassin extends Quest
// Quest Monster
private static final int CALPICO = 27036;
// Misc
private static final int MIN_LEVEL = 18;
private static final int MIN_LEVEL = 19;
public Q00411_PathOfTheAssassin()
{
@@ -187,7 +187,7 @@ public final class Q00411_PathOfTheAssassin extends Quest
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (qs.isCreated() || qs.isCompleted())
if (qs.isCreated())
{
if (npc.getId() == TRISKEL)
{
@@ -201,6 +201,13 @@ public final class Q00411_PathOfTheAssassin extends Quest
}
}
}
else if (qs.isCompleted())
{
if (npc.getId() == TRISKEL)
{
return htmltext;
}
}
else if (qs.isStarted())
{
switch (npc.getId())
@@ -209,20 +216,19 @@ public final class Q00411_PathOfTheAssassin extends Quest
{
if (!hasAtLeastOneQuestItem(player, ARKENIAS_LETTER, LEIKANS_NOTE, SHILENS_TEARS, IRON_HEART) && hasQuestItems(player, ARKENIAS_RECOMMENDATION))
{
giveAdena(player, 163800, true);
giveItems(player, IRON_HEART, 1);
final int level = player.getLevel();
if (level >= 20)
{
addExpAndSp(player, 320534, 35830);
addExpAndSp(player, 80314, 5087);
}
else if (level == 19)
{
addExpAndSp(player, 456128, 35830);
addExpAndSp(player, 80314, 5087);
}
else
{
addExpAndSp(player, 591724, 42528);
addExpAndSp(player, 80314, 5087);
}
qs.exitQuest(false, true);
player.sendPacket(new SocialAction(player.getObjectId(), 3));

View File

@@ -56,7 +56,7 @@ public final class Q00412_PathOfTheDarkWizard extends Quest
private static final int SKELETON_HUNTER = 20517;
private static final int SKELETON_HUNTER_ARCHER = 20518;
// Misc
private static final int MIN_LEVEL = 18;
private static final int MIN_LEVEL = 19;
public Q00412_PathOfTheDarkWizard()
{
@@ -246,7 +246,7 @@ public final class Q00412_PathOfTheDarkWizard extends Quest
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (qs.isCreated() || qs.isCompleted())
if (qs.isCreated())
{
if (npc.getId() == VARIKA)
{
@@ -260,6 +260,13 @@ public final class Q00412_PathOfTheDarkWizard extends Quest
}
}
}
else if (qs.isCompleted())
{
if (npc.getId() == VARIKA)
{
return htmltext;
}
}
else if (qs.isStarted())
{
switch (npc.getId())
@@ -268,20 +275,19 @@ public final class Q00412_PathOfTheDarkWizard extends Quest
{
if (hasQuestItems(player, SEEDS_OF_DESPAIR, SEEDS_OF_HORROR, SEEDS_OF_LUNACY, SEEDS_OF_ANGER))
{
giveAdena(player, 163800, true);
giveItems(player, JEWEL_OF_DARKNESS, 1);
final int level = player.getLevel();
if (level >= 20)
{
addExpAndSp(player, 320534, 28630);
addExpAndSp(player, 80314, 5087);
}
else if (level == 19)
{
addExpAndSp(player, 456128, 28630);
addExpAndSp(player, 80314, 5087);
}
else
{
addExpAndSp(player, 591724, 35328);
addExpAndSp(player, 80314, 5087);
}
qs.exitQuest(false, true);
player.sendPacket(new SocialAction(player.getObjectId(), 3));

View File

@@ -53,7 +53,7 @@ public final class Q00413_PathOfTheShillienOracle extends Quest
private static final int SKELETON_INFANTRYMAN = 20515;
private static final int DARK_SUCCUBUS = 20776;
// Misc
private static final int MIN_LEVEL = 18;
private static final int MIN_LEVEL = 19;
public Q00413_PathOfTheShillienOracle()
{
@@ -203,13 +203,20 @@ public final class Q00413_PathOfTheShillienOracle extends Quest
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (qs.isCreated() || qs.isCompleted())
if (qs.isCreated())
{
if (npc.getId() == MAGISTER_SIDRA)
{
htmltext = "30330-01.htm";
}
}
else if (qs.isCompleted())
{
if (npc.getId() == MAGISTER_SIDRA)
{
return htmltext;
}
}
else if (qs.isStarted())
{
switch (npc.getId())
@@ -230,20 +237,19 @@ public final class Q00413_PathOfTheShillienOracle extends Quest
}
else if (hasAtLeastOneQuestItem(player, ANDARIEL_BOOK, GARMIELS_BOOK))
{
giveAdena(player, 163800, true);
giveItems(player, ORB_OF_ABYSS, 1);
final int level = player.getLevel();
if (level >= 20)
{
addExpAndSp(player, 320534, 26532);
addExpAndSp(player, 80314, 5087);
}
else if (level == 19)
{
addExpAndSp(player, 456128, 33230);
addExpAndSp(player, 80314, 5087);
}
else
{
addExpAndSp(player, 591724, 39928);
addExpAndSp(player, 80314, 5087);
}
qs.exitQuest(false, true);
player.sendPacket(new SocialAction(player.getObjectId(), 3));

View File

@@ -0,0 +1,3 @@
<html><body>Prefect Kasman:<br>
I have received notice from Karukia. You were given the task to destroy the betrayers, right? They are sly scoundrels, so you must be careful in dealing with them. After you finish your task, bring me back their heads!
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Prefect Kasman:<br>
Now you have one left. Go and kill the scoundrel!
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Prefect Kasman:<br>
Foul betrayers, the Umbar tribe, to think that they abandoned the courage and loyalty of high-level orcs, they have become low Orcs depraved in body as well as in soul. How truly wicked they look. I am moved to think that we have shown mercy by killing them!<br>
Anyway, you have done well. You have truly demonstrated both courage and loyalty. Congratulations! I bestow this token on you. Take it and go to <font color="LEVEL">High Prefect Osborn</font> right here! He will change your profession to Orc Raider.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Prefect Karukia:<br>
Orc Raiders are of the most elite rank among fighters of our race! Their mere appearance on the battlefield makes the enemy troops shiver in fear!<br>
To earn the qualifications to become an Orc Raider, you must prove that you have courage that has no regard for death, and absolute loyalty to the Orcs. There have been many young ones that lost their lives trying to prove their courage and loyalty! It is not something to challenge with a light heart!<br>
<a action="bypass -h Quest Q414_PathToAnOrcRaider 30570-05.htm">Say you want to be an Orc Raider</a>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Prefect Karukia:<br>
Of course, I know your goal is to be a dignified and noble member of our race. But courage unsupported by ability is foolishness! That is a path that leads only to a meaningless death. Train patiently, youngster, and your chance will come. <font color="LEVEL">See me again when you reach level 19!</font>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Prefect Karukia:<br>
You fool! You have already been selected as a courageous Orc Raider! Don't waste my time with useless questions. Go out to the battlefield and strike down the enemy!
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Prefect Karukia:<br>
Only the most courageous Orc Fighters are chosen to be Orc Raiders. You don't have the qualifications to become a Marauder!
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Prefect Karukia:<br>
Oh! The Mark of the Raider! Another strong Warrior is born to fight for the Kingdom! Ha! You must go at once to the Kingdom of Humans and show this mark to the High Prefect there! He'll transfer you to the Raider class. You should visit either High Prefect Osborn in <font color="LEVEL">Gludin Village</font> or High Prefect Pinker in <font color="LEVEL">the Town of Schuttgart</font>.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Prefect Karukia:<br>
Then, I will give you a test! Orc Raiders are completed when they show courage that is unafraid of death and loyalty that is absolute. First, you must prove your loyalty. Destroy the <font color="LEVEL">goblins</font> that spoil the earth and the <font color="LEVEL">Kuruka Ratman Leaders</font> that control that filthy race!<br>
Take this Map. It is marked with the places where there are goblin tribes. If you obliterate the <font color="LEVEL">goblin tomb raider leader</font> there, a Kuruka Ratman Leader will appear, so make sure not to let him get away! We do not need captives. Remember, you must kill at least ten Kuruka Ratman Leaders. Plant the power and fear of the Orcs into the enemy's heart!
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Prefect Karukia:<br>
Why have you come back already? Didn't I tell you to bring back <font color="LEVEL">ten kuruka ratman teeth</font>? Is this all the courage you can muster?
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Prefect Karukia:<br>
You accomplished the mission well, but don't get too sure of yourself! As an Orc Raider, that should've been nothing to you! Now you must prove your loyalty.<br>
Two Judges await you. Which do you want to go to?<br>
<a action="bypass -h Quest Q414_PathToAnOrcRaider 30570-07a.htm">"I want to go to Gludin Village."</a><br>
<a action="bypass -h Quest Q414_PathToAnOrcRaider 30570-07b.htm">"I want to go to the Town of Schuttgart."</a>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Prefect Karukia:<br>
We of the Orc Kingdom have long cherished our tradition of obedience to our elders. Having said that, there are always certain individuals who'd like to change the way we do things...<br>
Some such criminal dogs are said to be hiding in Gludin Village! Speak with Prefect Kasman of Gludin Village... He'll tell you what you need to do!
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Prefect Karukia:<br>
We of the Orc Kingdom have long cherished our tradition of obedience to our elders. Having said that, there are always certain individuals who'd like to change the way we do things...<br>
Some such criminal dogs are said to be hiding in the Town of Schuttgart! Speak with Tazeer, the Lord of Schuttgart... He'll tell you what you need to do!
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Prefect Karukia:<br>
You have not yet proven your loyalty! There are many traitors hiding far away in Gludin to avoid our eyes! They think they are safe, but we have not forgotten them. Go on now and put an end to the betrayers and prove your loyalty!<br>
When you complete this task, take the heads of the two traitors to <font color="LEVEL">Prefect Kasman in the village of Gludin</font>. If you have truly earned the qualifications to become an Orc Raider, you will receive a token to change profession from him.
</body></html>

View File

@@ -0,0 +1,7 @@
<html><body>Prefect Tazeer:<br>
All glory flows from the great fire!<br>
Are you a young soldier of the Orc Kingdom? Surely you realize that you must prove your loyalty in order to be an Orc Raider.<br>
The test is very simple. Unlike in your land, there are many lower Orcs here, who hold much power...<br>
Any move against them would take a special kind of courage... Do you have it?<br>
<a action="bypass -h Quest Q414_PathToAnOrcRaider 31978-02.htm">"I do."</a>
</body></html>

View File

@@ -0,0 +1,7 @@
<html><body>Prefect Tazeer:<br>
Very well! Then pay close attention!<br>
The <font color="LEVEL">Timora Orcs</font> betrayed us by joining the dreaded Ragna Orcs, who have long been the scourge of this area. They can usually be found near <font color="LEVEL">the lake between the Crypts of Disgrace and the Den of Evil</font>. They hide in the Den of Evil whenever they hear that we're sending a powerful Orc after them.<br>
Letting their betrayal go unchallenged would harm the reputation of the entire Orc Kingdom! If we secretly send an unknown Orc like you after them, they might be taken off-guard...<br>
Please, destroy the Timora Orcs!<br>
<a action="bypass -h Quest Q414_PathToAnOrcRaider 31978-03.htm">"I'll do it."</a>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Prefect Tazeer:<br>
Excellent! I won't tell you that you won't be in serious danger, but I believe that you're skilled enough to defeat the Timora Orcs.<br>
Bring me one of their heads and I'll reward you with the Mark of the Raider!<br>
Go now!
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Prefect Tazeer:<br>
The traitorous <font color="LEVEL">Timora Orcs</font> can be found near <font color="LEVEL">the lake between the Crypts of Disgrace and the Den of Evil</font>!<br>
Now go and bring me back one of their heads!
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Prefect Tazeer:<br>
Tejakar Oroca! Tejakar Renegade Raider! You've brought me the head of a traitor!<br>
Please accept this Mark of the Raider! Take it to the High Prefect and he will qualify you as an Orc Raider if your skills are good enough!<br>
Glory be with you, young Orc!
</body></html>

View File

@@ -0,0 +1,327 @@
/*
* Copyright (C) 2004-2015 L2J DataPack
*
* This file is part of L2J DataPack.
*
* L2J DataPack is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* L2J DataPack is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package quests.Q00414_PathOfTheOrcRaider;
import com.l2jmobius.gameserver.ai.CtrlIntention;
import com.l2jmobius.gameserver.enums.QuestSound;
import com.l2jmobius.gameserver.model.actor.L2Attackable;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.base.ClassId;
import com.l2jmobius.gameserver.model.quest.Quest;
import com.l2jmobius.gameserver.model.quest.QuestState;
import com.l2jmobius.gameserver.network.serverpackets.SocialAction;
import com.l2jmobius.gameserver.util.Util;
/**
* Path Of The Orc Raider (414)
* @author ivantotov
*/
public final class Q00414_PathOfTheOrcRaider extends Quest
{
// NPCs
private static final int PREFECT_KARUKIA = 30570;
private static final int PREFRCT_KASMAN = 30501;
// Items
private static final int GREEN_BLOOD = 1578;
private static final int GOBLIN_DWELLING_MAP = 1579;
private static final int KURUKA_RATMAN_TOOTH = 1580;
private static final int BETRAYER_UMBAR_REPORT = 1589;
private static final int BETRAYER_ZAKAN_REPORT = 1590;
private static final int HEAD_OF_BETRAYER = 1591;
private static final int TIMORA_ORC_HEAD = 8544;
// Reward
private static final int MARK_OF_RAIDER = 1592;
// Quest Monster
private static final int KURUKA_RATMAN_LEADER = 27045;
private static final int UMBAR_ORC = 27054;
// Monster
private static final int GOBLIN_TOMB_RAIDER_LEADER = 20320;
// Misc
private static final int MIN_LEVEL = 19;
public Q00414_PathOfTheOrcRaider()
{
super(414);
addStartNpc(PREFECT_KARUKIA);
addTalkId(PREFECT_KARUKIA, PREFRCT_KASMAN);
addKillId(KURUKA_RATMAN_LEADER, UMBAR_ORC, GOBLIN_TOMB_RAIDER_LEADER);
registerQuestItems(GREEN_BLOOD, GOBLIN_DWELLING_MAP, KURUKA_RATMAN_TOOTH, BETRAYER_UMBAR_REPORT, BETRAYER_ZAKAN_REPORT, HEAD_OF_BETRAYER, TIMORA_ORC_HEAD);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}
String htmltext = null;
switch (event)
{
case "ACCEPT":
{
if (player.getClassId() == ClassId.ORC_FIGHTER)
{
if (player.getLevel() >= MIN_LEVEL)
{
if (hasQuestItems(player, MARK_OF_RAIDER))
{
htmltext = "30570-04.htm";
}
else
{
if (!hasQuestItems(player, GOBLIN_DWELLING_MAP))
{
giveItems(player, GOBLIN_DWELLING_MAP, 1);
}
qs.startQuest();
htmltext = "30570-05.htm";
}
}
else
{
htmltext = "30570-02.htm";
}
}
else if (player.getClassId() == ClassId.ORC_RAIDER)
{
htmltext = "30570-02a.htm";
}
else
{
htmltext = "30570-03.htm";
}
break;
}
case "30570-07a.html":
{
if (hasQuestItems(player, GOBLIN_DWELLING_MAP) && (getQuestItemsCount(player, KURUKA_RATMAN_TOOTH) >= 10))
{
takeItems(player, GOBLIN_DWELLING_MAP, 1);
takeItems(player, KURUKA_RATMAN_TOOTH, -1);
giveItems(player, BETRAYER_UMBAR_REPORT, 1);
giveItems(player, BETRAYER_ZAKAN_REPORT, 1);
qs.setCond(3, true);
htmltext = event;
}
break;
}
case "30570-07b.html":
{
if (hasQuestItems(player, GOBLIN_DWELLING_MAP) && (getQuestItemsCount(player, KURUKA_RATMAN_TOOTH) >= 10))
{
takeItems(player, GOBLIN_DWELLING_MAP, 1);
takeItems(player, KURUKA_RATMAN_TOOTH, -1);
qs.setCond(5, true);
qs.setMemoState(2);
htmltext = event;
}
break;
}
case "31978-04.html":
{
if (qs.isMemoState(2))
{
htmltext = event;
}
break;
}
case "31978-02.html":
{
if (qs.isMemoState(2))
{
qs.setMemoState(3);
qs.setCond(6, true);
htmltext = event;
}
break;
}
}
return htmltext;
}
@Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
{
switch (npc.getId())
{
case GOBLIN_TOMB_RAIDER_LEADER:
{
if (hasQuestItems(killer, GOBLIN_DWELLING_MAP) && (getQuestItemsCount(killer, KURUKA_RATMAN_TOOTH) < 10) && (getQuestItemsCount(killer, GREEN_BLOOD) <= 20))
{
if (getQuestItemsCount(killer, GREEN_BLOOD) <= getRandom(20))
{
giveItems(killer, GREEN_BLOOD, 1);
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
else
{
takeItems(killer, GREEN_BLOOD, -1);
final L2Attackable monster = (L2Attackable) addSpawn(KURUKA_RATMAN_LEADER, npc, true, 0, true);
attackPlayer(monster, killer);
}
}
break;
}
case KURUKA_RATMAN_LEADER:
{
if (hasQuestItems(killer, GOBLIN_DWELLING_MAP) && (getQuestItemsCount(killer, KURUKA_RATMAN_TOOTH) < 10))
{
takeItems(killer, GREEN_BLOOD, -1);
if (getQuestItemsCount(killer, KURUKA_RATMAN_TOOTH) >= 9)
{
giveItems(killer, KURUKA_RATMAN_TOOTH, 1);
qs.setCond(2, true);
}
else
{
giveItems(killer, KURUKA_RATMAN_TOOTH, 1);
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
}
break;
}
case UMBAR_ORC:
{
if (hasAtLeastOneQuestItem(killer, BETRAYER_UMBAR_REPORT, BETRAYER_ZAKAN_REPORT) && (getQuestItemsCount(killer, HEAD_OF_BETRAYER) < 2) && (getRandom(10) < 2))
{
giveItems(killer, HEAD_OF_BETRAYER, 1);
if (hasQuestItems(killer, BETRAYER_ZAKAN_REPORT))
{
takeItems(killer, BETRAYER_ZAKAN_REPORT, 1);
}
else if (hasQuestItems(killer, BETRAYER_UMBAR_REPORT))
{
takeItems(killer, BETRAYER_UMBAR_REPORT, 1);
}
if (getQuestItemsCount(killer, HEAD_OF_BETRAYER) == 2)
{
qs.setCond(4, true);
}
else
{
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
}
break;
}
}
}
return super.onKill(npc, killer, isSummon);
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (qs.isCreated())
{
if (npc.getId() == PREFECT_KARUKIA)
{
htmltext = "30570-01.htm";
}
}
else if (qs.isCompleted())
{
if (npc.getId() == PREFECT_KARUKIA)
{
return htmltext;
}
}
else if (qs.isStarted())
{
switch (npc.getId())
{
case PREFECT_KARUKIA:
{
if (hasQuestItems(player, GOBLIN_DWELLING_MAP) && (getQuestItemsCount(player, KURUKA_RATMAN_TOOTH) < 10))
{
htmltext = "30570-06.html";
}
else if (hasQuestItems(player, GOBLIN_DWELLING_MAP) && (getQuestItemsCount(player, KURUKA_RATMAN_TOOTH) >= 10))
{
if (!hasAtLeastOneQuestItem(player, BETRAYER_UMBAR_REPORT, BETRAYER_ZAKAN_REPORT))
{
htmltext = "30570-07.html";
}
}
else if (hasQuestItems(player, HEAD_OF_BETRAYER) || hasAtLeastOneQuestItem(player, BETRAYER_UMBAR_REPORT, BETRAYER_ZAKAN_REPORT))
{
htmltext = "30570-08.html";
}
else if (qs.isMemoState(2))
{
htmltext = "30570-07b.html";
}
break;
}
case PREFRCT_KASMAN:
{
if (!hasQuestItems(player, HEAD_OF_BETRAYER) && (getQuestItemsCount(player, BETRAYER_UMBAR_REPORT, BETRAYER_ZAKAN_REPORT) >= 2))
{
htmltext = "30501-01.html";
}
else if (getQuestItemsCount(player, HEAD_OF_BETRAYER) == 1)
{
htmltext = "30501-02.html";
}
else if (getQuestItemsCount(player, HEAD_OF_BETRAYER) == 2)
{
giveItems(player, MARK_OF_RAIDER, 1);
final int level = player.getLevel();
if (level >= 20)
{
addExpAndSp(player, 80314, 5087);
}
else if (level == 19)
{
addExpAndSp(player, 80314, 5087);
}
else
{
addExpAndSp(player, 80314, 5087);
}
qs.exitQuest(false, true);
player.sendPacket(new SocialAction(player.getObjectId(), 3));
htmltext = "30501-03.html";
}
break;
}
}
}
return htmltext;
}
private static void attackPlayer(L2Attackable npc, L2PcInstance player)
{
if ((npc != null) && (player != null))
{
npc.setRunning();
npc.addDamageHate(player, 0, 999);
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player);
}
}
}

View File

@@ -0,0 +1,4 @@
<html><body>Prefect Kasman:<br>
To find the second scroll needed in order to become a Monk, you must meet <font color="LEVEL">Khavatari Toruku</font>. To meet him, you must follow the path that heads north from the village. He will be near the fork in the road. When you meet him, give him this fig.<br>
Come back after you have completed his Trial of Steel and you receive the scroll.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Prefect Kasman:<br>
Why have you returned? If you want to find the scroll, go on now to<font color="LEVEL"> Khavatari Toruku</font> He is near the three-way junction if you follow the road north of the village. When you secure the Iron Will Scroll, come back to me.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Prefect Kasman:<br>
You have met Khavatari Toruku! They say that his tasks can be completed only with iron will and determination! That's no problem for one like you, right?
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Prefect Kasman:<br>
Tejakar Oroka! Good work, young fighter! As a result of steady effort and steadfast perseverance, you have obtained both scrolls! Congratulations! Maintain that spirit and go forward. I hope you will become a fighter stronger than anyone else!<br>
Take this totem! It is a token that shows that you have earned the rights and passed the Trial of Flame and Iron to become a Monk. Take this to the high prefect. He will change your profession to Monk.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Gantaki Zu Urutu:<br>
Young one, do you know of the Monks that follow the secret teachings of Pa'agrio? They do not rely on weapons other than their own bodies, believing that through this training they will gain ultimate strength. They have practiced Kabart, the traditional martial art of the Orcs, for thousands of years now.<br>
Only an Orc whose will is as bright as the sacred flame and whose body is as strong as the finest steel may walk the path of a Monk. But the reward is worthwhile -- Kabart Masters can kill even the largest beast with one blow of their bare hands.<br>
<a action="bypass -h Quest Q00415_PathOfTheOrcMonk ACCEPT">Say you want to become a Monk.</a>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Gantaki Zu Urutu:<br>
Only the strongest and most skilled Orc Fighters may attempt to learn our traditional martial art, Kabart. You are simply not fit to become a Monk. Ambition is good, but a wise warrior acknowledges his limitations.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Gantaki Zu Urutu:<br>
Why do you waste your time and mine speaking on such matters? I see that you are already a Monk who holds the 2 scrolls! Return to your training and allow me to go about my duty.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Gantaki Zu Urutu:<br>
Only the strongest and most skilled Orc Fighters may attempt to learn our traditional martial art, Kabart. You are neither physically nor mentally ready to become a Monk. Ambition is good, but a wise warrior acknowledges his limitations. Continue your training and come see me again when you reach level 18.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Gantaki Zu Urutu:<br>
Don't you already have the Khavatari Totem? Take it to the Human kingdom and show it to any Orc high prefect. He will allow you to change your class to Monk. Tejakar Pa'agrio!
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Gantaki Zu Urutu:<br>
To become a Monk, you must possess the 2 scrolls containing the basic secrets of Kabart, the traditional Orc martial art. The first scroll is called the Fiery Spirit Scroll. To obtain it, seek out <font color="LEVEL">Khavatari Rosheek</font>.<br>
<a action="bypass -h Quest Q00415_PathOfTheOrcMonk 30587-06.htm">Ask about Khavatari Rosheek.</a>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Gantaki Zu Urutu:<br>
As you know, Khavatari is a title bestowed on only the greatest Kabart martial art masters. Khavatari Rosheek left our village some time ago to further develop his skills. I have heard rumors that he is near the <font color="LEVEL">Frozen Waterfalls in the northern part of the Immortal Plateau</font>.<br>
But if you him to teach you, it would be wise for you to offer him a gift to show your respect. Here, take this Pomegranate. Perform all the tasks he gives you, no matter how difficult, and he will reward you with the scroll, which you must then bring back to me.<br>
Ah, I almost neglected to tell you the most importatn thing: <font color="LEVEL">while you are taking the test to become a Monk, you must not use any weapons other than fist-type weapons or your bare hands!</font> If you violate this rule, you will not be allowed to complete the test. DO not forget!
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Gantaki Zu Urutu:<br>
To obtain the Fiery Spirit Scroll, seek out <font color="LEVEL">Khavatari Rosheek</font> near the <font color="LEVEL">Frozen Waterfall in the northern part of the Immortal Plateau</font>. Give him the Pomegranate I gave you and follow all his instructions perfectly!
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Gantaki Zu Urutu:<br>
You haven't obtained the Fiery Spirit Scroll yet? No wonder! Khavatari Rosheek, above all others, esteems the traditions of Kabart. He will not give the scroll to just anyone who asks! If you truly wish to become a Monk, you must steel yourself to the task and try again. Did you really think it would be easy?!
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Gantaki Zu Urutu:<br>
Tejakar Oroca! You have brought the Fiery Spirit Scroll! Well done! Now you have the first of the 2 scrolls necessary to become an Orc Monk.<br>
There are two ways to find the second scroll. You may either obtain it from Prefect Kasman of the Human village of Gludin, or you may seek out Kasman's superior: his teacher, Khavatari Aren. What would you like to do?<br>
<a action="bypass -h Quest Q00415_PathOfTheOrcMonk 30587-09b.html">Obtain the scroll from Prefect Kasman.</a><br>
<a action="bypass -h Quest Q00415_PathOfTheOrcMonk 30587-09c.html">Seek Khavatari Aren.</a>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Gantaki Zu Urutu:<br>
Then go to the Human land of Gludio and find <font color="LEVEL">Prefect Kasman</font> in the village called <font color="LEVEL">Gludin</font>. Show him this letter, and he will tell you how to obtain the scroll.<br>
May the sacred flame guide you to success!
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Gantaki Zu Urutu:<br>
Ah, Khavatari Aren... That name has been almost forgotten for many years now.<br>
Not only did she teach Prefect Kasman, but Flame Successor Akkan as well. But she went into seclusion a long time ago, and Khavatari Hubai took her place.<br>
Khavatari Aren lives as a hermit near the Valley of the Lords. I don't know why she chose such a place, but if you seek her out she may still be willing to help you.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Gantaki Zu Urutu:<br>
You haven't left yet? Why do you delay? To find the second scroll, go to the Human land of Gludio and give this letter to <font color="LEVEL">Prefect Kasman</font> in the village known as <font color="LEVEL">Gludin</font>. He will tell you how to find the second scroll.<br>
Waste no more time!
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Gantaki Zu Urutu:<br>
Ah, you have not yet obtained the second scroll? Ha ha! I well know that how difficult it is to do so. But if you cannot overcome this trial, you are certainly not fit to be a Monk. Steel yourself to the task at hand and try again!
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Khavatari Rosheek:<br>
It's a fledgling sent by Gantaki! How dare you disturb my meditation ...<br>
I don't want to associate with someone with no skill! Go catch the <font color="LEVEL">kasha bear</font> with your bare hands! Then, pull out five claws and bring them back in this pouch! Until you finish this task, don't think of coming back!<br>
And take heed! If you use any other weapon besides your bare fists or hand-to-hand weapons, you are disqualified! A true monk must be able to fight without depending on weapons!
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Khavatari Rosheek:<br>
Didn't I tell you not to come back before you caught the <font color="LEVEL">kasha bear</font> and pulled out five claws? Do not disturb my discipline -- just go hunt the bear! And take heed! If you use any other weapon besides your bare fists or combat weapons, you are disqualified!
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Khavatari Rosheek:<br>
Tejakar Oroka! Have you come back already?<br>
I'm sorry but I am meditating, so I do not have any time to deal with you! Go hunt the <font color="LEVEL">kasha bladespider</font>. And bring back five blade-shaped talons in this pouch. Then I will especially put aside some time to teach you.<br>
I tell you again, but if you use any other weapon besides your bare fists or hand-to-hand weapons, you are disqualified! A true monk must be able to fight without depending on weapons!
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Khavatari Rosheek:<br>
Stop bothering me and go catch <font color="LEVEL">kasha blade spiders</font> with your bare fists and combat equipment only. Pull out their blade-shaped talons and bring me back five of them in the pouch that I gave you.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Khavatari Rosheek:<br>
Have you come back already? I was about to rest, but you've disturbed me. Don't be such a nuisance, go and kill the <font color="LEVEL">scarlet salamander</font> and bring back its scales! Collect <font color="LEVEL">five scales</font> in this pouch and bring them to me.<br>
Of course, you should not use anything other than your bare fists and combat equipment!
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Khavatari Rosheek:<br>
Don't be such a nuisance! Capture the <font color="LEVEL">scarlet salamander</font> with your bare fists and combat equipment and pluck out its scales. Bring back <font color="LEVEL">five scales</font> in the pouch that I gave you.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Khavatari Rosheek:<br>
Very good! I haven't seen one with your guts in a long time. Actually, I have nothing to teach you that you have not already taught yourself. The flame stands for strong faith that wishes to become stronger and a fiery desire to achieve victory.<br>
I was testing whether you had the heart to abandon all desires and walk the path of the Monk who pursues only strength. This is the meaning of the Trial of Flame.<br>
Now take this! The Fiery Spirit Scroll! Take it and this letter and go back to <font color="LEVEL">Gantaki Zu Urutu</font>.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Khavatari Rosheek:<br>
What are you waiting for? Take the Fiery Spirit Scroll and letter that I have written you and go to <font color="LEVEL">Gantaki Zu Urutu</font> in the village!
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Khavatari Rosheek:<br>
Young fighter, you have not found the second scroll yet? Then you must strive all the harder!
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Khavatari Toruku:<br>
Come here, young Orc. What is this fig? Is it for me? I have not been able to drink one drop of water for more than a fortnight, so this will come in handy. Thank you!<br>
I see you are a Fighter that wishes to become a Monk. So, you have come to take the Trial of Steel from me! Steel is metal that has become harder in the flame! It refers to the training process of a Monk in reaching a higher level of strength.<br>
The trial is to test your strength against fighter levels of other races that live in Gludio. Find the <font color="LEVEL">Vuku Orc Fighter on Windmill Hill in the southern part of Gludin Village, the ratman warrior on the path to the ruins, the Langk Lizardman Warrior in the Langk Lizardmen Dwellings facing the southern coast, and the Felim Lizardman Warrior in the Fellmere Harvesting Grounds in the northern part of Gludin Village</font> and knock them down! If you have gathered <font color="LEVEL">3 tokens from each race, adding up to 12 tokens in all</font>, put them in this purse and bring them back.<br>
Even if you fight a lower race, you could be defeated if you are absentminded. So keep your wits about you! And one thing more... you must not use any weapon during the trial, other than your bare fists or hand-to-hand weapons. A true Monk must be able to fight without depending on weapons!
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Khavatari Toruku:<br>
To complete the Trial of Steel, you must fight against fighters of various races. The opponents you must knock down are the <font color="LEVEL">Vuku Orc Fighter, ratman warrior, Langk Lizardman Warrior, and Felim warrior</font>. Come back after you have collected three tokens from each race, for a total of 12 tokens.<br>
And, don't forget, you must not use any weapon during the trial other than your bare fists or hand-to-hand weapons. A true Monk must be able to fight without depending on weapons!
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Khavatari Toruku:<br>
Congratulations, young one, for passing the Trial of Steel! As iron becomes harder in the flame, continuous training will make us stronger. Etch this morale deep on your heart.<br>
I will give you the second scroll, the scroll of Steel will, that is needed to become a Monk. Take it and return to <font color="LEVEL">Prefect Kasman in the village of Gludin</font>.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Khavatari Toruku:<br>
You haven't left yet? Take the Iron Will Scroll and go to <font color="LEVEL">Prefect Kasman of the village of Gludin</font>. Then, you will receive the token needed to change profession.
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Seer Moira:<br>
What? You met Khavatari Aren?<br>
Docara Pa'agrio! Surprising indeed! I can't believe that you, a renegade Orc, met Khavatari Aren.....<br>
If you really met him, then prove it!<br>
<a action="bypass -h Quest Q00415_PathOfTheOrcMonk 31979-02.html">"Let me tell you about the Culmination of Kabart."</a>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body><TITLE>Cabart's Geukeu</TITLE><br>
<center>What is Cabart's Geukeu?<br>
<a action="bypass -h Quest Q00415_PathOfTheOrcMonk 31979-03.html">Fairy Tale </a><br>
<a action="bypass -h Quest Q00415_PathOfTheOrcMonk 31979-04.html">Harmony</a><br>
<a action="bypass -h Quest Q00415_PathOfTheOrcMonk 31979-04.html">Enforcement</a></center>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Seer Moira:<br>
You've done well! You're qualified, alright! Please accept this Khavatari Totem. If you take this to the High Prefect, he'll bestow the title of Orc Monk upon you.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Seer Moira:<br>
What? Did you really meet Khavatari Aren? Your answer sounds good, but it's the answer of someone who doesn't know what he is! Come back after you've given it more thought.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Khavatari Aren:<br>
So you are a monk apprentice in training... From the way you move, I'd guess you were trained under Flame Lord Kakai. Is he still in good health?<br>
Yes, it's true I too used to write secret scrolls, but that was a long time ago. Is that what you seek from me for now, young Orc?<br>
<a action="bypass -h Quest Q00415_PathOfTheOrcMonk 32056-02.html">Nod your head.</a>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Khavatari Aren:<br>
Impressive! Your technique is strong for a novice! You remind me of myself as a young Orc...<br>
Hey, Toruku! Come here. See this novice? I have job for one of you. I'll let the two of you determine who should be given the assignment through a contest of combat skill. He's a real fighter, this novice, so be careful!<br>
Are you ready, novice?<br>
<a action="bypass -h Quest Q00415_PathOfTheOrcMonk 32056-03.html">Say you're ready.</a>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Khavatari Aren:<br>
Very well. I will attend to matters here. Go and exercise your Kabart skills on the Kasha Blade Spiders and Kasha Fang Spiders you find. If you kill them and bring back 6 of their fangs, I will accept this as a demonstration of your skill.<br>
You must fight them using only Kabart. Use no sword, spear or axe. Mark this well: if you use a weapon to obtain the fangs, I will know.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Khavatari Aren:<br>
Go and engage the Kasha Blade Spiders and Kasha Fang Spiders you find using only your Kabart training. Bring back 6 of their fangs as evidence of victory, and I will acknowledge your skills. You must fight them using only Kabart. Use no sword, spear or axe. Mark this well: if you use a weapon to obtain the fangs, I will know.
</body></html>

View File

@@ -0,0 +1,7 @@
<html><body>Khavatari Aren:<br>
You have returned with the spider fangs, I perceive. How do I know? I saw your battle!<br>
How did I see it, you ask? The power of Kabart, my young friend! Through it, I can watch you - just like my totem, the spider web of Duda-Mara.<br>
You did very well. Now I will give you a more difficult job to test your worthiness.<br>
There are creatures called <font color="LEVEL">Baar Dre Vanul, who live south of the Immortal Plateau</font>. If you defeat them and bring their horns to me, you will have proven your worth to be a monk.<br>
And yes, once again, you must <font color="LEVEL">fight using only Kabart. If you depend on weapons instead of your own skill, the path to Kabart will remain closed to you.</font>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Khavatari Aren:<br>
There are creatures called <font color="LEVEL">Baar Dre Vanul who live south of the Immortal Plateau</font>. A Necromancer called them forth. If you defeat them and bring their horns to me, you will have proven your worth to be a monk.<br>
And yes, once again, you must <font color="LEVEL">fight using only Kabart. If you depend on weapons instead of your own skill, the path to Kabart will remain closed to you.</font>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Khavatari Aren:<br>
You have returned, and you bear the Baar Dre Vanul's horn.<br>
They are formidable opponents, the Baar Dre Vanul. That fact that you have triumphed is evidence of mastery in Kabart.<br>
Very good. I do not write secret scrolls any more, so all I can give you are my teachings.<br>
<a action="bypass -h Quest Q00415_PathOfTheOrcMonk 32056-08.html">Listen.</a>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Khavatari Aren:<br>
Mastering the fighting skills of Kabart doesn't mean you've mastered Kabart itself. Receiving into your body the energy of nature and the power of totems...these also are part of true mastery. For that, you must view and learn many things, in an effort to understand their true nature.<br>
To understand the complete oneness with everything - that is true mastery of Kabart. Those who claim to have mastered Kabart merely act out the spirits of the totems, whereas those who have truly mastered Kabart become the totem itself. Do not forget this!<br>
Now, take this lesson with you, and go to <font color="LEVEL">Seer Moira</font> in the Town of Schuttgart. If I vouch for your qualifications, he'll give you something you need.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Khavatari Aren:<br>
<font color="LEVEL">The culmination of the art of Kabart is complete oneness.</font> Now, take this lesson and go to <font color="LEVEL">Seer Moira</font> in the Town of Schuttgart. If I vouch for your qualifications, he'll give you something you need.
</body></html>

View File

@@ -0,0 +1,663 @@
/*
* Copyright (C) 2004-2015 L2J DataPack
*
* This file is part of L2J DataPack.
*
* L2J DataPack is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* L2J DataPack is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package quests.Q00415_PathOfTheOrcMonk;
import com.l2jmobius.gameserver.enums.QuestSound;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.base.ClassId;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.model.items.type.WeaponType;
import com.l2jmobius.gameserver.model.quest.Quest;
import com.l2jmobius.gameserver.model.quest.QuestState;
import com.l2jmobius.gameserver.network.serverpackets.SocialAction;
import com.l2jmobius.gameserver.util.Util;
/**
* Path Of The Orc Monk (415)
* @author ivantotov
*/
public final class Q00415_PathOfTheOrcMonk extends Quest
{
// NPCs
private static final int PREFECT_KASMAN = 30501;
private static final int GANTAKI_ZU_URUTU = 30587;
private static final int KHAVATARI_ROSHEEK = 30590;
private static final int KHAVATARI_TORUKU = 30591;
// Items
private static final int POMEGRANATE = 1593;
private static final int LEATHER_POUCH_1ST = 1594;
private static final int LEATHER_POUCH_2ND = 1595;
private static final int LEATHER_POUCH_3RD = 1596;
private static final int LEATHER_POUCH_1ST_FULL = 1597;
private static final int LEATHER_POUCH_2ND_FULL = 1598;
private static final int LEATHER_POUCH_3RD_FULL = 1599;
private static final int KASHA_BEAR_CLAW = 1600;
private static final int KASHA_BLADE_SPIDER_TALON = 1601;
private static final int SCARLET_SALAMANDER_SCALE = 1602;
private static final int FIERY_SPIRIT_SCROLL = 1603;
private static final int ROSHEEKS_LETTER = 1604;
private static final int GANTAKIS_LETTRT_OF_RECOMMENDATION = 1605;
private static final int FIG = 1606;
private static final int LEATHER_POUCH_4TF = 1607;
private static final int LEATHER_POUCH_4TF_FULL = 1608;
private static final int VUKU_ORK_TUSK = 1609;
private static final int RATMAN_FANG = 1610;
private static final int LANGK_LIZARDMAN_TOOTH = 1611;
private static final int FELIM_LIZARDMAN_TOOTH = 1612;
private static final int IRON_WILL_SCROLL = 1613;
private static final int TORUKUS_LETTER = 1614;
private static final int KASHA_SPIDERS_TOOTH = 8545;
private static final int HORN_OF_BAAR_DRE_VANUL = 8546;
// Reward
private static final int KHAVATARI_TOTEM = 1615;
// Monster
private static final int FELIM_LIZARDMAN_WARRIOR = 20014;
private static final int VUKU_ORC_FIGHTER = 20017;
private static final int LANGK_LIZZARDMAN_WARRIOR = 20024;
private static final int RATMAN_WARRIOR = 20359;
private static final int SCARLET_SALAMANDER = 20415;
private static final int KASHA_FANG_SPIDER = 20476;
private static final int KASHA_BLADE_SPIDER = 20478;
private static final int KASHA_BEAR = 20479;
private static final int BAAR_DRE_VANUL = 21118;
// Misc
private static final int MIN_LEVEL = 19;
public Q00415_PathOfTheOrcMonk()
{
super(415);
addStartNpc(GANTAKI_ZU_URUTU);
addTalkId(GANTAKI_ZU_URUTU, PREFECT_KASMAN, KHAVATARI_ROSHEEK, KHAVATARI_TORUKU);
addAttackId(FELIM_LIZARDMAN_WARRIOR, VUKU_ORC_FIGHTER, LANGK_LIZZARDMAN_WARRIOR, RATMAN_WARRIOR, SCARLET_SALAMANDER, KASHA_FANG_SPIDER, KASHA_BLADE_SPIDER, KASHA_BEAR, BAAR_DRE_VANUL);
addKillId(FELIM_LIZARDMAN_WARRIOR, VUKU_ORC_FIGHTER, LANGK_LIZZARDMAN_WARRIOR, RATMAN_WARRIOR, SCARLET_SALAMANDER, KASHA_FANG_SPIDER, KASHA_BLADE_SPIDER, KASHA_BEAR, BAAR_DRE_VANUL);
registerQuestItems(POMEGRANATE, LEATHER_POUCH_1ST, LEATHER_POUCH_2ND, LEATHER_POUCH_3RD, LEATHER_POUCH_1ST_FULL, LEATHER_POUCH_2ND_FULL, LEATHER_POUCH_3RD_FULL, KASHA_BEAR_CLAW, KASHA_BLADE_SPIDER_TALON, SCARLET_SALAMANDER_SCALE, FIERY_SPIRIT_SCROLL, ROSHEEKS_LETTER, GANTAKIS_LETTRT_OF_RECOMMENDATION, FIG, LEATHER_POUCH_4TF, LEATHER_POUCH_4TF_FULL, VUKU_ORK_TUSK, RATMAN_FANG, LANGK_LIZARDMAN_TOOTH, FELIM_LIZARDMAN_TOOTH, IRON_WILL_SCROLL, TORUKUS_LETTER, KASHA_SPIDERS_TOOTH, HORN_OF_BAAR_DRE_VANUL);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}
String htmltext = null;
switch (event)
{
case "ACCEPT":
{
if (player.getClassId() == ClassId.ORC_FIGHTER)
{
if (player.getLevel() >= MIN_LEVEL)
{
if (hasQuestItems(player, KHAVATARI_TOTEM))
{
htmltext = "30587-04.htm";
}
else
{
htmltext = "30587-05.htm";
}
}
else
{
htmltext = "30587-03.htm";
}
}
else if (player.getClassId() == ClassId.ORC_MONK)
{
htmltext = "30587-02a.htm";
}
else
{
htmltext = "30587-02.htm";
}
break;
}
case "30587-06.htm":
{
qs.startQuest();
giveItems(player, POMEGRANATE, 1);
htmltext = event;
break;
}
case "30587-09b.html":
{
if (hasQuestItems(player, FIERY_SPIRIT_SCROLL, ROSHEEKS_LETTER))
{
takeItems(player, ROSHEEKS_LETTER, 1);
giveItems(player, GANTAKIS_LETTRT_OF_RECOMMENDATION, 1);
qs.setCond(9);
htmltext = event;
}
break;
}
case "30587-09c.html":
{
if (hasQuestItems(player, FIERY_SPIRIT_SCROLL, ROSHEEKS_LETTER))
{
takeItems(player, ROSHEEKS_LETTER, 1);
qs.setMemoState(2);
qs.setCond(14);
htmltext = event;
}
break;
}
case "31979-02.html":
{
if (qs.isMemoState(5))
{
htmltext = event;
}
break;
}
case "31979-03.html":
{
if (qs.isMemoState(5))
{
giveItems(player, KHAVATARI_TOTEM, 1);
final int level = player.getLevel();
if (level >= 20)
{
addExpAndSp(player, 80314, 5087);
}
else if (level == 19)
{
addExpAndSp(player, 80314, 5087);
}
else
{
addExpAndSp(player, 80314, 5087);
}
qs.exitQuest(false, true);
player.sendPacket(new SocialAction(player.getObjectId(), 3));
htmltext = event;
}
break;
}
case "31979-04.html":
{
if (qs.isMemoState(5))
{
qs.setCond(20);
htmltext = event;
}
break;
}
case "32056-02.html":
{
if (qs.isMemoState(2))
{
htmltext = event;
}
break;
}
case "32056-03.html":
{
if (qs.isMemoState(2))
{
qs.setMemoState(3);
qs.setCond(15);
htmltext = event;
}
break;
}
case "32056-08.html":
{
if (qs.isMemoState(4) && (getQuestItemsCount(player, HORN_OF_BAAR_DRE_VANUL) >= 1))
{
takeItems(player, HORN_OF_BAAR_DRE_VANUL, -1);
qs.setMemoState(5);
qs.setCond(19);
htmltext = event;
}
break;
}
}
return htmltext;
}
@Override
public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isSummon)
{
final QuestState qs = getQuestState(attacker, false);
if ((qs != null) && qs.isStarted())
{
switch (npc.getScriptValue())
{
case 0:
{
if (!checkWeapon(attacker))
{
npc.setScriptValue(2);
}
else
{
npc.setScriptValue(1);
npc.getVariables().set("Q00415_last_attacker", attacker.getObjectId());
}
break;
}
case 1:
{
if ((npc.getVariables().getInt("Q00415_last_attacker") != attacker.getObjectId()) || !checkWeapon(attacker))
{
npc.setScriptValue(2);
}
break;
}
}
}
return super.onAttack(npc, attacker, damage, isSummon);
}
@Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && qs.isStarted() && npc.isScriptValue(1) && Util.checkIfInRange(1500, npc, killer, true))
{
final long ItemCount = getQuestItemsCount(killer, RATMAN_FANG, LANGK_LIZARDMAN_TOOTH, FELIM_LIZARDMAN_TOOTH, VUKU_ORK_TUSK);
switch (npc.getId())
{
case FELIM_LIZARDMAN_WARRIOR:
{
if (hasQuestItems(killer, LEATHER_POUCH_4TF) && (getQuestItemsCount(killer, FELIM_LIZARDMAN_TOOTH) < 3))
{
if (ItemCount >= 11)
{
takeItems(killer, LEATHER_POUCH_4TF, 1);
giveItems(killer, LEATHER_POUCH_4TF_FULL, 1);
takeItems(killer, VUKU_ORK_TUSK, -1);
takeItems(killer, RATMAN_FANG, -1);
takeItems(killer, LANGK_LIZARDMAN_TOOTH, -1);
takeItems(killer, FELIM_LIZARDMAN_TOOTH, -1);
qs.setCond(12, true);
}
else
{
giveItems(killer, FELIM_LIZARDMAN_TOOTH, 1);
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
}
break;
}
case VUKU_ORC_FIGHTER:
{
if (hasQuestItems(killer, LEATHER_POUCH_4TF) && (getQuestItemsCount(killer, VUKU_ORK_TUSK) < 3))
{
if (ItemCount >= 11)
{
takeItems(killer, LEATHER_POUCH_4TF, 1);
giveItems(killer, LEATHER_POUCH_4TF_FULL, 1);
takeItems(killer, VUKU_ORK_TUSK, -1);
takeItems(killer, RATMAN_FANG, -1);
takeItems(killer, LANGK_LIZARDMAN_TOOTH, -1);
takeItems(killer, FELIM_LIZARDMAN_TOOTH, -1);
qs.setCond(12, true);
}
else
{
giveItems(killer, VUKU_ORK_TUSK, 1);
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
}
break;
}
case LANGK_LIZZARDMAN_WARRIOR:
{
if (hasQuestItems(killer, LEATHER_POUCH_4TF) && (getQuestItemsCount(killer, LANGK_LIZARDMAN_TOOTH) < 3))
{
if (ItemCount >= 11)
{
takeItems(killer, LEATHER_POUCH_4TF, 1);
giveItems(killer, LEATHER_POUCH_4TF_FULL, 1);
takeItems(killer, VUKU_ORK_TUSK, -1);
takeItems(killer, RATMAN_FANG, -1);
takeItems(killer, LANGK_LIZARDMAN_TOOTH, -1);
takeItems(killer, FELIM_LIZARDMAN_TOOTH, -1);
qs.setCond(12, true);
}
else
{
giveItems(killer, LANGK_LIZARDMAN_TOOTH, 1);
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
}
break;
}
case RATMAN_WARRIOR:
{
if (hasQuestItems(killer, LEATHER_POUCH_4TF) && (getQuestItemsCount(killer, RATMAN_FANG) < 3))
{
if (ItemCount >= 11)
{
takeItems(killer, LEATHER_POUCH_4TF, 1);
giveItems(killer, LEATHER_POUCH_4TF_FULL, 1);
takeItems(killer, VUKU_ORK_TUSK, -1);
takeItems(killer, RATMAN_FANG, -1);
takeItems(killer, LANGK_LIZARDMAN_TOOTH, -1);
takeItems(killer, FELIM_LIZARDMAN_TOOTH, -1);
qs.setCond(12, true);
}
else
{
giveItems(killer, RATMAN_FANG, 1);
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
}
break;
}
case SCARLET_SALAMANDER:
{
if (hasQuestItems(killer, LEATHER_POUCH_3RD))
{
if (getQuestItemsCount(killer, SCARLET_SALAMANDER_SCALE) == 4)
{
takeItems(killer, LEATHER_POUCH_3RD, 1);
giveItems(killer, LEATHER_POUCH_3RD_FULL, 1);
takeItems(killer, SCARLET_SALAMANDER_SCALE, -1);
qs.setCond(7, true);
}
else
{
giveItems(killer, SCARLET_SALAMANDER_SCALE, 1);
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
}
break;
}
case KASHA_FANG_SPIDER:
{
if (qs.isMemoState(3) && (getQuestItemsCount(killer, KASHA_SPIDERS_TOOTH) < 6))
{
if (getRandom(100) < 70)
{
giveItems(killer, KASHA_SPIDERS_TOOTH, 1);
if (getQuestItemsCount(killer, KASHA_SPIDERS_TOOTH) >= 6)
{
qs.setCond(16, true);
}
else
{
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
}
}
break;
}
case KASHA_BLADE_SPIDER:
{
if (hasQuestItems(killer, LEATHER_POUCH_2ND))
{
if (getQuestItemsCount(killer, KASHA_BLADE_SPIDER_TALON) == 4)
{
takeItems(killer, LEATHER_POUCH_2ND, 1);
giveItems(killer, LEATHER_POUCH_2ND_FULL, 1);
takeItems(killer, KASHA_BLADE_SPIDER_TALON, -1);
qs.setCond(5, true);
}
else
{
giveItems(killer, KASHA_BLADE_SPIDER_TALON, 1);
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
}
else if (qs.isMemoState(3) && (getQuestItemsCount(killer, KASHA_SPIDERS_TOOTH) < 6))
{
if (getRandom(100) < 70)
{
giveItems(killer, KASHA_SPIDERS_TOOTH, 1);
if (getQuestItemsCount(killer, KASHA_SPIDERS_TOOTH) == 6)
{
qs.setCond(16, true);
}
else
{
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
}
}
break;
}
case KASHA_BEAR:
{
if (hasQuestItems(killer, LEATHER_POUCH_1ST))
{
if (getQuestItemsCount(killer, KASHA_BEAR_CLAW) == 4)
{
takeItems(killer, LEATHER_POUCH_1ST, 1);
giveItems(killer, LEATHER_POUCH_1ST_FULL, 1);
takeItems(killer, KASHA_BEAR_CLAW, -1);
qs.setCond(3, true);
}
else
{
giveItems(killer, KASHA_BEAR_CLAW, 1);
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
}
break;
}
case BAAR_DRE_VANUL:
{
if (qs.isMemoState(4) && !hasQuestItems(killer, HORN_OF_BAAR_DRE_VANUL))
{
if (getRandom(100) < 90)
{
giveItems(killer, HORN_OF_BAAR_DRE_VANUL, 1);
qs.setCond(18, true);
}
}
break;
}
}
}
return super.onKill(npc, killer, isSummon);
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
final int memoState = qs.getMemoState();
String htmltext = getNoQuestMsg(player);
if (qs.isCreated())
{
if (npc.getId() == GANTAKI_ZU_URUTU)
{
htmltext = "30587-01.htm";
}
}
else if (qs.isCompleted())
{
if (npc.getId() == GANTAKI_ZU_URUTU)
{
return htmltext;
}
}
else if (qs.isStarted())
{
switch (npc.getId())
{
case GANTAKI_ZU_URUTU:
{
final long letterCount = getQuestItemsCount(player, LEATHER_POUCH_1ST, LEATHER_POUCH_2ND, LEATHER_POUCH_3RD, LEATHER_POUCH_1ST_FULL, LEATHER_POUCH_2ND_FULL, LEATHER_POUCH_3RD_FULL);
if (memoState == 2)
{
htmltext = "30587-09c.html";
}
else if (hasQuestItems(player, POMEGRANATE) && !hasAtLeastOneQuestItem(player, FIERY_SPIRIT_SCROLL, GANTAKIS_LETTRT_OF_RECOMMENDATION, ROSHEEKS_LETTER) && (letterCount == 0))
{
htmltext = "30587-07.html";
}
else if (!hasAtLeastOneQuestItem(player, FIERY_SPIRIT_SCROLL, POMEGRANATE, GANTAKIS_LETTRT_OF_RECOMMENDATION, ROSHEEKS_LETTER) && (letterCount == 1))
{
htmltext = "30587-08.html";
}
else if (hasQuestItems(player, FIERY_SPIRIT_SCROLL, ROSHEEKS_LETTER) && !hasAtLeastOneQuestItem(player, POMEGRANATE, GANTAKIS_LETTRT_OF_RECOMMENDATION) && (letterCount == 0))
{
htmltext = "30587-09a.html";
}
else if (memoState < 2)
{
if (hasQuestItems(player, FIERY_SPIRIT_SCROLL, GANTAKIS_LETTRT_OF_RECOMMENDATION) && !hasAtLeastOneQuestItem(player, POMEGRANATE, ROSHEEKS_LETTER) && (letterCount == 0))
{
htmltext = "30587-10.html";
}
else if (hasQuestItems(player, FIERY_SPIRIT_SCROLL) && !hasAtLeastOneQuestItem(player, POMEGRANATE, GANTAKIS_LETTRT_OF_RECOMMENDATION, ROSHEEKS_LETTER) && (letterCount == 0))
{
htmltext = "30587-11.html";
}
}
break;
}
case PREFECT_KASMAN:
{
if (hasQuestItems(player, GANTAKIS_LETTRT_OF_RECOMMENDATION))
{
takeItems(player, GANTAKIS_LETTRT_OF_RECOMMENDATION, 1);
giveItems(player, FIG, 1);
qs.setCond(10);
htmltext = "30501-01.html";
}
else if (hasQuestItems(player, FIG) && !hasAtLeastOneQuestItem(player, LEATHER_POUCH_4TF, LEATHER_POUCH_4TF_FULL))
{
htmltext = "30501-02.html";
}
else if (!hasQuestItems(player, FIG) && hasAtLeastOneQuestItem(player, LEATHER_POUCH_4TF, LEATHER_POUCH_4TF_FULL))
{
htmltext = "30501-03.html";
}
else if (hasQuestItems(player, IRON_WILL_SCROLL))
{
giveItems(player, KHAVATARI_TOTEM, 1);
final int level = player.getLevel();
if (level >= 20)
{
addExpAndSp(player, 80314, 5087);
}
else if (level == 19)
{
addExpAndSp(player, 80314, 5087);
}
else
{
addExpAndSp(player, 80314, 5087);
}
qs.exitQuest(false, true);
player.sendPacket(new SocialAction(player.getObjectId(), 3));
htmltext = "30501-04.html";
}
break;
}
case KHAVATARI_ROSHEEK:
{
if (hasQuestItems(player, POMEGRANATE))
{
takeItems(player, POMEGRANATE, 1);
giveItems(player, LEATHER_POUCH_1ST, 1);
qs.setCond(2);
htmltext = "30590-01.html";
}
else if (hasQuestItems(player, LEATHER_POUCH_1ST) && !hasQuestItems(player, LEATHER_POUCH_1ST_FULL))
{
htmltext = "30590-02.html";
}
else if (!hasQuestItems(player, LEATHER_POUCH_1ST) && hasQuestItems(player, LEATHER_POUCH_1ST_FULL))
{
giveItems(player, LEATHER_POUCH_2ND, 1);
takeItems(player, LEATHER_POUCH_1ST_FULL, 1);
qs.setCond(4);
htmltext = "30590-03.html";
}
else if (hasQuestItems(player, LEATHER_POUCH_2ND) && !hasQuestItems(player, LEATHER_POUCH_2ND_FULL))
{
htmltext = "30590-04.html";
}
else if (!hasQuestItems(player, LEATHER_POUCH_2ND) && hasQuestItems(player, LEATHER_POUCH_2ND_FULL))
{
giveItems(player, LEATHER_POUCH_3RD, 1);
takeItems(player, LEATHER_POUCH_2ND_FULL, 1);
qs.setCond(6);
htmltext = "30590-05.html";
}
else if (hasQuestItems(player, LEATHER_POUCH_3RD) && !hasQuestItems(player, LEATHER_POUCH_3RD_FULL))
{
htmltext = "30590-06.html";
}
else if (!hasQuestItems(player, LEATHER_POUCH_3RD) && hasQuestItems(player, LEATHER_POUCH_3RD_FULL))
{
takeItems(player, LEATHER_POUCH_3RD_FULL, 1);
giveItems(player, FIERY_SPIRIT_SCROLL, 1);
giveItems(player, ROSHEEKS_LETTER, 1);
qs.setCond(8);
htmltext = "30590-07.html";
}
else if (hasQuestItems(player, ROSHEEKS_LETTER, FIERY_SPIRIT_SCROLL))
{
htmltext = "30590-08.html";
}
else if (!hasQuestItems(player, ROSHEEKS_LETTER) && hasQuestItems(player, FIERY_SPIRIT_SCROLL))
{
htmltext = "30590-09.html";
}
break;
}
case KHAVATARI_TORUKU:
{
if (hasQuestItems(player, FIG))
{
takeItems(player, FIG, 1);
giveItems(player, LEATHER_POUCH_4TF, 1);
qs.setCond(11);
htmltext = "30591-01.html";
}
else if (hasQuestItems(player, LEATHER_POUCH_4TF) && !hasQuestItems(player, LEATHER_POUCH_4TF_FULL))
{
htmltext = "30591-02.html";
}
else if (!hasQuestItems(player, LEATHER_POUCH_4TF) && hasQuestItems(player, LEATHER_POUCH_4TF_FULL))
{
takeItems(player, LEATHER_POUCH_4TF_FULL, 1);
giveItems(player, IRON_WILL_SCROLL, 1);
giveItems(player, TORUKUS_LETTER, 1);
qs.setCond(13);
htmltext = "30591-03.html";
}
else if (hasQuestItems(player, IRON_WILL_SCROLL, TORUKUS_LETTER))
{
htmltext = "30591-04.html";
}
break;
}
}
}
return htmltext;
}
private static boolean checkWeapon(L2PcInstance player)
{
L2ItemInstance weapon = player.getActiveWeaponInstance();
return ((weapon == null) || (weapon.getItemType() == WeaponType.FIST) || (weapon.getItemType() == WeaponType.DUALFIST));
}
}

View File

@@ -0,0 +1,6 @@
<html><body>Seer Umos:<br>
To meet an Orc brother in such a foreign place as this, I am truly glad to see you. From Tataru's letter, I see you have received the language of flame from the Hestui Totem Spirit. You have passed the first step in becoming an Orc shaman.<br>
However, to become a true Orc Shaman, you need more than just the ability to speak the language of the spirits. To control the spirits and rule their power, you must be able to shout out their names.<br>
However, I cannot teach you the <font color="LEVEL">ninety-nine names of the spirits</font> nor are they recorded anywhere. To learn them you must meet the Duda-Mara Totem Spirit, which is called the "one that holds names." The spider web of time and space that he has spun meets various places in the continent, and one of those places is Gludio.<br>
Before you meet the Duda-Mara Totem Spirit, you must prepare some things. Hunt the <font color="LEVEL">grizzly bear</font> which lives in Gludio and bring back its blood. When you have collected three full bottles of blood, then bring them back to me.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Seer Umos:<br>
As I already explained, you must prepare something before meeting the Duda-Mara Totem Spirit. Hunt the <font color="LEVEL">grizzly bear</font> that lives in Gludio and bring back its blood. If you collect enough to fill three bottles, bring it back to me.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Seer Umos:<br>
I will put the grizzly's blood you have brought in this cauldron. Take this to the<font color="LEVEL"> Duda-Mara Totem Spirit</font>. If it tries to threaten you, quickly offer the cauldron as a gift. If you are a single second late, you may spend eternity tied up in its spider web.<br>
When you offer the blood as a gift, ask to be taught about the names of the spirits ... You must keep this in mind.<br>
The totem spirit is located north of the Arena in Gludin Village. Well then, I hope you return having learned the secret of the spirits. May the divine protection of flame be with you.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Seer Umos:<br>
I see you have not left yet. Find the <font color="LEVEL">Duda-Mara Totem Spirit</font> and learn the names of the spirits. Only then, will you acquire the true power of a shaman and be able to change profession to an Orc Shaman. The totem spirit is located north of the Arena in Gludin Village. Dejakyar Lamme! May the protection of flame be with you.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Seer Umos:<br>
The Duda-Mara Totem Spirit will not teach you the names of the spirits without receiving anything in return. Even though it is difficult, you must complete the task that the totem spirit asks you. Only then will you be able to learn the hidden names of the spirits. Dejakyar Lamme! May the protection of flame be with you.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Seer Umos:<br>
Tejakar Pa'agrio! You have safely returned. And you have brought the blood of the totem spirit. Congratulations! Now, after you perform the ritual of drinking the totem spirit's blood, you will be able to call the names of the ninety-nine spirits. Then you will have the power to become a true Shaman.<br>
<a action="bypass -h Quest Q00416_PathOfTheOrcShaman 30502-07.html">Perform the ritual</a>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Seer Umos:<br>
All those that manage the names of spirits, those that spin the spider web of time and space, we receive the secret of the spirits contained in the blood of the Duda-Mara Totem Spirit. You, young shaman, have received the true authority of flame to be able to call the names of spirits and control their power.<br>
Now take this mask. It is a token that shows you have earned the qualifications to become a shaman. Congratulations, singer of chants! Take the mask and go to the high prefect to change profession to Orc Shaman. Tejakar Pa'agrio! May the flame guide you to the path of righteousness.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Tataru Zu Hestui:<br>
An Orc Mystic acts as an intermediary between this world and the spirit world, supplicating the spirits for the power to command nature. That is how we breathe power into our allies and cure even the most grievous wounds of battle. Even our enemies quake before this mighty power!<br>
<a action="bypass -h Quest Q00416_PathOfTheOrcShaman START">Say you want to be an Orc Shaman.</a>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Tataru Zu Hestui:<br>
You are already an Orc Shaman! Why do you waste your time here? Your path lies elsewhere!
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Tataru Zu Hestui:<br>
We Orc Shamans perform miracles with the authority of fire -- we do not teach this power lightly! Only Orc Mystics may be permitted to seek the secret of the eternal flame. You do not meet the qualifications.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Tataru Zu Hestui:<br>
An Orc Mystic must ask the spirits to lend him some of their power, while an Orc Shaman uses the authority of Pa'agrio to actually control them. But you have not yet met the requirements to wield that authority.<br>
Dedicate yourself to the task! Return to me when you have reached level 20.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Tataru Zu Hestui:<br>
Have you not already acquired the Mask of Medium? It is the token that proves your readiness to become an Orc Shaman.<br>
Travel now to the Human lands and show it to the <font color="LEVEL">High Prefect</font>. Then he will confer on you the title of Orc Shaman. Tejakar Pa'agrio! May the powers of fire be with you!
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Tataru Zu Hestui:<br>
To master the authority of flame and truly govern the spirits, you must learn 2 things. First, you must learn the language of flame, which is the language of the spirits, in order to communicate with them. Second, you must learn the names of the 99 spirits in order to acquire power over them. Unless you accomplish both tasks, you cannot become a true Orc Shaman.<br>
<a action="bypass -h Quest Q00416_PathOfTheOrcShaman 30585-07.htm">Say you want to become a true Orc Shaman.</a>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Tataru Zu Hestui:<br>
The language of flame cannot be taught, only learned. Confused? Ha!<br>
If you wish to learn the language of flame, my young friend, you must summon the Hestui Totem Spirit. The spirit, who takes the form of a Kasha Bear, symbolizes dignity and wisdom.<br>
Before attempting the summoning, however, you must first bring me a <font color="LEVEL">Kasha Bear Pelt and Kasha Bladespider Husk</font>. You must also hunt the <font color="LEVEL">Scarlet Salamander</font> and obtain one of its <font color="LEVEL">Fiery Eggs</font>.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Tataru Zu Hestui:<br>
Why do you hesitate? If you wish to summon the Hestui Totem Spirit, bring me a <font color="LEVEL">Kasha Bear Pelt and Kasha Bladespider Husk</font>. Also, obtain a <font color="LEVEL">Fiery Egg</font> from the <font color="LEVEL">Scarlet Salamander</font>!
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Tataru Zu Hestui:<br>
Now I will make you a totem mask from the Kasha Bear Pelt and Kasha Bladespider Husk you brought. It will enable you to learn the language of flame when you meet our Hestui Totem Spirit.<br>
The Fiery Egg you obtained from the Scarlet Salamander contains an unborn spirit whose existence is not yet ordained. It is truly a valuable item, fit to offer to the Totem Spirit as a gift.<br>
Now go to the Ruins south of the Temple of Pa'agrio and seek the <font color="LEVEL">Hestui Totem Spirit</font>. Dejakyar Lamme! May the eternal flame guide your path.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Tataru Zu Hestui:<br>
Now that you have prepared the Hestui Mask and the Fiery Egg, seek the <font color="LEVEL">Hestui Totem Spirit</font> at the Ruins south of the Temple of Pa'agrio. Dejakyar Lamme! May the eternal flame guide your path.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Tataru Zu Hestui:<br>
Dejakyar Lamme! You have brought the Claw of the Totem Spirit! Magnificent! Young Mystic, now we shall perform a ritual in which we prick your tongue with the claw. Then you shall be able to speak the language of flame!<br>
<a action="bypass -h Quest Q00416_PathOfTheOrcShaman 30585-12.html">Perform the ritual.</a>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Tataru Zu Hestui:<br>
Thanks to the great Hestui Totem Spirit, you have mastered the secret language of flame!<br>
Now you can communicate with the spirits -- but you cannot yet command them. If you wish to do so, you must either learn the <font color="LEVEL">Names of the 99 Spirits</font> or acquire the <font color="LEVEL">Wisdom of the 99 Spirits</font>. Which method will you choose?<br>
<a action="bypass -h Quest Q00416_PathOfTheOrcShaman 30585-13.html">Learn the Names of the 99 Spirits.</a><br>
<a action="bypass -h Quest Q00416_PathOfTheOrcShaman 30585-14.html">Acquire the Wisdom of the 99 Spirits.</a>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Tataru Zu Hestui:<br>
You wish to learn the Names of the 99 Spirits? Then go to <font color="LEVEL">Gludin Village</font> in the Human land of Gludio and show this letter of recommendation to Seer Umos. He will tell you what you must do next.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Tataru Zu Hestui:<br>
You wish to acquire the Wisdom of the 99 Spirits? Then seek Seer Moira in the <font color="LEVEL">Town of Schuttgart</font> beyond the Valley of the Lords to discover you what you must do.
</body></html>

Some files were not shown because too many files have changed in this diff Show More