Updated Noble Materials and Exalted quests.

Contributed by nasseka.
This commit is contained in:
MobiusDevelopment 2021-11-21 13:14:55 +00:00
parent 78f0312064
commit 32555772f2
10 changed files with 221 additions and 354 deletions

View File

@ -341,7 +341,7 @@ public class Q10507_ObtainingNewPower extends Quest
{
if (getQuestItemsCount(player, PROOF_OF_STRENGTH) < PROOF_OF_STRENGTH_NEEDED)
{
giveItemRandomly(player, PROOF_OF_STRENGTH, 1, PROOF_OF_STRENGTH_NEEDED, 1, true);
giveItems(player, PROOF_OF_STRENGTH, 1);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
if ((getQuestItemsCount(player, PROOF_OF_STRENGTH) >= PROOF_OF_STRENGTH_NEEDED) && (player.getLevel() >= MIN_COMPLETE_LEVEL))

View File

@ -261,7 +261,7 @@ public class Q10589_WhereFatesIntersect extends Quest
{
if (getQuestItemsCount(player, MONSTER_DROP) < REQUIRED_DROP_COUNT)
{
giveItemRandomly(player, MONSTER_DROP, 1, REQUIRED_DROP_COUNT, 1, true);
giveItems(player, MONSTER_DROP, 1);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
if ((getQuestItemsCount(player, MONSTER_DROP) >= REQUIRED_DROP_COUNT) && (player.getLevel() >= 95))

View File

@ -288,7 +288,7 @@ public class Q10590_ReawakenedFate extends Quest
final QuestState qs = getQuestState(player, false);
if ((qs != null) && qs.isCond(2) && Util.checkIfInRange(Config.ALT_PARTY_RANGE, npc, player, false))
{
if ((getQuestItemsCount(player, VAMPIRE_ICHOR) < 500) && (getRandom(100) < 90))
if (getQuestItemsCount(player, VAMPIRE_ICHOR) < 500)
{
giveItems(player, VAMPIRE_ICHOR, 1);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);

View File

@ -21,6 +21,7 @@ import org.l2jmobius.gameserver.data.xml.CategoryData;
import org.l2jmobius.gameserver.enums.CategoryType;
import org.l2jmobius.gameserver.enums.ClassId;
import org.l2jmobius.gameserver.enums.QuestSound;
import org.l2jmobius.gameserver.enums.Race;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.Player;
@ -71,10 +72,30 @@ public class Q10591_NobleMaterial extends Quest
// Rewards
private static final int ADENA_AMOUNT = 5050;
private static final int ACHIEVEMENT_BOX_LV_100 = 80910;
private static final int ACQUIRE_NOBLESSE_PRIVILEGES = 34983;
private static final int WARRIOR_CICLET_BOX_LV5 = 80911;
private static final int WIZARD_CICLET_BOX_LV5 = 80912;
private static final int KNIGHT_CICLET_BOX_LV5 = 80913;
private static final int EXALTED_HEAVY_ARMOR_PACK = 81203;
private static final int EXALTED_LIGHT_ARMOR_PACK = 81204;
private static final int EXALTED_ROBE_PACK = 81205;
private static final int EXALTED_SHIELD = 81186;
private static final int EXALTED_SIGIL = 81197;
private static final int COMMON_EXALTED_QUEST_REWARD_PHYSICAL = 81207;
private static final int COMMON_EXALTED_QUEST_REWARD_MAGIC = 81208;
private static final int SPECIAL_EXALTED_QUEST_REWARD_PHYSICAL = 81209;
private static final int SPECIAL_EXALTED_QUEST_REWARD_MAGIC = 81210;
private static final int EXALTED_CUTTER = 81157;
private static final int EXALTED_SLASHER = 81158;
private static final int EXALTED_AVENGER = 81159;
private static final int EXALTED_FIGHTER = 81160;
private static final int EXALTED_STORMER = 81161;
private static final int EXALTED_THROWER = 81162;
private static final int EXALTED_SHOOTER = 81163;
private static final int EXALTED_BUSTER = 81164;
private static final int EXALTED_CASTER = 81165;
private static final int EXALTED_RETRIBUTER = 81166;
private static final int EXALTED_DUAL_SWORDS = 81167;
private static final int EXALTED_DUAL_DAGGERS = 81168;
// Misc
private static final int MIN_LEVEL = 100;
// Location
@ -183,11 +204,8 @@ public class Q10591_NobleMaterial extends Quest
if (qs.isCond(7) && (player.getLevel() >= MIN_LEVEL))
{
// Reward #1
giveAdena(player, ADENA_AMOUNT, false);
giveItems(player, ACHIEVEMENT_BOX_LV_100, 1);
giveItems(player, ACQUIRE_NOBLESSE_PRIVILEGES, 1);
giveItems(player, WARRIOR_CICLET_BOX_LV5, 1);
takeItem(player, TELEPORT_CUBE);
basicRewards(player);
player.setNobleLevel(1);
player.broadcastInfo();
showOnScreenMsg(player, NpcStringId.CONGRATULATIONS_YOU_ARE_NOW_A_NOBLESSE, ExShowScreenMessage.TOP_CENTER, 10000);
@ -201,11 +219,8 @@ public class Q10591_NobleMaterial extends Quest
if (qs.isCond(7) && (player.getLevel() >= MIN_LEVEL))
{
// Reward #2
giveAdena(player, ADENA_AMOUNT, false);
giveItems(player, ACHIEVEMENT_BOX_LV_100, 1);
giveItems(player, ACQUIRE_NOBLESSE_PRIVILEGES, 1);
giveItems(player, WIZARD_CICLET_BOX_LV5, 1);
takeItem(player, TELEPORT_CUBE);
basicRewards(player);
player.setNobleLevel(1);
player.broadcastInfo();
showOnScreenMsg(player, NpcStringId.CONGRATULATIONS_YOU_ARE_NOW_A_NOBLESSE, ExShowScreenMessage.TOP_CENTER, 10000);
@ -219,11 +234,8 @@ public class Q10591_NobleMaterial extends Quest
if (qs.isCond(7) && (player.getLevel() >= MIN_LEVEL))
{
// Reward #3
giveAdena(player, ADENA_AMOUNT, false);
giveItems(player, ACHIEVEMENT_BOX_LV_100, 1);
giveItems(player, ACQUIRE_NOBLESSE_PRIVILEGES, 1);
giveItems(player, KNIGHT_CICLET_BOX_LV5, 1);
takeItem(player, TELEPORT_CUBE);
basicRewards(player);
player.setNobleLevel(1);
player.broadcastInfo();
showOnScreenMsg(player, NpcStringId.CONGRATULATIONS_YOU_ARE_NOW_A_NOBLESSE, ExShowScreenMessage.TOP_CENTER, 10000);
@ -358,7 +370,7 @@ public class Q10591_NobleMaterial extends Quest
final QuestState qs = getQuestState(player, false);
if ((qs != null) && qs.isCond(2) && Util.checkIfInRange(Config.ALT_PARTY_RANGE, npc, player, false))
{
if ((getQuestItemsCount(player, FLAME_ENERGY) < 1000) && (getRandom(100) < 90))
if (getQuestItemsCount(player, FLAME_ENERGY) < 1000)
{
giveItems(player, FLAME_ENERGY, 1);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
@ -376,4 +388,184 @@ public class Q10591_NobleMaterial extends Quest
executeForEachPlayer(killer, npc, isSummon, true, false);
return super.onKill(npc, killer, isSummon);
}
public void basicRewards(Player player)
{
final Race race = player.getRace();
final ClassId classId = player.getBaseTemplate().getClassId();
giveAdena(player, ADENA_AMOUNT, false);
giveItems(player, ACHIEVEMENT_BOX_LV_100, 1);
takeItem(player, TELEPORT_CUBE);
switch (race)
{
case HUMAN:
case ELF:
case DARK_ELF:
{
if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_FEOH_GROUP, classId.getId()))
{
giveItems(player, EXALTED_BUSTER, 1);
giveItems(player, EXALTED_ROBE_PACK, 1);
giveItems(player, EXALTED_SIGIL, 1);
giveItems(player, COMMON_EXALTED_QUEST_REWARD_MAGIC, 1);
giveItems(player, SPECIAL_EXALTED_QUEST_REWARD_MAGIC, 1);
}
else if ((CategoryData.getInstance().isInCategory(CategoryType.SIXTH_WYNN_GROUP, classId.getId())))
{
giveItems(player, EXALTED_RETRIBUTER, 1);
giveItems(player, EXALTED_ROBE_PACK, 1);
giveItems(player, EXALTED_SIGIL, 1);
giveItems(player, COMMON_EXALTED_QUEST_REWARD_PHYSICAL, 1);
giveItems(player, SPECIAL_EXALTED_QUEST_REWARD_PHYSICAL, 1);
}
else if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_EOLH_GROUP, classId.getId()))
{
giveItems(player, EXALTED_CASTER, 1);
giveItems(player, EXALTED_ROBE_PACK, 1);
giveItems(player, EXALTED_SIGIL, 1);
giveItems(player, COMMON_EXALTED_QUEST_REWARD_MAGIC, 1);
giveItems(player, SPECIAL_EXALTED_QUEST_REWARD_MAGIC, 1);
}
else if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_OTHEL_GROUP, classId.getId()))
{
giveItems(player, EXALTED_DUAL_DAGGERS, 1);
giveItems(player, EXALTED_LIGHT_ARMOR_PACK, 1);
giveItems(player, EXALTED_SIGIL, 1);
giveItems(player, COMMON_EXALTED_QUEST_REWARD_PHYSICAL, 1);
giveItems(player, SPECIAL_EXALTED_QUEST_REWARD_PHYSICAL, 1);
}
else if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_YR_GROUP, classId.getId()))
{
giveItems(player, EXALTED_THROWER, 1);
giveItems(player, EXALTED_LIGHT_ARMOR_PACK, 1);
giveItems(player, EXALTED_SIGIL, 1);
giveItems(player, COMMON_EXALTED_QUEST_REWARD_PHYSICAL, 1);
giveItems(player, SPECIAL_EXALTED_QUEST_REWARD_PHYSICAL, 1);
}
else if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_IS_GROUP, classId.getId()) || (player.getClassId() == ClassId.TYRR_DUELIST))
{
giveItems(player, EXALTED_DUAL_SWORDS, 1);
giveItems(player, EXALTED_HEAVY_ARMOR_PACK, 1);
giveItems(player, EXALTED_SIGIL, 1);
giveItems(player, COMMON_EXALTED_QUEST_REWARD_PHYSICAL, 1);
giveItems(player, SPECIAL_EXALTED_QUEST_REWARD_PHYSICAL, 1);
}
else if (player.getClassId() == ClassId.TYRR_DREADNOUGHT)
{
giveItems(player, EXALTED_STORMER, 1);
giveItems(player, EXALTED_HEAVY_ARMOR_PACK, 1);
giveItems(player, EXALTED_SIGIL, 1);
giveItems(player, COMMON_EXALTED_QUEST_REWARD_PHYSICAL, 1);
giveItems(player, SPECIAL_EXALTED_QUEST_REWARD_PHYSICAL, 1);
}
else if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_SIGEL_GROUP, classId.getId()))
{
giveItems(player, EXALTED_CUTTER, 1);
giveItems(player, EXALTED_HEAVY_ARMOR_PACK, 1);
giveItems(player, player.getClassId() == ClassId.SIGEL_DEATH_KNIGHT ? EXALTED_SIGIL : EXALTED_SHIELD, 1);
giveItems(player, COMMON_EXALTED_QUEST_REWARD_PHYSICAL, 1);
giveItems(player, SPECIAL_EXALTED_QUEST_REWARD_PHYSICAL, 1);
}
break;
}
case DWARF:
{
if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_OTHEL_GROUP, classId.getId()))
{
giveItems(player, EXALTED_DUAL_DAGGERS, 1);
giveItems(player, EXALTED_LIGHT_ARMOR_PACK, 1);
giveItems(player, EXALTED_SIGIL, 1);
giveItems(player, COMMON_EXALTED_QUEST_REWARD_PHYSICAL, 1);
giveItems(player, SPECIAL_EXALTED_QUEST_REWARD_PHYSICAL, 1);
}
else
{
giveItems(player, EXALTED_AVENGER, 1);
giveItems(player, EXALTED_HEAVY_ARMOR_PACK, 1);
giveItems(player, EXALTED_SHIELD, 1);
giveItems(player, COMMON_EXALTED_QUEST_REWARD_PHYSICAL, 1);
giveItems(player, SPECIAL_EXALTED_QUEST_REWARD_PHYSICAL, 1);
}
break;
}
case ORC:
{
if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_IS_GROUP, classId.getId()))
{
giveItems(player, player.getClassId() == ClassId.ISS_DOMINATOR ? EXALTED_CUTTER : EXALTED_DUAL_SWORDS, 1);
giveItems(player, EXALTED_HEAVY_ARMOR_PACK, 1);
giveItems(player, player.getClassId() == ClassId.ISS_DOMINATOR ? EXALTED_SHIELD : EXALTED_SIGIL, 1);
giveItems(player, COMMON_EXALTED_QUEST_REWARD_PHYSICAL, 1);
giveItems(player, SPECIAL_EXALTED_QUEST_REWARD_PHYSICAL, 1);
}
else if (player.getClassId() == ClassId.TYRR_GRAND_KHAVATARI)
{
giveItems(player, EXALTED_FIGHTER, 1);
giveItems(player, EXALTED_LIGHT_ARMOR_PACK, 1);
giveItems(player, EXALTED_SIGIL, 1);
giveItems(player, COMMON_EXALTED_QUEST_REWARD_PHYSICAL, 1);
giveItems(player, SPECIAL_EXALTED_QUEST_REWARD_PHYSICAL, 1);
}
else if (player.getClassId() == ClassId.TYRR_TITAN)
{
giveItems(player, EXALTED_SLASHER, 1);
giveItems(player, EXALTED_HEAVY_ARMOR_PACK, 1);
giveItems(player, EXALTED_SIGIL, 1);
giveItems(player, COMMON_EXALTED_QUEST_REWARD_PHYSICAL, 1);
giveItems(player, SPECIAL_EXALTED_QUEST_REWARD_PHYSICAL, 1);
}
break;
}
case KAMAEL:
{
if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_FEOH_GROUP, classId.getId()))
{
giveItems(player, EXALTED_BUSTER, 1);
giveItems(player, EXALTED_ROBE_PACK, 1);
giveItems(player, EXALTED_SIGIL, 1);
giveItems(player, COMMON_EXALTED_QUEST_REWARD_MAGIC, 1);
giveItems(player, SPECIAL_EXALTED_QUEST_REWARD_MAGIC, 1);
}
else if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_YR_GROUP, classId.getId()))
{
giveItems(player, EXALTED_SHOOTER, 1);
giveItems(player, EXALTED_LIGHT_ARMOR_PACK, 1);
giveItems(player, EXALTED_SIGIL, 1);
giveItems(player, COMMON_EXALTED_QUEST_REWARD_PHYSICAL, 1);
giveItems(player, SPECIAL_EXALTED_QUEST_REWARD_PHYSICAL, 1);
}
else
{
giveItems(player, EXALTED_SLASHER, 1);
giveItems(player, EXALTED_LIGHT_ARMOR_PACK, 1);
giveItems(player, EXALTED_SIGIL, 1);
giveItems(player, COMMON_EXALTED_QUEST_REWARD_PHYSICAL, 1);
giveItems(player, SPECIAL_EXALTED_QUEST_REWARD_PHYSICAL, 1);
break;
}
break;
}
case ERTHEIA:
{
if (player.isMageClass())
{
giveItems(player, EXALTED_RETRIBUTER, 1);
giveItems(player, EXALTED_ROBE_PACK, 1);
giveItems(player, EXALTED_SIGIL, 1);
giveItems(player, COMMON_EXALTED_QUEST_REWARD_MAGIC, 1);
giveItems(player, SPECIAL_EXALTED_QUEST_REWARD_MAGIC, 1);
}
else
{
giveItems(player, EXALTED_FIGHTER, 1);
giveItems(player, EXALTED_LIGHT_ARMOR_PACK, 1);
giveItems(player, EXALTED_SIGIL, 1);
giveItems(player, COMMON_EXALTED_QUEST_REWARD_PHYSICAL, 1);
giveItems(player, SPECIAL_EXALTED_QUEST_REWARD_PHYSICAL, 1);
}
break;
}
}
}
}

View File

@ -20,11 +20,7 @@ import java.util.HashSet;
import java.util.Set;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.data.xml.CategoryData;
import org.l2jmobius.gameserver.enums.CategoryType;
import org.l2jmobius.gameserver.enums.ClassId;
import org.l2jmobius.gameserver.enums.Movie;
import org.l2jmobius.gameserver.enums.Race;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
@ -51,23 +47,6 @@ public class Q10811_ExaltedOneWhoFacesTheLimit extends Quest
private static final int SLAYERS_PROOF_NEEDED = 40000;
// Reward
private static final int SPELLBOOK_DIGNITY_OF_THE_EXALTED_LV1 = 45922;
private static final int EXALTED_HEAVY_ARMOR_PACK = 81203;
private static final int EXALTED_LIGHT_ARMOR_PACK = 81204;
private static final int EXALTED_ROBE_PACK = 81205;
private static final int FIRST_EXALTED_QUEST_REWARD_PHYSICAL = 81207;
private static final int FIRST_EXALTED_QUEST_REWARD_MAGIC = 81208;
private static final int EXALTED_CUTTER = 81157;
private static final int EXALTED_SLASHER = 81158;
private static final int EXALTED_AVENGER = 81159;
private static final int EXALTED_FIGHTER = 81160;
private static final int EXALTED_STORMER = 81161;
private static final int EXALTED_THROWER = 81162;
private static final int EXALTED_SHOOTER = 81163;
private static final int EXALTED_BUSTER = 81164;
private static final int EXALTED_CASTER = 81165;
private static final int EXALTED_RETRIBUTER = 81166;
private static final int EXALTED_DUAL_SWORDS = 81167;
private static final int EXALTED_DUAL_DAGGERS = 81168;
// Monsters
private static final int[] MONSTERS =
{
@ -282,8 +261,6 @@ public class Q10811_ExaltedOneWhoFacesTheLimit extends Quest
@Override
public String onAdvEvent(String event, Npc npc, Player player)
{
final Race race = player.getRace();
final ClassId classId = player.getBaseTemplate().getClassId();
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
@ -317,140 +294,6 @@ public class Q10811_ExaltedOneWhoFacesTheLimit extends Quest
if (qs.isCond(3))
{
giveItems(player, SPELLBOOK_DIGNITY_OF_THE_EXALTED_LV1, 1);
switch (race)
{
case HUMAN:
case ELF:
case DARK_ELF:
{
if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_FEOH_GROUP, classId.getId()))
{
giveItems(player, EXALTED_BUSTER, 1);
giveItems(player, EXALTED_ROBE_PACK, 1);
giveItems(player, FIRST_EXALTED_QUEST_REWARD_MAGIC, 1);
}
else if ((CategoryData.getInstance().isInCategory(CategoryType.SIXTH_WYNN_GROUP, classId.getId())))
{
giveItems(player, EXALTED_RETRIBUTER, 1);
giveItems(player, EXALTED_ROBE_PACK, 1);
giveItems(player, FIRST_EXALTED_QUEST_REWARD_PHYSICAL, 1);
}
else if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_EOLH_GROUP, classId.getId()))
{
giveItems(player, EXALTED_CASTER, 1);
giveItems(player, EXALTED_ROBE_PACK, 1);
giveItems(player, FIRST_EXALTED_QUEST_REWARD_MAGIC, 1);
}
else if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_OTHEL_GROUP, classId.getId()))
{
giveItems(player, EXALTED_DUAL_DAGGERS, 1);
giveItems(player, EXALTED_LIGHT_ARMOR_PACK, 1);
giveItems(player, FIRST_EXALTED_QUEST_REWARD_PHYSICAL, 1);
}
else if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_YR_GROUP, classId.getId()))
{
giveItems(player, EXALTED_THROWER, 1);
giveItems(player, EXALTED_LIGHT_ARMOR_PACK, 1);
giveItems(player, FIRST_EXALTED_QUEST_REWARD_PHYSICAL, 1);
}
else if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_IS_GROUP, classId.getId()) || (player.getClassId() == ClassId.TYRR_DUELIST))
{
giveItems(player, EXALTED_DUAL_SWORDS, 1);
giveItems(player, EXALTED_HEAVY_ARMOR_PACK, 1);
giveItems(player, FIRST_EXALTED_QUEST_REWARD_PHYSICAL, 1);
}
else if (player.getClassId() == ClassId.TYRR_DREADNOUGHT)
{
giveItems(player, EXALTED_STORMER, 1);
giveItems(player, EXALTED_HEAVY_ARMOR_PACK, 1);
giveItems(player, FIRST_EXALTED_QUEST_REWARD_PHYSICAL, 1);
}
else if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_SIGEL_GROUP, classId.getId()))
{
giveItems(player, EXALTED_CUTTER, 1);
giveItems(player, EXALTED_HEAVY_ARMOR_PACK, 1);
giveItems(player, FIRST_EXALTED_QUEST_REWARD_PHYSICAL, 1);
}
break;
}
case DWARF:
{
if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_OTHEL_GROUP, classId.getId()))
{
giveItems(player, EXALTED_DUAL_DAGGERS, 1);
giveItems(player, EXALTED_LIGHT_ARMOR_PACK, 1);
giveItems(player, FIRST_EXALTED_QUEST_REWARD_PHYSICAL, 1);
}
else
{
giveItems(player, EXALTED_AVENGER, 1);
giveItems(player, EXALTED_HEAVY_ARMOR_PACK, 1);
giveItems(player, FIRST_EXALTED_QUEST_REWARD_PHYSICAL, 1);
}
break;
}
case ORC:
{
if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_IS_GROUP, classId.getId()))
{
giveItems(player, EXALTED_DUAL_SWORDS, 1);
giveItems(player, EXALTED_HEAVY_ARMOR_PACK, 1);
giveItems(player, FIRST_EXALTED_QUEST_REWARD_PHYSICAL, 1);
}
else if (player.getClassId() == ClassId.TYRR_GRAND_KHAVATARI)
{
giveItems(player, EXALTED_FIGHTER, 1);
giveItems(player, EXALTED_LIGHT_ARMOR_PACK, 1);
giveItems(player, FIRST_EXALTED_QUEST_REWARD_PHYSICAL, 1);
}
else if (player.getClassId() == ClassId.TYRR_TITAN)
{
giveItems(player, EXALTED_SLASHER, 1);
giveItems(player, EXALTED_HEAVY_ARMOR_PACK, 1);
giveItems(player, FIRST_EXALTED_QUEST_REWARD_PHYSICAL, 1);
}
break;
}
case KAMAEL:
{
if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_FEOH_GROUP, classId.getId()))
{
giveItems(player, EXALTED_BUSTER, 1);
giveItems(player, EXALTED_ROBE_PACK, 1);
giveItems(player, FIRST_EXALTED_QUEST_REWARD_MAGIC, 1);
}
else if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_YR_GROUP, classId.getId()))
{
giveItems(player, EXALTED_SHOOTER, 1);
giveItems(player, EXALTED_LIGHT_ARMOR_PACK, 1);
giveItems(player, FIRST_EXALTED_QUEST_REWARD_PHYSICAL, 1);
}
else
{
giveItems(player, EXALTED_SLASHER, 1);
giveItems(player, EXALTED_LIGHT_ARMOR_PACK, 1);
giveItems(player, FIRST_EXALTED_QUEST_REWARD_PHYSICAL, 1);
break;
}
break;
}
case ERTHEIA:
{
if (player.isMageClass())
{
giveItems(player, EXALTED_RETRIBUTER, 1);
giveItems(player, EXALTED_ROBE_PACK, 1);
giveItems(player, FIRST_EXALTED_QUEST_REWARD_MAGIC, 1);
}
else
{
giveItems(player, EXALTED_FIGHTER, 1);
giveItems(player, EXALTED_LIGHT_ARMOR_PACK, 1);
giveItems(player, FIRST_EXALTED_QUEST_REWARD_PHYSICAL, 1);
}
break;
}
}
qs.exitQuest(false, true);
htmltext = event;
}
@ -513,7 +356,7 @@ public class Q10811_ExaltedOneWhoFacesTheLimit extends Quest
{
if (getQuestItemsCount(player, SLAYERS_PROOF) < SLAYERS_PROOF_NEEDED)
{
giveItemRandomly(player, SLAYERS_PROOF, 1, SLAYERS_PROOF_NEEDED, 1, true);
giveItems(player, SLAYERS_PROOF, 1);
}
if ((getQuestItemsCount(player, SLAYERS_PROOF) >= SLAYERS_PROOF_NEEDED) && (player.getLevel() >= MIN_COMPLETE_LEVEL))
{

View File

@ -20,10 +20,6 @@ import java.util.HashSet;
import java.util.Set;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.data.xml.CategoryData;
import org.l2jmobius.gameserver.enums.CategoryType;
import org.l2jmobius.gameserver.enums.ClassId;
import org.l2jmobius.gameserver.enums.Race;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
@ -50,9 +46,6 @@ public class Q10817_ExaltedOneWhoOvercomesTheLimit extends Quest
private static final int SPELLBOOK_DIGNITY_OF_THE_EXALTED_LV2 = 45923;
private static final int SPELLBOOK_BELIEF_OF_THE_EXALTED = 45925;
private static final int SPELLBOOK_FAVOR_OF_THE_EXALTED_LV1 = 45928;
private static final int EXALTED_WEAPON_UPGRADE_STONE = 81200;
private static final int SECOND_EXALTED_QUEST_REWARD_P = 81209;
private static final int SECOND_EXALTED_QUEST_REWARD_M = 81210;
// Misc
private static final int MIN_LEVEL = 101;
private static final int MIN_COMPLETE_LEVEL = 102;
@ -274,8 +267,6 @@ public class Q10817_ExaltedOneWhoOvercomesTheLimit extends Quest
public String onAdvEvent(String event, Npc npc, Player player)
{
String htmltext = null;
final Race race = player.getRace();
final ClassId classId = player.getBaseTemplate().getClassId();
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
@ -307,163 +298,6 @@ public class Q10817_ExaltedOneWhoOvercomesTheLimit extends Quest
giveItems(player, SPELLBOOK_DIGNITY_OF_THE_EXALTED_LV2, 1);
giveItems(player, SPELLBOOK_BELIEF_OF_THE_EXALTED, 1);
giveItems(player, SPELLBOOK_FAVOR_OF_THE_EXALTED_LV1, 1);
giveItems(player, EXALTED_WEAPON_UPGRADE_STONE, 1);
switch (race)
{
case HUMAN:
case ELF:
case DARK_ELF:
{
if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_FEOH_GROUP, classId.getId()) || (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_WYNN_GROUP, classId.getId())))
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_M, 1);
}
else if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_EOLH_GROUP, classId.getId()))
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_M, 1);
}
else if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_OTHEL_GROUP, classId.getId()))
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_P, 1);
}
else if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_YR_GROUP, classId.getId()))
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_P, 1);
}
else if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_IS_GROUP, classId.getId()) || (player.getClassId() == ClassId.TYRR_DUELIST))
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_P, 1);
}
else if (player.getClassId() == ClassId.TYRR_DREADNOUGHT)
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_P, 1);
}
else if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_SIGEL_GROUP, classId.getId()))
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_P, 1);
}
else if (CategoryData.getInstance().isInCategory(CategoryType.DIVISION_WIZARD, classId.getId()))
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_M, 1);
}
else if (CategoryData.getInstance().isInCategory(CategoryType.SUBJOB_GROUP_BOW, classId.getId()))
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_P, 1);
}
else if (CategoryData.getInstance().isInCategory(CategoryType.SUBJOB_GROUP_DAGGER, classId.getId()))
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_P, 1);
}
else if (CategoryData.getInstance().isInCategory(CategoryType.SUBJOB_GROUP_DANCE, classId.getId()) || (player.getClassId() == ClassId.GLADIATOR))
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_P, 1);
}
else if (player.getClassId() == ClassId.WARLORD)
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_P, 1);
}
else if (player.getClassId() == ClassId.DUELIST)
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_P, 1);
}
else if (CategoryData.getInstance().isInCategory(CategoryType.TANKER_GROUP, classId.getId()))
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_P, 1);
}
else if (CategoryData.getInstance().isInCategory(CategoryType.RECOM_WARRIOR_GROUP, classId.getId()))
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_P, 1);
}
else
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_P, 1);
}
break;
}
case DWARF:
{
if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_OTHEL_GROUP, classId.getId()))
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_P, 1);
}
else if (CategoryData.getInstance().isInCategory(CategoryType.DWARF_BOUNTY_CLASS, classId.getId()))
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_P, 1);
}
else
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_P, 1);
}
break;
}
case ORC:
{
if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_IS_GROUP, classId.getId()))
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_P, 1);
}
else if (player.getClassId() == ClassId.TYRR_GRAND_KHAVATARI)
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_P, 1);
}
else if (player.getClassId() == ClassId.TYRR_TITAN)
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_P, 1);
}
else if (player.isMageClass())
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_P, 1);
}
else if (CategoryData.getInstance().isInCategory(CategoryType.LIGHT_ARMOR_CLASS, classId.getId()))
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_P, 1);
}
else
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_P, 1);
}
break;
}
case KAMAEL:
{
if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_FEOH_GROUP, classId.getId()))
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_M, 1);
}
else if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_YR_GROUP, classId.getId()))
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_P, 1);
}
else if (CategoryData.getInstance().isInCategory(CategoryType.DIVISION_WIZARD, classId.getId()))
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_M, 1);
}
else if (CategoryData.getInstance().isInCategory(CategoryType.DIVISION_ARCHER, classId.getId()))
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_P, 1);
}
else
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_P, 1);
break;
}
break;
}
case ERTHEIA:
{
if (player.isMageClass())
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_M, 1);
}
else
{
giveItems(player, SECOND_EXALTED_QUEST_REWARD_P, 1);
}
break;
}
}
qs.exitQuest(false, true);
htmltext = event;
}
@ -522,7 +356,7 @@ public class Q10817_ExaltedOneWhoOvercomesTheLimit extends Quest
{
if (getQuestItemsCount(player, PROOF_OF_RESISTANCE) < PROOF_OF_RESISTANCE_NEEDED)
{
giveItemRandomly(player, PROOF_OF_RESISTANCE, 1, PROOF_OF_RESISTANCE_NEEDED, 1, true);
giveItems(player, PROOF_OF_RESISTANCE, 1);
}
if ((getQuestItemsCount(player, PROOF_OF_RESISTANCE) >= PROOF_OF_RESISTANCE_NEEDED) && (player.getLevel() >= MIN_COMPLETE_LEVEL))
{

View File

@ -44,7 +44,6 @@ public class Q10823_ExaltedOneWhoShattersTheLimit extends Quest
private static final int LIONEL_MISSION_LIST_3 = 45637;
// Rewards
private static final int EXALTED_CLOAK = 37763;
private static final int OBTAIN_EXALTED_STATUS = 45638;
private static final int EXALTED_TIARA = 45644;
private static final int DIGNITY_OF_THE_EXALTED_LV3 = 45924;
private static final int BLESSING_OF_THE_EXALTED = 45926;
@ -301,7 +300,6 @@ public class Q10823_ExaltedOneWhoShattersTheLimit extends Quest
if (qs.isCond(2) && (player.getLevel() >= MIN_COMPLETE_LEVEL))
{
giveItems(player, EXALTED_CLOAK, 1);
giveItems(player, OBTAIN_EXALTED_STATUS, 1);
giveItems(player, EXALTED_TIARA, 1);
giveItems(player, DIGNITY_OF_THE_EXALTED_LV3, 1);
giveItems(player, BLESSING_OF_THE_EXALTED, 1);
@ -370,7 +368,7 @@ public class Q10823_ExaltedOneWhoShattersTheLimit extends Quest
{
if (getQuestItemsCount(player, PROOF_OF_PREPARATION) < PROOF_OF_PREPARATION_NEEDED)
{
giveItemRandomly(player, PROOF_OF_PREPARATION, 1, PROOF_OF_PREPARATION_NEEDED, 1, true);
giveItems(player, PROOF_OF_PREPARATION, 1);
}
if ((getQuestItemsCount(player, PROOF_OF_PREPARATION) >= PROOF_OF_PREPARATION_NEEDED) && (player.getLevel() >= MIN_COMPLETE_LEVEL))
{

View File

@ -366,7 +366,7 @@ public class Q10873_ExaltedReachingAnotherLevel extends Quest
{
if (getQuestItemsCount(player, PROOF_OF_REPUTATION) < PROOF_OF_REPUTATION_NEEDED)
{
giveItemRandomly(player, PROOF_OF_REPUTATION, 1, PROOF_OF_REPUTATION_NEEDED, 1, true);
giveItems(player, PROOF_OF_REPUTATION, 1);
}
if ((getQuestItemsCount(player, PROOF_OF_REPUTATION) >= PROOF_OF_REPUTATION_NEEDED) && (player.getLevel() >= MIN_COMPLETE_LEVEL))
{

View File

@ -366,7 +366,7 @@ public class Q10879_ExaltedGuideToPower extends Quest
{
if (getQuestItemsCount(player, PROOF_OF_PRIDE) < PROOF_OF_PRIDE_NEEDED)
{
giveItemRandomly(player, PROOF_OF_PRIDE, 1, PROOF_OF_PRIDE_NEEDED, 1, true);
giveItems(player, PROOF_OF_PRIDE, 1);
}
if ((getQuestItemsCount(player, PROOF_OF_PRIDE) >= PROOF_OF_PRIDE_NEEDED) && (player.getLevel() >= MIN_COMPLETE_LEVEL))
{

View File

@ -115,7 +115,7 @@
<skill id="39615" level="1" /> <!-- Vitality Maintaining Rune (7-day) -->
</skills>
</item>
<item id="81207" name="First Exalted Quest Reward" additionalName="Physical" type="EtcItem">
<item id="81207" name="Common Exalted Supply Box" additionalName="Physical" type="EtcItem">
<!-- Double-click to obtain Exalted Seed Bracelet, Exalted Dye and supplies. -->
<set name="icon" val="icon.ev_2018_xmas_box" />
<set name="default_action" val="PEEL" />
@ -128,10 +128,10 @@
<capsuled_items>
<item id="33780" min="1" max="100000" chance="100" /> <!-- R-grade Soulshot - Event -->
<item id="81202" min="1" max="1" chance="100" /> <!-- Exalted Seed Bracelet -->
<item id="81198" min="1" max="1" chance="100" /> <!-- Exalted STR Dye - STR+3 -->
<item id="81198" min="3" max="3" chance="100" /> <!-- Exalted STR Dye - STR+3 -->
</capsuled_items>
</item>
<item id="81208" name="First Exalted Quest Reward" additionalName="Magic Type" type="EtcItem">
<item id="81208" name="Common Exalted Supply Box" additionalName="Magic Type" type="EtcItem">
<!-- Double-click to obtain Exalted Seed Bracelet, Exalted Dye and supplies. -->
<set name="icon" val="icon.ev_2018_xmas_box" />
<set name="default_action" val="PEEL" />
@ -144,10 +144,10 @@
<capsuled_items>
<item id="33794" min="1" max="100000" chance="100" /> <!-- Blessed R-grade Spiritshot - Event -->
<item id="81202" min="1" max="1" chance="100" /> <!-- Exalted Seed Bracelet -->
<item id="81199" min="1" max="1" chance="100" /> <!-- Exalted INT Dye - INT+3 -->
<item id="81199" min="3" max="3" chance="100" /> <!-- Exalted INT Dye - INT+3 -->
</capsuled_items>
</item>
<item id="81209" name="Second Exalted Quest Reward" additionalName="Physical" type="EtcItem">
<item id="81209" name="Special Exalted Supply Box" additionalName="Physical" type="EtcItem">
<!-- Double-click to obtain Exalted Weapon Upgrade Stone, jewels, a shirt, right bracelet, talismans and supplies. -->
<set name="icon" val="icon.ev_2018_xmas_box" />
<set name="default_action" val="PEEL" />
@ -171,7 +171,7 @@
<item id="34987" min="1" max="1" chance="100" /> <!-- Talisman of Hellfire -->
</capsuled_items>
</item>
<item id="81210" name="Second Exalted Quest Reward" additionalName="Magic Type" type="EtcItem">
<item id="81210" name="Special Exalted Supply Box" additionalName="Magic Type" type="EtcItem">
<!-- Double-click to obtain Exalted Weapon Upgrade Stone, jewels, a shirt, right bracelet, talismans and supplies. -->
<set name="icon" val="icon.ev_2018_xmas_box" />
<set name="default_action" val="PEEL" />